DC 概论之一 setup time 与 hold time.doc

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DC 概论之一 setup time 与 hold time

DC 概论之一 setup time 与 hold time(1) 1 DC概论二之fanout与skew - [IC] 5 DC概论三之setup time 与 hold time 之二 - [IC] 14 DC概论四之setup time 与 hold time 之三 - [IC] 20 DC概论五之high fanout - [IC] 30 DC 概论六之multicycle_path - [IC] 47 DC 概论六之multicycle_path 补充 - [IC] 60 DC概论七之gated clock(1) - [IC] 67 dc概论之IO约束 - [IC] 73 dc概论之multicycle_path补充 - [IC] 79 dc概论之virtual clock - [IC] 83 DC 概论之一 setup time 与 hold time(1)ic代码的综合过程可以说就是时序分析过程,dc会将设计打散成一个个路经,这些路经上有cell延迟和net延迟,然后dc会根据你加的约束,来映射库中符合这种延迟以及驱动的器件。从而达到综合的目的。dc的所有时序约束基础差不多就是setup time 和 hold time。 可以用下面的图片说明: 所谓setup time即建立时间,也就说数据在时钟到来之前保持稳定所需要的时间, hold time 即保持时间,也就是说在时钟到来之后数据需要保持稳定的时间。 在深入建立时间和保持时间之前。先了解下dc中的路经以及start point? ,end point。 ?所谓start point 就是:1. input port(顶层设计的输入端口) 2.clock pin of sequential cell(触发器的clock pin) 所谓的end point 就是:1 output port(顶层设计的输出端口) 3.data pin of? sequential cell(触发器的data pin) 了解 start point 和 end point,就可以方便的了解 dc是如何将设计打散成路经,一个设计中基本的路经分为4种,如下图: path1: input port to data pin of sequential cell path2: input port to output port path3: clock pin to data pin of next sequential cell path4:clock pin to output port 所有的设计也就这四种类型的路径。 另外一种就是带反馈的,也就是本身的clock pin to data pin? 。 ? 有了路径的概念之后,我们可以分析更复杂的setup time 和 hold time 。 ?dc中对于建立时间的分析是基于路径的最大延迟;而对于保持时间的分析是基于路径的最小延迟。 看下面一个例子: ?这个是给定setup time 和hold time 的案例,要求算出最小时钟周期。同理也可以给你一个周期和setup time 和hold time,计算时间裕度。 我们假设时钟周期是20,每个触发器的cell 延迟是1,触发器的建立时间是1,保持时间是0.5,分析下列图中的建立时间和保持时间的slack。 看到设计,首先要分析路径,找出最长和最短路径,因为dc的综合都是根据约束而得到最短和最长路径来进行器件选择的。所以接下来将图中的所有路径标出。因为没有前级(input_delay)和后级电路(output_delay),我们只分析图中给出的 路径,如下图: 对于红色路径:Td=Tcell+Td4+Td5+Td6=1+4+3+1=9 对于黄色路径:Td=Tcell+Td4+Td5+Td6+Td8=1+4+3+1+2=11 对于粉色路径:Td=Tcell+Td1+Td2+Td3=1+2+3+2=8 对于路色路径:Td=Tcell+Td7+Td2+Td3=1+2+3+2=8 所以Tlongest=11,Tshortest=8 ?对于setup time的slack:Tclk-Tlongest-Tsetup=20-11-1=8 对于hold time的slack : Tshortest-Thold=8-0.5=7.5 对于setup time 和 hold time 的slack的计算,可以体会下面的示意: 对照第一副示意图与此比较,建立时间看D2 ,保持时间看D1,因为同时把Tl和Ts放在一个图例中,看起来可能有些误解:) ?有空会继续讨论setup time 和hold time,下次讨论将包括clock skew 和input delay,output delay在其中。

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档