Xilinx FPGA原理与实践—基于Vivado和Verilog HDL
出版信息
书号: | 59334 | ISBN: | 978-7-111-59334-8 |
作者: | 卢有亮 | 印次: | 1-1 |
责编: | 吉玲 王小东 | 开本: | 16开 |
字数: | 368千字 | 定价: | 37.0 |
所属丛书: | 普通高等教育“十三五”规划教材 | ||
装订: | 平装 | 出版日期: | 2018-05-03 |
内容简介
本书以目前流行的Xilinx7系列FPGA的开发为主线,全面讲解FPGA的原理及电路设计、VerilogHDL语言及Vivado的套用,并循序渐进地从组合逻辑和时序逻辑的开发开始,深入到FPGA的基础套用、综合套用和进阶套用。本书具有理论和实践紧密结合的特点,在内容的设计上既重视学生对基础理论知识的认知过程,又通过由易到难的19个实践逐步提高理论知识及培养开发能力,为学生提高FPGA设计开发能力及提高知识套用素质提供平台与指导。通过本书的学习和实践,学生能够达到初级FPGA开发工程技术人员的水平。
图书目录
前 言
第1 章 FPGA基础及电路设计 1
1. 1 FPGA 基础及7 系列FPGA 基本原理 1
1. 1. 1 FPGA 概述 1
1. 1. 2 FPGA 基本逻辑结构 2
1. 1. 3 7 系列FPGA CLB 4
1. 1. 4 7 系列FPGA 的IOB 8
1. 1. 5 7 系列FPGA 及7a35tftg256 ̄1 特性 9
1. 2 FPGA 电路设计 11
1. 2. 1 FPGA 的BANK 电路 11
1. 2. 2 LED 驱动电路 13
1. 2. 3 拨码开关电路 13
1. 2. 4 按键电路 14
1. 2. 5 七段数码管驱动电路 15
1. 2. 6 VGA 显示驱动电路 17
1. 2. 7 RS ̄232 驱动电路 19
1. 2. 8 配置电路 20
1. 2. 9 XADC 接口和扩展接口 22
习题 24
第1 章 FPGA基础及电路设计 1
1. 1 FPGA 基础及7 系列FPGA 基本原理 1
1. 1. 1 FPGA 概述 1
1. 1. 2 FPGA 基本逻辑结构 2
1. 1. 3 7 系列FPGA CLB 4
1. 1. 4 7 系列FPGA 的IOB 8
1. 1. 5 7 系列FPGA 及7a35tftg256 ̄1 特性 9
1. 2 FPGA 电路设计 11
1. 2. 1 FPGA 的BANK 电路 11
1. 2. 2 LED 驱动电路 13
1. 2. 3 拨码开关电路 13
1. 2. 4 按键电路 14
1. 2. 5 七段数码管驱动电路 15
1. 2. 6 VGA 显示驱动电路 17
1. 2. 7 RS ̄232 驱动电路 19
1. 2. 8 配置电路 20
1. 2. 9 XADC 接口和扩展接口 22
习题 24
第2 章 Verilog HDL 语言与Vivado 25
2. 1 Verilog HDL 基本结构 25
2. 1. 1 一个简单的组合逻辑实例 25
2. 1. 2 一个简单的时序逻辑实例 27
2. 1. 3 Verilog HDL 结构要求 28
2. 2 数据类型及变数、常量 29
2. 2. 1 逻辑值和常量 30
2. 2. 2 线网型变数wire 30
2. 2. 3 暂存器类型reg 31
2. 2. 4 符号常量 32
2. 2. 5 存储器型变数 32
2. 3 运算符 33
2. 3. 1 算术运算符 33
2. 3. 2 逻辑运算符 33
2. 3. 3 按位运算符 34
2. 3. 4 关係运算符 34
2. 3. 5 等式运算符 35
2. 3. 6 缩减运算符 35
2. 3. 7 移位运算符 35
2. 3. 8 条件运算符和拼接运算符 36
2. 3. 9 运算符的优先权 37
2. 4 语句 37
2. 4. 1 赋值语句、结构说明语句、阻塞与非阻塞 38
2. 4. 2 条件语句 41
2. 4. 3 循环语句 43
2. 5 Vivado 初步 46
2. 5. 1 Vivado 获取和安装 47
2. 5. 2 Vivado 主界面 47
2. 1 Verilog HDL 基本结构 25
2. 1. 1 一个简单的组合逻辑实例 25
2. 1. 2 一个简单的时序逻辑实例 27
2. 1. 3 Verilog HDL 结构要求 28
2. 2 数据类型及变数、常量 29
2. 2. 1 逻辑值和常量 30
2. 2. 2 线网型变数wire 30
2. 2. 3 暂存器类型reg 31
2. 2. 4 符号常量 32
2. 2. 5 存储器型变数 32
2. 3 运算符 33
2. 3. 1 算术运算符 33
2. 3. 2 逻辑运算符 33
2. 3. 3 按位运算符 34
2. 3. 4 关係运算符 34
2. 3. 5 等式运算符 35
2. 3. 6 缩减运算符 35
2. 3. 7 移位运算符 35
2. 3. 8 条件运算符和拼接运算符 36
2. 3. 9 运算符的优先权 37
2. 4 语句 37
2. 4. 1 赋值语句、结构说明语句、阻塞与非阻塞 38
2. 4. 2 条件语句 41
2. 4. 3 循环语句 43
2. 5 Vivado 初步 46
2. 5. 1 Vivado 获取和安装 47
2. 5. 2 Vivado 主界面 47
习题 50
第3 章 组合逻辑电路与Vivado 进阶 51
3. 1 我的第一个工程———多数表决器 51
3. 1. 1 多数表决器的分析和逻辑实现 51
3. 1. 2 多数表决器的工程创建 52
3. 1. 3 多数表决器的Verilog HDL 源档案创建 56
3. 1. 4 多数表决器的Verilog HDL 代码实现及RTL 分析 58
3. 1. 5 综合 59
3. 1. 6 约束 60
3. 1. 7 实现 62
3. 1. 8 仿真 63
3. 1. 9 编程和调试 65
3. 2 3 ̄8 解码器设计和IP 核 70
3. 2. 1 解码器的实现 70
3. 2. 2 解码器IP 核生成 75
3. 3 调用IP 核实现多数表决器 78
3. 3. 1 使用74x138 实现多数表决器的设计 78
3. 3. 2 构建新工程并调用IP 核 78
习题 83
目 录Ⅶ
第4 章 时序逻辑电路FPGA实现 84
4. 1 时钟同步状态机的设计 84
4. 1. 1 时钟同步状态机及其设计流程 84
4. 1. 2 时钟同步状态机设计方法构建序列发生器 86
4. 1. 3 状态图直接描述法实现序列发生器 90
4. 2 同步计数器74x163 的实现 94
4. 3 移位暂存器的实现和套用 97
4. 3. 1 74x194 的实现 97
4. 3. 2 使用74x194IP 核实现11001 序列发生器 100
习题 104
第5 章 FPGA基本实践 105
5. 1 流水灯实践 105
5. 1. 1 流水灯的关键设计 105
5. 1. 2 流水灯工程的Vivado 实现 106
5. 2 数码管动态显示实践 111
5. 2. 1 数码管动态显示原理分析 111
5. 2. 2 数码管动态显示设计 112
5. 2. 3 数码管动态显示工程的Vivado 实现 113
5. 2. 4 数码管动态显示IP 核设计与实现 117
5. 2. 5 调用IP 核实现动态显示 120
5. 3 VGA 显示的实现 123
5. 3. 1 VGA 显示基本原理 123
5. 3. 2 VGA 显示设计与实现 125
习题 132
第6 章 FPGA综合实践 133
6. 1 电子秒表的设计与实现 133
6. 1. 1 按键消抖 133
6. 1. 2 秒表综合设计 136
6. 2 UART 串列接口设计及通信实现 142
6. 2. 1 异步串列接口原理分析 142
6. 2. 2 波特率及其他时钟信号发生模组设计 143
6. 2. 3 串列传送程式设计 145
6. 2. 4 串列接收程式设计 148
6. 2. 5 串列通信顶层程式设计 152
6. 2. 6 串列通信功能测试 153
习题 155
Ⅷ Xilinx FPGA 原理与实践———基于Vivado 和Verilog HDL
第7 章 FPGA 进阶——XADC、BRAM原理及电压表、示波器设计 156
7. 1 XADC 基本结构及暂存器 156
7. 1. 1 XADC 逻辑结构 156
7. 1. 2 XADC 对外连线说明 156
7. 1. 3 XADC 连线埠 159
7. 1. 4 XADC 状态暂存器和控制暂存器 160
7. 1. 5 操作模式 166
7. 1. 6 XADC 操作时序 167
7. 2 套用XADC 实现多路电压採集及显示 168
7. 2. 1 生成XADC IP 核实例 168
7. 2. 2 使用XADC IP 核实现XADC 序列模式访问模组 171
7. 2. 3 A/ D 序列採集和显示实现 175
7. 2. 4 序列採集及显示测试 179
7. 3 套用XADC 及BRAM 实现多通道示波器 181
7. 3. 1 块存储器BRAM 原理 181
7. 3. 2 块记忆体生成IP 的使用和仿真验证 186
7. 3. 3 多通道示波器的设计思路 192
7. 3. 4 显示记忆体设计及其访问模组构建及仿真 193
7. 3. 5 波形发生器模组设计及仿真 196
7. 3. 6 VGA 显示驱动模组设计及仿真 202
7. 3. 7 加入逻辑分析仪模组及顶层模组实现 206
7. 3. 8 功能测试 209
习题 209
附录 211
附录A xc7a35tftg256 ̄1 引脚说明 211
附录B 口袋实验板资源 218
附录C 实验或课程设计教学安排 229
附录D 分章节代码汇总 230
附录E A 型实验板参考约束档案 232
参考文献 236
第3 章 组合逻辑电路与Vivado 进阶 51
3. 1 我的第一个工程———多数表决器 51
3. 1. 1 多数表决器的分析和逻辑实现 51
3. 1. 2 多数表决器的工程创建 52
3. 1. 3 多数表决器的Verilog HDL 源档案创建 56
3. 1. 4 多数表决器的Verilog HDL 代码实现及RTL 分析 58
3. 1. 5 综合 59
3. 1. 6 约束 60
3. 1. 7 实现 62
3. 1. 8 仿真 63
3. 1. 9 编程和调试 65
3. 2 3 ̄8 解码器设计和IP 核 70
3. 2. 1 解码器的实现 70
3. 2. 2 解码器IP 核生成 75
3. 3 调用IP 核实现多数表决器 78
3. 3. 1 使用74x138 实现多数表决器的设计 78
3. 3. 2 构建新工程并调用IP 核 78
习题 83
目 录Ⅶ
第4 章 时序逻辑电路FPGA实现 84
4. 1 时钟同步状态机的设计 84
4. 1. 1 时钟同步状态机及其设计流程 84
4. 1. 2 时钟同步状态机设计方法构建序列发生器 86
4. 1. 3 状态图直接描述法实现序列发生器 90
4. 2 同步计数器74x163 的实现 94
4. 3 移位暂存器的实现和套用 97
4. 3. 1 74x194 的实现 97
4. 3. 2 使用74x194IP 核实现11001 序列发生器 100
习题 104
第5 章 FPGA基本实践 105
5. 1 流水灯实践 105
5. 1. 1 流水灯的关键设计 105
5. 1. 2 流水灯工程的Vivado 实现 106
5. 2 数码管动态显示实践 111
5. 2. 1 数码管动态显示原理分析 111
5. 2. 2 数码管动态显示设计 112
5. 2. 3 数码管动态显示工程的Vivado 实现 113
5. 2. 4 数码管动态显示IP 核设计与实现 117
5. 2. 5 调用IP 核实现动态显示 120
5. 3 VGA 显示的实现 123
5. 3. 1 VGA 显示基本原理 123
5. 3. 2 VGA 显示设计与实现 125
习题 132
第6 章 FPGA综合实践 133
6. 1 电子秒表的设计与实现 133
6. 1. 1 按键消抖 133
6. 1. 2 秒表综合设计 136
6. 2 UART 串列接口设计及通信实现 142
6. 2. 1 异步串列接口原理分析 142
6. 2. 2 波特率及其他时钟信号发生模组设计 143
6. 2. 3 串列传送程式设计 145
6. 2. 4 串列接收程式设计 148
6. 2. 5 串列通信顶层程式设计 152
6. 2. 6 串列通信功能测试 153
习题 155
Ⅷ Xilinx FPGA 原理与实践———基于Vivado 和Verilog HDL
第7 章 FPGA 进阶——XADC、BRAM原理及电压表、示波器设计 156
7. 1 XADC 基本结构及暂存器 156
7. 1. 1 XADC 逻辑结构 156
7. 1. 2 XADC 对外连线说明 156
7. 1. 3 XADC 连线埠 159
7. 1. 4 XADC 状态暂存器和控制暂存器 160
7. 1. 5 操作模式 166
7. 1. 6 XADC 操作时序 167
7. 2 套用XADC 实现多路电压採集及显示 168
7. 2. 1 生成XADC IP 核实例 168
7. 2. 2 使用XADC IP 核实现XADC 序列模式访问模组 171
7. 2. 3 A/ D 序列採集和显示实现 175
7. 2. 4 序列採集及显示测试 179
7. 3 套用XADC 及BRAM 实现多通道示波器 181
7. 3. 1 块存储器BRAM 原理 181
7. 3. 2 块记忆体生成IP 的使用和仿真验证 186
7. 3. 3 多通道示波器的设计思路 192
7. 3. 4 显示记忆体设计及其访问模组构建及仿真 193
7. 3. 5 波形发生器模组设计及仿真 196
7. 3. 6 VGA 显示驱动模组设计及仿真 202
7. 3. 7 加入逻辑分析仪模组及顶层模组实现 206
7. 3. 8 功能测试 209
习题 209
附录 211
附录A xc7a35tftg256 ̄1 引脚说明 211
附录B 口袋实验板资源 218
附录C 实验或课程设计教学安排 229
附录D 分章节代码汇总 230
附录E A 型实验板参考约束档案 232
参考文献 236