一网打尽时钟树综合Clock Skew

一网打尽时钟树综合Clock Skew

文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。

时间过得很快,今天又上班了。最重要的是公众号还得对得起各位粉丝一直以来的支持。所以必须抽时间码字更文。在五一期间,小编已经在自己的电脑上安装了虚拟机,并着手写 ICC 的 lab(当然会对知识点进行延伸拓展)。考虑到一些基础比较差,或者刚步入数字 IC 后端这个行业的童鞋们,所以小编才下决心做这件事情(当然主要还是粉丝们反馈的)。

这个 lab 的教程和 lworkshop 会陆续发布到小编的知识星球上。目前已经有八位童鞋加入这个星球了,感谢你们的支持。为了设置一定的门槛,这个星球是需要付费加入,本着自愿加入的原则,每天其实只需要三毛五左右(如果靠这个赚钱,小编估计会饿死的)。

Clock Skew (时钟偏移) 分为 Global skew 和 Local skew 两大类。

  • Global skew

Global skew 是泛指 design 中任意两个寄存器 latency 之差的最大值。

  • Local skew

Local skew 是指 design 中两个相关寄存器 latency 之差的最大值。因此,在数字后端设计实现中,我们更多的是关注 local skew。因为 local skew 会直接影响到我们的时序(setup 和 hold)。

图 1 所示,FF1 和 FF2 的 Local skew 为 3 个 buffer 的 delay,即 150ps(本文假定一个 buffer delay 为 50ps)。FF3 和 FF4 直接的 Local skew 为 100ps。那么 Global skew 是多少呢?

图 1 Global skew 和 Local skew

既然 clock skew 是表示两个 sink clock latency 的差值,那么就存在正负值,分别为 Positive skew 和 Negative skew。

  • Positive skew

Positive skew 是指时钟 clock 到达 launch FF1 的时间 (Tff1)早于时钟到达 capture FF2 的时间(Tff2)。图 2 所示为 Positive skew 的例子。

图 2 Positive skew 示意图

对应的 setup 和 hold 检查波形如图 3 所示。默认情况下 setup 检查的 edge 如图中绿色标识,hold 检查的 edge 如图中红色标识。显然在 positive skew 的情景下,setup 检查变得宽松点,hold 检查则变得更为严格。

吾爱 IC 社区公众号之前也推送过无数篇关于 setup,hold 的检查方式,如何画波形图,如何计算 setup,hold time 以及如何计算电路最高工作频率的分享。如果对这些还心存疑问困惑,可以查看下面几篇文章。

听说 Latch 可以高效修 hold 违例(Timing borrowing 及其应用)

CRPR 能补偿 crosstalk 吗?

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

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

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

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

Setup slack=Tclock-Tck-q(FF1)-Tcomb-Tsu(FF2)+Tskew

Hold slack = Tck-q(FF1)+Tcomb-Thold(FF2)-Tskew

Tclock=Tck-q(FF1)+Tcomb+Tsu(FF2)-Tskew

图 3 Positive skew 下 setup 和 hold check

  • Negative skew

Negative skew 是指时钟 clock 到达 launch FF1 的时间 (Tff1)晚于时钟到达 capture FF2 的时间(Tff2)。图 4 所示为 Negative skew 的例子。对应的波形图如图 5 所示。从图 5 中可以看出,对于 Negative skew 的情景,setup 的检查其实是更严格了,而 hold 检查反而相对宽松点。

图 4 Negative skew 示例

图 5 Negative skew 下 setup 和 hold check

Clock skew 对 timing 的影响

从上面推导的公式或者波形图中,我们都可以很清楚地知道,clock skew 对 Timing 是有着直接的影响作用的。对于 Positive skew 来说,Tskew 大于 0,setup slack 变大,但是 hold slack 变小了。而对于 Negative skew,Tskew 小于 0,setup slack 变小,hold slack 变大了。

在实际的数字后端设计项目中,我们都要将 skew 做的越小越好。一方面 clock skew 会影响芯片设计的性能,另一方面容易引起 hold violations(我们常常说的 clock tree 长的不平),当然还有其他方面的考量,留给各位思考。大部分 hold violations 是由于 data path 太短,common clock path 太短以及 clock skew 太大导致的。对于 hold violations 如何 fix,后续也会做一个简单的分享。

最后留个思考题给大家: design 中 setup meet 了,是不是一定万事大吉了?如果 setup 和 hold 都没问题了,又该当如何呢?

小编知识星球简介:

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

  • ICC lab 的编写

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

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

  • 其他内容待定

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

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

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

数字后端设计实现之时钟树综合实践篇

【惊呆了!】你居然还在用 flatten 方式进行 timing signoff

数字后端面试问答 No.16-18

合理的时钟结构能够加速 Timing 收敛(时钟树综合中级篇)

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

【机密】从此没有难做的 floorplan(数字后端设计实现 floorplan 篇)

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

数字后端面试问题 No.7-9(每日三问)

听说 Latch 可以高效修 hold 违例(Timing borrowing 及其应用)

15 天零基础入门到精通 python - 最全的视频教程

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

IR Drop 分析之 Redhawk 分析流程

CRPR 能补偿 crosstalk 吗?

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

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

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

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

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

数字 IC 设计中 ECO 的那些事,其实并不是事!

Scan chain reordering 怎么用你知道吗?

如何评价数字后端设计中 floorplan 的好坏?

数字后端实现时 congestion 比较严重,你 hold 得住吗?

数字后端实现 place 过程进阶

Final netlist release 前,你应该做好哪些工作?

基于 Physical Aware 的动态功耗优化实现方案

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

【大师必备】最全的数字 IC 设计经典书籍电子版下载

你与数字后端大神的差距在这里,快来瞧瞧!

数字后端实现时 congestion 比较严重,你 hold 得住吗?

时钟树综合(clock tree synthesis)基础篇

【福利】数字 IC 后端各种 Userguide 下载

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

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

作者微信:

https://mp.weixin.qq.com/s/mj97JIxUkJEs15Zk8x8buw

  • 6
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值