描述
包 装: 平塑是否套装: 否国际标准书号ISBN: 9787121472305丛书名: EDA精品智汇馆
内容简介
本书涵盖了Vivado的四大主题:设计流程、时序约束、设计分析和Tcl脚本的使用,结合实例深入浅出地阐述了Vivado的使用方法,精心总结了Vivado在实际工程应用中的一些技巧和注意事项,既包含图形界面操作方式,也包含相应的Tcl命令。本书语言流畅,图文并茂。全书共包含405张图片、17个表格、172个Tcl脚本和39个HDL代码,同时,本书配有41个电子教学课件,为读者提供了直观而生动的资料。本书可供电子工程领域内的本科高年级学生和研究生学习参考,也可供FPGA工程师和自学者参考使用。
目 录
第1章 FPGA技术分析 1
1.1 FPGA内部结构分析 1
1.1.1 Xilinx 7系列FPGA内部结构分析 1
1.1.2 Xilinx UltraScale系列FPGA内部结构分析 18
1.2 FPGA设计流程分析 22
1.3 Vivado概述 25
1.3.1 Vivado下的FPGA设计流程 25
1.3.2 Vivado的两种工作模式 26
1.3.3 Vivado的5个特征 30
参考文献 31
第2章 设计综合 32
2.1 常用综合选项的设置 32
2.1.1 -flatten_hierarchy对综合结果的影响 32
2.1.2 -fsm_extraction对状态机编码方式的影响 35
2.1.3 -keep_equivalent_registers的含义 36
2.1.4 -resource_sharing对算术运算的影响 38
2.1.5 -control_set_opt_threshold对触发器控制集的影响 38
2.1.6 -no_lc对查找表资源的影响 40
2.1.7 -shreg_min_size对移位寄存器的影响 41
2.2 合理使用综合属性 43
2.2.1 async_reg在异步跨时钟域场合的应用 43
2.2.2 max_fanout对高扇出信号的影响 44
2.2.3 ram_style和rom_style对存储性能的影响 46
2.2.4 use_dsp48在实现加法运算时的作用 48
2.3 out-of-context(OOC)综合模式 50
2.3.1 Project模式下使用OOC 50
2.3.2 Non-Project模式下使用OOC 54
2.4 综合后的设计分析 54
2.4.1 时钟网络分析 54
2.4.2 跨时钟域路径分析 56
2.4.3 时序分析 60
2.4.4 资源利用率分析 72
2.4.5 扇出分析 73
2.4.6 触发器控制集分析 75
参考文献 75
第3章 设计实现 76
3.1 理解实现策略 76
3.1.1 Project模式下应用实现策略 76
3.1.2 Non-Project模式下应用实现策略 80
3.2 理解物理优化 81
3.3 增量实现 82
3.3.1 Project模式下应用增量实现 82
3.3.2 Non-Project模式下应用增量实现 87
3.4 实现后的设计分析 88
3.4.1 资源利用率分析 88
3.4.2 时序分析 88
3.5 生成配置文件 90
3.6 下载配置文件 93
参考文献 99
第4章 设计验证 100
4.1 行为级仿真 100
4.1.1 基于Vivado Simulator的行为级仿真 100
4.1.2 基于ModelSim/QuestaSim的行为级仿真 111
4.2 实现后的时序仿真 115
4.3 使用VLA(Vivado Logic Analyzer) 117
4.3.1 使用ILA(Integrated Logic Analyzer) 117
4.3.2 使用VIO(Virtual Input/Output) 126
4.3.3 VLA中的数据分析 128
4.4 使用add_probe 133
参考文献 134
第5章 IP的管理 135
5.1 定制IP 135
5.1.1 在Vivado工程中定制IP 135
5.1.2 在Manage IP中定制IP 139
5.2 IP的两种生成文件形式:xci和xcix 144
5.3 对IP的几个重要操作 148
5.3.1 IP的综合 148
5.3.2 IP的仿真 150
5.3.3 IP的更新 151
5.3.4 IP输出文件的编辑 155
5.4 IP的属性与状态 156
5.5 IP的约束 159
5.6 封装IP 164
5.6.1 通过Vivado工程封装用户代码 164
5.6.2 通过指定目录封装用户代码 177
参考文献 178
第6章 约束的管理 179
6.1 基本时序理论 179
6.2 两类基本约束 180
6.2.1 时钟周期约束 180
6.2.2 引脚分配 201
6.3 两种时序例外 210
6.3.1 多周期路径约束 210
6.3.2 伪路径约束 214
6.4 从UCF到XDC 217
6.4.1 UCF与XDC的基本对应关系 217
6.4.2 理解层次标识符在UCF和XDC中的区别 219
6.5 时序约束编辑辅助工具 220
6.5.1 时序约束编辑器 220
6.5.2 时序约束向导 223
6.6 关于约束文件 224
参考文献 226
第7章 Tcl在Vivado中的应用 227
7.1 Vivado对Tcl的支持 227
7.2 Vivado中Tcl命令的对象及属性 232
7.2.1 文件对象及属性 232
7.2.2 网表对象及属性 234
7.3 Tcl命令与网表视图的交互使用 241
7.4 典型应用 242
7.4.1 流程管理 242
7.4.2 定制报告 246
7.4.3 网表编辑 249
7.5 其他应用 253
参考文献 256
1.1 FPGA内部结构分析 1
1.1.1 Xilinx 7系列FPGA内部结构分析 1
1.1.2 Xilinx UltraScale系列FPGA内部结构分析 18
1.2 FPGA设计流程分析 22
1.3 Vivado概述 25
1.3.1 Vivado下的FPGA设计流程 25
1.3.2 Vivado的两种工作模式 26
1.3.3 Vivado的5个特征 30
参考文献 31
第2章 设计综合 32
2.1 常用综合选项的设置 32
2.1.1 -flatten_hierarchy对综合结果的影响 32
2.1.2 -fsm_extraction对状态机编码方式的影响 35
2.1.3 -keep_equivalent_registers的含义 36
2.1.4 -resource_sharing对算术运算的影响 38
2.1.5 -control_set_opt_threshold对触发器控制集的影响 38
2.1.6 -no_lc对查找表资源的影响 40
2.1.7 -shreg_min_size对移位寄存器的影响 41
2.2 合理使用综合属性 43
2.2.1 async_reg在异步跨时钟域场合的应用 43
2.2.2 max_fanout对高扇出信号的影响 44
2.2.3 ram_style和rom_style对存储性能的影响 46
2.2.4 use_dsp48在实现加法运算时的作用 48
2.3 out-of-context(OOC)综合模式 50
2.3.1 Project模式下使用OOC 50
2.3.2 Non-Project模式下使用OOC 54
2.4 综合后的设计分析 54
2.4.1 时钟网络分析 54
2.4.2 跨时钟域路径分析 56
2.4.3 时序分析 60
2.4.4 资源利用率分析 72
2.4.5 扇出分析 73
2.4.6 触发器控制集分析 75
参考文献 75
第3章 设计实现 76
3.1 理解实现策略 76
3.1.1 Project模式下应用实现策略 76
3.1.2 Non-Project模式下应用实现策略 80
3.2 理解物理优化 81
3.3 增量实现 82
3.3.1 Project模式下应用增量实现 82
3.3.2 Non-Project模式下应用增量实现 87
3.4 实现后的设计分析 88
3.4.1 资源利用率分析 88
3.4.2 时序分析 88
3.5 生成配置文件 90
3.6 下载配置文件 93
参考文献 99
第4章 设计验证 100
4.1 行为级仿真 100
4.1.1 基于Vivado Simulator的行为级仿真 100
4.1.2 基于ModelSim/QuestaSim的行为级仿真 111
4.2 实现后的时序仿真 115
4.3 使用VLA(Vivado Logic Analyzer) 117
4.3.1 使用ILA(Integrated Logic Analyzer) 117
4.3.2 使用VIO(Virtual Input/Output) 126
4.3.3 VLA中的数据分析 128
4.4 使用add_probe 133
参考文献 134
第5章 IP的管理 135
5.1 定制IP 135
5.1.1 在Vivado工程中定制IP 135
5.1.2 在Manage IP中定制IP 139
5.2 IP的两种生成文件形式:xci和xcix 144
5.3 对IP的几个重要操作 148
5.3.1 IP的综合 148
5.3.2 IP的仿真 150
5.3.3 IP的更新 151
5.3.4 IP输出文件的编辑 155
5.4 IP的属性与状态 156
5.5 IP的约束 159
5.6 封装IP 164
5.6.1 通过Vivado工程封装用户代码 164
5.6.2 通过指定目录封装用户代码 177
参考文献 178
第6章 约束的管理 179
6.1 基本时序理论 179
6.2 两类基本约束 180
6.2.1 时钟周期约束 180
6.2.2 引脚分配 201
6.3 两种时序例外 210
6.3.1 多周期路径约束 210
6.3.2 伪路径约束 214
6.4 从UCF到XDC 217
6.4.1 UCF与XDC的基本对应关系 217
6.4.2 理解层次标识符在UCF和XDC中的区别 219
6.5 时序约束编辑辅助工具 220
6.5.1 时序约束编辑器 220
6.5.2 时序约束向导 223
6.6 关于约束文件 224
参考文献 226
第7章 Tcl在Vivado中的应用 227
7.1 Vivado对Tcl的支持 227
7.2 Vivado中Tcl命令的对象及属性 232
7.2.1 文件对象及属性 232
7.2.2 网表对象及属性 234
7.3 Tcl命令与网表视图的交互使用 241
7.4 典型应用 242
7.4.1 流程管理 242
7.4.2 定制报告 246
7.4.3 网表编辑 249
7.5 其他应用 253
参考文献 256
评论
还没有评论。