blue1025的个人空间 https://blog.eetop.cn/mj8051 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

DC概论三之setup time 与 hold time 之二

已有 1336 次阅读| 2008-7-30 15:11 |个人分类:synthesis

http://bb2hh.blogbus.com/logs/20756952.html

前面一篇讲了基本的建立时间和保持时间以及时序路径划分。在这篇开始之前,先介绍一下很经典而且会时常用到的用来讲解的一个电路图,如下。这篇文章的讲解也会给予这个电路图,讲解的时候我把电路图分割成需要的部分:)

 

既然我们知道了建立时间和保持时间的含义,这篇主要是根据工厂提供的标准单元库中时序器件的建立时间和保持时间来预估我们的约束对设计的影响,是否满足时序要求,简单点就是说,时序有没有violator

 

set_input_delay :

input_delay是设置外部信号到达输入端口的时间,dc会用它来计算留内内部逻辑的空余时间是多少。

之所以让ClkAClk的时钟周期不一致,主要是用来说明上图中黄色部分的。黄色部分的确认是很重要的。这是DC用来确定时间余量(slack)的关键。如上图所示,黄色部分已经确实是最小相位差。那么根据input_delay时间以及库中触发器的setup建立时间,可以知道留给内部逻辑的延迟时间是红色部分Tmin-Tinput_delay-Tsetup。综合过程中,dc会优化Logic2的时序,以使他达到时序要求。

 

同样set_output_delay是设置输出端口到数据采集处的延迟。如下图:

DC会根他来计算留给内部逻辑的时间。

这里还是要强调一下不同频率的问题:)

 

介绍完了input_delayoutput_delay,以及skew(上篇:http://bb2hh.blogbus.com/logs/20563101.html

在分析时间余量之前再介绍下时钟的latency

Latency分为source lantency 一般的latency

Source latency 指的是时钟源到时钟端口的延迟。

Latency指的是时钟端口到内部时序器件的时钟管脚的延迟。

一般只考虑latency即可。

再看下latency对于内部逻辑的影响.下图是不考虑latency的情况:

内部逻辑延迟的限度为T2-T1-Tinput_delay-Tsetup

当考虑了latency的时候。D1上的clock会变成时序图中的红色部分

那么留给内部逻辑的最大延迟为:T2’T2+Tlatency-T1-Tinput_delay-Tsetup。会发现留给内部逻辑的延迟会变大,那么会给DC更大的空间来综合。

 

同样如果ClakA上面如果也设置了Latency在分析slack的时候也要算进去。

 

顺便介绍一下时钟的jitter,如下图

正常的时钟到来时蓝色的时序图。但是由于无法预知的因素,时钟可能提前(粉色)或者延迟(红色)到来,这就是jitter。提前到来充为setup jitter,延迟到来充为 hold jitter

 

DC中把skewjitter合成一个uncertainty。用set_clock_uncertainty来设置。

下文中提到的skew指的是合体,即uncertainty

Uncertainty分为setuphold,顾名思义,如上图理解即可。





点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 13

    粉丝
  • 16

    好友
  • 15

    获赞
  • 23

    评论
  • 2824

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 14:49 , Processed in 0.014444 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部