书籍详情

VHDL设计指南(原书第2版)

VHDL设计指南(原书第2版)

作者:(美)Peter J. Ashenden著;葛红,黄河,吴继明译;葛红译

出版社:机械工业出版社

出版时间:2005-06-01

ISBN:9787111162162

定价:¥69.00

购买这本书可以去
内容简介
  本书系统地介绍标准VHDL语言及其使用方法,包括系统建模工具在数字系统设计中的应用方法。本书从简单的模型问题人手,然后逐步深入,引向更复杂的实例研究。书中包括四个完整的实例研究,将帮助读者综合掌握VHDL技术。章后安排了精心设计的难易程度不同的练习,以及部分答案,有利于读者掌握书中的概念,方便教师进行教学参考。本书适合作为高等院校通信、电子、计算机专业相关课程的教材或参考书,也适合希望熟练掌握VHDL技巧的技术人员参考。电子数字系统的复杂性随着时间呈指数形式增加。事实上,产品寿命周期的不断降低和产品可靠性要求的不断提高,迫使电子产品设计师们需要极大地增加他们设计的产品质量和产出率。VHDL的发展就是顺应了这种趋势。借助于软件工程领域的复杂性管理和错误检测技术,VHDL可以消除无关的细节,采用与工艺无关的描述,及早发现错误,增加了从门级到系统级模型之间的可移植性和共用性。本书包括VHDL-87、VHDL-93和VHDL-2001各种版本的内容。详细说明VHDL语言所提供的建模工具,并通过实例讲解VHDL语言的使用。无论是具有熟练技巧的工程师,还是打算入门的学生都可以从本书获益。
作者简介
  Peter J.Ashenden 博士从澳大利亚阿雷德雷大学获得博士学位,目前是电子设计自动化(EDA)方面的独立咨询顾问。他是IEEE高级会员,参与开发VHDL标准,也是IEEE设计自动化标准委员会(DASC)主席。他还参与Rosetta系统级设计语言的开发,撰写过多部关于VHDL的技术书籍。
目录
第1章  基本概念        1
1.1  数字系统建模        1
1.2  建模的域和层次        3
1.3  建模语言        6
1.4  VHDL的建模概念        6
1.4.1  行为元素        7
1.4.2  结构元素        8
1.4.3  混合结构和行为模型        9
1.4.4  测试台        10
1.4.5  分析、加工和执行        11
1.5  学习一种新语言:词汇元素和句法        13
1.5.1  词汇元素        14
1.5.2  句法描述        18
练习        20
第2章  标量数据类型和操作        23
2.1  常数和变量        23
2.1.1  常数和变量声明        23
2.1.2  变量赋值        24
2.2  标量类型        25
2.2.1  类型声明        25
2.2.2  整数类型        26
2.2.3  浮点类型        28
2.2.4  物理类型        29
2.2.5  枚举类型        31
2.3  类型分类        36
2.3.1  子类型        37
2.3.2  类型限定        38
2.3.3  类型转换        38
2.4  标量类型的属性        39
2.5  表达式和操作符        41
练习        43
第3章  顺序语句        45
3.1  if 语句        45
3.2  case 语句        47
3.3  null语句        52
3.4  loop 语句        52
3.4.1  exit 语句        53
3.4.2  next 语句        56
3.4.3  while 循环        57
3.4.4  for 循环        58
3.4.5  loop 语句小结        60
3.5  断言和报告语句        61
练习        65
第4章  复合数据类型和操作        67
4.1  数组        67
4.1.1  多维数组        69
4.1.2  数组聚集        70
4.1.3  数组属性        72
4.2  非约束数组类型        74
4.2.1  字符串        75
4.2.2  位矢量        75
4.2.3  标准逻辑数组        75
4.2.4  字符串和位串文字        75
4.2.5  非约束数组端口        76
4.3  数组操作和引用        77
4.3.1  数组片        78
4.3.2  数组类型转换        79
4.4  记录        80
练习        83
第5章  基本建模结构        85
5.1  实体声明        85
5.2  构造体        87
5.2.1  并发语句        87
5.2.2  信号声明        88
5.3  行为描述        89
5.3.1  信号赋值        89
5.3.2  信号属性        91
5.3.3  wait语句        93
5.3.4  delta 延迟        96
5.3.5  传输和惯性延迟机制        98
5.3.6  进程语句        102
5.3.7  并发信号赋值语句        103
5.3.8  并发断言语句        108
5.3.9  实体与被动进程        109
5.4  结构化描述        110
5.5  设计加工        117
5.5.1  分析        117
5.5.2  设计库、库子句和use子句        118
5.5.3  加工        120
5.5.4  执行        122
练习        123
第6章  实例研究:一个流水线乘法累加器        131
6.1  算法概要        131
6.2  行为模型        133
6.3  寄存器传输级模型        140
6.3.1  寄存器传输级模型中的功能模块        141
6.3.2  寄存器传输级的构造体        147
6.3.3  测试寄存器传输级模型        150
练习        151
第7章  子程序        153
7.1  过程        153
7.2  过程参数        158
7.2.1  信号参数        161
7.2.2  默认值        163
7.2.3  非约束数组参数        164
7.2.4  过程参数小结        166
7.3  并发过程调用语句        167
7.4  函数        169
7.4.1  功能建模        171
7.4.2  纯函数和非纯函数        171
7.4.3  now函数        172
7.5  重载        173
7.6  声明的可见性        176
练习        179
第8章  包和use子句        183
8.1  包声明        183
8.1.1  包声明中的子程序        186
8.1.2  包声明中的常数        187
8.2  包体        188
8.3  use 子句        190
8.4  预定义包标准        192
8.5  IEEE标准包        193
8.5.1  std_logic_1164多值逻辑系统        193
8.5.2  标准VHDL综合包        194
8.5.3  标准VHDL数学包        198
练习        202
第9章  别名        205
9.1  数据对象的别名        205
9.2  非数据项的别名        208
练习        210
第10章  实例研究:一个位矢量算术包        213
10.1  包接口        213
10.2  包体        216
10.3  一个使用算术包的ALU        223
练习        224
第11章  决断信号        227
11.1  基本决断信号        227
11.1.1  复合决断子类型        231
11.1.2  决断子类型小结        234
11.2  IEEE std_logic_1164决断子类型        234
11.3  决断信号和端口        236
11.3.1  决断端口        237
11.3.2  驱动值属性        238
11.4  决断信号参数        239
练习        240
第12章  类属常数        245
12.1  参数化行为        245
12.2  参数化结构        248
练习        249
第13章  元件和配置        251
13.1  元件        251
13.1.1  元件声明        251
13.1.2  元件实例生成        252
13.1.3  组装元件        253
13.2  配置元件实例        255
13.2.1  基本配置声明        255
13.2.2  配置多层次的结构        256
13.2.3  配置实体的直接实例生成        259
13.2.4  配置中的类属映射和端口映射        260
13.2.5  延缓的元件绑定        264
13.3  配置说明        266
练习        271
第14章  生成语句        275
14.1  生成迭代结构        275
14.2  条件生成结构        279
14.3  生成语句的配置        284
练习        288
第15章  实例研究:DLX计算机系统        293
15.1  DLX CPU综述        293
15.1.1  DLX寄存器        293
15.1.2  DLX指令集        294
15.1.3  DLX 外部接口        297
15.2  行为模型        298
15.2.1  DLX类型包        299
15.2.2  DLX 实体声明        300
15.2.3  DLX 指令集包        301
15.2.4  DLX 行为构造体        307
15.3  测试行为模型        319
15.3.1  测试台时钟发生器        319
15.3.2  测试台存储器        320
15.3.3  测试台构造体和配置        324
15.4  寄存器传输级模型        326
15.4.1  算术逻辑单元        327
15.4.2  寄存器        330
15.4.3  寄存器文件        333
15.4.4  多路复用器        334
15.4.5  扩展器        335
15.4.6  构造体        336
15.4.7  控制器        340
15.4.8  配置声明        354
15.5  测试寄存器传输级模型        355
练习        359
第16章  保护和块        361
16.1  保护信号和断开        361
16.1.1  驱动属性        365
16.1.2  保护端口        365
16.1.3  保护信号参数        366
16.2  块和保护信号赋值        368
16.2.1  显式保护信号        370
16.2.2  断开说明        372
16.3  使用块的结构化模型        373
16.3.1  块中的类属和端口        375
16.3.2  配置带有块的设计        376
练习        378
第17章  访问类型和抽象数据类型        381
17.1  访问类型        381
17.1.1  访问类型声明和分配器        381
17.1.2  访问值的赋值语句和等式        383
17.1.3  记录和数组的访问类型        384
17.2  链接数据结构        386
17.3  使用程序包的抽象数据类型        390
练习        400
第18章  文件及其输入和输出        403
18.1  文件        403
18.1.1  文件声明        403
18.1.2  读文件        404
18.1.3  写文件        407
18.1.4  子程序中的文件声明        409
18.1.5  直接打开和关闭操作        410
18.1.6  子程序中的文件参数        412
18.1.7  文件的可移植性        414
18.2  程序包textio        414
18.2.1  textio读操作        416
18.2.2  textio写操作        423
18.2.3  用户自定义类型的读写        425
练习        426
第19章  实例研究:队列网络        429
19.1  队列网络概念        429
19.2  队列网络模块        430
19.2.1  随机数发生器        430
19.2.2  令牌和arc类型的程序包        433
19.2.3  令牌源模块        435
19.2.4  令牌池模块        438
19.2.5  队列模块        439
19.2.6  令牌服务器模块        444
19.2.7  分叉模块        447
19.2.8  结合模块        449
19.3  磁盘系统的队列网络        452
练习        457
第20章  属性和组        459
20.1  预定义属性        459
20.1.1  标量类型的属性        459
20.1.2  数组类型和对象的属性        460
20.1.3  信号属性        460
20.1.4  已命名项目的属性        460
20.2  用户定义的属性        466
20.2.1  属性声明        467
20.2.2  属性说明        467
20.2.3  外来属性        475
20.3  组        476
练习        478
第21章  其他主题        481
21.1  缓冲和连接端口        481
21.2  关联列表中的转换函数        482
21.3  延迟进程        487
21.4  共享变量        489
练习        497
附录A  综合        499
附录B  预定义程序包标准        513
附录C  IEEE标准程序包        517
附录D  相关标准        527
附录E  VHDL句法        537
附录F  VHDL-87、VHDL-93和VHDL-2001之间的区别        549
附录G  练习答案        553
参考文献        571
猜您喜欢

读书导航