时钟抖动(Clock Jitter),即相对于理想时钟沿,实际的时钟沿时而超前、时而滞后并且不随之间积累的偏移。如图1所示,实线表示的即为时钟的理想波形,虚线表示实际的时钟波形,可能超前也可能滞后。
![](https://img-blog.csdnimg.cn/img_convert/0d93e1c9bc591efab0d89410820729c1.png)
图1 时钟抖动
时钟偏差(Clock Skew),也称为时钟偏斜,是指同一个时钟域内的时钟信号到达电路中的各个部分所用时间的差异。
![](https://img-blog.csdnimg.cn/img_convert/1d7dbe2b88aade8162eaa922a46a7d7c.png)
图2 时序分析模型
对于FPGA而言,一般是指时钟到达两个D触发器之间的时间差。如图2所示,REG1记为源寄存器,REG2记为目的寄存器,时钟从时钟源到达源寄存器所用的时间为Tc2s,从时钟源到达目的寄存器所用的时间为Tc2d,时钟偏差则为:Tskew=Tc2s-Tc2d。根据Tskew的正负,时钟偏差对应的可以分为正偏差和负偏差。
如果大家搞清楚以上两个概念之后,对于时序约束和时序分析中常见的概念——时钟不定(Clock Uncertainty)就好理解了。所谓的Clock Uncertainty就是由时钟抖动和时钟偏差引起的,则有:
Clock Uncertainty = Clock Skew + Clock Jitter
在实际应用中,对于时钟频率较高的时钟,Clock Uncertainty可以设置得相对较小,而对于低频时钟或者分频后的时钟,则可以将Clock Uncertainty设置得大一点。