01
时序约束基础概念
什么是时序约束?为什么需要时序约束?Vivado/Vitis中的时序引擎简介。
概念入门
02
时钟约束实战
create_clock命令详解、时钟周期、占空比、相位偏移的设置。
时钟create_clock
03
生成时钟约束
create_generated_clock命令、分频/倍频时钟的约束方法、与主时钟的关系。
生成时钟分频
04
输入延迟约束
set_input_delay命令、系统同步与源同步接口的区别、最大值与最小值设置。
输入延迟系统同步
05
输出延迟约束
set_output_delay命令、输出接口的时序模型、建立时间与保持时间分析。
输出延迟时序模型
06
异步时钟域约束
set_clock_groups命令、异步时钟域的处理方法、false_path与max_delay的应用。
异步CDC
07
多周期路径约束
set_multicycle_path命令、慢速时钟域到快速时钟域的约束、快速到慢速的约束。
多周期MCP
08
伪路径约束
set_false_path命令、复位信号、测试逻辑、跨时钟域信号的约束。
伪路径false_path
09
最大延迟与最小延迟约束
set_max_delay与set_min_delay命令、组合逻辑路径的约束。
max_delay组合逻辑
10
时序例外优先级
不同时序约束的优先级规则、如何避免约束冲突。
优先级冲突
11
XDC文件管理
XDC文件的组织结构、多个XDC文件的读取顺序、Tcl脚本与XDC的交互。
XDCTcl
12
时序报告解读
report_timing_summary、report_timing、report_clock_interaction等命令的使用。
报告分析
13
建立时间违例分析
建立时间违例的原因、如何通过约束优化建立时间。
建立时间违例
14
保持时间违例分析
保持时间违例的原因、如何通过约束优化保持时间。
保持时间hold
15
时钟抖动与不确定性
set_clock_uncertainty命令、时钟抖动对时序的影响、如何设置合理的裕量。
抖动uncertainty
16
I/O约束实战
set_property命令设置I/O标准、驱动强度、摆率等物理约束。
I/O物理约束
17
DDR接口时序约束
DDR读写时序模型、DDR的建立/保持时间约束、DDR的时钟约束。
DDR接口
18
SerDes接口时序约束
高速串行接口的时序约束、参考时钟约束、RX/TX路径约束。
SerDes高速
19
AXI总线时序约束
AXI接口的时序模型、AXI的输入输出延迟约束、AXI的时钟域约束。
AXI总线
20
时序收敛策略
综合与布局布线后的时序优化、物理约束对时序的影响、迭代优化方法。
收敛优化
21
Vitis平台时序约束特点
Vitis与Vivado时序约束的异同、HLS生成的IP的时序约束。
VitisHLS
22
HLS代码的时序约束
HLS中的pragma与约束、C/RTL协同仿真中的时序验证。
HLSpragma
23
AI Engine的时序约束
AI Engine的时钟域、AI Engine与PL的接口时序约束。
AI Engine接口
24
NoC(片上网络)时序约束
NoC的时钟域、NoC的路径约束、NoC的时序分析。
NoC片上网络
25
DFX(动态功能交换)的时序约束
DFX区域的时钟约束、DFX接口的时序约束。
DFX动态交换
26
时序约束的调试技巧
如何定位时序违例的根源、Tcl脚本调试方法。
调试Tcl
27
团队协作中的时序约束管理
版本控制、约束文件规范、代码审查要点。
团队规范
28
时序约束自动化
Tcl脚本编写自动化约束、基于设计参数的动态约束生成。
自动化Tcl
29
高级时序分析
OCV(片上变化)分析、CRPR(时钟收敛悲观移除)技术。
OCVCRPR
30
实战案例:完整Vitis项目时序约束流程
从创建到收敛的全过程,一站式掌握时序约束实战。
实战完整流程