基于TimeQuest Timing Analyzer的时序分析笔记
FPGA时序约束经验总结记录2021-01-14
FPGA时序约束学习笔记(二)Quartus II实练
Quartus timing analysis 官网资料
别辜负你的设计,了解Skew vs Uncertainty重要性
quartus ii timequest timing analyzer
在DC的手册上有看到说clock uncertainty = jitter + skew + margin。但是看了许多质料对margin的讲解甚少,,我也不是很清楚这是什么,。
关于jitter,
这是时钟抖动。假设有一个外部OSC,周期为10ns,下降时刻为5ns,上升时刻为10ns,当然这是理想的。但实际的OSC都会有小的误差,比如说时钟上升时刻可能为10.5ns,这个jitter指的是0.5ns的时间误差值。
关于skew,
讲的是时钟到不同寄存器间的时间差。理想情况下skew=0,即时钟的上升沿到每一个寄存器的时刻是一样的,但实际上这是不可能做到的。假设时钟树的延时为3ns,那么时钟上升沿到达寄存器的时刻应该为13ns,但做CTS的时候不可能那么准,如果时钟上升沿到regA的时刻为13ns,到regB的时刻为13.2ns。这个skew讲的就是这个0.2ns的时间差值。
关于margin,
以下是Wikipedia里的答案。
Timing margin is an electronics term that defines the difference between the actual change in a signal and the latest time at which the signal can change in order for an electronic circuit to function correctly.
以下是我的理解,可能有误。
我认为这是时间富裕度,假设外部OSC周期是10ns,你的电路也是按照100MHz的时钟来设计的,可是由于生产工艺的偏差(也可能是综合工具的误差),,芯片最终只能运行到99MHz。这就要求你在设计的时候考虑到要给时钟留一点余量,以确保你的电路可以运行到100MHz的时钟。