Serdes series # skew

skew,是时序分析的基本概念,也称为偏差。由于时钟到每个寄存器的路径延迟不一样,造成信号到达 clock pin 的时间也不一样,寄存器也不会同时翻转,我们把时钟信号到达不同寄存器的时间偏差称为skew。skew 的定义就是最长路径延迟减去最短路径延迟的值。

时钟偏移(skew)是指同样的时钟产生的多个子时钟信号之间的延时差异。它表现的形式是多种多样的,既包含了时钟驱动器的多个输出之间的偏移,也包含了由于PCB走线误差造成的接收端和驱动端时钟信号之间的偏移。同一时钟源到达各个同步单元的最大时间差称作时钟偏移。
  产生时钟偏移的原因有:时钟源到各个时钟端点的路径长度不同;各个端点负载不同;在时钟网中插入的缓冲器不同等。时钟偏差过大会引起同步电路功能混乱。
  一直以来,skew都是衡量时钟树性能的重要参数,传统CTS的目的就是为了减小skew。skew的类型分为很多种:

1. 根据clock和data path的方向,skew可以分为positive skewnegative skew
如图所示:0
对于positive skew,clock和data path在相同方向上。
反之对negative skew来说,clock和data path在相反方向上。
那它们对我们的design有什么影响呢?我们来看一下setup和hold的计算公式:1
  综上可得出:对于positive skew来说,它可以减少T的时间,相当于提升芯片的performace。但是它的hold时间会变得更加难以满足;对于negative skew来说,它的hold时间更加容易满足,取而代之的是,它会降低芯片的性能。
2. 根据时钟域以及路径关系, skew 可以分为global skewlocal skewinterclock skew
  Global skew 是指,同一时钟域,任意两个路径的最大 skew 。如图所示,注意是任意两条路径,不管是不是timing path,都会算作gloabl skew计算的对象。CTS时,工具更关注的是global skew, 会尽可能地将global skew做小。2
  Local skew 是指,同一时钟域,任意两个有逻辑关联关系的路径最大 skew 。这边需要注明,必须是存在逻辑关系的path才会计算local skew,也就是说必须要是timing path。如图所示,我们在分析timing的时候,更多地是关注local skew。3
  interClock skew 是指,不同时钟域之间路径的最大 skew,如图所示4
3. 另外还有一种比较特使的skew,就是现如今用得较多的useful skew,我们称为有用偏差。一般来说,skew会恶化timing结果,但如果合理使用,那skew也可以起到修复timing的作用,从而提高设计的频率。
  如图,时钟周期为 4ns ,各时钟路径延迟如下:可以看到有一条路径的 slack 为 -1ns ,说明这条路径违规。可以看到与这条路径相关的 skew 是 t3-t2= -1ns 。
5
  下面我们利用 useful skew 向前面一个 slack 比较充裕的路径(slack=2ns)借用1ns的 时间 ,这样两条path都meet了时序要求。如下图:
6
  这就是 usefulskew 的作用,可以向前,或者向后借time来修正 violation。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值