zoukankan      html  css  js  c++  java
  • DC 概论之一 setup time 与 hold time(1)

    注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong

    以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!! 

    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(顶层设计的输出端口)

    2.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在其中。

  • 相关阅读:
    ubuntu 下python安装及hello world
    mongodb数据库学习【安装及简单增删改查】
    samba服务器共享开发【windows下开发linux网站】
    系统架构一:snmp+mrtg服务器监控
    记.gitignore的一次惊心动魄
    第一章 引论 第二章 算法分析
    渗透测试实践指南(1)
    day7
    day5 io模型
    day4(带)
  • 原文地址:https://www.cnblogs.com/liuokay/p/2005581.html
Copyright © 2011-2022 走看看