加载中…
个人资料
杨澜还
杨澜还
  • 博客等级:
  • 博客积分:0
  • 博客访问:304
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

delay/skew/slack/slew的区别

(2018-09-12 14:44:06)
原文地址:http://blog.sina.com.cn/jackdo20

ASIC或者FPGA中会经常遇到delay,skew,slack,slew等用语

1. Delay
ASIC或者FPGA中发生的延迟(delay)由下面等式组成
Delay= CELL delay + Net delay
这里所说的CELL指的是AND, OR,D-Flipflop等cell,NET是指连接这些cell的线。CELL delay与电子的移动速度有关。CELL delay可以由下图的的洗脸台来举例。
此洗脸台就是CELL,根据水位来输出cell值。若是现在洗脸台里没有水,则输出值为0. 打开水龙头,让水灌满洗脸台直到输出1为止所需要的时间则叫做 Rise delay。 此时若是把底部排水口打开让水流出,到输出0所需要的时间则叫 Fall delay。同理,把水换成电子,cell根据电子的多少输出0,1所花费的时间则是各种cell delay了。

2. Skew
假如有如图的回路
虚线内部为chip内部,通过pad连接了一个外部时钟。chip内部有8个D-flipflop。RTL编写的时候只使用了CLK。合成(Synthesis)的时候则分为了两个时钟: CLK' 驱动上部分3个FF,CLK''驱动下部分的5个FF。CLK_PCB的时钟上升沿到达目的地的时间则是主要关心的内容。
时钟到达的foo和bar两个FF的时间肯定有些不同。由第一个洗脸台的例子能够理解。CLK'这个水龙头驱动三个洗脸台,而CLK''这个水龙头则需要驱动5个洗脸台,所以驱动5个洗脸台的CLK''多少会有些延迟。
由下图可以看出CLK之间的关系
若是T1=2ns而T2=2.5ns,则PCB_CLK到达foo的delay为2ns而到达bar的CLK delay为2.5ns。
此时则可以说CLK的skew是0.5ns,即,skew不是时钟的delay而是“最快到达的时钟和最慢到达时钟的差值”

3. Slack
还是以上的回路举例,若是时钟为100MHz,则周期为10ns。
简化T1=T2=0ns,且无视setup和hold time。foo和bar之间有个AND gate。假定AND gate的CELL delay=7ns
时钟周期为10ns,delay若是超过10ns则不允许。10-7=3ns。这里的3ns则称为Slack。
Slack可以理解为剩余空闲。
若是foo和bar之间的AND gate的CELL delay=15ns,则会出现timing violation的情况。若是观察timing report则会看到Slack=-5ns。”负slack“是我们想要的时钟条件没有满足的意思。

4. SLEW
SLEW是pad的特定值。SLEW的意思是倾斜度。通过上面洗脸台的例子来看,rise delay和fall delay的统称则叫slew。通常来看,充满水槽的时间越短越好。但是事实上越快的不一定越好。即,slew(倾斜度)高的不一定好。
有两个缺点:
1. 从0V 到3.3V所需要的时间若是非常短的话,会产生一些不需要的电磁波,这种电磁波叫EMI或者噪音。PCB的其他元件会间接受到影响。
2. 假定有个bus会输出64bit的值。若是某个瞬间所有的输出bit需要从0变到1,则64个PAD要在短时间内从0变到1,水龙头则需要大量出水来满足需求。这时候的水量,即瞬间电流则相当大。这个瞬间的电力峰值很高的话,会对chip内部其他的元件产生强加电压的问题。

因为这些原因,倾斜率会适当的倾斜来满足要求。还有存在slew rate control功能的PAD来避免问题。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有