详解时钟的skew、jitter和uncertainty

  • skew

    • 时钟skew和布局布线相关。完成布局布线后,不同的DFF触发器的位置不同导致clock到达的时间不同;如下图所示,下面4条路径因为物理路径长短不同,因此时钟到达的时间也不同,进而造成了时钟的skew。
    • 在这里插入图片描述例如,对于path1和path2,CK2到达的时间更晚,它与CK1的差值就是skew:在这里插入图片描述
  • jitter

    • 抖动(jitter),就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。
      时钟抖动是由于晶振本身工艺导致的,所以在设计中无法避免,因此只能在设计中留一定的margin。且时钟抖动也发生在不同时钟源,如两个晶振:时钟抖动(Jitter)示意图如下:
      在这里插入图片描述
  • clock Uncertainty

    • 它定义了Clock信号到触发器的CK端可能早到或晚到的时间,主要用来降低时钟抖动jitter对有效时钟周期的影响,此外也为设计留有一些余量,确保流片回来的芯片能够正常工作。
    • 我们考虑的都是更悲观的情况,因此对于Setup,我们考虑的是时钟提前,对于Hold我们则是考虑时钟靠后
      在这里插入图片描述

此外,在数字芯片后端的PR过程中,我们在CTS的前后考虑Uncertainty时,会分两种情况:(华为往年笔试题)
在这里插入图片描述
其实也不难理解:

  • 在CTS之前(preCTS的时序优化时),因为还没有时钟树,此时时钟是ideal的,PR工具认为skew是0。这太过乐观,因此我们要将clock skew考虑进去,加入更大的uncertainty来确保时序一致性
  • CTS之后,时钟布线已经完成,此时PR工具(如innovus,icc2等)可以推算出skew的真实值,因此我们考虑uncertainty就不再需要认为添加skew。

代码与文字齐飞,逻辑共创意一色!若我的文章让你会心一笑,点个赞我们一起笑谈"IC人生"!qxOWwKbl1tTzkyu.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值