logo资料库

xilinx-ug949中文版vivado设计方法学.pdf

第1页 / 共215页
第2页 / 共215页
第3页 / 共215页
第4页 / 共215页
第5页 / 共215页
第6页 / 共215页
第7页 / 共215页
第8页 / 共215页
资料共215页,剩余部分请下载后查看
Vivado 设计套件的 UltraFast 设计方法指南
修订历史
目录
1: 引言
关于 UltraFast 设计方法
利用本指南
使用 UltraFAST 设计方法检查表
使用 UltraFAST 设计方法 DRC
使用 UltraFast 设计方法系统级设计流程图
理解 UltraFast 设计方法概念
在开发周期的早期最大化影响力
在每一个设计阶段进行验证
利用快速验证的优势
使用 Vivado Design Suite
采用版本控制系统管理 Vivado Design Suite 源
升级到新发布的 Vivado Design Suite 版本
访问其他技术文档和培训资料
2: 单板和器件规划
单板和器件规划简介
PCB 布局建议
与 PCB 上的物理组件保持一致
配电系统
PCB 设计的具体考虑因素
时钟资源规划与分配
I/O 管脚分配设计流程
I/O 管脚分配的相关 Vivado Design Suite 项目种类
Pre-RTL I/O 管脚分配
基于网表的 I/O 管脚分配
定义替代器件
引脚分配
使用赛灵思工具选择管脚
所需的信息
管脚选择
接口数据、地址和控制引脚
接口控制信号
极高的扇出、涉及范围大的控制信号
配置引脚
存储器接口
千兆位收发器 (GT)
高速 I/O
内部参考电压和 DCI 级联约束
接口带宽验证
采用 SSI 器件进行设计
SSI 管脚的考虑因素
超级逻辑区域 (SLR)
SLR 术语
主超级逻辑区域
硅中介层
超长线路 (SLL) 布线
传输限制
SLR 利用率考虑因素
大宽度总线的 SLR 交汇
器件电源因素与系统关联性
器件的供电源路径
功耗模式
上电
启动功耗
待机功耗
有功功耗
影响功耗的环境因素
电源供电线合并影响功耗
功耗模型精度
器件功耗及整体系统设计进程
利用 Xilinx Power Estimator(XPE) 进行最差情况功耗分析
配置
单板设计技巧
3: 设计创建
设计创建简介
定义理想的设计层级
靠近顶层添加 I/O 组件
在顶层附近插入时钟元件
在逻辑边界上寄存数据路径
妥善考虑布局规划事项
针对功能和时序调试优化层级
在模块级应用属性
针对高级设计技术优化层级
高速 DSP 设计的预先层级规划实例
RTL 编码指南
使用 Vivado Design Suite HDL 模板
控制信号与控制集
复位
使用复位的时间和位置
同步复位与异步复位
复位编码实例 1:乘法器与异步复位
复位编码实例 2:同步复位乘法器
尝试消除 HDL 代码重置时出现问题
时钟使能
创建时钟使能
复位和时钟使能的先后
使用综合属性控制使能/重置提取
使用 DIRECT_ENABLE 和 DIRECT_RESET
将逻辑从控制引脚推到数据引脚
信号控制技巧
掌握调用的结果
调用 RAM 和 ROM
实现 RAM 时应该考虑的性能因素
场景防止块 RAM 输出寄存器调用
检查读取数据寄存器输出的多扇出
检查地址/读数据寄存器上的复位信号
检查寄存器中的反馈结构
将存储器映射到 UltraRAM 块
为适用 DSP 和算术调用进行
移位寄存器和延迟线
初始化全部调用的寄存器、SRL 和存储器
判断实例化或调用的时机
综合工具优化
判断实例化的时机
提升性能的编码方式
关键路径上的高扇出
在不需要高扇出网络的设计部分精简负载
使用寄存器复制
流水线考虑因素
考虑 SSI 器件的流水线
预先考虑流水线
检查调用的逻辑
确定是否需要管道
平衡延迟
平衡管线深度和 SRL 使用
避免不必要的流水线
考虑流水线宏原语
提升功耗的编码方式
门控时钟或数据路径
使门控元件数量最大化
使用专用时钟缓冲器的时钟使能引脚
当不需要优先编码器时使用 Case 块
性能/功耗块 RAM 利弊取舍
分解更深的存储器配置,实现功耗与性能平衡
运行 RTL DRC
时钟指南
UltraScale 器件时钟
时钟原语
全局时钟缓冲器连接和布局跟踪
时钟布线、根和分布
时钟树缓存布局布线
时钟功能
高扇出时钟
低扇出时钟
平衡利用高和低扇出时钟
时钟约束
使用 LOC 约束 IO/MMCM/PLL/GT
在时钟缓冲器上使用 CLOCK_REGION 属性
使用 Pblock 限制时钟缓冲器布局
在时钟网络上使用 USER_CLOCK_ROOT 属性
在多个时钟网络上使用 CLOCK_DELAY_GROUP 约束
使用 CLOCK_DEDICATED_ROUTE 约束
使用 CLOCK_LOW_FANOUT 约束
时钟拓扑结构建议
并行时钟缓冲器
级联时钟缓冲器
时钟多路复用
PLL/MMCM 反馈路径和补偿模式
BUFG_GT 除法器
SelectIO 时钟
ISERDESE3 和 IDDRE1 时钟
OSERDESE3 时钟
使用 MMCM 的 I/O 时序 ZHOLD/BUF_IN 补偿
同步 CDC
GT 接口时钟
BUFG_GT 与动态除法器
单四通道和多四通道接口
[RT]XUSRCLK/[RT]XUSRCLK2 偏差匹配
面向 PCI Express 的集成块 CORECLK/PIPECLK/USERCLK 偏差匹配
7 系列器件时钟
使用水平时钟区域缓存实现时钟门控
关于SSI 器件的更多时钟考虑
SSI 技术器件中的全局时钟资源的时钟偏差
时钟结构设计
调用
综合约束和属性
IP 的使用
实例化
控制时钟的相位、频率、占空比和抖动
使用时钟修改块(MMCM 和 PLL)
在时钟上使用 IDELAY 控制相位
使用门控时钟
将时钟门控转换为时钟使能
门控时钟缓冲器
控制和同步器件启动
避免本地时钟
创建输出时钟
时钟域交汇
单比特 CDC
多位 CDC
优化 MTBF
为 D EST_SYNC_FF 参数选择正确的值
正确地约束设计
充分利用 IP 核
规划 IP 要求
AMBA AXI
Vivado Design Suite IP 目录
定制 IP
从 IP 目录选择 IP
自定义 IP
使用定制 GUI
使用 Tcl 脚本
IP 版本和版本控制
利用约束
编制设计约束
建议的约束文件
简单设计
复杂设计
验证读取顺序
建议的约束顺序
创建综合约束
创建实现约束
将块级约束读入顶层设计
分四个步骤定义时序约束
定义时钟约束
识别时钟源
时钟网络报告
检查时序报告
创建主时钟
输入端口
7 系列器件中千兆位收发器输出引脚
某些硬件原语输出引脚
创建生成时钟
自动衍生时钟
用户定义的生成时钟
主时钟与生成时钟间的路径
核实时钟定义与覆盖范围
调整时钟特性
抖动
更多不确定性
时钟源位置的时钟延迟
MMCM 或 PLL 外部反馈回路延迟
约束输入和输出端口
系统级视角
定义输入延迟
定义输出延迟
选择参考时钟
识别与每个端口有关的时钟
浏览单板原理图
浏览设计原理图
报告进出端口的时序
使用自动识别的采样时钟
使用主时钟
使用虚拟时钟
使用生成时钟
参考时钟上升沿和下降沿
核实延迟约束
I/O 路径报告命令行实例
输入至输出馈通路径
实例 1
实例 2
使用 XDC 模板——源同步接口
定义时钟组和 CDC 约束
检查时钟交互
同步
异步
专属
时钟对分类
时钟交互报告
检查时序报告
约束专属时钟组
在相同时钟源上定义的重叠时钟
由时钟多路复用器驱动的重叠时钟
约束异步时钟组和时钟域交汇
Report CDC
双向时钟间的全局约束
单独路径上的约束
时钟例外优先于 set_max_delay
指定时序例外
时序例外使用指南
时序例外优先级规则
添加伪路径约束
用例
对综合的影响
对实现的影响
添加最小和最大延迟约束
用例
对综合的影响
对实现的影响
避免路径分段
添加多周期路径约束
降低“建立”要求,同时让“保持”不变
对综合与设计实现的影响
常见错误
其它高级时序约束
Case 分析
不分析时序
数据检查
最长时间借用
定义物理约束
4: 实现
综合和设计实现简介
运行综合
综合属性
KEEP 和 DONT_TOUCH
MAX_FANOUT
块级综合策略
使用块级综合策略
综合后的步骤
检查和清理 DRC
运行报告方法
检查综合日志
检查时序约束
满足综合后的时序要求
遵循处理剩余违规行为的指南
处理高逻辑级数
检查利用率
检查时钟树
时钟缓存的使用
时钟树拓扑结构
实现设计
使用工程模式与非工程模式选项
策略
指令
反复循环的流程
使用检查点分析不同阶段的设计
使用交互式报告文件
使用增量编译流程
增量编译流程模式
运行时间考虑因素
并行流程
打开综合设计。
逻辑优化 (opt_design)
优化分析
实现过程中的功耗注意事项
布局 (place_design)
布局分析
物理优化 (phys_opt_design)
物理综合需求
布线 (route_design)
布线分析
5: 设计收敛
设计收敛简介
时序收敛
理解时序收敛指标
检查有效约束
检查正时序裕量
理解时序报告
检查设计是否正确约束
修复由 check_timing 标记的问题
无时钟和未约束的内部端点
生成时钟
环路和锁存器环
无输入/输出延迟和部分输入/输出延迟
多个时钟
修复被 report_methodology 标记的问题
方法 DRC 对时序收敛的影响
方法 DRC 对验收质量的影响
其他时序方法 DRC
设计基准 (baseline)
定义基准约束
确定必须创建哪些时钟
确认没有时钟遗漏
时钟域交汇约束
检查时钟关系
识别没有主时钟的时钟对
明确严格的时序要求
同时约束主时钟和生成时钟
限制 I/O 约束和时序例外
在每个步骤前后评估设计 WNS
综合后与逻辑优化后
布局前后
物理优化前后
预布线和后布线
基线(baselining)与时序约束验证流程
分析并解决时序违规
确定时序违规的根源
检查时序裕量
使用设计分析报告
分析路径特性
查看逻辑层次分布
数据路径延迟和逻辑层次
时钟偏差与不确定性
减少逻辑延迟
优化常规结构路径
使用专用块和宏原语优化路径
降低信号网络延迟
检查物理约束
识别拥塞
拥塞区和水平定义
拥塞级别范围
“Device”窗口窗口中每个 CLB 的布线拥塞
在 Placer 日志中的拥塞
布线器日志中的拥塞
报告设计分析拥塞报告
报告设计分析复杂性报告
减少时钟偏差
使用内部时钟时序路径
限制同步时钟域交汇路径
在异步时钟之间添加时序例外
应用可减少时钟偏差的常见技术
应用技巧提升 7 系列器件的偏差
提升 UltraScale 和 UltraScale+ 器件的偏差
减少时钟不确定性
使用 MMCM 设置来减少时钟不确定性
使用 BUFGCE_DIV 减少时钟不确定性
应用通用时序收敛技术
用块级综合策略提升网表
减少 MUXF 映射以降低拥塞
提升逻辑层次
减少控制集
优化高扇出网
使用寄存器复制
将高扇出网络推广到全局布线
物理优化
利用 group_path 选项确定关键逻辑的优先级
在布线之前修复较大的保持违规问题
解决拥塞
降低器件利用率
平衡 SSI 器件的 SLR 利用率
使用替代布局和布线指令
关闭跨边界优化
禁用 LUT 组合和 MUXF 调用
使用块级综合策略
在拥塞区域中限制高扇出网络
调节编译流程
策略与指令
优化反复循环
设计过约束
使用增量编译
选择高质量的参考检查点
限制高重用模式下的差异
为高重用模式选择增量编译指令
提升高重用模式的时序 QoR
降低低重用模式的 QoR 可变性
布局规划考虑因素
群关键逻辑
SSI 技术考虑因素
重复使用布局
功耗分析与优化
估计整个流程的功耗
使用电源约束顾问
精确功耗分析的最佳做法
在运行 Vivado Design Suite 功耗分析后检查设计的配电
在运行 Vivado Design Suite 功耗分析后进一步优化控制信号活动
功耗优化
分析功耗估计和优化结果
运行功耗优化
使用功耗优化报告
使用时序报告确定功耗优化的影响
配置与调试
配置
调试
设计探测
选择调试网络
使用 MARK_DEBUG 保留调试探针探测网络名称
使用 ILA 核
ILA 核和时序考虑因素
使用 Vivado IP 集成器进行调试设计
在 Vivado 硬件管理器中调试 AXI 接口
使用系统内 IBERT
运行有关调试的 DRC
生成 AXI 事务
修改已实现的网表以替换现有的调试探针
在已实现的网表上插入、删除或编辑 ILA 核
使用远程调试
附录 A: 附加资源与法律提示
赛灵思资源
解决方案中心
Documentation Navigator 与设计中心
参考资料
Vivado Design Suite 用户指南及参考资料指南
Vivado Design Suite 教程
其它赛灵思技术文档
培训资料
请阅读:重要法律提示
UltraFAST 设计方法指南 (适用于 Vivado Design Suite) UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.3) 2017 年 11 月 10 日 条款中英文版本如有歧义,概以英文文本为准。
修订历史 2017/12/20: 与 Vivado® Design Suite 2017.4 一起发布,较 2017.3 没有改动。 2017/12/20: 与 Vivado® Design Suite 2017.4 一起发布,较 2017.3 没有改动。 下表列出了本文档的修订历史。 日期 2017 年 11 月 10 日 版本 2017.3 2017 年 5 月 26 日 2017.1 修订 在第 2 章"单板和器件规划"中,更新了“配电系统”,在“PCB 设计的具体考虑因素”中添 加了功耗预算技巧,添加了“电源供电线合并影响功耗”,并在“器件功耗及整体系统设计 进程”中添加了功耗预算技巧。 在第 3 章"设计创建"中,更新了“使用寄存器复制”,在“检查调用的逻辑”中添加了 XOR 功能,更新了“平衡延迟”,在“低扇出时钟”中添加了 CLOCK_LOW_FANOUT 技巧,添加 了“使用 CLOCK_LOW_FANOUT 约束”,并更新了“7 系列器件时钟”。 在第 4 章"实现"中,更新了“策略”并添加了“使用交互式报告文件”。 在第 5 章"设计收敛"中,更新了“设计基准 (baseline)”,在“分析并解决时序违规”中添加 了流程框图,在“查看逻辑层次分布”中添加了 -min_level 和 -max_level 选项,在 “提升逻辑层次”中添加了 retiming_forward 和 retiming_backward,更新了“减 少控制集”,添加了“利用 group_path 选项确定关键逻辑的优先级”,添加了“在布线之前 修复较大的保持违规问题”,在“策略与指令”中添加了指令提示,并在“为高重用模式选 择增量编译指令”中添加了 Quick 选项。 更新的内容基于新的 Vivado IDE 外观和感觉。 在第 3 章"设计创建", “使用寄存器复制”中添加了关于 ASYNC_REG 属性的详细信息, 添加了 “ 分解更深的存储器配置,实现功耗与性能平衡 ” ; “ 使用 CLOCK_DEDICATED_ROUTE 约束”中添加了表和已更新的实例;“规划 IP 要求”中添加了 “SelectIO 时钟”,以及 DCP 文件的注解;更新了“报告进出端口的时序”中的实例。 在第 4 章"实现",将自上而下的综合流程替换为“块级综合策略”和已更新的“使用增量编 译流程”。 在第 5 章"设计收敛", “确认没有时钟遗漏”中更新了属性值;“报告设计分析拥塞报告” 中添加了关于拥塞表格的详细信息,添加了“用块级综合策略提升网表”,并更新了“减少 控制集” ;“使用寄存器复制” 中添加了 -merge_equivalent_drivers 和 -fanout_opt 选项的信息;“ 将高扇出网络推广到全局布线”中添加了 -no_bufg_opt 选项;“使用替代布局和布线指令”中添加了布线器指令的信息;“禁用 LUT 组合和 MUXF 调用”中添加了 MUXF_REMAP 属性的信息;“在拥塞区域中限制高扇 出网络”中更新了“使用块级综合策略”,添加了自动优化的信息,并更新了“使用增量编 译”。 在附录 A:附加资源与法律提示中,移除了 Vivado Design Suite QuickTake 视频教程: 定制和实例化 IP 以及 Vivado Design Suite QuickTake 视频教程:为 UltraFast 设计方法 培训课程设计 Vivado IP 集成器并添加参考。 UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 2 Send Feedback
目录 第 1 章 : 引言 关于 UltraFast 设计方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 理解 UltraFast 设计方法概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 使用 Vivado Design Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 访问其他技术文档和培训资料. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 第 2 章 : 单板和器件规划 单板和器件规划简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 PCB 布局建议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 时钟资源规划与分配. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 I/O 管脚分配设计流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 采用 SSI 器件进行设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 器件电源因素与系统关联性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 第 3 章 : 设计创建 设计创建简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 定义理想的设计层级. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 RTL 编码指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 时钟指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 时钟域交汇 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 充分利用 IP 核 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 利用约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 第 4 章 : 实现 综合和设计实现简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 运行综合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 综合后的步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 实现设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 第 5 章 : 设计收敛 设计收敛简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 时序收敛 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 分析并解决时序违规. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 应用通用时序收敛技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 功耗分析与优化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 配置与调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 附录 A: 附加资源与法律提示 赛灵思资源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 解决方案中心 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 3 Send Feedback
Documentation Navigator 与设计中心 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 参考资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 培训资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 请阅读:重要法律提示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 4 Send Feedback
第 1 章 引言 关于 UltraFast 设计方法 赛灵思 UltraFast™ 设计方法是用于为当今 All Programmable 器件优化设计进程的一套最佳实践。这些设计的规模与复 杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮 助您以最快的速度和最高的效率实现期望的设计目标。 为帮助您有效利用 UltraFast 设计方法的优势,赛灵思提供了下列资源。 • 本指南中描述了各种设计任务、分析与报表特性,以及用于设计创建和收敛的最佳实践。 • • UltraFast 设计方法快捷参考指南 (UG1231) [参照 2] 重点介绍易用型双面卡格式的关键设计方法步骤。 UltraFast 设计方法检查表 (XTP301) [参照 3] 可通过 Xilinx Documentation Navigator 访问,另外也能够以单独电子 数据表的形式查看。您可以借助该检查表认清设计进程中的常见错误与决策点。 • 可以在 Vivado® Design Suite 中使用 Tcl 命令 report_methodology,在每个设计阶段做设计方法论相关的设计 规则检查 (DRC)。 UltraFast 设计方法系统级设计流程框图展示了完整的 Vivado Design Suite 设计流程图,这个可以在 Xilinx Documentation Navigator 中找到。您可以通过单击框图中的设计步骤打开相关文档、辅助材料,以及常见问题解 答,帮助启动设计。 • UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 5 Send Feedback
第 1 章:引言 利用本指南 本指南为最大限度提高系统集成和设计实现的生产力提供了一套最佳实践方法。其包含针对下列话题的高层次信息、 设计指导方针与设计决策利弊取舍: • 第 2 章"单板和器件规划":涵盖在设计创建之前阶段赛灵思推荐的决策与设计任务。包括 I/O 与时钟规划、PCB 布 局考虑因素、器件容量与吞吐量评估、替代器件的定义、功耗估算和调试。 • 第 3 章"设计创建":涵盖用于 RTL 定义、 IP 配置与管理和约束分配的最佳实践。 • 第 4 章"实现":涵盖用于综合与实现设计的可用选项和最佳实践。 • 第 5 章"设计收敛":涵盖用于设计时序收敛或降低功耗的各种设计分析与实现技巧。还包括用于为设计硬件验证 添加调试逻辑的考虑因素。 本指南包括对其它文档的引用,诸如 Vivado Design Suite 用户指南、 Vivado Design Suite 教程,和 QuickTake 视频教 程。本指南不能替代上述技术文档。赛灵思仍然建议您参阅上述技术文档,以了解工具使用和设计方法方面的详细信 息。参考文件列表,请参阅附录 A:附加资源与法律提示。 注释:该信息专为支持 Vivado Design Suite® 使用而编制,大部分概念信息您也可用于 ISE Design Suite。 使用 UltraFAST 设计方法检查表 要全面发挥 UltraFast 设计方法的作用,应将本指南与 UltraFast 设计方法检查表 (XTP301) [参照 3] 结合使用。本检查表 可通过 Xilinx Documentation Navigator 访问,另外也能够以单独电子数据表的形式查看。 UltraFast 设计方法检查表中的问题,重点指出了通常难以发现或经常忽略的问题,而这些典型的问题会导致设计决策 在后期形成分歧。检查表中的每个视图: • 面向常规设计团队中的特定角色。 • 包含设计流程每个步骤中常见问题与推荐的应对措施,包括项目规划、主板与器件规划、 IP 与子模块设计,以及 顶层设计收敛。 • 还包含文档与培训章节,列出了设计流程步骤的相关资源。 • 提供指向本指南或其他赛灵思文档中内容的链接,为应对相关问题引起的设计顾虑提供了指导。 视频:如欲了解检查表的演示,请观看 Vivado Design Suite QuickTake 视频:介绍 UltraFAST 设计方法检查表。 使用 UltraFAST 设计方法 DRC Vivado Design Suite 包含一套方法相关的 DRC,您可以通过 Tcl 命令 report_methodology 运行。该命令的规则针 对下列各设计阶段: • 在细化 RTL 中综合前开展 RTL 结构验证 • 综合后验证网表和约束 • 设计实现后验证约束与时序相关问题。 建议:为达到最佳效果,请在设计的每一个阶段运行方法 DRC,并在开展下一阶段前解决发现的任何问题。 如需了解更多有关设计方法 DRC 的信息,请参阅 《Vivado Design Suite 用户指南:设计分析和收敛技术》 (UG906) [参 照 21] 中的链接,并请参阅《Vivado Design Suite Tcl 命令参考指南》 (UG835) [参照 14] 中的 report_methodology Tcl 命令。 UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 6 Send Feedback
使用 UltraFast 设计方法系统级设计流程图 下图展示了 Vivado Design Suite 中包含的各种设计步骤以及特性。您可以通过 Xilinx Documentation Navigator 访问该 图的互动版,单击每个步骤将链接至相关资源。 X-Ref Target - Figure 1-1 System Design Entry Software Development 第 1 章:引言 C-Based Design with High-Level Synthesis DSP Design with System Generator Configuring Xilinx and Third-Party IP RTL Development Implementation IP Packager – IP Integrator Configuring IP Subsystems Embedded Processor Design Development Software and Processor OS Partial Reconfiguration Assign Logical and Physical Constraints Logic Simulation Logic Synthesis Implementation Timing Closure and Design Analysis Generate Bitstream, Programming, and Debug Processor Boot and Debug Export to SDK Hardware Bring-Up and Validation 图 1-1:UltraFast 设计方法系统级设计流程 UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 7 Send Feedback
第 1 章:引言 理解 UltraFast 设计方法概念 在设计开始初期就采取正确方法非常重要,此外还应该尽早仔细关注设计目标,包括 RTL、时钟、引脚,以及 PCB 规 划。在每个设计阶段对设计进行正确定义并验证,有助于减少后续实现阶段的时序收敛、布线收敛和功耗问题。 在开发周期的早期最大化影响力 如下图所示,设计流程早期阶段 (C、 C++ 和 RTL 综合)对设计性能、密度和功耗的影响要远远高于后续实现阶段。 所以,如果设计没有满足时序目标要求,那么赛灵思建议您重新分析综合阶段,包括 HDL 和约束,而不建议您只是在 实现阶段通过尝试设计反复来寻找解决方案。 X-Ref Target - Figure 1-2 HLS (C, C++) RTL Synthesis opt Place physopt Route Impact of change on performance 1000x 10x 1.2x 1.1x 图 1-2:整个流程中设计修改的影响 X13423 UltraFast 设计方法指南 UG949 (v2017.3) 2017 年 11 月 10 日 UG949 (v2017.4) 2017 年 12 月 20 日 UG949 (v2017.4) 2017 年 12 月 20 日 china.xilinx.com 8 Send Feedback
分享到:
收藏