当前位置:   article > 正文

四、输入延时约束、输出延时约束以及调试方法_output delay约束

output delay约束

前言:上一讲完成了基本时钟和生成时钟的约束,确定了整个工程的时钟频率,本次内容要添加合理的 input 和 output delay, 把接口时序调整到一个最佳状态。

一、项目回顾

本次使用的项目案例中,时钟关系如下:
150Mhz的主时钟,采用DDR双沿采样的方式进行数据传输。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、input delay 约束

1.基础理论

Input delay 需要约束的是发射沿 lunch 沿到数据有效的延迟
在这里插入图片描述在这里插入图片描述
计算公式如下:在这里插入图片描述

2.实操方法一:输入时钟经过PLL后调整相位。

关于input delay约束,有两种操作方式:
1.输入时钟经过PLL后调整相位。
2.输入数据延时
且:本项目中是DDR双沿采样方式,因此需要双沿(上升沿,下降沿都需要)进行约束设置。
上面得到参数设置: max = 2.1 min =1.9

1.上升沿设置:
  • 先设置上升沿的 max delay 用于建立时间分析
    (这里要设置时钟和数据源端口,时钟为 PLL 移相之后的时钟 rx_clk_90.
    在这里插入图片描述
  • 再设置上升沿的 min delay 用于保持时间分析
    (同样这里要设置时钟和数据源端口,时钟为 PLL 移相之后的时钟 rx_clk_90.
    在这里插入图片描述
2.下降沿设置:

将上升沿改为下降沿即可,其余操作与上述一致。

3.查看效果
  • 完成设置后要保存设置文件,自动更新到XDC文件,效果如下:
    这里需要注意:打开 xdc 文件看看是否把之前的管脚约束覆盖了,如果覆盖了需要手动补充上之前的管脚约束
    在这里插入图片描述

时序分析报告如下:
在这里插入图片描述
在这里插入图片描述

  • 需要重新综合工程和布局布线工程,分析时序分析报告。(此处忘记保存图了)
    分析目前的时序特点是:建立时间余量较大,但保持时间余量较小,有时序违例的风险。
    在这里插入图片描述

问: 那如何进一步进行优化呢?

答:目前我们是通过输入时钟 PLL 调整相位达到的时序要求,此外,我们还可以进行数据延时(input
delay control)。
需要用到IDELAYE2原语。 IDELAYE2原语有两种配置模式:1.动态(自动调整匹配)2.静态(固定的延迟值)

3.实操方法二:数据延时

在这里插入图片描述
注意:每单位增加的延时值需要具体查看手册
在这里插入图片描述
本项目的F(REF) =200mHZ,则每单位增加78.125ps
对比不同value值的时序报告:
在这里插入图片描述

结论:可以看到IDELAY_VALUE增大,建立时间余量减小,保持时间余量增大

在这里插入图片描述

二、output delay 约束

1.基础理论

首先回顾之前讲的output delay一些关键参数的计算方式:
在这里插入图片描述

注意:这里设置的 bskew 和 askew 和 input delay 是不一样的思想。 input delay 是根据上游器件的参数决定的。 而 output delay 是我们设置约束使得我们的时钟不要落到 skew的区间内,这样我们可以通过调整skew 的值使时钟在一个中心位置。
在这里插入图片描述

2.实操方法一:输入时钟经过PLL后调整相位。

和input delay一样,output delay也包括PLL时钟相移和数据延迟两种。
PLL时钟相移的具体操作和input delay一致,关键在于找对output delay的源时钟。
这里对比一下0相位时钟和90°相位时钟的时序报告
在这里插入图片描述

3.实操方法二:数据延迟

但output delay使用数据延迟的方式需要看具体使用的bank类型,例如下图中ARTIX-7没有output delay的原语,而Kintex UltraScale就有。
在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号