- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DC概论总结
DC概论总结
1 DC概论之一setup time与hold time之一 2
2 DC概论二之fanout与skew 5
3 DC概论三setup time与hold time 之二 …………11
4 DC概论四setup time 与 hold time 之三 15
5 DC概论五之high fanout 21
6 DC 概论六之multicycle_path 32
7 DC 概论七之multicycle_path 补充 42
8 DC概论八之gated clock之一 47
9 DC概论九之gated clock之二 52
10 DC概论十之virtual clock 55
11 DC概论十一之IO约束 58
12 DC概论十二之优化约束 63
DC概论之一setup time与hold time代码的综合过程可以说就是时序分析过程,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在其中。
DC概论二之fanout与skewDc综合是基于路径,每个路径上都有Cell
文档评论(0)