目录 1
丛书序 1
前言 1
第1章 VHDL概述 1
1.1 现代电子设计方法——EDA技术 1
1.1.1 EDA技术的发展历程 1
1.1.2 EDA技术的主要特点 2
1.1.3 EDA技术的开发工具 3
1.1.4 EDA技术的设计语言 4
1.2.2 VHDL的特点 5
1.2.1 VHDL的产生 5
1.2 典型的硬件描述语言——VHDL 5
1.2.3 VHDL的设计流程 7
第2章 VHDL的对象、数据类型和操作符 8
2.1 基本的词法单元 8
2.1.1 标识符 8
2.1.2 注释 9
2.1.3 数字 10
2.1.4 字符和字符串 10
2.1.5 位串 11
2.2 VHDL的对象 11
2.2.1 常量 12
2.2.2 变量 13
2.2.3 信号 14
2.2.4 文件 16
2.3 VHDL的数据类型 17
2.3.1 标准定义的数据类型 17
2.3.2 用户定义的数据类型 19
2.3.3 VHDL中常用的数据类型 22
2.3.4 数据类型的转换 23
2.4 VHDL的操作符 25
2.4.1 逻辑操作符 25
2.4.2 算术操作符 26
2.4.3 关系操作符 27
2.4.4 并置操作符 28
第3章 VHDL的结构 30
3.1 VHDL的基本单元及其结构 30
3.2 库和程序包 32
3.2.1 VHDL的库 32
3.2.2 VHDL的程序包 34
3.3 实体说明 36
3.3.1 类属参数说明 36
3.3.2 端口说明 36
3.3.3 实体说明部分 37
3.4 结构体 38
3.4.1 结构体的语法结构 38
3.4.2 结构体的3种描述方式 39
3.5 配置 42
3.5.1 默认配置 43
3.5.2 元件配置 44
3.5.3 结构体配置 46
第4章 VHDL的语句 48
4.1 VHDL的并行描述语句 48
4.1.1 进程语句 48
4.1.2 块语句 52
4.1.3 信号赋值语句 57
4.1.4 参数传递语句 60
4.1.5 元件例化语句 62
4.1.6 生成语句 64
4.1.7 断言语句 67
4.2 VHDL的顺序描述语句 69
4.2.1 WAIT语句 69
4.2.2 IF语句 73
4.2.3 CASE语句 76
4.2.4 LOOP语句 78
4.2.5 RETURN语句 83
4.2.6 NULL语句 84
4.2.7 REPORT语句 84
5.1 值类属性 86
5.1.1 一般数据的值类属性 86
第5章 VHDL的属性 86
5.1.2 数组的值类属性 88
5.1.3 块的值类属性 90
5.2 函数类属性 92
5.2.1 数据的函数类属性 92
5.2.2 数组的函数类属性 93
5.2.3 信号的函数类属性 96
5.3 信号类属性 99
5.3.1 信号′delayed[(t)] 99
5.3.2 信号′stable[(t)] 101
5.3.3 信号′quiet[(t)] 102
5.4 数据类型类属性 104
5.5 数据范围类属性 105
第6章 VHDL的子程序 106
6.1 过程 106
6.1.1 过程的语法结构 106
6.1.2 过程的定义 108
6.1.3 过程的调用 109
6.2 函数 111
6.2.1 函数的语法结构 112
6.2.2 函数的定义 113
6.2.3 函数的调用 114
6.3 子程序重载与运算符重载 116
6.3.1 子程序重载 116
6.3.2 运算符重载 120
6.4 数据类型的转换函数 122
6.5 文本文件操作的子程序 126
第7章 组合逻辑电路的VHDL描述 128
7.1 基本门电路 128
7.1.1 二输入门电路 128
7.1.2 多输入门电路 131
7.1.3 三态门电路 133
7.2 编码器和译码器 135
7.2.1 编码器 135
7.2.2 译码器 138
7.3.1 数据选择器 143
7.3 数据选择器和数据分配器 143
7.3.2 数据分配器 145
7.4 运算器 146
7.4.1 比较器 146
7.4.2 加法器 148
7.4.3 求补器 149
第8章 时序逻辑电路的VHDL描述 150
8.1 基本触发器 150
8.1.1 D触发器 150
8.1.2 JK触发器 153
8.1.3 T触发器 155
8.2.1 普通寄存器 156
8.2 寄存器 156
8.2.2 移位寄存器 159
8.3 计数器 162
8.3.1 同步计数器 163
8.3.2 通用同步计数器 164
8.4 存储器 165
8.4.1 只读存储器(ROM) 165
8.4.2 随机存储器(RAM) 167
第9章 VHDL在通信和DSP中的应用 169
9.1 分频器 169
9.1.1 偶数分频器的设计 169
9.1.2 奇数分频器的设计 173
9.1.3 半整数分频器的设计 176
9.1.4 大数目分频器的设计 177
9.2 循环冗余校验(CRC) 178
9.2.1 CRC的基本原理 179
9.2.2 CRC的实现方法 180
9.2.3 CRC的VHDL程序 181
9.3 快速加法器 185
9.3.1 并行加法器 185
9.3.2 流水线加法器 186
9.4 三相多波形函数发生器 191
9.4.1 波形发生器的模块设计 191
9.4.2 波形发生器的顶层设计 196
第10章 VHDL在微机系统中的应用 198
10.1 8255并行I/O接口芯片的设 198
计 198
10.1.1 8255的内部结构和外部接口 198
10.1.2 8255的控制字和状态字 199
10.1.3 8255的3种工作方式及VHDL描述 201
10.2 FIFO的设计 211
10.2.1 8×9 FIFO的VHDL实现 212
10.2.2 通用FlFO的VHDL实现 215
10.3 DRAM控制器的设计 217
10.3.1 异步DRAM控制器的实现 218
10.3.2 异步DRAM控制器的改进方案一 223
10.3.3 异步DRAM控制器的改进方案二 229
第11章 4位微处理器的设计 233
11.1 4位微处理器的内部结构和模块划分 233
11.2 4位微处理器的顶层设计 238
11.3 4位微处理器的底层设计 243
11.3.1 存储器组模块RAM_REGS 243
11.3.2 寄存器模块Q_REG 246
11.3.3 源操作数选择模块SRC_OP 248
11.3.4 算术逻辑单元(ALU)模块 249
11.3.5 输出选择器模块OUT_MUx 251
12.1 保险柜密码器的内部结构和模块划分 253
第12章 保险柜密码器的设计 253
12.2 保险柜密码器的顶层设计 256
12.3 保险柜密码器的底层设计 260
12.3.1 分频模块 260
12.3.2 消抖同步模块 264
12.3.3 使能电路模块 266
12.3.4 反相电路模块 268
12.3.5 密码预置输出模块 268
12.3.6 编码模块 269
12.3.7 比较模块 271
12.3.8 计数器选择模块 271
12.3.9 数码管显示译码模块 272
12.3.10 指示电路模块 273
12.3.11 控制器模块 275
第13章 UART的设计 281
13.1 UART的内部结构和模块划分 281
13.2 UART的顶层设计 287
13.3 UART的底层设计 295
13.3.1 接收模块 295
13.3.2 发送模块 304
13.3.3 中断仲裁模块 312
13.3.4 MODEM控制器模块 321
附录 VHDL的保留字 324
参考文献 325