目录 3
入门篇 3
第1章 VHDL初探 3
1.1 VHDL简介 3
1.1.1 VHDL的特点 3
1.1.2 设计流程 4
1.1.3 初学者如何学好VHDL 6
1.2 VHDL与MAX+plus Ⅱ的初体验 7
1.2.1 设计输入 7
1.2.2 编译 10
1.2.3 仿真 12
1.2.4 引脚图编辑 15
1.2.5 重编译与时序仿真 17
1.2.6 下载 17
1.2.7 实际验证 19
2.1 VHDL程序结构 20
第2章 VHDL入门 20
2.1.1 实体 22
2.1.2 结构体 24
2.1.3 库与包的调用 26
2.2 VHDL基本数据类型 27
2.2.1 VHDL预定义数据类型 27
2.2.2 IEEE预定义标准逻辑位与矢量 31
2.3 VHDL数据对象 32
2.2.3 用户自定义的数据类型 32
2.3.1 信号 33
2.3.2 变量 36
2.3.3 常数 37
2.4 VHDL运算符 38
2.4.1 算术运算符 39
2.4.2 并置运算符 39
2.4.3 关系运算符 40
2.4.4 逻辑运算符 40
2.5 VHDL并行语句 41
2.5.1 并行信号赋值语句 43
2.5.2 进程语句 47
2.6 VHDL顺序语句 54
2.6.1 赋值语句 54
2.6.2 流程控制语句 56
第3章 状态机在VHDL中的实现 63
3.1 Moore状态机的VHDL描述 63
3.2 Mealy状态机的VHDL描述 69
3.3 状态机的容错设计 72
4.1 层次化设计的概念 74
第4章 系统层次化设计 74
4.2 在MAX+plus Ⅱ中实现层次化设计 75
4.2.1 元件重用 75
4.2.2 多层次设计的实现 79
第5章 系统层次化设计进阶 81
5.1 元件例化 81
5.2 程序包 84
5.3 类属映射 86
6.1 关于设计方法 91
解惑篇 91
第6章 初学者常见问题解答 91
6.2 关于信号与变量 93
6.3 关于顺序语句的顺序性 96
6.4 关于仿真与综合 99
6.5 关于MAX+plus Ⅱ 100
实例篇 105
第7章 常用电路的VHDL程序 105
7.1 分频电路 105
7.1.1 偶数倍分频 105
7.1.2 奇数倍分频 107
7.2 七段数码管驱动电路 108
7.2.1 并行连接的七段数码管驱动程序 109
7.2.2 串行连接的七段数码管驱动程序 113
7.3 键盘扫描电路 115
7.4 键盘消抖电路 121
7.5 同步整形电路 122
7.6 三态缓冲器 125
7.7 SRAM控制电路 126
7.7.1 SRAM UT62256的读/写时序说明 127
7.7.2 用CPLD/FPGA控制SRAM的读/写 130
7.8 Flex10K10内部RAM的读/写 132
第8章 交通灯控制器 136
8.1 任务书 136
8.2 参考设计 137
8.2.1 系统框图 137
8.2.2 计数器的设计 138
8.2.3 控制器的设计 139
8.2.4 分位译码电路的设计 141
8.2.5 顶层文件元件连接图 143
8.3 练习题 143
8.3.1 用状态机实现交通灯控制器 143
8.3.2 计时秒表 143
第9章 乒乓游戏机 144
9.1 任务书 144
9.2.1 系统框图 145
9.2 参考设计 145
9.2.2 状态机的设计 146
9.2.3 记分器的设计 152
9.2.4 顶层文件元件连接图 153
9.3 练习题 154
9.3.1 乒乓游戏机功能扩展要求 154
9.3.2 经典数学游戏——过河 154
9.3.3 3层电梯控制器 154
第10章 数字频率计 156
10.1 任务书 156
10.2 频率与周期的测量原理 157
10.2.1 测频的原理 157
10.2.2 测周期的原理 158
10.3 参考设计 158
10.3.1 系统框图 158
10.3.2 状态机的设计 160
10.3.3 计数器的设计 165
10.3.4 顶层文件元件连接图 168
10.4 练习题 169
10.4.1 洗衣机控制器 169
10.4.2 数字钟 170
第11章 自动打铃系统 171
11.1 任务书 171
11.2 参考设计 172
11.2.1 系统框图 172
11.2.2 状态机的设计 173
11.2.3 计时/调时模块的设计 179
11.2.4 打铃时间设定模块的设计 181
11.2.5 打铃长度设定模块的设计 183
11.2.6 显示控制及打铃控制模块的设计 184
11.2.7 其他模块的设计 188
11.2.8 顶层文件元件连接图 191
11.3 练习题 192
第12章 WCDMA短码生成器 194
12.1 任务书 194
12.2 参考设计 195
12.3 练习题 204
第13章 Franaszek编/译码器 206
13.1 任务书 206
13.2 参考设计 207
13.2.1 总体方案设计 207
13.2.2 状态机的设计 209
13.2.3 LPM_ROM的配置 213
13.2.4 缓存控制器的设计 214
13.2.5 顶层文件波形仿真 218
13.3 练习题 219
经验篇 224
第14章 VHDL的综合 224
14.1 LOOP语句的综合 224
14.2 进程的综合 225
14.2.1 可综合的进程格式 225
14.2.2 进程综合结果的讨论 227
14.3 VHDL可综合编程的一般规则 229