时序分析之IO约束

时序分析的基本原理:

无图,先略。

IO约束的基本原理:

IO约束有输入延迟约束和输出延迟约束。输入延迟和输出延迟约束的方法完全一致。因此,只需要了解输入延迟的约束即可。输入延迟的约束需要用到最基本的时序分析模型。

由于编译工具并不清楚IO接口处的时序和相位关系。因此,不做时序约束的话,将可能导致不能正确的采样数据。由基本的时序分析原理可以知道,影响后端时钟和数据的相位关系的因素有:

  • 前端:T_{CO}T_{data}T_{clock}
  • 终端:T_{su}T_{h}

其中,T_{CO}为时钟到寄存器输出的延迟,T_{data}为数据路径的延迟,T_{clock}时钟路径的延迟。

因此,到达IO口处,时钟数据的相位关系既是输入延迟:

T_{InputDelay}=T_{CO}+T_{data}-T_{clock}

在保证采样正确的情况下,max(T_{InputDelay})<=T_{period}-T_{su}应该刚好满足建立时间要求,min(T_{InputDelay})>=T_{h}应该刚好满足保持时间要求。由于T_{su}T_{h}是FPGA的固有属性,编译工具自己知道。因此,我们只需要计算出T_{InputDelay}的最大值和最小值即可。

同理可知,输出延迟和输入延迟是完全对等的约束,发端设备的最大输出延迟就是收端设备的最大输入延迟。发端设备的最输出延迟就是收端设备的最小输入延迟。因此,很容易可以通过发端和收端的参数计算IO延迟。

IO约束不仅限于通过T_{CO}T_{data}T_{clock}参数获取,还可以通过其他关系得到例如数据的有效窗口,时钟数据的偏移关系等等。IO约束,说简单了就是告诉编译工具IO口处时钟和相位的关系。很多时候我们不知道也找不到芯片的参数,数据延迟、时钟延迟,就自己定个数据有效窗口吧,去他的参数,最高频率150MHz,温度-20~60度范围验证过,没问题。

在很多时候,虚拟时钟会使IO约束更为简单和明白,需视情况而定。

其他:

随性写的,有点乱,不会绘图,又懒,就当个随笔。网上很多博主的文章写得都很详细,争取找个时间再好好总结时序分析的知识。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值