电子系统EDA新技术丛书XILINX FPGA权威设计指南:基于VIVADO 2018集成开发环境
- ISBN:9787121349379
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:548
- 出版时间:2017-02-01
- 条形码:9787121349379 ; 978-7-121-34937-9
本书特色
适读人群 :本书作为使用Xilinx集成开发环境Vivado进行FPGA设计的工程技术人员的参考书,也可作为电子信息类专业高年级本科生和研究生的教学和科研用书,还可作为Xilinx公司Vivado相关培训的培训教材及工程技术人员的参考书。 本书特点 内容全面:本书内容涵盖了现场可编程门阵列器件的内部结构, 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新一代的设计理论贯穿在具体的设计实现中。
目录
目 录
第 章 Xilinx新一代UltraScale结构 1
1.1 UltraScale结构特点 1
1.2 可配置逻辑块 2
1.2.1 可配置逻辑块的特点 2
1.2.2 多路复用器 6
1.2.3 进位逻辑 9
1.2.4 存储元素 13
1.2.5 分布式RAM 16
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.6 SelectIO资源 36
1.7 高速串行收发器 41
1.8 PCI-E模块 43
1.9 Interlaken集成块 43
1.10 Ethernet模块 43
1.11 系统监控器模块 44
1.12 配置模块 44
1.13 互联资源 45
第 章 Vivado集成设计环境导论 46
2.1 Vivado系统级设计流程 46
2.2 Vivado功能和特性 48
2.3 Vivado中电路结构的网表描述 49
2.4 Vivado中工程数据的目录结构 50
2.5 Vivado中Journal文件和Log文件功能 50
2.5.1 Journal文件(Vivado.jou) 50
2.5.2 Log文件(Vivado.log) 51
2.6 Vivado两种设计流程模式 52
2.6.1 工程模式和非工程模式不同点比较 53
2.6.2 工程模式和非工程模式命令的不同 53
2.7 Vivado中的XDC文件 55
2.7.1 XDC的特性 55
2.7.2 XDC与UCF比较 55
2.7.3 约束文件的使用方法 56
2.7.4 约束顺序 56
2.7.5 XDC约束命令 58
2.8 Vivado集成设计环境的启动方法 59
2.9 Vivado集成设计环境主界面 60
2.10 Vivado设计主界面及功能 63
2.10.1 流程处理主界面及功能 63
2.10.2 工程管理器主界面及功能 64
2.10.3 工作区窗口 66
2.10.4 设计运行窗口 67
2.11 Vivado支持的属性 68
第 章 Vivado工程模式基本设计实现 76
3.1 创建新的设计工程 76
3.2 创建并添加一个新的设计文件 80
3.3 RTL详细描述和分析 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.2 I/O规划器功能 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 下载比特流文件到FPGA 130
3.11 生成并烧写PROM文件 132
第 章 Vivado非工程模式基本设计实现 136
4.1 非工程模式基本命令和功能 136
4.1.1 非工程模式基本命令列表 136
4.1.2 典型Tcl脚本的使用 137
4.2 Vivado集成开发环境分析设计 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.1 Vivado定制IP流程 148
5.2 创建并封装包含源文件的IP 149
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 创建并封装不包含源文件的IP 166
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.3 I/O延迟约束 189
6.2.4 时序例外 192
6.3 生成时序报告 205
6.4 添加时序约束 212
6.4.1 时序约束策略1 212
6.4.2 时序约束策略2 214
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.6 VIO原理及应用 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 执行DRC 301
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 部分重配置FPGA 318
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.2 Vivado HLS工具的优势 348
9.1.3 HLS中使用术语说明 349
9.1.4 从C中提取硬件结构 350
9.1.5 不同的命令对HLS综合结果的影响 352
9.2 高级综合工具调度和绑定 354
9.2.1 高级综合工具调度 355
9.2.2 高级综合工具绑定 355
9.3 C代码的关键属性 356
9.3.1 函数 357
9.3.2 类型 357
9.3.3 循环 364
9.3.4 数组 366
9.3.5 I/O端口 366
9.3.6 运算符 367
9.4 C代码级和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.11 I/O类型 404
9.11.1 组合和时序逻辑设计 404
9.11.2 Vivado HLS I/O选项 405
9.11.3 模块级协议说明 408
9.11.4 端口级I/O协议 412
9.12 命令和编译指示 422
第 章 Vivado HLS实现过程详解 425
10.1 FIR滤波器不同语言的描述方式 425
10.1.1 C语言描述风格 425
10.1.2 C++语言描述风格 427
10.1.3 SystemC语言描述风格 428
10.2 Vivado HLS不支持的操作 429
10.3 测试平台编码 431
10.4 指针的使用 432
10.5 流的使用 437
10.6 支持库 438
10.6.1 FFT 439
10.6.2 FIR 442
10.6.3 移位寄存器 446
10.6.4 线性算法库 447
10.6.5 OpenCV库 448
10.7 Vivado HLS数字系统实现 453
10.7.1 基于HLS实现组合逻辑 453
10.7.2 基于HLS实现时序逻辑 468
10.7.3 基于HLS实现矩阵相乘 476
第 章 HDMI显示屏驱动原理和实现 495
11.1 HDMI的发展历史 495
11.2 HDMI视频显示接口定义 496
11.3 HDMI链路结构 497
11.4 HDMI链路时序要求 499
11.5 HDMI编码算法 500
11.6 HDMI并行编码数据转换原理及实现 504
11.6.1 数据并行-串行转换 505
11.6.2 三态并行-串行转换器 505
11.6.3 OSERDESE2原语 505
11.6.4 TMDS信号转换模块 508
11.6.5 HDMI并行编码数据转换的实现 508
11.7 系统整体设计结构 510
附录 a7-edp-1开发板原理图 512
作者简介
何宾,任教于北京化工大学信息学院,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版EDA方面的著作共20余部,内容涵盖电路仿真、电路设计、FPGA、单片机、嵌入式系统等。典型的代表作有《Xilinx FPGA设计**指南》《Xilinx All Programmable Zynq-7000 SoC设计指南》《Altium Designer13.0电路设计、仿真与验证**指南》《Xilinx FPGA数字设计-从门级到行为级的双重描述》《Xilinx FPGA数字信号处理**指南-从HDL、模型到C的描述》《模拟与数字系统协同设计**指南-Cypress集成开发环境》。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0