定义输出延迟 - 2023.2 简体中文

适用于 FPGA 和 SoC 的 UltraFast 设计方法指南 (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文

输出延迟与输入延迟类似,区别在于输出延迟表示为了确保在所有情况下均可正常工作,输出路径在器件外部的最短和最长时间。

图 1. 输出延迟计算

两类分析的输出延迟数值:

Output Delay(max) = Tsetup + Ddata(max) + Dclock_to_FPGA(max) - Dclock_to_ExtDev(min)
Output Delay(min) = Ddata(min) - Thold + Dclock_to_FPGA(min) - Dclock_to_ExtDev(max)

下图显示了建立时间(最大值)和保持时间(最小值)分析的输出延迟约束的简单示例,其中假定在 CLK 端口上已定义 sysClk 时钟:

set_output_delay -max -clock sysClk 2.4 [get_ports DOUT]
set_output_delay -min -clock sysClk -1.1 [get_ports DOUT]
图 2. 解读最小和最大输出延迟

输出延迟对应于开发板上捕获沿之前的延迟。对于其中时钟和数据开发板走线已实现平衡的常规系统同步接口而言,目标器件的建立时间用于定义输出延迟最大值分析。目标器件保持时间用于定义输出延迟最小值分析。指定的输出延迟最小值表示从设计发出信号开始到在目标器件接口上使用信号进行保持时间分析之前,所发生的最小延迟。因此,块内部的延迟可能小得多。输出延迟最小值为正值表示信号在设计内部可能具有负延迟。因此,输出延迟最小值通常为负值。例如,以下代码示例表示设计内部截至 DOUT 为止的延迟必须至少为 +0.5 ns 才能满足保持时间要求。

set_output_delay -min -0.5 -clock CLK [get_ports DOUT]