第1章 FPGA及其硬件描述语言VHDL 1
1.1 FPGA简介 1
1.2 VHDL程序的特点 1
1.3 VHDL程序的基本结构 2
1.3.1 库说明 3
1.3.2 实体说明 4
1.3.3 结构体说明 5
1.4 VHDL的数据 5
1.4.1 基本标识符 5
1.4.2 数据对象 6
1.4.3 数据类型 7
1.5 VHDL的表达式 10
1.5.1 逻辑运算符 10
1.5.2 算术运算符 10
1.5.3 关系运算符 11
1.5.4 并置运算符 12
1.5.5 操作符的运算优先级 12
第2章 VHDL的顺序描述语句 14
2.1 信号赋值语句和变量赋值语句 14
2.2 if语句 14
2.3 case语句 17
2.4 for loop循环语句 19
2.5 null语句 20
第3章 VHDL的并行描述语句 22
3.1 进程语句 22
3.1.1 进程语句的敏感信号表 22
3.1.2 进程语句的启动 23
3.1.3 进程语句的同步 23
3.2 并发信号赋值语句 25
3.3 条件信号赋值语句 26
3.4 选择信号赋值语句 28
3.5 元件例化语句 30
3.6 生成语句 33
第4章 VHDL中时钟信号及复位信号的描述方法 37
4.1 时钟信号的VHDL描述方法 37
4.1.1 时钟边沿的描述 37
4.1.2 时序电路中的进程敏感信号 38
4.2 时序电路中复位信号的VHDL描述方法 39
4.2.1 同步复位 39
4.2.2 异步复位 40
第5章 用VHDL设计有限状态机 41
5.1 有限状态机的基本概念 41
5.2 Moore型有限状态机的设计实例 42
5.2.1 存储控制器的三进程描述方式 43
5.2.2 存储控制器的单进程描述方式 45
5.2.3 存储控制器的双进程描述方式 46
第6章 FPGA的应用软件MAX+plus Ⅱ的使用方法 48
6.1 编程存储及编译 48
6.2 指定器件及编译 51
6.3 指定器件管脚及编译 51
6.4 下载 52
6.5 存储及编译图形描述 53
6.6 仿真 55
第7章 FPGA数字电路设计实例 59
7.1 门电路的FPGA设计 59
7.1.1 非门电路 59
7.1.2 二输入或非门电路 62
7.1.3 二输入异或门电路 63
7.1.4 反向器门电路 64
7.1.5 三态门电路 65
7.1.6 单向总线缓冲器 66
7.1.7 双向总线缓冲器 67
7.2 组合逻辑电路的FPGA设计 67
7.2.1 监视交通信号灯工作状态的逻辑电路 68
7.2.2 8线-3线编码器 69
7.2.3 8线-3线优先编码器 70
7.2.4 二-十进制编码器 71
7.2.5 3线-8线译码器 73
7.2.6 二-十进制译码器 74
7.2.7 BCD七段显示译码器 75
7.2.8 代码转换电路 77
7.2.9 四选一数据选择器 78
7.2.10 八选一数据选择器 79
7.2.11 4位全加器 80
7.2.12 8位加法器 82
7.2.13 多位数值比较器 83
7.3 触发器的FPGA设计 84
7.3.1 RS触发器 84
7.3.2 主从JK触发器 85
7.3.3 D触发器 86
7.4 时序逻辑电路的FPGA设计 88
7.4.1 寄存器 88
7.4.2 双向移位寄存器 88
7.4.3 串行输入并行输出移位寄存器 90
7.4.4 循环移位寄存器 90
7.4.5 4位同步二进制计数器 91
7.4.6 单时钟同步十六进制加/减计数器 92
7.4.7 双时钟同步十六进制加/减计数器 93
7.4.8 同步十进制加法计数器 96
7.4.9 单时钟同步十进制可逆计数器 97
7.4.10 异步二进制加法计数器 98
7.4.11 同步100进制计数器 100
7.4.12 同步29进制计数器 101
7.4.13 顺序脉冲发生器 103
7.4.14 序列信号发生器 104
7.4.15 用状态机方法设计十三进制计数器 105
7.4.16 串行数据检测器 106
7.4.17 能自启动的七进制计数器 108
7.4.18 能自启动的3位环形计数器 109
7.4.19 用状态机方法设计十进制减法计数器 110
第8章 FPGA应用系统设计实例 112
8.1 实例一:FPGA控制的数码显示电路 112
8.1.1 设计要求 112
8.1.2 设计分析 112
8.1.3 显示原理 112
8.1.4 驱动8位数码管显示电路框图 113
8.1.5 模块及模块功能 114
8.2 实例二:键盘控制电路 118
8.2.1 设计要求 118
8.2.2 设计分析 118
8.3 实例三:FPGA控制的点阵发光器件显示汉字 125
8.3.1 设计要求 125
8.3.2 设计分析 125
8.3.3 器件及硬件电路 125
8.3.4 设计软件的思路及源程序 129
8.4 实例四:FPGA控制的数模(D/A)转换电路 142
8.4.1 设计要求 142
8.4.2 设计分析 142
8.4.3 DAC0832转换器 142
8.4.4 数模(D/A)转换电路 143
8.4.5 FPGA控制的数模(D/A)转换电路 144
8.5 实例五:FPGA控制的模数(A/D)转换0809的应用 146
8.5.1 设计要求 146
8.5.2 设计分析 146
8.5.3 ADC0809转换器及其转换电路 147
8.5.4 FPGA控制的模数(A/D)转换电路 150
8.5.5 用数码管显示模数(A/D)转换器的输入电压 154
8.5.6 ADC0809转换模拟输入负电压电路 159
8.6 实例六:数控式可逆步进调压直流稳压电源 161
8.6.1 设计要求 161
8.6.2 原理及硬件电路 161
8.6.3 软件设计思想及源程序 163
8.7 实例七:数控式直流电流源 166
8.7.1 设计指标及框图 166
8.7.2 硬件电路图 166
8.7.3 软件设计思想及源程序 168
8.8 实例八:低频数字式相位测量仪 171
8.8.1 设计指标及框图 171
8.8.2 移相网络 172
8.8.3 相位测量 173
8.9 实例九:多路数据采集系统 185
8.9.1 设计内容 185
8.9.2 现场模拟信号产生器 186
8.9.3 八路数据采集器 188
8.9.4 主控器 192
8.10 实例十:测量放大器 207
8.10.1 测量放大器系统 207
8.10.2 桥式电路 207
8.10.3 信号变换放大器 208
8.10.4 直流电压放大器 209
8.10.5 程控的直流电压放大器 211
8.11 实例十一:低频功率放大器 222
8.11.1 设计任务 222
8.11.2 功率放大器 223
8.11.3 前置放大器 224
8.11.4 系统测试 224
8.11.5 自制稳压电源 225
8.11.6 集成功率放大器 226
8.12 实例十二:开关型稳压电源 232
8.12.1 脉冲宽度调制电路MIC2194 232
8.12.2 MC34060控制的串联型开关稳压电源 233
8.13 实例十三:程控滤波器 235
8.13.1 设计要求 235
8.13.2 设计框图 235
8.13.3 程控放大器 236
8.13.4 程控低通滤波器 240
8.13.5 程控高通滤波器 243
8.13.6 程控滤波器的FPGA控制核心 245
8.14 实例十四:信号发生器 270
8.14.1 设计要求 270
8.14.2 功能及其内部接线 270
8.14.3 信号发生器的FPGA内部结构 272
8.14.4 调用MAX+plus Ⅱ10.2中的除法元件方法 296
8.15 实例十五:交流电压参数的测量 298
8.15.1 设计要求 298
8.15.2 给定的器件 298
8.15.3 硬件电路 301
8.15.4 软件电路 302
8.16 实例十六:宽带放大器 318
8.16.1 设计要求 318
8.16.2 硬件电路 319
8.16.3 软件电路 322
8.17 实例十七:高效率音频功率放大器 340
8.17.1 设计要求 340
8.17.2 D类放大器的工作原理 341
8.17.3 硬件电路 341
8.17.4 软件电路 345
8.18 实例十八:数字化语音存储与回放系统 356
8.18.1 设计要求 356
8.18.2 硬件电路 357
8.18.3 软件电路 360
8.19 实例十九:数字式工频有效值多用表 365
8.19.1 设计要求 365
8.19.2 硬件电路 366
8.19.3 软件电路 366
8.20 实例二十:简易电阻、电容和电感测量仪 385
8.20.1 设计要求 385
8.20.2 硬件电路 386
8.20.3 软件电路 388
参考文献 401