第1章 硬件开发平台介绍 1
1.1 Xilinx FPGA器件 1
1.1.1 Xilinx公司简介 1
1.1.2 Xilinx的FPGA器件系列 2
1.2 Xilinx大学计划板卡 5
1.3 主电路及外围接口电路 6
1.4 XUP板卡测试 21
第2章 软件平台介绍 23
2.1 Vivado设计套件 23
2.1.1 Vivado软件安装流程 24
2.1.2 IP封装器、集成器和目录 28
2.1.3 标准化XDC约束文件 29
2.1.4 工程命令语言 29
2.1.5 Vivado设计套件的启动方法 30
2.1.6 Vivado设计套件的界面 31
2.2 FPGA设计流程 37
2.2.1 Vivado套件的设计流程 37
2.2.2 设计综合流程 39
2.2.3 设计实现流程 42
2.3 硬件描述语言 45
2.3.1 VHDL简介 46
2.3.2 Verilog HDL简介 49
第3章 FPGA设计实例 56
3.1 基于原理图的设计实例 56
3.1.1 简易数字钟实验原理 56
3.1.2 实验流程 57
3.2 基于Verilog HDL的设计实例 80
3.2.1 设计要求 80
3.2.2 实验操作步骤 81
3.3 74系列IP封装设计实例 91
3.3.1 IP核分类 91
3.3.2 IP封装实验流程 92
3.3.3 调用封装后的IP 100
第4章 组合逻辑电路实验 104
4.1 逻辑门电路 104
4.1.1 基本及常用的逻辑门 104
4.1.2 与非门电路的简单应用 110
4.2 多路选择器 112
4.2.1 2选1多路选择器 113
4.2.2 4选1多路选择器 114
4.2.3 4位2选1多路选择器 117
4.2.4 74LS253的IP核设计及应用 119
4.2.5 74LS151的IP核设计 122
4.3 比较器 123
4.3.1 4位比较器 124
4.3.2 74LS85的IP核设计及应用 127
4.3.3 利用数据选择器74LS151设计2位比较器 130
4.4 译码器 131
4.4.1 3线-8线译码器 131
4.4.2 74LS138的IP核设计及应用 133
4.4.3 数码管显示 135
4.5 编码器 142
4.5.1 二进制普通编码器 142
4.5.2 二进制优先编码器 144
4.5.3 74LS 148的IP核设计 145
4.6 编码转换器 147
4.6.1 二进制-BCD码转换器 147
4.6.2 格雷码转换器 151
4.7 加法器 152
4.7.1 半加器 152
4.7.2 全加器 153
4.7.3 4位加法器 153
4.8 减法器 157
4.8.1 半减器 157
48.2 全减器 157
4.9 乘法器 159
4.10 除法器 163
第5章 时序逻辑电路实验 169
5.1 锁存器和触发器 169
5.1.1 锁存器 169
5.1.2 触发器 170
5.1.3 74LS74的IP核设计及应用 176
5.2 寄存器 178
5.2.1 基本寄存器 178
5.2.2 移位寄存器 182
5.2.3 74LS194的IP核设计及应用 189
5.3 计数器 191
5.3.1 二进制计数器 192
5.3.2 N进制计数器 195
5.3.3 任意波形的实现 201
5.3.4 74LS161的IP核设计及应用 202
5.4 脉冲宽度调制 208
5.5 时序逻辑电路综合设计 210
第6章 数字逻辑设计和接口实验 221
6.1 有限状态机 221
6.1.1 Moore状态机和Mealy状态机 221
6.1.2 有限状态机设计例程 221
6.2 最大公约数 234
6.2.1 GCD算法 235
6.2.2 改进的GCD算法 243
6.3 整数平方根 247
6.3.1 整数平方根算法 248
6.3.2 改进的整数平方根算法 255
6.4 存储器 259
6.4.1 只读存储器(ROM) 259
6.4.2 分布式的存储器 262
6.4.3 块存储器 266
6.5 VGA控制器 269
6.5.1 VGA的时序 271
6.5.2 VGA控制器实例 272
6.6 键盘和鼠标接口 292
6.6.1 键盘 293
6.6.2 鼠标 297
第7章 数字逻辑综合实验 306
7.1 数字钟 306
7.2 数字频率计 310
7.3 电梯控制器 314
7.4 波形发生电路 320
7.5 超声波测距仪 332
7.6 手机电池保护板 337
附录A Basys3电路图 349
附录B 引脚约束 356