新書推薦:
《
刻意练习不生气
》
售價:NT$
179.0
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:NT$
500.0
《
安全感是内心长出的盔甲
》
售價:NT$
305.0
《
快人一步:系统性能提高之道
》
售價:NT$
505.0
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:NT$
352.0
《
算法图解(第2版)
》
售價:NT$
356.0
《
科学的奇幻之旅
》
售價:NT$
352.0
《
画艺循谱:晚明的画谱与消闲
》
售價:NT$
653.0
|
編輯推薦: |
本书特点
内容全面:本书内容涵盖了现场可编程门阵列器件的内部结构, Vivado 2018集成开发环境及其在工程模式和非工程模式下的设计流程,IP的封装和调用,高级约束、部分可重配置、高级综合工具,以及SelectIO资源的高级应用(HDMI驱动)。
解读详细:对Vivado 2018集成开发环境的一些具体细节问题进行更深入的分析与
讲解,如UltraScale器件内部结构的原理和使用方法、创建不包含源文件的IP核方法、VIO的原理和应用、基于工程的部分可重配置实现、高级综合工具详解,以及SelectIO资源的高级应用。
实例丰富:为了帮助读者全面掌握Vivado 2018集成开发工具的使用方法,本书配
套提供近50个设计实例,这些设计实例基本覆盖了Vivado 2018集成开发环境所提供的设计功能。
|
內容簡介: |
本书系统地介绍了Xilinx新一代集成开发环境Vivado 2018的设计方法、设计流程和具体实现。全书共11章,内容包括Xilinx新一代UltraScale结构、Vivado集成设计环境导论、Vivado工程模式基本设计实现、Vivado非工程模式基本设计实现、创建和封装用户IP核流程、Vivado高级约束原理及实现、Vivado调试工具原理及实现、Vivado部分可重配置原理及实现、Vivado HLS原理详解、Vivado HLS实现过程详解、HDMI显示屏驱动原理和实现。 本书参考了Xilinx新一代的Vivado 2018设计套件设计资料,理论与应用并重,将Xilinx新一代的设计理论贯穿在具体的设计实现中。
|
關於作者: |
何宾 任教于北京化工大学信息学院,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版EDA方面的著作共20余部,内容涵盖电路仿真、电路设计、FPGA、单片机、嵌入式系统等。典型的代表作有《Xilinx FPGA设计权威指南》《Xilinx All Programmable Zynq-7000 SoC设计指南》《Altium Designer13.0电路设计、仿真与验证权威指南》《Xilinx FPGA数字设计-从门级到行为级的双重描述》《Xilinx FPGA数字信号处理权威指南-从HDL、模型到C的描述》《模拟与数字系统协同设计权威指南-Cypress集成开发环境》。
|
目錄:
|
目录
第 章Xilinx新一代UltraScale结构1
1.1UltraScale结构特点1
1.2可配置逻辑块2
1.2.1可配置逻辑块的特点2
1.2.2多路复用器6
1.2.3进位逻辑9
1.2.4存储元素13
1.2.5分布式RAM16
1.2.6只读存储器(ROM)18
1.2.7移位寄存器21
1.3时钟资源和时钟管理模块23
1.3.1时钟资源25
1.3.2时钟管理模块28
1.4块存储器资源29
1.5专用的DSP模块33
1.6SelectIO资源36
1.7高速串行收发器41
1.8PCI-E模块43
1.9Interlaken集成块43
1.10Ethernet模块43
1.11系统监控器模块44
1.12配置模块44
1.13互联资源45
第 章Vivado集成设计环境导论46
2.1Vivado系统级设计流程46
2.2Vivado功能和特性48
2.3Vivado中电路结构的网表描述49
2.4Vivado中工程数据的目录结构50
2.5Vivado中Journal文件和Log文件功能50
2.5.1Journal文件(Vivado.jou)50
2.5.2Log文件(Vivado.log)51
2.6Vivado两种设计流程模式52
2.6.1工程模式和非工程模式不同点比较53
2.6.2工程模式和非工程模式命令的不同53
2.7Vivado中的XDC文件55
2.7.1XDC的特性55
2.7.2XDC与UCF比较55
2.7.3约束文件的使用方法56
2.7.4约束顺序56
2.7.5XDC约束命令58
2.8Vivado集成设计环境的启动方法59
2.9Vivado集成设计环境主界面60
2.10Vivado设计主界面及功能63
2.10.1流程处理主界面及功能63
2.10.2工程管理器主界面及功能64
2.10.3工作区窗口66
2.10.4设计运行窗口67
2.11Vivado支持的属性68
第 章Vivado工程模式基本设计实现76
3.1创建新的设计工程76
3.2创建并添加一个新的设计文件80
3.3RTL详细描述和分析85
3.3.1详细描述的实现85
3.3.2生成HDL例化模板87
3.4设计综合和分析89
3.4.1综合过程的关键问题89
3.4.2设计综合选项89
3.4.3执行设计综合92
3.4.4综合报告的查看96
3.5设计行为级仿真97
3.6创建实现约束102
3.6.1实现约束的原理102
3.6.2IO规划器功能103
3.6.3添加引脚约束104
3.6.4添加简单的时钟约束109
3.7设计实现和分析111
3.7.1设计实现原理112
3.7.2设计实现选项112
3.7.3设计实现及分析117
3.7.4静态时序分析123
3.8设计时序仿真126
3.9生成编程文件127
3.9.1配置器件属性127
3.9.2生成可编程文件128
3.9.3生成可编程文件选项128
3.10下载比特流文件到FPGA130
3.11生成并烧写PROM文件132
第 章Vivado非工程模式基本设计实现136
4.1非工程模式基本命令和功能136
4.1.1非工程模式基本命令列表136
4.1.2典型Tcl脚本的使用137
4.2Vivado集成开发环境分析设计138
4.2.1启动Vivado集成开发环境138
4.2.2打开设计检查点的方法139
4.3修改设计路径139
4.4设置设计输出路径140
4.5读取设计文件140
4.6运行设计综合141
4.7运行设计布局142
4.8运行设计布线144
4.9生成比特流文件145
4.10下载比特流文件145
第 章创建和封装用户IP核流程148
5.1Vivado定制IP流程148
5.2创建并封装包含源文件的IP149
5.2.1创建新的用于创建IP的工程149
5.2.2设置定制IP的库名和目录150
5.2.3封装定制IP的实现151
5.3调用并验证包含源文件的IP设计155
5.3.1创建新的用于调用IP的工程156
5.3.2设置包含调用IP的路径156
5.3.3创建基于IP的系统158
5.3.4系统行为级仿真162
5.3.5系统设计综合165
5.3.6系统实现和验证166
5.4创建并封装不包含源文件的IP166
5.4.1创建网表文件166
5.4.2创建新的设计工程167
5.4.3设置定制IP的库名和目录168
5.4.4封装定制IP的实现168
5.5调用并验证不包含源文件的IP设计169
5.5.1创建新的用于调用IP的工程169
5.5.2设置包含调用IP的路径170
5.5.3创建基于IP的系统170
5.5.4系统设计综合171
第 章Vivado高级约束原理及实现173
6.1时序检查概念173
6.1.1基本术语173
6.1.2时序路径173
6.1.3建立和保持松弛175
6.1.4建立和保持检查176
6.1.5恢复和去除检查179
6.2时序约束概念180
6.2.1时钟定义180
6.2.2时钟组186
6.2.3IO延迟约束189
6.2.4时序例外192
6.3生成时序报告205
6.4添加时序约束212
6.4.1时序约束策略1212
6.4.2时序约束策略2214
6.5物理约束原理219
6.5.1网表约束219
6.5.2布局约束220
6.5.3布线约束221
6.6布局约束实现223
6.6.1修改综合属性224
6.6.2布局约束方法224
6.7布线约束实现227
6.7.1手工布线227
6.7.2进入分配布线模式228
6.7.3分配布线节点230
6.7.4取消分配布线节点230
6.7.5完成并退出分配布线模式230
6.7.6锁定LUT负载上的单元输入231
6.7.7分支布线231
6.7.8直接约束布线233
6.8修改逻辑实现233
6.9配置约束原理235
6.10增量编译235
6.10.1增量编译流程235
6.10.2运行增量布局和布线236
6.10.3使用增量编译238
6.10.4增量编译高级分析240
第 章Vivado调试工具原理及实现241
7.1设计调试原理和方法241
7.2创建新的设计242
7.2.1创建新的FIFO调试工程242
7.2.2添加FIFO IP到设计中243
7.2.3添加顶层设计文件246
7.2.4使用HDL例化添加FIFO到设计中247
7.2.5添加约束文件251
7.3网表插入调试探测流程方法及实现253
7.3.1网表插入调试探测流程的方法253
7.3.2网表插入调试探测流程的实现255
7.4使用添加HDL属性调试探测流程261
7.5使用HDL例化调试核调试探测流程262
7.6VIO原理及应用267
7.6.1设计原理267
7.6.2添加VIO核268
7.6.3生成比特流文件271
7.6.4下载并调试设计272
第 章Vivado部分可重配置原理及实现274
8.1可重配置导论274
8.1.1可重配置的概念274
8.1.2可重配置的应用275
8.1.3可重配置的特点278
8.1.4可重配置术语解释280
8.1.5可重配置的要求282
8.1.6可重配置的标准283
8.1.7可重配置的流程285
8.2基于工程的部分可重配置实现285
8.2.1设计原理285
8.2.2建立可重配置工程289
8.2.3创建新的分区定义291
8.2.4添加新的可重配置模块292
8.2.5设置不同的配置选项294
8.2.6定义分区的布局298
8.2.7执行DRC301
8.2.8实现第一个运行配置并生成比特流文件302
8.2.9实现第二个运行配置并生成比特流文件304
8.2.10实现第三个运行配置并生成比特流文件304
8.2.11实现第四个运行配置并生成比特流文件305
8.2.12下载不同运行配置的部分比特流305
8.3基于非工程的部分可重配置实现307
8.3.1查看脚本307
8.3.2综合设计309
8.3.3实现第一个配置310
8.3.4实现第二个配置315
8.3.5验证配置317
8.3.6生成比特流317
8.3.7部分重配置FPGA318
8.4部分重配置控制器PRC的原理及应用320
8.4.1部分重配置控制器原理320
8.4.2实现原理324
8.4.3创建和配置新的设计325
8.4.4添加ILA核327
8.4.5添加和设置PRC核328
8.4.6设置不同的配置选项331
8.4.7定义分区的布局334
8.4.8实现第一个运行配置并生成比特流文件335
8.4.9实现第二个运行配置并生成比特流文件337
8.4.10实现第三个运行配置并生成比特流文件337
8.4.11创建板支持包工程338
8.4.12创建应用程序工程339
8.4.13创建zynq_fsbl应用343
8.4.14创建启动镜像343
8.4.15从SD卡启动引导系统345
第 章Vivado HLS原理详解347
9.1高级综合工具概述347
9.1.1高级综合工具的功能和特点347
9.1.2Vivado HLS工具的优势348
9.1.3HLS中使用术语说明349
9.1.4从C中提取硬件结构350
9.1.5不同的命令对HLS综合结果的影响352
9.2高级综合工具调度和绑定354
9.2.1高级综合工具调度355
9.2.2高级综合工具绑定355
9.3C代码的关键属性356
9.3.1函数357
9.3.2类型357
9.3.3循环364
9.3.4数组366
9.3.5IO端口366
9.3.6运算符367
9.4C代码级和RTL级算法验证368
9.5添加命令370
9.6延迟和吞吐量的概念373
9.6.1设计延迟373
9.6.2设计吞吐量374
9.7改善延迟374
9.7.1延迟最小化374
9.7.2用户延迟的定义375
9.7.3循环的处理377
9.8改善吞吐量380
9.8.1数据流优化381
9.8.2流水线优化384
9.9性能瓶颈数组390
9.9.1数组分割391
9.9.2数组重组394
9.9.3数据打包395
9.10改善面积和资源396
9.10.1绑定配置396
9.10.2分配命令397
9.10.3指定资源397
9.10.4函数内联398
9.10.5循环合并和平坦化401
9.10.6映射数组401
9.10.7任意精度整数403
9.11IO类型404
9.11.1组合和时序逻辑设计404
9.11.2Vivado HLS IO选项405
9.11.3模块级协议说明408
9.11.4端口级IO协议412
9.12命令和编译指示422
第 章
|
內容試閱:
|
前 言
全球知名的可编程逻辑元器件生产厂商美国Xilinx公司,于2012年发布了新一代Vivado集成开发环境,使得新一代FPGA的设计环境和设计方法发生了重大变化。2014年年初,Xilinx新一代UltraScale结构的FPGA也进入量产阶段。这些都标志着未来在高性能数据处理方面(如人工智能、云计算和物联网等),FPGA将发挥越来越重要的作用。
Xilinx新一代集成开发环境Vivado突出基于知识产权(Intellectual Properity,IP)核的设计方法,更加体现系统级设计的思想,进一步增强了设计者对FPGA底层物理约束和时序约束能力,这样设计者可以尝试选择不同的设计策略,然后评估在不同策略下的最终实现结果,从中找到最佳的设计方案。
Vivado设计套件所集成的高级综合工具HLS,真正实现了从软件算法到FPGA物理硬件实现的自动转换,加速了算法模型的构建与实现过程,显著提高了设计效率,缩短了产品的上市时间,并将FPGA的设计方法从传统的基于HDL的RTL级设计提高到了基于CCSystmC的高层次设计,为FPGA的设计方法带来了一场深刻的变革。
本书是在《Xilinx FPGA设计权威指南Vivado 2014集成开发环境》(电子工业出版社,2015)的基础上,针对读者提出的意见和建议,对原书进行了大幅度修订。主要修订内容包括:
(1)采用Xilinx公司最新的Vivado 2018设计套件,书中所有的设计实例均在Vivado 2018设计套件中进行了验证。
(2)在介绍UltraScale结构时,增加了对内部单元原理和用法的进一步解释与说明,用于帮助读者能够正确地理解并掌握Xilinx FPGA底层原语的原理及使用方法,以实现RTL级上的最佳设计。
(3)在介绍第2章和第3章内容时,重新提供了设计实例,并增加了设计实例的难度,以帮助读者能够进一步学习和掌握Vivado设计套件在工程模式和非工程模式下的完整设计流程,并增加了对一些设计流程细节的说明。此外,对从用户HDL代码中生成HDL例化模板的方法进行了详细介绍。
(4)在第5章介绍IP封装和调用的内容时,增加了不包含源文件的IP封装和调用的方法。
(5)在第7章介绍Vivado调试工具时,增加了虚拟输入输出(Virtual Input Output,VIO)IP核在调试设计中的应用。
(6)在第8章介绍部分可重配置原理及实现的内容时,增加了工程模式下的可重配置实现过程,以及部分重配置控制器PRC的原理及应用。
(7)考虑Vivado HLS工具正逐渐大规模广泛应用于Xilinx FPGA设计中,因此本书大幅度增加了对HLS原理内容的介绍,使所涵盖的内容更全面。本次修订后,将HLS相关内容扩展为两章,分别介绍HLS原理和实现过程。并且,对HLS实现过程的一些细节问题进行了进一步的详细说明,并对设计实例中的一些代码和用户策略进行了修正,以满足读者对掌握HLS设计方法的要求。
参加本书编写的人员还有王中正、张艳辉和汤宗美。其中,王中正参与第3章和第6章设计实例的验证,张艳辉参与第7章设计实例的验证,汤宗美参与第8章设计实例的验证。全书由何宾统稿和定稿。
本书的修订得到Xilinx大中华区新任大学计划经理陆佳华先生和Xilinx亚太区传媒总监张俊伟女士的大力支持和帮助,他们为本书的编写提供了大量的资料和硬件设计平台。回想起来,2008年作者与Xilinx大学计划建立正式的合作关系,到今年整整十年了。在这十年间,相继得到 Xilinx公司不同技术专家的无私帮助和鼎力支持,才能使作者编写并出版一系列Xilinx FPGA方面的著作和教材,以促进该技术在中国的普及和推广,进一步提升国内相关技术的科技实力。也要感谢电子工业出版社的编辑和相关工作人员,他们的辛勤工作保证了本书的高质量出版。
由于FPGA技术发展迅速,作者水平有限,书中难免会有疏漏之处,欢迎读者批评指正。
作 者
2018年9月于北京
|
|