vivado static timing analysis

没有完全弄清,记下一些疑惑如下:

0, setup与violation理解:

 

  • T0 时刻,数据从D 1的C端入、Q端出、穿过logic到达D2的D端,到达时间记作T0';此后数据在D2的D端保持稳定,直到下一时钟,即T1时刻到来;
  • T1时刻后,来自D1的新数据经过C端入、Q端出、穿过logic到达D2的D端,到达时间记作T1';从T1时刻到下一周期T2时刻到来,只会变化这一次;
  • T0'时刻与T1时刻的时间间隔,即为数据从到达D2起,已经维持的时间,该时间大于等于Tsu,即可满足建立时间条件;     T1时刻与T2'时刻的时间间隔,即为数据从T1时刻起(T1时刻新数据才从D1开始传播),到达D2的时间,该时间大于等于Thold,即可满足保持时间条件;
  • 同时满足建立时间和保持时间的组合逻辑延时范围可以表达为:
    (Tclk - Tcq-max -  Tsu) > Tcomb > (Th - Tcq-min) 考虑skew后,可描述为 
    (Tclk - Tco-max -  Tsu)-Tskew > Tcomb > (Th - Tco-min)+ Tskew

1,通常setup的公式是Tcq+Tcomb+Tsu < Tclk,但是在vivado的报告中为甚么把setup时间以“+”的形式放在require time中,不应该是arrive time+Tsu < require time吗? (用下图描述,vivado报告中是Ta-b < Ta-c+Tc-b,左边他们成为arrive time,右边称为require time,Tc-b即Tsu;我预想的是Ta-b+Tb-c < Ta-c)

2,clock pessimism的概念理解不知道是否正确?

  在vivado进行时序分析时,会在不同corner下并行进行,并选取其中最差的情况报告出来,这样得出的数据相比真实情况更为苛刻,因此产生了clock pessimism这个参数,进行补偿修正,在setup检查时用“+”,给逻辑处理留出更多的处理时间;在hold检查时用“-”,使得数据在采集沿的hold时间可以缩短,允许信号可以变化翻转的更快些。

3,采集沿capture edge是否就是指时钟信号到达DFF总的C引脚时刻,对应DFF门级实现中的C与C非脚,而D则是数据的输入脚,在1问题的描述中vivado的报告呈现方式,个人理解成他们认为DFF的D引脚就是采集判定沿,而非C引脚 ,待确认?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值