IO时序分析基本模型和输入延时

https://www.bilibili.com/video/BV197411G7zS?p=4&vd_source=cc54488decdb0d081aff70be0297269f
B站尤老师的课程笔记
语雀记录:https://www.yuque.com/qingyejue/bxydam/qahi9bdgdhgtl5gz

收获:input delay 时序约束在具体工程中的使用方法、分析意义、具体的解决方法。

源时钟同步

上游器件提供:数据和时钟, 上游器件共同路径
源时钟模型

源时钟同步

以时钟源给上下游器件提供时钟, 不存在共同路径
在这里插入图片描述

系统同步模式淘汰,不能高速传输;
源时钟还在广泛应用,如:千兆以太网PHY、USB3.0、ADDA等;
但渐渐转为高速串行总线,如:PCIE、STAT,(只有数据没有时钟)。

输入延时模型

内部延时器件知道,需要提供外部的延时
在这里插入图片描述
Tco: 到上游器件接口的数据延时;
Td_bd: 数据路径延时(PCB);
Td_fi: FPGA内部到寄存器D端延迟; (vivado 知道,器件厂商知道)
Tc_d: 到上游器件接口的时钟延时;
Tc_bd:时钟路径延迟;

在这里插入图片描述

极限input delay(系统模型)

setup slack = 0 时, 极限 input delay = tcycle + Tc_d + Tc_bd+ Tc_fi - Tsu;
建立时间裕量为0,以系统为中心

输入延时

以FPGA为中心,以管脚为中心
input delay = 数据到达时间(FPGA引脚)- 时钟到达时间(FPGA引脚)
input delay = Tco + Td_bd - Tc_d - Tc_bd
图中绿色的线的沿位置,不考虑fi

最大/最小延时

延时最大分析建立时间,延时最小分析保持时间。
数据延时大,往后移动,input delay 增大,建立时间减小;
数据延时小,往前移动,input delay 减小,保持时间减小;

在这里插入图片描述
input delay = Tco + Td_bd - Tc_d - Tc_bd
取Tco、Td_bd等的最大最小值
在这里插入图片描述

vivado 时序约束

基本操作

  1. report timing 可以检测时钟路径,自己选择路径
  2. data path 和 destination clock path 数据到达/结束 时间数据需要达到/保持时间、相减求建立时间和保持时间
  3. 设置分析 endpoint 只有两种 最快模型(低温、高压)、 最慢模型(高温、低压)

在这里插入图片描述在这里插入图片描述

数据时钟边沿对齐

建立时间:两个沿之间 = 时钟到达时间 - 数据到达时间
保持时间:一个沿 = 数据到达时间 - 时钟到达时间
在这里插入图片描述
在这里插入图片描述

arrival time - des clock path = 保持时间
默认: 当前时刻的数据在-2ns 时到来(input delay max=2,min = -2)到达时间为-0.8ns(下一个数据起始时间,当前数据结束时间), 如果对应当前时刻的时钟沿,则时钟延迟比较大4.5ns 则保持时间为-0.8-4.5 = -5.3 ns 时钟违例; 数据延时太小,时钟延时太大。
解决:采用上一个沿的时钟对齐当前的数据,保持时间足够,但是建立时间可能不够。如果周期为10ns, 延后一个时钟周期,则 max = 12ns , min = 8ns;

时序不满足,优化

PLL

PLL移相解决,并且可以优化时钟, 使用当前时钟沿进行分析;

主时钟接入PLL,就不需要约束主时钟,先用0相移得到时钟和数据到达延时时间,分析是数据还是时钟问题,分析移相的大小。
在这里插入图片描述

采样沿对着数据结束位置

带有PLL,如果是负相移,发射沿不变,采样沿在c1r 的 skew_bre处 原本采样沿18.518-0 现在 16. - 0

在这里插入图片描述

时钟往右偏,应该使用c1r 的 skew_are处采样,但是分析报告使用的 l1r处 skew_are采样,不满足建立时间,约束时钟错误,使用的是PLL相移后的时钟进行采样与约束,而不是源时钟。

在这里插入图片描述
在这里插入图片描述
PLL正向相移的时候,需要添加multicycle 约束,下面信号进行两个时钟约束,下个时钟进行建立时间分析。
建立时间:采样时钟-数据到达
保持时间:数据到来时刻(上个数据结束时刻)- 时钟到来时刻,
时钟往前数据往后,数据布线长一些

采样沿对齐数据的起始

时钟路径长,数据路径短。时钟路径不能实现延很多,可以让数据移动往前移动,成为上一种。
在这里插入图片描述

实际使用参数

  1. 从data sheet 找时钟与数据之间的相位关系;(中心对齐、边沿对齐)
  2. PCB做等延时的约束,数据和时钟延时相同;(硬件工程师要)
  3. 中心对齐 1/2 clcok + max 或 1/2 clock - min
  4. 边沿对齐 max 或者 min

仅仅是自己学习笔记,用于方便自己回看。写的不好,建议看视频讲的很好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值