时间:2024-07-30 来源:网络搜集 关于我们 0
由Xilinx公司发明的FPGA技术,按照摩尔定律已经历了30多年的发展历程。它的可编程特性使其成为电子产品设计和验证不可或缺的手段,在数字信号处理(DSP)系统和嵌入式系统等设计领域也得到日益广泛的应用。为了适应迅速发展的技术进步,培养符合新时代要求的合格人才,近年来大学教育利用FPGA的可编程特性进行了广泛的探索,也取得了令人瞩目的成果,例如得到教育部认可的口袋实验板,以及贯穿式教育和工程实训等教改措施。
根据近期在多个大学进行数字系统和嵌入式系统工程实训的经历,结合国家对新型人才培养的要求,以及根据读者对利用FPGA设计现代数字系统的需求,选取目前流行的FPGA器件、设计工具和设计语言编写了此书。作为教程本书选用Xilinx公司7系列全可编程FPGA,2017x最新版本的Vivado设计工具,以及在许多大学得到广泛应用的依元素公司开发的EGO1开发板,作为学生的口袋实验板随身携带,不仅可以使设计项目在FPGA硬件上运行,也可以通过实验验证、理解和运用所学知识。
Verilog HDL是设计者们喜爱的语言,与VHDL相比,更节省代码,更接近C语言,适合有C语言基础的读者学习,因此被业界广泛使用,也为本书所采用。
本书特色
遵循摩尔定律的发展规律,FPGA技术已经进入到异构多核处理器和异构并行计算的新阶段。本书以FPGA的发展历程介绍器件的架构和特性,以Verilog HDL语言作为硬件描述语言介绍现代数字系统的设计。书中数字设计实例均通过了仿真验证,并在Vivado设计套件中通过RTL分析、综合和布局布线达到时序收敛、满足性能的设计要求。此外,本书也介绍了有关同步设计的技巧和要点、高级综合等特性。
内容全面 全面介绍了FPGA及Vivado的基本功能,并给出了其在数字系统设计中的多种流程。技术前沿 基于当前的Vivado设计套件版本,论述了FPGA主流设计技术及其实现。易于实践 结合大量现代数字系统设计实例来论述,图文并茂、操作性强,便于快速动手实践。内容简介
本书是以Xilinx公司全可编程FPGA和SoC为基础,针对最新的设计工具软件——Vivado介绍FPGA设计现代数字系统的理论与设计方法。全书分为6章,内容包括现代数字系统设计概论、可编程逻辑器件、Verilog HDL硬件描述语言、Vivado设计工具、数字系统的高级设计与综合,以及综合性设计项目实例。各章都安排了针对性强的已验证过的设计实例,便于读者二次开发使用。作者简介
孟宪元 清华大学电子工程系教授,长期从事EDA相关技术的课程教学和科研工作,有超过20年的FPGA技术研究和项目开发经历,亲历了FPGA技术的发展历程,积累了丰富实践经验,曾出版《新一代FPGA设计套件Vivado应用指南》等畅销教材。
图书目录
第1章现代数字系统设计概论
1.1概述
1.2数字系统的层次化结构
1.2.1开关电路级的基础——CMOS反相器
1.2.2逻辑级的门电路
1.2.3寄存器传输级的有限状态机
1.2.4数字系统的系统级构成
1.2.5复杂系统的算法级设计
1.3数字系统设计的描述方法
1.3.1原理图设计
1.3.2程序设计法
1.3.3IP模块的使用
1.3.4基于模型的设计技术
1.3.5高层次综合——HLS设计
1.3.6脚本设计技术
1.4IP技术
1.4.1IP知识产权模块
1.4.2IP模块的种类与应用
1.4.3片上系统和IP核复用
1.5全可编程FPGA/SoC实现智能化系统
1.5.1软件智能化和硬件最佳化
1.5.2在线可重构技术
1.5.3可重配置加速堆栈
1.5.4自适应计算加速平台
本章小结
习题
第2章可编程逻辑器件
2.1概述
2.1.1可编程逻辑器件概述
2.1.2可编程逻辑器件分类
2.2CPLD的结构和工作原理
2.2.1简单可编程逻辑器件原理
2.2.2CPLD的结构和工作原理
2.3FPGA的结构和工作原理
2.3.1SRAM查找表类型
2.3.2反熔丝多路开关类型
2.4逻辑级FPGA的结构和工作原理
2.4.1可编程逻辑
2.4.2可编程互连线
2.4.3可编程I/O
2.5系统级FPGA的结构和工作原理
2.5.1片上存储器及接口
2.5.2数字时钟管理
2.5.3时钟资源
2.5.4系统级I/O
2.6平台级FPGA的结构和工作原理
2.6.1DSP模块
2.6.2高速串行接口
2.7全可编程FPGA的特性和结构
2.7.1采用统一的7系列架构
2.7.2高性能和低功耗结合的工艺
2.8ASIC架构的UltraScale系列
2.8.1UltraScale架构
2.8.2SSI互连技术
2.9FPGA的配置
2.9.1编程原理简介
2.9.2编程模式
2.9.3典型的配置电路
2.9.4编程流程
2.9.5部分重配置
本章小结
习题
第3章Verilog硬件描述语言
3.1硬件描述语言概述
3.1.1硬件描述语言特点
3.1.2层次化设计
3.2Verilog HDL程序的基本结构
3.2.1模块结构分析
3.2.2模块的实例化
3.3Verilog HDL词法、数据类型和运算符
3.3.1词法约定
3.3.2数据类型
3.3.3运算符
3.4Verilog HDL行为语句
3.4.1赋值语句
3.4.2顺序块和并行块语句
3.4.3结构说明语句
3.4.4条件语句
3.4.5循环语句
3.4.6系统任务和系统函数
3.4.7编译预处理命令
3.4.8Verilog HDL可综合设计
3.5Verilog HDL设计举例
3.5.1组合电路设计
3.5.2时序电路设计
3.5.3数字系统设计
3.5.4数码管扫描显示电路
3.5.5LED通用异步收发电路设计
3.6Testbench文件与设计
本章小结
习题
第4章Vivado设计工具
4.1Vivado工具概述
4.1.1单一的、共享的、可扩展的数据模型
4.1.2标准化XDC约束文件——SDC
4.1.3多维度分析布局器
4.1.4IP封装器、集成器和目录
4.1.5Vivado HLS
4.1.6其他特性
4.1.7TCL特性
4.1.8Vivado按键流程执行设计项目
4.2Vivado设计流程
4.2.1创建工程
4.2.2功能仿真
4.2.3RTL级分析
4.2.4综合设计
4.2.5分配引脚和时序
4.2.6设计实现
4.2.7生成bit文件
4.2.8下载
4.3产生IP集成器子系统设计
4.3.1产生IP集成器模块设计
4.3.2定制IP
4.3.3完成子系统设计
4.3.4产生IP输出产品
4.3.5例示IP到设计中
4.4硬件诊断
4.4.1设计诊断概述
4.4.2Vivado逻辑诊断IP核
4.4.3HDL例示法添加ILA核
4.4.4系统内诊断uart_led设计
4.4.5网表插入法添加诊断核
4.4.6添加VIO诊断核
本章小结
习题
第5章数字系统的高级设计与综合
5.1Verilog编程风格
5.1.1逻辑推理
5.1.2陷阱
5.1.3设计组织
5.1.4针对Xilinx FPGA的HDL编码
5.2综合优化
5.2.1速度与面积
5.2.2资源共享
5.2.3流水线、重新定时和寄存器平衡
5.2.4有限状态机编译
5.3数字系统的同步设计
5.3.1同步设计基本原理
5.3.2建立和保持时间
5.3.3时序例外约束
5.3.4同步设计中的异步问题
5.4数字系统的综合
5.4.1数字系统综合概述
5.4.2系统级综合
5.4.3高级综合
5.4.4寄存器传输级综合
5.4.5逻辑级综合
本章小结
习题
第6章综合设计实例
6.1实例一: 键盘输入电路设计
6.1.1PS/2通信协议
6.1.2PS/2接口设计
6.1.3键盘输入程序
6.2实例二:VGA显示电路设计
6.2.1设计任务
6.2.2原理分析与系统方案
6.2.3彩条显示
6.2.4Logo的VGA显示
6.3实例三: 俄罗斯方块游戏设计
6.3.1系统组成
6.3.2数据通道
6.3.3控制单元
6.3.4按键输入处理模块
6.3.5显示部分
6.4实例四: 五子棋人机对弈游戏设计
6.4.1gobang_top
6.4.2gobang_datapath
6.4.3gobang_logic
6.4.4gobang_strategy
6.4.5score_calculater
6.4.6win_checker
6.4.7输出显示
习题
附录AEGO1用户手册
A.1概述
A.2FPGA
A.3板卡供电
A.4系统时钟
A.5FPGA配置
A.6通用I/O接口
A.6.1按键
A.6.2开关
A.6.3LED
A.6.4七段数码管
A.7VGA接口
A.8音频接口
A.9USBUART/JTAG接口
A.10USB转PS2接口
A.11SRAM接口
A.12模拟电压输入
A.13DAC输出接口
A.14蓝牙模块
A.15通用扩展I/O
附录BVerilog HDL(IEEE 1364—2001)关键词表及说明
参考文献
样章浏览赠书活动
高校教师(普通高校/职业院校教师)请点击下方封面申请本书书名:FPGA现代数字系统设计教程——基于Xilinx可编程逻辑器件与Vivado平台书号:9787302541097定价:69其他读者(科研/工程人员/大学生)请参与抽奖 参与方式:(1)关注公众号,将本篇文章转发朋友圈(2)在公众号对话框界面输入“抽奖”,弹出抽奖链接(3)点击链接抽奖,中奖者请于开奖当日填写邮寄地址 奖品设置:《FPGA现代数字系统设计教程》