VHDL设计表示和综合(原书第2版,附光盘)
分類: 图书,计算机/网络,程序设计,其他,
作者: 美.阿姆斯特朗 美.格雷 著 李宗伯 等译
出 版 社: 机械工业出版社
出版时间: 2002-5-1字数:版次: 1版1次页数: 515印刷时间: 2002/05/01开本:印次:纸张: 胶版纸I S B N : 9787111095392包装: 平装内容简介
VHDL语言是一种主流的硬件描述语言。本书既不同于一般的VHDL语言教材,也区别于传统的关于逻辑设计的书籍,它把VHDL语言的介绍融合到了不同抽象层次的设计中,全面深入地讲述了从原始的高层模型到门级实现的各层次的设计技术,并辅以典型实例,既能使读者对有关数字系统设计的知识有一个全面了解,同时又能较好地掌握VHDL语言及其在不同设计层次中的应用方法,掌握基于VHDL的设计技术。本书比较注重设计方法和基本概念的介绍,深入浅出,每章还配备了大量针对性很强的习题,非常适合作为电子工程、计算机等专业VLSI设计相关课程的本科生和研究生教材,也可供相关的工程技术人员参考。对于打算自学这方面内容的人来说,本书也是一本不可多得的好书。
作者简介
James R.Armstrong博士:美国弗吉尼亚工学院电子和计算机工程系教授,讲授本科生和研究生的计算机体系结构、硬件描述语言及逻辑设计课程。他是原IEEE标准化委员会的成员。著有《VHDL芯片级建模》(Chip Level Modeling With VHDL),以及与他人合著《VHDL结构化逻辑设计》(Structured Logic Design With VHDL),均由Prentice Hall公司出版。他在硬件描述语言的应用方面做了深入的研究。他的论文发表在多种IEEE杂志上,并在一些国际学术研讨会上宣读。
F.Gail Gray博士:美国弗吉尼亚工学院电子和计算机工程系教授,讲授本科生和研究生的计算机工程、逻辑设计、硬件描述语言、编码理论、容错计算、测试及微处理器系统设计课程。他的研究成果曾在“IEEE Transactions on Computer”、“Journal of VLSI Signal Processing for Signal,Image,and Video Technology”、“Desing Automation Conference”、“VHDL International Users Forum”及其他核心期刊和国际研讨会上发表。
目录
第1章 结构化设计概念1
1.1 抽象层次1
1.2 文本表示与图形表示4
1.3 行为描述的种类4
1.4 设计过程5
1.5 结构设计的分解7
1.6 数字设计空间8
习题9
第2章 设计工具13
2.1 CAD工具分类13
2.1.1 编辑器13
2.1.2 仿真程序13
2.1.3 检查程序和分析程序14
2.1.4 优化程序和综合程序14
2.1.5 CAD系统14
2.2 原理图编辑器14
2.3 仿真程序16
2.3.1 仿真周期19
2.3.2 仿真程序组织19
2.3.3 语言调度机制19
2.3.4 仿真效率20
2.4 仿真系统21
2.5 仿真辅助工具22
2.5.1 模型准备22
2.5.2 模型测试向量的产生22
2.5.3 模型调试23
2.5.4 解释结果24
2.6 仿真的应用26
2.7 综合工具26
习题29
第3章 VHDL的基本特征32
3.1 VHDL语言的基本结构33
3.1.1 设计实体33
3.1.2 结构体(构架)34
3.1.3 模型测试38
3.1.4 块语句38
3.1.5 进程40
3.2 词法描述40
3.2.1 字符集40
3.2.2 词法元素41
3.2.3 分界符41
3.2.4 标识符42
3.2.5 注释43
3.2.6 字符文字43
3.2.7 字符串文字43
3.2.8 位串文字43
3.2.9 抽象文字44
3.2.10 十进制文字44
3.2.11 基数文字44
3.3 VHDL源文件45
3.4 数据类型45
3.4.1 数据类型分类45
3.4.2 标量数据类型46
3.4.3 复合数据类型51
3.4.4 存取类型53
3.4.5 文件类型54
3.4.6 类型标记54
3.5 数据对象54
3.5.1 对象的分类54
3.5.2 数据对象的声明55
3.6 语句57
3.6.1 赋值语句57
3.6.2 操作符和表达式61
3.6.3 顺序控制语句66
3.6.4 结构体声明和并发语句69
3.6.5 子程序72
3.7 VHDL的高级特征77
3.7.1 重载77
3.7.2 包79
3.7.3 可见性81
3.7.4 库83
3.7.5 配置84
3.7.6 文件I/O86
3.8 VHDL的形式特征91
3.9 VHDL9393
3.9.1 词汇字符集93
3.9.2 语法变化93
3.9.3 进程和信号定时及新的信号属性94
3.9.4 新操作符95
3.9.5 结构化模型的改进96
3.9.6 共享变量96
3.9.7 改进的报告能力97
3.9.8 通用编程特征97
3.9.9 文件I/O98
3.9.10 组98
3.9.11 位串文字的扩展99
3.9.12 对标准包的增加与修改99
3.10 小结99
习题99
第4章 基本的VHDL建模方法110
4.1 用VHDL为延时建模110
4.1.1 传播延时110
4.1.2 延时和并发112
4.1.3 VHDL中的顺序语句和并发语句114
4.1.4 VHDL仿真程序中时间延时的实现114
4.1.5 信号传播的惯性延时和传输延时119
4.2 VHDL调度算法119
4.2.1 波形更新120
4.2.2 副作用121
4.3 组合逻辑和时序逻辑的建模122
4.4 逻辑基本部件123
4.4.1 组合逻辑基本部件123
4.4.2 时序逻辑基本部件131
4.4.3 模型测试:测试程序开发137
习题142
第5章 算法级设计151
5.1 行为域的一般算法模型151
5.1.1 进程模型图152
5.1.2 并行到串行转换器的算法模型153
5.1.3 带定时的算法模型156
5.1.4 定时检查159
5.2 系统互连的表示161
5.2.1 综合性算法建模实例162
5.3 系统算法建模166
5.3.1 多值逻辑系统166
5.3.2 综合性的系统实例172
5.3.3 时分多路复用179
习题185
第6章 寄存器级设计193
6.1 从算法到数据流描述的转换193
6.2 定时分析196
6.3 控制单元设计198
6.3.1 控制单元的类型198
6.4 终极RISC机199
6.4.1 单条URISC指令200
6.4.2 URISC的体系结构200
6.4.3 URISC的控制202
6.4.4 URISC系统204
6.4.5 在寄存器级的URISC设计205
6.4.6 URISC处理器的微码控制器205
6.4.7 URISC处理器的硬连线控制器207
习题207
第7章 门级和ASIC库建模212
7.1 精确门级建模212
7.1.1 不对称定时213
7.1.2 负载敏感延时建模214
7.1.3 ASIC单元延时建模218
7.1.4 延时的反向标注222
7.1.5 VITAL:库元素的VHDL模型的
生成标准223
7.2 检错225
7.3 门级建模的多值逻辑228
7.3.1 MOS设计的附加值228
7.3.2 通用的状态/强度模型229
7.3.3 区间逻辑232
7.3.4 Vantage系统233
7.3.5 多值门级模型234
7.3.6 精确延时建模238
7.4 门级模型的配置声明238
7.4.1 缺省配置241
7.4.2 配置和组件库243
7.5 对竞争和险态建模243
7.6 延时控制的方法249
习题251
第8章 基于HDL的设计技术257
8.1 组合逻辑电路的设计257
8.1.1 算法级的组合逻辑设计258
8.1.2 行为域的组合逻辑数据流模型设计263
8.1.3 门级结构域组合逻辑电路的综合264
8.1.4 组合逻辑电路的设计活动小结266
8.2 时序逻辑电路的设计268
8.2.1 Moore型或Mealy型的选择271
8.2.2 状态表的建立272
8.2.3 创建状态图272
8.2.4 转换表274
8.2.5 创建状态机的VHDL模型275
8.2.6 VHDL状态机模型的综合279
8.3 微程序控制单元的设计281
8.3.1 控制器和器件的接口281
8.3.2 硬连线和微程序控制单元的比较281
8.3.3 基本微程序控制单元284
8.3.4 BMCU的算法级模型285
8.3.5 状态机微程序控制器的设计287
8.3.6 微程序控制单元的普遍性和局限性292
8.3.7 其他的状态选择方法294
8.3.8 其他分支方法296
习题299
第9章 ASIC及ASIC设计过程309
9.1 什么是ASIC309
9.2 ASIC电路技术310
9.3 ASIC的类型311
9.3.1 可编程逻辑器件311
9.3.2 现场可编程门阵列313
9.3.3 门阵列321
9.3.4 标准单元322
9.3.5 全定制芯片326
9.3.6 ASIC和FPGA的相对成本326
9.4 ASIC设计过程329
9.4.1 标准单元ASIC综合330
9.4.2 综合后仿真341
9.5 FPGA综合343
9.5.1 FPGA示例344
9.5.2 与ASIC设计的比较346
习题346
第10章 综合建模352
10.1 行为模型的产生过程352
10.1.1 初始行为模型的创建353
10.1.2 应用域工具353
10.1.3 语言域建模355
10.1.4 建模及模型效率357
10.1.5 应用域和语言域建模的比较358
10.2 仿真和综合的语义360
10.2.1 模型中的延时364
10.2.2 数据类型364
10.3 为时序行为建模365
10.4 为组合电路综合建模371
10.4.1 运算电路的综合374
10.4.2 层次算术电路:
BCD到二进制的转换器375
10.4.3 层次电路的综合377
10.5 指定锁存及无关项380
10.6 三态电路383
10.7 共享资源385
10.8 展开与结构化388
10.9 建模风格对电路复杂性的影响388
10.9.1 选择单独构件的影响388
10.9.2 通用建模方法的影响390
习题390
第11章 VHDL与自顶向下设计
方法的结合401
11.1 自顶向下设计方法学401
11.2 Sobel边缘检测算法403
11.3 系统需求级405
11.3.1 书面规格说明405
11.3.2 需求库405
11.4 系统定义级408
11.4.1 可执行规格说明409
11.4.2 可执行规格说明的测试包的产生416
11.5 结构设计427
11.5.1 系统级分解428
11.5.2 层次分解430
11.5.3 为层次结构模型产生测试包
的方法433
11.6 寄存器传输级详细设计436
11.6.1 寄存器传输级设计437
11.6.2 使用不同数据类型的组件
仿真结构模型440
11.6.3 寄存器传输级测试包的产生445
11.7 门级详细设计446
11.7.1 水平过滤器的门级设计446
11.7.2 门级电路的优化447
11.7.3 门级测试448
11.7.4 反向标注的方法448
习题448
第12章 设计自动化的综合算法452
12.1 算法性综合的优点452
12.2 算法性综合的任务453
12.2.1 VHDL描述到内部格式的编译454
12.2.2 调度454
12.2.3 分配454
12.2.4 调度和分配的交互457
12.2.5 Gantt图和利用率459
12.2.6 从分配图创建FSM VHDL459
12.3 调度方法461
12.3.1 转换调度462
12.3.2 迭代/构造调度463
12.3.3 ASAP调度463
12.3.4 ALAP 调度464
12.3.5 列表调度466
12.3.6 自由调度468
12.4 分配方法468
12.4.1 贪心分配法469
12.4.2 穷举搜索分配469
12.4.3 左边界算法469
12.4.4 分配功能部件及互连路径471
12.4.5 分配过程的分析475
12.4.6 近似最小簇划分算法476
12.4.7 利益制导簇划分算法481
12.5 高层综合的发展动态488
12.6 VHDL结构的自动综合490
12.6.1 包含选择的构件490
12.6.2 case语句对多路器的映射491
12.6.3 if...then...else语句对多路器的映射492
12.6.4 带下标向量引用对多路器的映射493
12.6.5 循环结构494
12.6.6 函数和过程498
习题499
参考文献509
附带光盘简介516