新書推薦:
《
揉碎浪漫(全两册)
》
售價:HK$
70.3
《
古籍善本
》
售價:HK$
537.6
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
87.4
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
《
清俗纪闻
》
售價:HK$
98.6
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
|
內容簡介: |
本书以目前流行的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
第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
习题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
|
內容試閱:
|
在电子信息领域. 现场可编程门阵列FPGA 广泛地应用在工业、军事、医疗、商业、能源等各个行业. 普通高校中通信、电子信息、自动化等专业大多都需要开设与FPGA 相关的课程.一般情况下. 学习FPGA 的最直接支撑课程是数字电路. 掌握FPGA 的开发将拓宽学生的知识面. 学生会将学到的内容转化为工程实际应用. 对于学生的进一步深造及有竞争力的就业都有极大的帮助.我从多年数字电路课程的教学及FPGA 选修课的教学中. 以及多年的工程实践中提炼了一些经验和教训. 以写书作为一个小小的总结. 希望学生通过学习本书能够达到FPGA 开发工程技术人员的初步水平.本书选用的是Xilinx Artix ̄7 系列的FPGA. 因为它的技术相对新且具备较高的性价比. 另外. 这种FPGA 还有可供开发者直接使用的IP 核资源. 开发工具就是Xilinx 最新的Vivado 开发套件. 编程语言选择Verilog HDL. 为了便于学生的学习. 书中有关FPGA 电路板配置的电路图保留了厂家的画法.本书的第一条线索是工程. 我在自己设计的硬件平台上编写和实现了19 个由易到难、循序渐进的工程实例. 而这些工程实例很多是近年来教学的总结. 这些实例分散在第3 章~ 第7 章.例如最简单的工程是多数表决器. 就是第3 章组合逻辑设计实践的第一个工程. 非常有利于读者入门. 通过这个工程实例. 学生可掌握开发的各个步骤. 巩固HDL 语言. 是“ 我的第一个工程”. 最后一个工程是实现简单的示波器. 需要一些运算和处理. 调用前面工程实现的模块和IP. 最后为了调试加入的Vivado 内置逻辑分析仪可解决调试方面的问题. 所有的工程在附录中都有相应表格. 方便读者查找.第二条线索是工程Verilog HDL 的学习. 在第2 章是关于Verilog HDL 的基础内容. 建议学生快速学习. 然后通过后续章节的实践来真正掌握它. 并不需要死记硬背.第三条线索就是Vivado 的开发. 包括Vivado 安装、工程和文件的组织、综合实现及下载、引脚约束、仿真、电路查看、IP 核的使用和设计、Vivado 下XADC 及BRAM 的开发、内置逻辑分析仪的使用等. 如果把Vivado 的开发作为1 章. 一个菜单一个菜单地描述. 将是效率最低的方法. 因此在第2 章的后部分进行简单的描述. 然后在后续章节的实践中一点一点地应用. 自然就掌握了Vivado.第四条线索是数字电路的应用. 因此第3 章是组合逻辑设计. 第4 章是时序逻辑设计. 我认为数字电路是学习FPGA 的基础. 而通过FPGA 实践能够真正掌握数字电路的内容.本书的章节设计是:第1 章是FPGA 基础及电路设计. 后续的开发需要知道引脚的分配. 所以将电路设计放在最前面. 这一章不需要详细讲. 建议不超过6 个学时.Ⅳ Xilinx FPGA 原理与实践———基于Vivado 和Verilog HDL第2 章是Verilog HDL 语言与Vivado. 本章所讲的Verilog HDL 足够用了. 都是精华. 但需要更少的学时. 因为笔者知道学时非常紧张. 建议6 ~8 个学时.第3 章是组合逻辑电路设计与Vivado 进阶. 包含了“ 我的第一个工程”. 反复地设计多数表决器. 第二个工程就使用了IP 核. 第三个工程就用第二个工程的IP 核来实现. 内容虽然少.但是可以用6 ~8 个学时. 让学生真正掌握. 原因是这个时候学生的Verilog HDL 编程能力还不够强. 这章后面给出的习题. 都可以作为课程设计的内容.第4 章是时序逻辑电路FPGA 实现. 通过本章的学习. 学生如果认真实践. 能够较深入地掌握数字电路. 对FPGA 的开发也能够更加熟练. 建议用8 ~10 个学时.第5 章是FPGA 基本实践. 实现流水灯、数码管动态显示及VGA 显示工程. 将进一步提高学生的开发和应用能力. 教师可以主要讲其中的2 ~3 个工程实践. 其他的留给学生自学和自己实践. 然后通过答疑和讨论课来解决问题. 培养学生的自主学习能力和自主实践能力. 建议8 ~12 个学时.第6 章是FPGA 综合实践. 包括了两个设计与实现: 电子秒表的设计与实现、串行异步通信的设计与实现. 电子秒表是一个比较好的综合性实践. 建议只对于学习了微机原理的学生讲串行异步通信的设计与实现部分. 建议用4 ~8 个学时.第7 章FPGA 进阶原理部分的教学是7 系列FPGA 芯片的XADC 及BRAM. 在这个基础上进一步掌握使用Verilog 语言和IP 核等技术进行模拟量采集及存储器访问的项目开发的流程. 并实现一个多通道电压表实例及一个示波器实例. 建议至少应讲解电压表的实现. 示波器的实例可以给学生们做自学或挑战式学习. 建议6 ̄8 个学时.附录A 是引脚说明文件. 是我设计的实验板的基础文件. 对看懂电路原理有帮助.附录B 是实验板资源. 包括了所有引脚的说明. 做约束文件时必须参考.附录C 是一种实验或课程设计教学安排. 供教师布置实验题或课程设计题时参考.附录D 是所有工程例程的分章节汇总.附录E 是一个大而全的约束文件. 为读者实现约束文件节约时间.本书的教学视频和相关资源. 将放在中国大学 icourse163.. org 慕课上. 课程名称为“数字设计FPGA 应用”. 本书的代码和课件、教案、实验指导书等相关资源可以在机械工业出版社教育服务网 www.. cmpedu.. com 上获取. 也可以在爱板网 www.. eeboard.. com bp获取和交流. 配套实验板的更多信息可以在附录B 获取.电子科技大学的姜书艳、陈瑜、井实老师对书籍的编写及例程的设计给予了支持和协助. 本书的实验电路板主要由本人及连利波硕士设计. 赵鹏、谢雄及张桓源也参与了部分工作.感谢机械工业出版社吉玲编辑的大力支持. 并和我对书籍的写作进行了大量的交流. 提出了非常好的建议. 另外. 还要感谢选择本书的同行及给予我很多建议、支持和帮助的朋友.卢有亮于电子科技大学
|
|