第1章 集成电路设计概述 1
1.1 集成电路技术发展的现状与预测 1
1.2 集成电路设计方法学的诞生与发展 2
1.3 集成电路设计方法的分类 3
1.4 集成电路设计流程 5
1.5 数字集成系统的设计与实现 6
第2章 VHDL语言设计基础 7
2.1 VHDL语言的由来与特点 7
2.2 VHDL语言的基础知识 8
2.2.1 对象(OBJECT) 8
2.2.2 数据类型 10
2.2.3 类型转换 14
2.2.4 运算操作符 16
2.2.5 VHDL语言的文字规则 18
2.3 VHDL语言的程序结构 21
2.4 VHDL语言的实体语句 22
2.5 VHDL语言构造体语句 23
2.6 VHDL语言构造体常用的几种描述方法 24
2.7 VHDL语言的逻辑综合与优化 29
2.8 全加器的仿真 30
2.9 VHDL语言设计环境 32
第3章 构造体逻辑(数据流)描述 33
3.1 并行信号赋值语句 33
3.2 信号驱动源 36
3.3 VHDL语言的延迟分类 38
3.4 并行信号赋值语句的特殊形式 42
第4章 构造体的行为描述 44
4.1 进程语句(PROCESS) 44
4.1.1 等待语句(WAIT) 44
4.1.2 顺序信号赋值语句 46
4.1.3 构造体多进程程序结构 47
4.1.4 构造体的多进程描述 48
4.2 顺序控制语句 51
4.2.1 IF条件语句 51
4.2.2 CASE分支语句 60
4.2.3 LOOP循环语句与NEXT退出语句 62
4.2.4 FOR循环语句 64
4.2.5 WHILE循环语句 65
4.2.6 NEXT跳出循环语句 66
4.3 过程语句(PROCEDURE) 67
4.3.1 过程说明 67
4.3.2 过程体 67
4.3.3 过程调用 68
4.3.4 过程的复用(重载) 69
4.4 REPORT与NULL语句 71
第5章 构造体的结构描述 73
5.1 元件(COMPONENT)与例元(INSTANCE) 73
5.1.1 元件说明语句 73
5.1.2 例元语句(INSTANCE) 74
5.2.1 生成语句(GENERATE) 75
5.2 规则结构 75
5.1.3 结构描述中的信号 75
5.2.2 FOR生成方式 76
5.2.3 IF生成方式 77
5.3 参数传递语句(GENERIC) 79
5.3.1 GENERIC实体 80
5.3.2 GENERIC元件与例元 82
5.4 构造体结构描述的程序结构 83
5.5 结构描述的设计举例 86
第6章 VHDL语言设计共享 90
6.1 块语句(BLOCK) 90
6.2 断言语句 95
6.2.1 顺序断言语句 96
6.2.2 并行断言语句 97
6.3 子程序 98
6.4 函数(FUNCTION) 99
6.4.1 函数说明 99
6.4.2 函数体 99
6.4.3 RETURN返回语句 100
6.4.4 类型转换函数 100
6.4.5 数学运算函数 103
6.4.6 决断函数 105
6.4.7 函数的调用 107
6.5 程序的复用(重载)设计 107
6.5.1 复用(重载)函数 107
6.5.2 运算符的复用(重载) 110
6.6 库 111
6.6.1 库的分类 111
6.6.2 库语句(LIBRARY) 112
6.6.3 USE语句 113
6.7 程序包(PACKAGE) 113
6.7.1 程序包说明 114
6.7.2 程序包体(BODY) 114
6.7.3 标准库的程序包 116
6.7.4 程序包集合举例 119
6.8 元件配置(CONFIGURATION) 124
6.8.1 体内配置 125
6.8.2 体外配置 130
6.8.3 默认配置 134
6.9 块配置 135
6.10 VHDL语言的混合描述 137
第7章 VHDL语言属性描述 140
7.1 数值类属性 140
7.1.1 常用数据的数值属性 140
7.1.2 数组的数值属性 142
7.2 函数类属性 143
7.2.1 数据类型属性函数 143
7.2.2 数组属性函数 145
7.2.3 信号属性函数 147
7.3 信号类属性 151
7.4 数据类型类属性 157
7.5 数组区间类属性 158
7.6 用户自定义属性(ATTRIBUTE) 159
第8章 有限状态机设计 161
8.1 有限状态机的分类 161
8.2 有限状态机的描述方法 161
8.3 有限状态机的设计举例 162
第9章 VHDL语言设计验证 167
9.1 时序仿真输入激励信号的描述 167
9.1.1 用时间表达式描述 167
9.1.2 用读文件(TEXTIO)描述 172
9.2 VHDL语言的设计验证 174
9.2.1 简单验证 174
9.2.2 自动验证 175
10.1 各种描述方法的选择 179
第10章 VHDL语言编程技巧 179
10.2 库与资源利用 186
10.3 元件配置 188
10.4 算法优化 190
10.5 时序仿真和硬件验证 193
10.6 特殊信号的描述方法 195
10.6.1 脉冲信号发生器描述 195
10.6.2 时钟边沿的描述 195
10.6.3 异步复位置位触发器描述 197
10.6.4 同步复位置位触发器描述 197
10.6.5 异步复位同步置位D触发器描述 198
10.6.6 主从D触发器的描述 199
10.7.1 编码电路的描述 200
10.7 特殊实体的描述技巧 200
10.7.2 时序与组合电路混合系统的描述方法 202
10.7.3 跳变触发的时序配合 204
10.7.4 电平触发提高抗干扰能力 205
10.7.5 用空操作节约硬件资源 207
第11章 通用集成电路设计 209
11.1 逻辑门电路实用设计 209
11.1.1 74LS04六反相器 209
11.1.2 74LS08四2输入与门 210
11.1.3 74LS10三3输入与非门 212
11.1.4 74LS32四2输入或门 213
11.1.5 74LS86四2输入异或门 213
11.2.1 74LS74双D型正跳变触发器 214
11.2 触发器、锁存器实用电路设计 214
11.2.2 74LS103双J-K型负跳变触发器 216
11.2.3 74LS373 8位数据锁存器 218
11.3 编码器、译码器实用电路设计 219
11.3.1 74LS49 BCD七段编码器 220
11.3.2 74LS138 3-8线译码器 222
11.3.3 74LS145 BCD-十进制译码器 223
11.3.4 74LS157四2-1线数据多路开关 225
11.4 数据缓冲器 226
11.4.1 74LS244 8位单向数据缓冲器 226
11.4.2 74LS245 8位总线双向缓冲器 228
11.5.1 74LS166 8位移位寄存器 229
11.5 移位寄存器 229
11.5.2 74LS194 4位双向移位寄存器 231
11.6 计数器实用电路设计 234
11.6.1 74LS393双4位二进制计数器 234
11.6.2 74LS92十二进制计数器 236
第12章 VHDL语言综合设计举例 238
12.1 8255可编程I/O接口芯片设计 238
12.1.1 8255的技术指标与引脚功能 238
12.1.2 8255接口芯片的内部结构 239
12.1.3 8255的工作方式编程 240
12.1.4 8255 I/O芯片的程序设计 242
12.1.5 8255接口芯片设计的VHDL语言描述 243
12.2.1 AM2901微处理器的内部结构 248
12.2 4位微处理器的设计 248
12.2.2 AM2901微处理器的微指令系统 250
12.2.3 AM2901 4位微处理器顶层实体设计 251
12.2.4 AM2901 4位微处理器顶层元件包设计 253
12.2.5 AM2901微处理器的元件设计 255
12.2.6 创建基本元件库 263
12.3 STD总线容错工业控制计算机组合逻辑设计 273
12.3.1 STD总线多模容错工业控制计算机简介 273
12.3.2 逻辑电路的VHDL语言设计 274
12.3.3 CPLD芯片的VHDL开发设计 275
13.1 VHDL语言93版对规范的修订 289
13.1.1 文件是VHDL语言新的对象 289
第13章 VHDL语言93版对规范的修订 289
13.1.2 在端口映射中使用常量表达式 290
13.1.3 定义共享变量 291
13.1.4 定义GROUP 291
13.1.5 定义新的属性FOREIGN 292
13.1.6 语句描述上的区别 292
13.1.7 扩展标注的标号 293
13.1.8 纯函数和非纯函数 294
13.1.9 标识(Signature) 294
13.1.10 文件操作的定义 294
13.1.12 增加逻辑操作符 295
13.1.13 REPORT语句(报告语句) 295
13.1.11 扩大属性的使用范围 295
13.1.14 信号延时可指定脉冲宽度限制 296
13.1.15 可对信号赋无效值 296
13.1.16 延迟过程 296
13.1.17 增加参数传递语句(GENERIC) 296
13.1.18 生成语句可包含端口说明 296
13.1.19 扩展字符集 297
13.1.20 定义扩展标识符 297
13.1.21 位串 297
13.1.22 增加预定义属性 297
13.1.23 扩充标准包集合(STANDARD) 299
13.2 87版93版的移植问题 299
附录A IEEE库标准逻辑程序包 300