第1章 数字系统硬件设计概述 1
1.1传统的系统硬件设计方法 1
1.2利用硬件描述语言的硬件电路设计方法 4
习题与思考题 8
第2章 数字系统的算法描述 10
2.1数字系统算法流程图描述 10
2.1.1算法流程图的符号及描述方法 10
2.1.2算法流程图描述数字系统实例 12
2.2状态机及算法状态机图描述 14
2.2.1状态机的分类及特点 14
2.2.2算法状态机流程图的符号及描述方法 16
2.2.3算法状态机图描述实例 17
2.2.4算法流程图至状态图的变换方法 19
2.2.5状态图至算法状态机图的变换方法 21
2.2.6 C语言流程图至算法状态机图的变换方法 23
习题与思考题 29
第3章 VHDL程序的基本结构 31
3.1 VHDL设计的基本单元及其构成 31
3.1.1实体说明 31
3.1.2构造体 33
3.2 VHDL构造体的子结构描述 35
3.2.1 BLOCK语句结构描述 35
3.2.2 PROCESS语句结构描述 37
3.2.3 SUBPROGRAM语句结构描述 39
3.3库、包集合及配置 43
3.3.1库 43
3.3.2包集合 45
3.3.3配置 47
习题与思考题 52
第4章 VHDL的数据类型与运算操作符 53
4.1 VHDL的客体及其分类 53
4.1.1常数 53
4.1.2变量 54
4.1.3信号 55
4.1.4信号和变量值代入的区别 55
4.1.5文件 57
4.2 VHDL的数据类型 58
4.2.1标准的数据类型 58
4.2.2用户定义的数据类型 60
4.2.3用户定义的子类型 64
4.2.4数据类型的转换 64
4.2.5数据类型的限定 65
4.2.6 IEEE标准“STD_LOGIC”和“STD_LOGIC_VECTOR” 66
4.3 VHDL的运算操作符 67
4.3.1逻辑运算符 68
4.3.2算术运算符 68
4.3.3关系运算符 69
4.3.4并置运算符 70
习题与思考题 71
第5章 VHDL构造体的描述方式 73
5.1构造体的行为描述方式 73
5.1.1代入语句 73
5.1.2延时语句 75
5.1.3多驱动器描述语句 76
5.1.4 GENERIC语句 78
5.2构造体的寄存器传输(RTL)描述方式 80
5.2.1 RTL描述方式的特点 80
5.2.2使用RTL描述方式应注意的问题 82
5.3构造体的结构描述方式 86
5.3.1构造体结构描述的基本框架 87
5.3.2 COMPONENT语句 90
5.3.3 COMPONENT INSTANT语句 90
习题与思考题 91
第6章 VHDL的主要描述语句 92
6.1顺序描述语句 92
6.1.1 WAIT语句 92
6.1.2断言语句 96
6.1.3信号代入语句 97
6.1.4变量赋值语句 97
6.1.5 IF语句 98
6.1.6 CASE语句 100
6.1.7 LOOP语句 105
6.1.8 NEXT语句 107
6.1.9 EXIT语句 108
6.2并发描述语句 109
6.2.1进程语句 110
6.2.2并发信号代入语句 110
6.2.3条件信号代入语句 111
6.2.4选择信号代入语句 112
6.2.5并发过程调用语句 113
6.2.6块语句 114
6.3其他语句和有关规定的说明 118
6.3.1命名规则和注解的标记 118
6.3.2 ATTRIBUTE(属性)描述与定义语句 119
6.3.3 GENERATE语句 139
习题与思考题 143
第7章 数值系统的状态模型 144
7.1二态数值系统 144
7.2三态数值系统 145
7.3四态数值系统 145
7.4九态数值系统 147
7.5十二态数值系统 150
7.6四十六态数值系统 151
习题与思考题 154
第8章 基本逻辑电路设计 155
8.1组合逻辑电路设计 155
8.1.1简单门电路 155
8.1.2编、译码器与选择器 161
8.1.3加法器与求补器 165
8.1.4三态门与总线缓冲器 167
8.2时序电路设计 171
8.2.1时钟信号和复位信号 171
8.2.2触发器 174
8.2.3寄存器 180
8.2.4计数器 185
8.3存储器 192
8.3.1存储器描述中的共性问题 192
8.3.2 ROM(只读存储器) 193
8.3.3 RAM(随机存储器) 194
8.3.4 FIFO(先进先出堆栈) 196
习题与思考题 200
第9章 仿真与逻辑综合 201
9.1仿真 201
9.1.1仿真输入信息的产生 201
9.1.2仿真△ 206
9.1.3仿真程序模块的书写 208
9.2逻辑综合 211
9.2.1约束条件 211
9.2.2属性描述 212
9.2.3工艺库 212
9.2.4逻辑综合的基本步骤 213
习题与思考题 215
第10章 数字系统的实际设计技巧 216
10.1数字系统优化的基本方法 216
10.1.1相同电路的处理 216
10.1.2运算顺序的改变 218
10.1.3常数运算的运用 218
10.1.4相同运算电路的使用 219
10.1.5优化的必要性及其工程实际意义 222
10.2数字系统设计中的工程实际问题 223
10.2.1提高系统工作速度的方法 223
10.2.2缩小电路规模和降低功耗的方法 230
10.2.3系统误操作的成因及其消除方法 236
10.2.4非同步信号的控制方法 245
10.2.5典型状态机状态编码的选择 248
习题与思考题 254
第11章 洗衣机洗涤控制电路设计实例 255
11.1洗衣机洗涤控制电路的性能要求 255
11.2洗衣机洗涤控制电路的结构 255
11.3洗衣机洗涤控制电路的算法状态机图描述 257
11.4洗衣机洗涤控制电路的VHDL描述 262
习题与思考题 273
第12章 微处理器接口芯片设计实例 274
12.1可编程并行接口芯片设计实例 274
12.1.1 8255的引脚与内部结构 274
12.1.2 8255的工作方式及其控制字 275
12.1.3 8255的结构设计 277
12.1.4 8255芯片的VHDL描述 277
12.1.5 8255芯片VHDL描述模块的仿真 282
12.2 SCI串行接口芯片设计实例 283
12.2.1 SCI的引脚与内部结构 283
12.2.2串行数据传送的格式与同步控制机构 284
12.2.3 SCI芯片的VHDL描述 285
12.2.4 SCI芯片VHDL描述模块的仿真 290
12.3键盘接口芯片KBC设计实例 291
12.3.1 KBC的引脚与内部结构 291
12.3.2同步控制机构和查表变换 294
12.3.3 KBC芯片的VHDL描述 296
12.3.4 KBC芯片VHDL描述模块的仿真 301
习题与思考题 301
第13章VHDL 93版和87版的主要区别 302
13.1 VHDL 93版的特点 302
13.2 87版到93版的移植问题 312
附录A VHDL文法介绍 313
附录B属性说明 324
附录C VHDL标准包集合文件 326
参考文献 356