如何在Vivado中查找电路的延迟、吞吐量及最高工作频率?
在Vivado中分析电路延迟、吞吐量与最高工作频率
一、获取最高工作频率
你的时序参数显示Worst Negative Slack (WNS)=2.055 ns、Total Negative Slack (TNS)=0ns、失败端点为0,说明当前设计完全满足约束时钟的时序要求,且有2.055ns的时序余量。
工具直接查看
- 完成综合、实现后,在Flow Navigator面板点击Report Timing Summary
- 在生成的报告中,Setup Summary板块会直接给出
Maximum Operating Frequency(工具计算的最高可行频率) - 若需更详细的路径分析,运行Tcl命令:
report_timing_summary -max_paths 10 -delay_type max -setup
手动推导
最高工作频率由最长路径延迟决定,公式为:最高频率(MHz) = 1000 / 最长路径延迟(ns)
当前WNS为正,假设约束时钟周期为T,则最长路径延迟 = T - 2.055ns,代入即可得到理论最高频率。
二、查找电路延迟
全局最长路径延迟
- 点击Flow Navigator中的Report Timing,在配置窗口选择目标时钟域,工具会按延迟从大到小列出所有路径,顶部即为最长路径
- Tcl命令快速获取最长路径详情:
报告中会拆分显示逻辑延迟(Logic Delay)、布线延迟(Net Delay)及总延迟。report_timing -max_paths 1 -delay_type max -setup
模块/端口级延迟
在Netlist Viewer中选中目标模块或端口,右键选择Report Timing,可查看该节点相关的输入、输出路径延迟。
三、计算吞吐量
Vivado没有直接的吞吐量计算功能,需结合设计逻辑与时序参数推导:
- 核心公式:
吞吐量 = 最高工作频率 × 每时钟周期处理的数据量 - 示例:若设计为32位并行数据通路,最高频率为150MHz,则吞吐量 =
150MHz × 32bit = 4.8Gbps - 若设计包含流水线,需考虑流水线启动间隔(Initiation Interval, II):
吞吐量 = 最高工作频率 × (每II周期处理的数据量 / II)
四、现有时序参数解读
Worst Negative slack=2.055 ns,Total negative slack=0ns,失败端点数量=0,总端点数量=22082
- WNS为正:所有时序路径的延迟都小于约束时钟周期,最长路径比要求快2.055ns,时序余量充足
- TNS=0+失败端点=0:无任何时序违规路径,设计时序完全达标
内容的提问来源于stack exchange,提问作者user21095056
相关产品推荐
相关产品推荐

