分享

clock jitter是否对hold time有影响?(文末有福利)

 雨在路上 2022-06-07 发布于广东
Clock jitter定义

时钟抖动是时钟边缘与其理想位置的时间偏差。时钟沿可以在一个范围内到达,两个连续时钟沿之间的差值将决定该周期的实际有效周期长度。因此,时钟抖动在静态时序分析中非常重要。

让我们借助一个例子来阐述时钟抖动的概念:

时钟源(比如PLL)应该提供频率为10 MHz的时钟,总计时间为100 ns。如果它是理想的时钟源,则连续的上升沿将出现在0 ns,100 ns,200 ns,300 ns等等。然而,由于PLL是一个非理想的时钟源,它在产生clock edge时会有一些不确定性。它可能在0 ns,99.9 ns,201 ns等时产生clock edge。或者我们可以说时钟边沿可能在(<ideal_time>  -  jitter)之间的任何时间发生。即0,在99-101ns之间,在199-201ns之间等等(1ns是抖动)。但是计算多个周期后,平均周期将达到〜100 ns。

图片

Clock jitter的种类

  • 周期抖动

周期抖动是在多个随机选择的周期(例如10K周期)内时钟信号的周期时间相对于理想周期的偏差。它可以指定所选周期内的时钟周期偏差的平均值(RMS值),也可以是所选组内最大偏差和最小偏差之间的差值(peak-to-peak period jitter)

  • Cycle-to-cycle jitter

Cycle-to-cycle jitter是随机数个时钟周期内两个相邻时钟周期的偏差。 

  • 相位抖动

在时间或相位上的偏移,会导致误差及同步丢失。电缆越长、电缆衰减越大或数据速率越高,抖动就越大,也称作相位抖动、定时失真或码间干扰。

  • Long term jitter

clock jitter原因

抖动的原因很多,主要包括以下几种类型

  • PLL环路噪声

  • 电源纹波

对于高频模块,通常为了最大限度减少电源纹波,我们往往要在这种模块中插入足够多的DECAP cell。这点应用实践表明效果很明显。

  • 热噪声

目前芯片仅仅做IR Drop分析电源压降,已经不能满足实际应用的需求了。另外还需要做热噪声的分析。

IR Drop分析之Redhawk分析流程

  • 信号之间的串扰

Clock jitter的影响

  • Setup影响

根据STA基础知识得知,setup的检查是launch clock edge在edge 1,capture clock edge在edge 3。现在我们假设edge 1到达时刻为20 ns,则edge 3可以在时间区间(20 ns CLOCK_PERIOD 抖动)和(20 ns CLOCK_PERIOD  - 抖动)到达。因此,为了考虑最坏情况下的时序情况,我们采用edge 3到达时刻为(20 ns CLOCK_PERIOD  - 抖动)。即实际的有效时钟周期变为(CLOCK_PERIOD  -  jitter),较理想时钟周期缩短。因此setup timing更为严格了。

秒杀数字后端实现中clock gating使能端setup violation问题

数字芯片设计实现中修复setup违例的方法汇总

深入浅出讲透set_multicycle_path,从此彻底掌握它

图片

  • Hold影响

由于hold check是同沿检查。因此clock jitter对hold没有影响。因此在芯片timing signoff时,往往hold 的uncertainty会比较小。

考虑clock jitter的实现策略

通过设置clock uncertainty来给design预留margin。

Pre-cts阶段   clock_uncertainty = clock jitter 预估clock skew

Post-cts阶段   clock_uncertainty = clock jitter (此时clock skew已经确定)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多