• 注册
  • 查看作者
  • 浅谈数字IC后端设计中clock jitter是否对hold time有影响?(文末有福利)

    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,从此彻底掌握它

    clock jitter

    clock jitter

    • 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已经确定)

    文末福利:

    小编最近在看《非暴力沟通》这本书,也在不断实践,感觉挺好的。推荐给大家。需要的朋友可以在公众号回复关键词“非暴力”或者“图书”即可获得对应电子书和樊灯读书会的有声说书(mp3格式)

     

    小编知识星球简介:

    在这里,目前已经规划并正着手做的事情:

    • ICC/ICC2 lab的编写

    • 基于ARM CPU的后端实现流程

    • 利用ICC中CCD(Concurrent Clock Data)实现高性能模块的设计实现

    • 其他内容待定

    在这里,各位可以提问(支持匿名提问,提问从此不再害羞),小编会在24小时内给予解答(也可以发表你对某个知识点的看法,项目中遇到的难点,困惑或者职业发展规划等)。

    反正它是一个缩减版的论坛,增强了大家的互动性。更为重要的是,微信有知识星球的小程序入口。星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有十三位星球成员,感谢这十三位童鞋的支持!欢迎各位铁杆粉丝加入!

     

    相关文章推荐(不看保证后悔)

    揭秘数字IC后端时钟树综合要用clock inverter来build clock tree(min pulse width check)

    从数字IC后端设计实现看先进工艺7nm实现的各种挑战

    数字后端设计实现后期碰到这些问题,如何做ECO?

    我是如何在五年内实现年薪60万?

    教你彻底搞懂ARM Cortex-A75 CPU的数字后端实现报告

    这些低功耗设计实现经验,你真的懂了吗?

    深度解析Create_clock与Create_generated_clock的区别

    IR Drop分析之Redhawk分析流程

    CRPR能补偿crosstalk吗?

    原来电路最高工作频率是这么算出来的(STA基础篇)

    数字后端面试问答No.1-3(每日三问)

    教你轻松调DCT和ICC之间Timing与Congestion的一致性

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

    好了,今天的码字就到这里了,原创不容易,喜欢的可以帮忙转发和赞赏,你的转发和赞赏是我不断更新文章的动力。小编在此先谢过!与此同时,吾爱IC社区(52-ic.com)也正式上线了。吾爱IC社区(52-ic.com)是一个专业交流和分享数字IC设计与实现技术与经验的IC社区。如果大家在学习和工作中有碰到技术问题,欢迎在微信公众号给小编留言或者添加以下几种联系方式进行提问交流。

    打赏的朋友,请长按下方二维码,识别小程序进行打赏,欢迎砸钱过来!小编晚饭能不能加个鸡腿,全靠它了,呵呵!

    作者微信:

    本篇文章来源于微信公众号: 吾爱IC社区

  • 0
  • 1
  • 0
  • 808
  • 0
    mzw0610VIP1
    请问关于jitter这方面有更详细的资料吗?比如cycle2cycle jitter和long term jitter的区别。你上面格式好像有点问题,对于我这种小白有点看不懂 [s-2]
  • 单栏布局 侧栏位置: