描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787512413382
本书可作为高等院校通信工程、电子工程、计算机、微电子等专业有一定FPGA开发基础的学生的参考用书,也可作为硬件工程师、FPGA工程师的工具书。
第1章好好准备你的FPGA设计1
1.1FPGA设计要求“软硬兼施”吗1
1.2如何选择一个合适的FPGA3
1.3教你如何从顶层规划你的设计7
1.4进行早期功耗估算避免FPGA动力不足9
1.4.1早期功耗估算9
1.4.2精确功耗估算13
1.5规划并选择片内调试工具16
1.6小结17
第2章快速建立你的第一个FPGA工程18
2.1FPGA设计基本流程18
2.2手把手教你用QuartusII建立FPGA工程20
2.3教你如何利用脚本创建工程24
2.3.1Quartus II各个设计流程对应的脚本命令24
2.3.2Quartus II TCL包(Package)25
2.3.3执行与QuartusII有关脚本的入口26
2.3.4利用脚本创建工程27
2.4利用脚本约束你的工程28
2.5利用脚本自动化完成FPGA设计29
2.6实例分析31
2.7小结37
第3章采用Altera的建议进行FPGA设计38
3.1利用QuartusII模板开始逻辑设计38
3.2同步FPGA设计方法及指导39
3.2.1同步设计的基本原则39
3.2.2异步设计的危害40
3.3使用Altera的宏函数41
3.4在FPGA中实现除法功能41
3.4.1二进制快速除法41
3.4.2使用Altera除法函数43
3.5Altera推荐的代码风格45
3.6在代码中使用寄存器而不是锁存器53
3.6.1锁存器电路结构53
3.6.2逻辑设计中哪些情况会产生锁存器54
3.6.3锁存器分析实例56
3.7使用Altera“原语”模块59
3.7.1如何让设计中的LCELL不被软件优化60
3.7.2进位链以及如何应用在自己的设计中62
3.8小结65
第4章使用ModelSim进行仿真66
4.1ModelSim仿真工具介绍66
4.2使用ModelSim软件进行仿真68
4.2.1仿真基础——利用GUI完成仿真68
4.2.2通过创建仿真工程来设计仿真72
4.3为ModelSim独立版本提取Altera仿真库75
4.3.1提取Altera仿真库的步骤75
4.3.2仿真Altera器件到底需要提取哪些库77
4.4教你如何用脚本完成ModelSim的自动化仿真流程81
4.5ModelSim使用问题实例82
4.6教你如何写TestBench86
4.7实例练习88
4.7.1练习前准备88
4.7.2GUI方式仿真实例91
4.7.2自动化创建工程仿真实例92
4.8小结93
第5章教你如何用TiemeQuest来分析你的设计94
5.110分钟学会使用TimeQuest94
5.1.1时序分析的基本概念94
5.1.2教你使用TimeQuest95
5.2时序分析的基础98
5.3了解什么是时序约束104
5.3.1时钟约束104
5.3.2I/O约束105
5.4约束例外111
5.4.1多周期路径约束111
5.4.2假路径约束114
5.5TimeQuest使用实例116
5.6小结124
第6章对你的FPGA设计进行优化125
6.1增量编译使设计加速125
6.1.1什么是增量编译125
6.1.2认识什么是逻辑锁128
6.1.3开始使用增量编译132
6.2选择使用合适的设置和约束来优化设计144
6.2.1优化之前145
6.2.2时序优化146
6.2.3面积优化151
6.3小结152
第7章对你的FPGA设计进行调试和测试153
7.1SignalTap II153
7.1.1教你快速认识SignalTapII 调试模块153
7.1.2教你快速创建第一个SignalTapII 调试模块并调试154
7.1.3教你使用SignalTapII高级功能——StorageQualification161
7.1.4教你使用SignalTapII高级功能——PowerupTrigger165
7.2FPGA测试利器VirtualJTAG168
7.2.1你所要了解的JTAG168
7.2.2告诉你什么是VirtualJTAG172
7.2.3教你如何在设计中使用VirtualJTAG Interface (VJI)175
7.2.4教你用脚本创建自己的GUI虚拟JTAG测试平台180
7.2.5单个JTAG连接多条电缆、多FPGA在虚拟JTAG中的应用185
7.3工程更改管理(ECO)187
7.3.1ECO及其基本操作流程187
7.3.2ECO那些事儿之属性编辑器189
7.3.3ECO那些事儿之LE与ALM194
7.3.4ECO那些事儿之ALM的DATAF端口200
7.4对你的FPGA进行正确配置204
7.5小结216
第8章设计实例应用分析217
8.1如何设计应用Altera的FIFO217
8.1.1教你如何设计自己的同步FIFO218
8.1.2教你如何使用Altera的同步FIFO222
8.1.3教你如何使用Altera的异步FIFO227
8.2教你如何向他人转移设计时保护自己的知识产权228
8.2.1FPGA安全性设计——Altera方案229
8.2.2如何加密转移自己的设计233
8.3FPGA外挂接口之SDRAM235
8.3.1SDRAM芯片235
8.3.2SDRAM控制器逻辑设计239
8.4高速串行接口设计没有看上去那么难259
8.4.1GXB模块介绍259
8.4.2GXB应用实例265
8.5教你如何在FPGA中设计TDC272
8.5.1告诉你到底什么是TDC273
8.5.2基于FPGA的TDC那些事儿之3大难题277
8.5.3基于FPGA的TDC那些事儿之设计资源LAB280
8.5.4基于FPGA的TDC那些事儿之粗细时间285
8.5.5基于FPGA的TDC那些事儿之自动校准及测量精度292
8.6利用FPGATDC测量PLL核抖动实例295
8.7小结300
第9章Altera FPGA高级设计技巧301
9.1器件结构对代码风格的影响301
9.2基本逻辑结构分析302
9.3可采用的设计技巧309
9.4专有资源利用以及优化关键路径318
9.5使用QuartusII的物理综合对设计进行优化319
9.5.1针对性能的物理综合优化选项323
9.5.2布线的物理综合优化325
9.6了解什么是寄存器打包325
9.7探索设计的高级手段——DSE332
9.8小结336
参考文献337
本书特点
EDA本身就是指电子自动化设计,在本书中,笔者根据多年的实际工作经验总结了一个自动化设计开发理念:设计开发过程中存在许多需要重复操作的流程,而这些的操作都有相关的指令,所以我们可以将这些操作的指令组织在一个脚本文件里,然后通过批处理的方式达到“自动化”地跑这些需要重复操作的流程。这种“批处理加脚本”的开发、仿真和调试方法,是本书介绍的一大重点。而且实践证明,实际工作中也大大提高了笔者的效率。
合理地使用批处理可以提高设计的效率。开发后期占用读者更多时间的是设计的调试和测试,本书在介绍了常规的调试工具(SignalTap II)之后,使用了虚拟JTAG这个调试测试利器,这是因为在项目设计完成后进行系统测试的时候,虚拟JTAG可以让读者摆脱额外的测试接口,直接利用FPGA现成的JTAG口完成系统的测试工作。笔者借助虚拟JTAG完成了多通道TDC、多通道ADC以及PMT能谱等测试,大大提高了测试效率和效果。
正是这些可以提高我们设计效率的技巧和组件,构成了本书的一大特色,也是笔者特别希望介绍给广大读者的。FPGA的设计开发是一种应用工程,本书更多是在告诉大家“怎么做”和“怎么做会更好”;当然如果可能,也会尽量给出“为什么”要这样做,但这并不是我们工程应用的重点。
本书主要内容
本书以Altera的FPGA开发流程为基础,详细介绍Altera FPGA开发过程以及一些开发技巧,分为9章:
第1章 在介绍FPGA设计基本要求的基础上,主要介绍FPGA开发前的准备事项。
第2章 介绍如何快速建立自己的第一个Quartus II工程,重点介绍应用TCL脚本来操作Quartus II工程。
第3章 重点介绍Altera推荐的FPGA开发技巧。
第4章 介绍了使用ModelSim仿真Altera FPGA设计,重点推荐自动化仿真的概念和方法。
第5章 介绍了时序分析,并使用TimeQuest对Altera FPGA设计进行时序分析。
第6章 介绍了如何对FPGA进行优化,重点介绍了Altera的增量式编译方法。
第7章 介绍了如何对FPGA设计进行调试和测试,在SignalTap II工具的基础上,推荐使用Virtual JTAG对Altera FPGA设计进行测试。
第8章 介绍了几个笔者项目实践中用到的实例,其中包括FIFO和SDRAM的特殊应用、高速串行接口(GXB)的仿真(特别是Byte Ordering模块的仿真)以及FPGA TDC设计实例。
第9章 介绍了Altera FPGA设计开发的一些比较高级的技巧,在了解FPGA器件结构的基础上使用一些优化手段,还可以了解到如何使用物理综合以及DSE工具对Altera FPGA设计工程进行优化。
本书读者对象
本书可作为高等院校通信工程、电子工程、计算机、微电子等专业有一定FPGA开发基础的学生的参考用书,也可作为硬件工程师、FPGA工程师的工具书。
配套资料
本书提供各章实例完整工程文件、设计源文件,读者可以从北京航空航天大学出版社网站(www.buaapress.com.cn)的“下载专区”免费下载。
致谢
在此需要特别感谢北京航空航天大学出版社工作人员对本书的关心和支持,尤其是编辑的大力支持。
最后感谢您选择了这本书,如果对书里的内容有什么批评、建议或者对书中的内容有任何的困惑都欢迎大家和我联系。
电子邮件:[email protected]
博客:http://bbs.ednchina.com/BLOG_coyoo_41415.HTM
http://blog.chinaaet.com/coyoo/
讨论小组
http://group.ednchina.com/GROUP_GRO_14596_3000001722.HTM
本书特点
EDA本身就是指电子自动化设计,在本书中,笔者根据多年的实际工作经验总结了一个自动化设计开发理念:设计开发过程中存在许多需要重复操作的流程,而这些的操作都有相关的指令,所以我们可以将这些操作的指令组织在一个脚本文件里,然后通过批处理的方式达到“自动化”地跑这些需要重复操作的流程。这种“批处理加脚本”的开发、仿真和调试方法,是本书介绍的一大重点。而且实践证明,实际工作中也大大提高了笔者的效率。
合理地使用批处理可以提高设计的效率。开发后期占用读者更多时间的是设计的调试和测试,本书在介绍了常规的调试工具(SignalTap II)之后,使用了虚拟JTAG这个调试测试利器,这是因为在项目设计完成后进行系统测试的时候,虚拟JTAG可以让读者摆脱额外的测试接口,直接利用FPGA现成的JTAG口完成系统的测试工作。笔者借助虚拟JTAG完成了多通道TDC、多通道ADC以及PMT能谱等测试,大大提高了测试效率和效果。
正是这些可以提高我们设计效率的技巧和组件,构成了本书的一大特色,也是笔者特别希望介绍给广大读者的。FPGA的设计开发是一种应用工程,本书更多是在告诉大家“怎么做”和“怎么做会更好”;当然如果可能,也会尽量给出“为什么”要这样做,但这并不是我们工程应用的重点。
本书主要内容
本书以Altera的FPGA开发流程为基础,详细介绍Altera FPGA开发过程以及一些开发技巧,分为9章:
第1章 在介绍FPGA设计基本要求的基础上,主要介绍FPGA开发前的准备事项。
第2章 介绍如何快速建立自己的第一个Quartus II工程,重点介绍应用TCL脚本来操作Quartus II工程。
第3章 重点介绍Altera推荐的FPGA开发技巧。
第4章 介绍了使用ModelSim仿真Altera FPGA设计,重点推荐自动化仿真的概念和方法。
第5章 介绍了时序分析,并使用TimeQuest对Altera FPGA设计进行时序分析。
第6章 介绍了如何对FPGA进行优化,重点介绍了Altera的增量式编译方法。
第7章 介绍了如何对FPGA设计进行调试和测试,在SignalTap II工具的基础上,推荐使用Virtual JTAG对Altera FPGA设计进行测试。
第8章 介绍了几个笔者项目实践中用到的实例,其中包括FIFO和SDRAM的特殊应用、高速串行接口(GXB)的仿真(特别是Byte Ordering模块的仿真)以及FPGA TDC设计实例。
第9章 介绍了Altera FPGA设计开发的一些比较高级的技巧,在了解FPGA器件结构的基础上使用一些优化手段,还可以了解到如何使用物理综合以及DSE工具对Altera FPGA设计工程进行优化。
本书读者对象
本书可作为高等院校通信工程、电子工程、计算机、微电子等专业有一定FPGA开发基础的学生的参考用书,也可作为硬件工程师、FPGA工程师的工具书。
配套资料
本书提供各章实例完整工程文件、设计源文件,读者可以从北京航空航天大学出版社网站(www.buaapress.com.cn)的“下载专区”免费下载。
致谢
在此需要特别感谢北京航空航天大学出版社工作人员对本书的关心和支持,尤其是编辑的大力支持。
最后感谢您选择了这本书,如果对书里的内容有什么批评、建议或者对书中的内容有任何的困惑都欢迎大家和我联系。
电子邮件:[email protected]
博客:http://bbs.ednchina.com/BLOG_coyoo_41415.HTM
http://blog.chinaaet.com/coyoo/
讨论小组
http://group.ednchina.com/GROUP_GRO_14596_3000001722.HTM
评论
还没有评论。