第1章 硬件平台介绍 1
1.1 Xilinx FPGA器件 1
1.1.1 Xilinx公司简介 1
1.1.2 Xilinx的FPGA器件系列 1
1.2 EGO1实验板卡 4
1.2.1 概述 4
1.2.2 使用注意事项 4
1.2.3 用户手册 5
1.3 EGO1实验板卡测试流程 19
1.4 EGO 1实验板卡的引脚约束 20
第2章 Vivado软件平台介绍 25
2.1 Vivado设计套件 25
2.1.1 Vivado设计套件安装流程 25
2.1.2 IP核封装器、IP核集成器和可扩展IP核目录 29
2.1.3 标准化XDC文件 30
2.1.4 Tcl 31
2.1.5 Vivado设计套件的启动方法 31
2.1.6 Vivado设计套件的界面 31
2.2 FPGA设计流程 36
2.2.1 Vivado设计套件的设计流程 36
2.2.2 设计综合流程 39
2.2.3 设计实现流程 41
2.3 硬件描述语言 43
2.3.1 VHDL简介 44
2.3.2 Verilog HDL简介 47
第3章 FPGA设计实例 53
3.1 74系列IP核封装设计实例 53
3.1.1 IP核分类 53
3.1.2 IP核封装实验流程 54
3.2 基于原理图的设计实例——全加器 66
3.2.1 全加器实验原理 66
3.2.2 实验步骤 67
3.3 基于Verilog HDL的设计实例——流水灯 79
3.3.1 设计要求 79
3.3.2 实验步骤 79
第4章 组合逻辑电路设计实例 89
4.1 逻辑门电路 89
4.1.1 基本及常用的逻辑门 89
4.1.2 与非门的简单应用 94
4.2 多路选择器 96
4.2.1 2选1多路选择器 96
4.2.2 4选1多路选择器 97
4.2.3 4位2选1多路选择器 100
4.2.4 74LS253的IP核设计及应用 102
4.2.5 74LS151的IP核设计 104
4.3 数值比较器 105
4.3.1 4位数值比较器 106
4.3.2 74LS85的IP核设计及应用 108
4.3.3 利用74LS151设计2位数值比较器 111
4.4 译码器 112
4.4.1 3-8线译码器 112
4.4.2 74LS138的IP核设计及应用 114
4.4.3 显示译码器 116
4.5 编码器 121
4.5.1 二进制普通编码器 121
4.5.2 二进制优先编码器 122
4.5.3 74LS148的IP核设计 124
4.6 编码转换器 126
4.6.1 二进制-BCD码转换器 126
4.6.2 格雷码转换器 129
4.7 加法器 130
4.7.1 半加器 131
4.7.2 全加器 131
4.7.3 4位全加器 132
4.8 减法器 135
4.8.1 半减器 135
4.8.2 全减器 135
4.9 乘法器 138
4.10 除法器 141
第5章 时序逻辑电路设计实例 144
5.1 锁存器和触发器 144
5.1.1 锁存器 144
5.1.2 触发器 145
5.1.3 74LS74的IP核设计及应用 150
5.2 寄存器 152
5.2.1 基本寄存器 152
5.2.2 移位寄存器 155
5.2.3 74LS 194的IP核设计及应用 161
5.3 计数器 163
5.3.1 二进制计数器 163
5.3.2 N进制计数器 166
5.3.3 任意形式波形的实现 171
5.3.4 74LS161的IP核设计及应用 173
5.4 脉冲宽度调制 177
5.5 时序逻辑电路综合设计 179
第6章 数字逻辑电路设计及接口实例 186
6.1 有限状态机 186
6.1.1 Moore状态机和Mealy状态机 186
6.1.2 有限状态机设计实例 186
6.2 求最大公约数 197
6.2.1 GCD算法 198
6.2.2 改进的GCD算法 205
6.3 求整数平方根 208
6.3.1 整数平方根算法 209
6.3.2 改进的整数平方根算法 216
6.4 存储器 219
6.4.1 只读存储器 219
6.4.2 分布式存储器 222
6.5 VGA控制器 225
6.5.1 VGA的时序 226
6.5.2 VGA控制器实例 227
6.6 键盘和鼠标接口 246
6.6.1 键盘 248
6.6.2 鼠标 251
第7章 数字逻辑综合实验 259
7.1 数字钟 259
7.2 数字频率计 268
7.3 7段数码管滚动显示电话号码 272
7.4 电梯控制器 276
参考文献 282