当前位置:首页 > 工业技术
Xilinx新一代FPGA设计套件Vivado应用指南
Xilinx新一代FPGA设计套件Vivado应用指南

Xilinx新一代FPGA设计套件Vivado应用指南PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:孟宪元,陈彰林,陆佳华编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:7302366837
  • 页数:331 页
图书介绍:本书内容包括Vivado设计套件的特性和7系列全面可编程FPGA器件的架构,如何由Vivado套件创建复杂数字系统设计项目,仿真系统功能,RTL分析产生网表文件,性能要求的时序约束及综合,布局布线及静态时序分析和生成位流文件等全部设计过程,基于项目和非项目批作业两种用Tcl指令的设计模式,同步设计技术、HDL编码技术、时序收敛和HLS优化等。
《Xilinx新一代FPGA设计套件Vivado应用指南》目录

第1章 Vivado设计套件 1

1.1 单一的、共享的、可扩展的数据模型 2

1.2 标准化XDC约束文件——SDC 3

1.3 多维度解析布局器 4

1.4 IP封装器、集成器和目录 6

1.5 Vivado HLS把ESL带入主流 8

1.6 其他特性 10

1.6.1 快速的时序收敛 10

1.6.2 提高器件利用率 11

1.6.3 增量设计技术 11

1.6.4 Tcl特性 12

1.7 Vivado按键流程执行设计项目 13

1.7.1 KC705开发板实现计数器 14

1.7.2 在Nexys4开发板实现计数器 18

第2章 7系列FPGA架构和特性 21

2.1 7系列结构特点 21

2.1.1 采用统一的7系列架构 21

2.1.2 高性能和低功耗结合的工艺 23

2.2 扩展7系列的UltraScale架构 25

2.3 可配置逻辑模块CLB 27

2.3.1 Slice的结构和功能 28

2.3.2 SliceM配置为SRL 29

2.3.3 SliceM配置为分布式RAM 31

2.4 7系列专用模块:Block RAM/FIFO和DSP模块 34

2.4.1 Block RAM/FIFO 34

2.4.2 DSP模块 38

2.4.3 I/O模块 42

2.4.4 时钟资源 44

2.5 由RTL代码推论实验 49

2.5.1 计数器程序 49

2.5.2 实验结果 50

第3章 创建设计项目 53

3.1 wave-gen设计概述 53

3.2 启动Vivado 58

3.3 仿真设计 66

3.3.1 添加仿真需要的信号 67

3.3.2 运行仿真和分析仿真结果 68

3.4 利用时钟向导配置时钟子系统 69

3.5 产生IP集成器子系统设计 71

3.5.1 产生IP集成器模块设计 71

3.5.2 定制IP 72

3.5.3 完成子系统设计 74

3.5.4 产生IP输出产品 75

3.5.5 例示IP到设计中 76

第4章 RTL级分析和设计网表文件 78

4.1 网表文件 78

4.1.1 设计项目数据库 78

4.1.2 网表文件 79

4.1.3 推演的设计网表文件 79

4.1.4 综合的设计网表文件 81

4.1.5 实现的设计网表文件 82

4.2 RTL设计分析 83

4.2.1 RTL网表文件 84

4.2.2 RTL设计规则校验 84

4.2.3 浏览设计的层次 85

4.2.4 平面规划布图 85

4.2.5 时钟规划布图 86

4.3 网表文件的设计对象 86

4.3.1 通过get_*命令来寻找网表中的对象 87

4.3.2 设计层次 87

4.3.3 pin的层次与名称 87

4.3.4 层次展平化 88

4.3.5 Nets的层次分段 88

4.4 设计对象特性 88

4.4.1 查看对象的特性 89

4.4.2 Cell的特性 90

4.4.3 Port的特性 91

4.4.4 Pin的特性 91

4.4.5 用户自定义特性 92

4.4.6 使用特性过滤对象 92

4.5 对象连通性 93

4.5.1 层次结构下get_pins命令的使用 94

4.5.2 GUI的使用 94

4.5.3 图形化帮助界面 96

4.6 RTL分析实例 97

本章小结 102

第5章 设计综合和基本时序约束 103

5.1 设计综合 103

5.1.1 Vivado IDE的综合环境 104

5.1.2 Vivado IDE综合常用设置 104

5.1.3 Vivado IDE综合流程 106

5.1.4 Vivado支持SystemVerilog 107

5.1.5 Vivado工具的特点 107

5.2 基本的时序约束 108

5.2.1 静态时序通道 108

5.2.2 建立时间和保持时间校验 109

5.2.3 输入和输出的时序约束 110

5.2.4 编辑静态时序约束 113

5.2.5 约束查看器 115

5.3 综合报告 116

5.3.1 利用率分析报告 116

5.3.2 时序报告摘要 117

5.3.3 时钟网络分析(report_clock_network) 119

5.3.4 时钟关连分析(report_clock_interaction) 119

5.3.5 设计规则检查(report_drc) 120

5.3.6 噪声分析(report_ssn) 120

5.3.7 使用资源分析(report_utilization) 121

5.3.8 设计功耗分析(report_power) 122

5.3.9 功耗利用的细节 122

5.4 综合实例 123

5.4.1 运行综合设计 123

5.4.2 执行基本的网表分析 125

5.4.3 在时序约束管理器窗口校验存在的时序约束 127

本章小结 131

第6章 设计实现与静态时序分析 132

6.1 设计实现流程 132

6.1.1 网表优化(opt_design) 132

6.1.2 功率优化(power_opt_design) 134

6.1.3 布局设计(place_design) 134

6.1.4 物理优化(phys_opt_design) 135

6.1.5 布线设计(route_design) 135

6.2 设计实现报告 136

6.3 基础的静态时序分析 139

6.4 实现后的设计分析 141

6.4.1 在Device窗口观察时序通道 142

6.4.2 在原理图窗口中观察时序通道 143

6.4.3 FPGA编辑器 143

6.4.4 产生位流文件 145

6.5 设计实现实例 146

6.5.1 完成设计实现 146

6.5.2 资源利用率报告 147

6.5.3 生成基本时序报告 148

6.5.4 分析设计中关键时序通道 148

6.5.5 利用iMPACT编程KC705演示卡 152

本章小结 153

第7章 Tcl命令设计项目 154

7.1 Tcl的基本知识 154

7.1.1 变量 155

7.1.2 命令替换 155

7.1.3 数学表达式 156

7.1.4 反斜杠替换 156

7.2 基于项目的设计 156

7.2.1 设计项目目录和文件 156

7.2.2 项目运行管理器 158

7.2.3 管理运行 160

7.2.4 约束管理 161

7.2.5 基于项目设计流程实例 162

7.3 非项目的批作业流程 167

7.3.1 产生RTL设计的推敲过的网表文件 168

7.3.2 产生综合设计 168

7.3.3 随后的进程 169

7.3.4 约束管理 169

7.3.5 非项目批作业流程实例 170

7.4 脚本文件编写 175

第8章 同步设计技术 179

8.1 概述 179

8.1.1 同步设计 179

8.1.2 异步输入信号 180

8.1.3 亚稳态信号存在的危害 181

8.2 单比特同步电路 182

8.2.1 求解亚稳态 182

8.2.2 亚稳态的消释电路 182

8.2.3 单比特同步电路的约束条件 183

8.2.4 单比特同步电路的跨时钟域约束 184

8.2.5 复位桥 185

8.3 总线同步电路 186

8.3.1 总线一致性 186

8.3.2 低速总线同步电路 187

8.3.3 总线同步电路的约束 187

8.3.4 同步计数序列 188

8.3.5 时钟交互FIFO的结构 191

8.3.6 时钟交互FIFO的约束 191

8.4 时钟和同步器 193

8.4.1 时钟之间的关系 193

8.4.2 分析时钟交互 194

8.4.3 时钟交互分析报告 195

8.4.4 使用最大延迟分析时钟交互 196

8.5 复位实验 196

8.5.1 异步复位实验 196

8.5.2 无复位实验 200

8.5.3 同步复位实验 202

8.5.4 高扇出同步复位实验 204

本章小结 207

第9章 HDL编码技巧 208

9.1 概述 208

9.2 控制集Control Sets 210

9.2.1 FPGA中的寄存器资源 210

9.2.2 控制集Control Sets 212

9.3 控制信号设计要点 216

9.3.1 控制端口使用规则 216

9.3.2 控制信号的问题 216

9.3.3 低电平有效控制信号的问题 217

9.4 置位/复位信号的使用 218

9.4.1 复位的类型 218

9.4.2 全局复位与GSR 219

9.4.3 同步置位/复位信号优势 219

9.4.4 HDL编码中复位信号同步化 220

9.5 其他设计要点 221

9.5.1 I/O寄存器使用要点 221

9.5.2 Block RAM使用要点 222

9.5.3 时钟使能要点 222

9.5.4 DSP应用中的加法器树 222

9.5.5 综合选项要点 223

9.5.6 编码方式改善可靠性、性能、功耗 223

9.6 设计实例 224

本章小结 230

第10章 时序收敛 231

10.1 基线——Baselining 231

10.1.1 求解时序收敛 231

10.1.2 基线设计 232

10.1.3 设置时序报告找根源 233

10.1.4 综合/优化后的时序结果 234

10.1.5 布局布线后的时序结果 235

10.1.6 提取时序信息 236

10.2 解决常见的时序瓶颈 236

10.2.1 高扇出网线 236

10.2.2 长逻辑通道 237

10.3 最后里程的策略 239

10.3.1 时序达标的策略 239

10.3.2 综合的策略 240

10.3.3 物理优化 241

10.3.4 实现的策略 243

10.3.5 增量布局 244

10.3.6 关键电路预先布线 245

10.3.7 避免过渡约束 245

10.4 时序收敛实验 246

10.4.1 基线方法时序收敛流程 246

10.4.2 优化内部路径——基线 247

10.4.3 执行设计的基线实现 250

10.4.4 生成时序报告和分析路径 250

10.4.5 优化整个芯片 253

10.4.6 添加时序例外和精细调整设计 254

本章小结 254

第11章 硬件诊断 255

11.1 设计诊断概述 255

11.1.1 诊断方法 255

11.1.2 Vivado逻辑分析仪 256

11.1.3 Vivado逻辑诊断好处 256

11.2 Vivado逻辑诊断IP核 257

11.2.1 ILA核 258

11.2.2 VIO核 258

11.2.3 标志诊断 259

11.2.4 诊断核集线器 259

11.3 逻辑诊断探测流程 259

11.3.1 网表插入流程 260

11.3.2 HDL例示流程 262

11.4 硬件诊断实验 263

11.4.1 HDL例示法添加ILA核 263

11.4.2 系统内诊断uart_led设计 267

11.4.3 网表插入法添加诊断核 274

11.4.4 添加VIO诊断核 277

第12章 Vivado HLS 281

12.1 高级综合 281

12.1.1 高级综合的调度和装配 281

12.1.2 数据通道+控制器架构 282

12.1.3 理解Vivado HLS 285

12.2 高级综合的优化方法 291

12.3 Vivado HLS设计例子 292

12.3.1 HLS工具的流程 292

12.3.2 HLS生成IP核 298

第13章 嵌入式系统Zynq设计 305

13.1 Zynq概述 305

13.2 Zynq设计入门 306

13.2.1 Vivado工程创建 306

13.2.2 由Vivado创建Zynq嵌入式系统 308

13.2.3 SDK应用程序编写 313

13.3 ZYNQ嵌入式系统调试方法 320

13.3.1 Vivado硬件调试 320

13.3.2 使用SDK进行ZYNQ debug 323

13.4 Booting Linux on ZedBoard 327

13.4.1 创建FSBL.elf 327

13.4.2 从SD卡启动Linux 328

13.4.3 从QSPI启动Linux 330

相关图书
作者其它书籍
返回顶部