clock jitter是否对hold time有影响?(文末有福利)
文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。
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 分析电源压降,已经不能满足实际应用的需求了。另外还需要做热噪声的分析。
- 信号之间的串扰
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 问题
深入浅出讲透 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 已经确定)
文末福利:
**小编最近在看《非暴力沟通》这本书,也在不断实践,感觉挺好的。推荐给大家。需要的朋友可以在公众号回复关键词 “**非暴力 ****” 或者 “****图书 ****” 即可获得对应电子书和樊灯读书会的 有声说书(mp3 格式)。
小编知识星球简介:
在这里,目前已经规划并正着手做的事情:
-
ICC/ICC2 lab 的编写
-
基于 ARM CPU 的后端实现流程
-
利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现
-
其他内容待定
在这里,各位可以提问(支持匿名提问,提问从此不再害羞),小编会在 24 小时内给予解答(也可以发表你对某个知识点的看法,项目中遇到的难点,困惑或者职业发展规划等)。
反正它是一个缩减版的论坛,增强了大家的互动性。更为重要的是,微信有知识星球的小程序入口。星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有十三位星球成员,感谢这十三位童鞋的支持!欢迎各位铁杆粉丝加入!
相关文章推荐(不看保证后悔)
为什么时钟树上要用 clock inverter(min pulse width check)
PBA(Path Base Analysis)想说爱你不容易(静态时序分析基础篇)
【惊呆了!】你居然还在用 flatten 方式进行 timing signoff
合理的时钟结构能够加速 Timing 收敛(时钟树综合中级篇)
【机密】从此没有难做的 floorplan(数字后端设计实现 floorplan 篇)
听说 Latch 可以高效修 hold 违例(Timing borrowing 及其应用)
秒杀数字后端实现中 clock gating 使能端 setup violation 问题
教你轻松调 DCT 和 ICC 之间 Timing 与 Congestion 的一致性
Scan chain reordering 怎么用你知道吗?
数字后端实现时 congestion 比较严重,你 hold 得住吗?
Final netlist release 前,你应该做好哪些工作?
深入浅出讲透 set_multicycle_path,从此彻底掌握它
数字后端实现时 congestion 比较严重,你 hold 得住吗?
时钟树综合(clock tree synthesis)基础篇
好了,今天的码字就到这里了,原创不容易,喜欢的可以帮忙转发和赞赏,你的转发和赞赏是我不断更新文章的动力。小编在此先谢过!与此同时,吾爱 IC 社区(52-ic.com)也正式上线了。吾爱 IC 社区(52-ic.com)是一个专业交流和分享数字 IC 设计与实现技术与经验的 IC 社区。如果大家在学习和工作中有碰到技术问题,欢迎在微信公众号给小编留言或者添加以下几种联系方式进行提问交流。
打赏的朋友,请长按下方二维码,识别小程序进行打赏,欢迎砸钱过来!小编晚饭能不能加个鸡腿,全靠它了,呵呵!
作者微信: