当前位置: 代码迷 >> 综合 >> 【 FPGA 】设置输入延迟(input delay)
  详细解决方案

【 FPGA 】设置输入延迟(input delay)

热度:54   发布时间:2023-12-12 21:17:46.0

如下,经典的时序分析模型:

 

不同的路径使用不同的约束:

 

上游芯片到FPGA内部第一级触发器的路径使用set_input_delay来约束;

FGPA内部的触发器之间使用create_clock来约束;

FPGA末级触发器到下游芯片的时序元件之间用set_output_delay来约束;

最后一个路径是纯粹的组合逻辑用set_max_delay来设置约束。

Input Delay

由上图可以看出Input Delay是以上游芯片的时钟发送沿为参考,发送数据到达FPGA的外部端口之间的延迟。

输入延迟(input delay)包括Tco和Trace Delay(板间延迟),其中Trace delay又叫Board delay。

上图还给得出了ISE中UCE文件的Offset In和Vivado中XDC中的set_input_delay之间的区别,二者是由很大的区别的。

XDC文件中,input delay是以时钟发送沿为参考,到达FPGA端口的延迟时间;而UCF文件中是以捕获沿为参考,它之前的一段时间内,数据有效。

输入延迟命令选项:

最小和最大输入延迟命令选项,“-min”和“-max”选项,为下面指定不同的值:

(1)最小延迟分析(保持/去除);

(2)最大延迟分析(建立/恢复)。

将FPGA展开分析如下图:

 

在时序报告中上述三个路径延迟都会有显示:

如下输入建立时间报告:

可见,source的时钟为sysclk,destination的时钟为第一级触发器的时钟,也就是mmcm产生的时钟。

setup Timing也就是最大的输入延迟“max”,时钟周期为10ns,输入延迟为4ns。

更加详细的时序路径分析:

设置输入延迟的语法规则:

 

 

 

 

 

 

  相关解决方案