目录 1
第1章 数字系统设计的基本准则 1
1.1 数字电路与模拟电路 1
1.2 数值的表达 2
1.2.1 二进制基础 2
1.2.2 十六进制基础 3
1.2.3 二进制和十六进制编码 3
1.2.4 进制间的数值转换 6
1.3 电路设计方法 7
1.3.1 自顶向下的设计方法 7
1.32 总体结构与模块划分 9
13.3 全局逻辑的设计 11
1.3.4 设计编译与调试 11
1.3.5 设计实体文件 12
1.3.6 器件的选择 13
1.4 硬件描述语言(HDL) 13
1.4.1 HDL的特点 13
1.4.2 常用HDL简介 13
第2章 VHDL基础知识 15
2.1 什么是VHDL 15
2.2 VHDL中的常用术语 16
2.2.1 行为建模 16
2.2.2 结构建模 18
2.2.3 寄存器传输级RTL 21
2.2.4 逻辑综合 23
2.3 VHDL逻辑综合 27
2.3.1 与Verilog HDL的比较 27
2.3.2 VHDL典型逻辑综合设计流程 27
2.3.3 VHDL逻辑仿真设计流程 29
2.4 VHDL的设计单元 30
2.4.1 实体 31
2.4.2 电路的结构体(Architecture) 33
2.4.3 基本建模结构 35
2.4.4 库、包集合及配置 39
第3章 VHDL的数据类型与运算操作符 42
3.1 VHDL描述的客体 42
3.1.1 信号 42
3.1.2 常量 43
3.1.3 变量 43
3.1.4 信号与变量的使用比较 44
3.2 VHDL的数据类型 45
3.2.1 标准数据类型 45
3.2.2 自定义数据类型 48
3.2.3 数据类型的转换方法 53
3.3 VHDL运算操作符 54
3.3.1 逻辑运算符 55
3.3.2 算术运算符 56
3.3.3 关系运算符 58
3.3.4 并置运算符 58
3.3.5 运算符的重载(Overloading) 59
第4章 VHDL电路描述 60
4.1 信号的使用 60
4.1.1 信号代入 60
4.1.2 并发信号代入 60
4.1.3 信号延迟 61
4.2 进程(PROCESS)结构描述 62
4.2.1 显式进程描述 63
4.2.2 隐式进程描述 65
4.2.3 进程描述的执行 65
4.2.4 多进程描述 65
4.2.5 多进程描述实例 65
4.2.6 等同功能描述 67
4.3 变量的使用 68
4.3.1 变量声明与赋值 68
4.3.2 变量的使用 68
4.3.3 复习 68
4.4 顺序描述语句 70
4.4.1 WAIT语句 70
44.2 IF-THEN语句 73
4.4.3 CASE语句 78
4.4.4 LOOP语句 79
4.4.5 NEXT语句 82
4.4.6 EXIT语句 83
4.4.7 ASSERT语句 84
4.5 VHDL风格规范 86
4.5.1 命名 86
4.5.2 注释 88
4.5.3 设计风格规范 90
4.6 VHDL使用经验 90
5.1 MAX+plus Ⅱ简介 96
第5章 VHDL的编译与仿真 96
5.2 利用MAX+plus Ⅱ编译VHDL电路 97
5.2.1 MAX+plus Ⅱ对VHDL的支持 97
5.2.2 新建一个VHDL工程电路文件 97
5.2.3 VHDL工程的编译 99
5.2.4 VHDL程序的仿真 103
5.2.5 新建VHDL输出文件 107
5.3 MAX+plus Ⅱ使用经验 107
5.4 其他编译、仿真工具介绍 108
5.4.1 Synopsys简介 108
5.4.2 Altera Quartus Ⅱ介绍 110
5.4.3 Xilinx工具 110
6.1 芯片的编程 113
第6章 芯片的选择 113
6.2 CPLD 芯片 114
6.3 FPGA芯片 116
6.4 FPGA与CPLD的比较 118
第7章 基本逻辑电路设计 120
7.1 组合逻辑设计 120
7.1.1 组合逻辑设计基础 120
7.1.2 编码、译码器 125
7.1.3 多路选择器 129
7.1.4 比较器 130
7.2.1 时序逻辑设计基础 132
7.2 时序逻辑设计 132
7.2.2 边缘触发器 133
7.2.3 简单计数器 135
7.2.4 寄存器 137
7.3 组合逻辑与时序逻辑的综合 142
第8章 数据控制器设计 145
8.1 总线控制器的设计 145
8.1.1 总线控制器的功能 145
8.1.2 总体框架与全局逻辑控制设计 146
8.1.3 VHDL实现 146
8.1.4 编译、仿真 150
8.2 USB 2.0接口控制器设计 151
8.1.5 案例的扩展 151
8.2.2 逻辑分析与电路框架 152
8.2.1 USB接口控制器功能设计 152
8.2.3 VHDL实现 153
8.2.4 编译、仿真 178
8.3 8 位存储器控制器设计 180
8.3.1 存储控制器的功能 180
8.3.2 总体框架分析 181
8.3.3 全局逻辑控制设计 181
8.3.4 存储控制器的VHDL实现 182
8.3.5 8位存储控制器设计模拟验证 186
9.1.1 傅立叶变换算法 190
第9章 图像快速傅立叶变换的VHDL实现 190
9.1 快速傅立叶变换算法 190
9.1.2 Cooley-Tukey快速傅立叶变换(FFT)算法 191
9.1.3 基2快速傅立叶变换算法 192
9.1.4 二维FFT算法 193
9.2 电路框架分析与设计 194
9.3 快速傅立叶变换的VHDL实现 194
9.3.1 复数乘法运算器 195
9.3.2 蝶形处理器设计 199
9.4 FFT设计的编译和仿真 202
9.6 电路调试与设计心得 203
9.5 电路资源分析 203
9.7 本章总结 204
第10章 数值控制振荡器(NCO)芯片设计 205
10.1 什么是数傅控制振荡器 205
10.1.1 计数器的使用 205
10.1.2 数值控制振荡器的使用 205
10.2 电路结构设计 206
10.2.1 全局逻辑设计 206
10.2.2 电路结构分析 206
10.3 VHDL实现 207
10.3.1 16位精度锯齿波VHDL实现 207
10.3.2 8位精度正弦/余弦波VHDL实现 210
10.4 系统编译、仿真 217
10.4.1 Max+plus Ⅱ编译 217
10.4.2 16位精度锯齿波数值控制振荡器波形仿真 218
10.4.3 8位精度正弦/余弦波数值控制振荡器波形仿真 218
第11章 基于6502框架的8位微处理器芯片设计 220
11.1 微处理器功能设计 220
11.2 芯片I/O信号设定 222
11.3 实体功能设定 223
11.3.1 8位总线控制器 223
11.3.2 同步时序 224
11.3.3 算术运算单元 225
11.3.4 处理器操作码设定 226
11.3.5 其他功能模块 231
11.4 VHDL部分实现 231
11.5 已有功能编译、仿真 260
11.6 本章总结 261
第12章 高精度数字/模拟转换器、PWM电路设计及扩展应用 262
12.1 DAC与PWM简介 262
12.1.1 DAC简介 262
12.1.2 PWM简介 263
12.2 电路结构设计 263
12.2.1 总体逻辑分析 263
12.2.3 电路结构框图 264
12.2.2 电路结构设计分析 264
12.3 电路设计的VHDL描述 266
12.3.1 包集合说明 266
12.3.2 一阶Delta-Sigma转换器的电路描述 267
12.3.3 PWM的电路描述 269
12.4 系统编译、仿真与调试 271
12.4.1 MAX+plus Ⅱ编译与仿真 272
12.4.2 波形含义与分析 274
12.4.3 电路资源分析 275
12.5 一阶Delta-Sigma转换器与PWM的扩展应用 276
12.5.1 电路结构框图 276
12.5.2 电路设计的VHDL描述 277
12.5.3 仿真波形与电路资源分析 280