一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于超大规模设计的阶层制约及采用该制约的设计方法与流程

2022-05-08 06:58:33 来源:中国专利 TAG:


1.本发明涉及集成电路设计领域,具体涉及用于超大规模设计的阶层制约及采用该制约的设计方法。


背景技术:

2.数字版图门数规模超过1400万后,综合工具以及自动布局布线工具将达到运行极限,在运行过程中出现自动终止的机率很高,且工具运行时间过长,难以满足设计周期的需求。由此阶层设计应运而生,阶层设计采用先分再合的设计方法(即先阶层设计后芯片级的静态时序分析的设计方法),该方法能够克服工具极限并缩短大规模设计的设计周期。在进行静态时序分析之前的综合、测试回路的插入、自动布局布线都采用阶层设计。
3.但在进行芯片整体的静态时序分析之前,由于看不到各阶层内的路径延迟,各阶层间的时序都无法确认,所以会出现静态时序分析结果和阶层设计的自动布局布线结果有较大偏差,且在静态时序分析时出现时序不能收敛的情况,这些情况导致大量返工,设计周期被拉长。


技术实现要素:

4.本发明的目的在于提供一种用于超大规模设计的阶层制约及采用该制约的设计方法,为解决现有数字版图设计中,采用阶层设计时,因静态时序分析结果和自动布局布线结果有较大偏差,以及静态时序分析时时序不能收敛,导致返工的问题。
5.为了实现根据本发明的这些目的和其它优点:
6.第一方面,用于超大规模设计的阶层制约,包括以下步骤:
7.步骤s101:接收分阶层的原始布局数据;
8.步骤s102:对原始布局数据进行扁平化设计后,抽出寄生文件;采用该寄生文件,对原始布局数据进行一次静态时序分析;
9.步骤s103:分析原始布局数据,获取跨阶层时序路径,在跨阶层时序路径上划分阶层段,在步骤s102中的静态时序分析基础上,得到所有跨阶层时序路径的时钟周期,以及所有阶层段的静态延迟值;
10.步骤s104:根据跨阶层时序路径的阶层段数值、时钟周期以及各阶层段的静态延迟值,计算出跨阶层时序路径中各阶层段的最大允许延迟值。
11.在一个可能的设计中,步骤s103中所述的跨阶层时序路径,是指穿过阶层端子的时序路径。
12.在一个可能的设计中,步骤s103中所述的在跨阶层时序路径上划分阶层段的方法是:所述跨阶层时序路径被阶层端子分割后形成若干段,每一段都称为阶层段。
13.在一个可能的设计中,步骤s104中跨阶层时序路径中各阶层段的最大允许延迟值的计算公式为:
14.设定某段时序路径中阶层段的数量为n,时钟周期为p,第一段阶层段的静态延迟
值为d1,第二段阶层段的静态延迟值为d2,

,第n段阶层段的静态延迟值为dn;
15.当n=2时,第m段阶层段的最大允许延迟值
16.当n=3时,第m段阶层段的最大允许值
17.其中n和m都为自然数,且m≤n,c为经验常数。
18.在一个可能的设计中,所述经验常数c取值0.5ns。
19.在一个可能的设计中,当n=2时,且有时,第m段阶层段的最大允许延迟值而另一段阶层段的最大允许延迟值为
20.在一个可能的设计中,当n=3时,有ym<0.5ns时,调整ym=0.5ns。
21.第二方面,采用第一方面的阶层制约方法,进行阶层设计,具体为用于超大规模设计的阶层设计方法,包括以下步骤:
22.步骤s201:进行各阶层的布局;
23.步骤s202:获取所有时序路径,分析时序路径是否跨阶层,当时序路径跨阶层时,采用第一方面所述的方法,计算所有阶层段的最大允许延迟值,形成阶层制约;
24.步骤s203:根据阶层制约,分别设计各阶层;
25.步骤s204:合并阶层,形成整体。
26.本发明至少包括以下有益效果:
27.1、在采用阶层设计的超大规模数字版图设计中,对跨阶层的时序路径,进行阶层段的延迟约束,形成阶层制约,使得阶层设计的自动布局布线的时序结果和静态时序分析的结果不会出现较大偏差,避免出现大量返工,极大的缩短了设计周期;
28.2、基于布局后的数据结果,有效的结合了实际的布局信息,让阶层设计制约以及阶层设计的结果能够非常逼近扁平化后的结果,从而有效的改善了阶层设计的时序结果以及降低了timingeco(即静态时序析后的时序修复过程)的难度以及缩小了返工的机率。
29.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
30.图1为本发明用于超大规模设计的阶层制约的流程图;
31.图2为本发明整体阶层的时序路径的示意图;
32.图3为本发明阶层制约应用于阶层设计的流程图。
具体实施方式
33.下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
34.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及
35.附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
36.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
37.应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
38.第一方面,如图1,用于超大规模设计的阶层制约,包括以下步骤:
39.步骤s101:接收分阶层的原始布局数据;
40.步骤s102:对原始布局数据进行扁平化设计后,抽出寄生文件;采用该寄生文件,对原始布局数据进行一次静态时序分析;
41.步骤s103:分析原始布局数据,获取跨阶层时序路径,在跨阶层时序路径上划分阶层段,在步骤s102中的静态时序分析基础上,得到所有跨阶层时序路径的时钟周期,以及所有阶层段的静态延迟值;
42.步骤s104:根据跨阶层时序路径的阶层段数值、时钟周期以及各阶层段的静态延迟值,计算出跨阶层时序路径中各阶层段的最大允许延迟值。
43.本发明中的阶层制约方法主要用于数字版图的阶层设计中,如在两阶层设计中,包括了logictop层和subtop层,在logictop层上挖出若干subtop层,并行设计logictop层和subtop层,最后再将logictop层和subtop层进行合并,为现有技术,不作赘述。
44.但在并行设计logictop层和subtop层时,设计logictop层时,无法知晓subtop层内的路径延迟,当logictop层上路径与subtop层上路径形成一条时序路径时,如随意分别约束,就会出现,在阶层合并后,时序不能收敛的现象,导致返工处理。
45.本发明,就是解决该问题,用于设定跨阶层时序路径上,分别位于各阶层中的时序的最大允许延迟值,在并行设计时,采用该值进行约束,保证了合并后,时序得到收敛。
46.在数字后端设计中,得到集成电路的布局,在面临超大规模时,超出了现有的工具的极限,就会进行阶层设计,根据逻辑单元的分布,在logictop层上,挖出若干块,形成subtop层。
47.规划好阶层后,就需要设定时序约束,本发明,先用原阶层设计布局数据,进行一次扁平化设计,扁平化设计是现有技术,与阶层设计并立,但设计简单,设计完成后,抽取该设计中的寄生数据,将寄生数据加载到原阶层设计布局数据中,再进行静态时序分析,得到各时序的属性:包括时序路径的起点,终点,发射时钟,接收时钟,时钟周期,逻辑单元,单元名称,以及时序路径上截止各段逻辑单元的路径延迟。
48.通过规划好阶层的布局数据,获取到跨阶层的时序路径,即各阶层按照阶层端子的方向获取所有穿过阶层端子的时序路径。跨阶层的时序路径,能够在上述静态时序分析
中对应到,主要获取到跨阶层时序路径的时钟周期,以及时序路径上截止各段逻辑单元的路径延迟。
49.跨阶层时序路径上,如图2所示,设计了三个跨阶层的时序路径,主要包括start、port和end,start是指时序路径的起点,port是阶层端子,end是时序路径的终点,阶层段是指,一个跨阶层的时序路径上被阶层端子分割形成的各时序段。如start1到port1就为一个阶层段。
50.时序路径start1到end1中,设定start1到port1为第一段阶层段,port1到end1为第二段阶层段,在实际设计中,因为是阶层同时设计,logictop层中,设计第一段阶层段时,我们能够知晓该段中各时序路径的延迟,但无法知晓第二段阶层段的路径延迟,但start1到end1是一条时序路径,logictop层和subtop1合并后,start1到end1可能会出现时序不收敛的情况。
51.所以本发明中,限定了各阶层段的最大允许延迟值,设定了阶层制约,使得后续合并后,能够时序收敛。
52.并且计算阶层制约中,获得的数据考虑了整体布局,先进行阶层布局,采用该布局数据进行一次扁平化设计,得到寄生文件,包含各种寄生参数,寄生文件导入到阶层布局中,相当于该阶层布局已形成了完整的设计,针对这里的设计进行静态时序分析,得到跨阶层时序路径的时钟周期和阶层段的延迟值(称为静态延迟值),再计算出时序路径start1到end1中,第一段阶层段和第二阶层段的最大允许延迟值,并且两个阶层段的最大允许延迟值是相互之间有联系的,还考虑到了电路的整体布局,所以通过上面得到的数值来计算得到最大允许延迟值符合设计要求,能够在合并后,符合时序收敛。
53.下面还公开了计算公式,来计算出跨阶层的时序路径中各阶层段的最大允许延迟值:
54.设定某跨阶层时序路径的阶层段数值为n,时钟周期为p,第一段阶层段的静态延迟值为d1,第二段阶层段的静态延迟值为d2,

,第n段阶层段的静态延迟值为dn;
55.当n=2时,第m段阶层段的最大允许延迟值
56.当n=3时,第m段阶层段的最大允许值
57.其中n和m为自然数,且m≤n,c为经验常数0.5ns,ns即为纳秒。
58.根据计算公式来看,本发明主要是针对两阶层设计,两阶层设计中,一般只有两段阶层段的时序路径和三段阶层段的时序路径。
59.其中,计算公式中,0.9为设计余量的考虑。
60.在两段阶层段的情况下,某一段阶层段的静态延迟值占据整个周期的25%以下,按照最低25%的延迟来划分,即得到:当n=2时,且有时,第m段时序的最大允许延迟值另一段时序的最大允许延迟值为这样去除了低速时钟,加快了阶层制约生产速度。
61.在三段阶层段的情况下,当出现公式计算得到最大允许延迟值小于设定值时,执行特殊处理,因为三段阶层段中阶层段的延迟值都比较大,但当n=3时,有ym<0.5ns时,调整ym=0.5ns。
62.具体的,如图2中,设计了三个时序路径,其中start1到end1为两段时序路径,即n=2;而start2到end2,start3到end3,都为三段时序路径,即n=3。
63.说明start1到end1的时序路径,其中包括start1到port1、port1到end1两段时序,其中,start1到port1位于logictop层,port1到end1位于subtop1层,所以在设计start1到port1的时序延迟时,无法知晓port1到end1的时序延迟,就无法全盘计算。本发明给出一个最大允许延迟值,即在后续设计中,延迟值不得高于该值。下面进行计算。
64.通过步骤s102进行的静态时序分析,得到start1到end1的时钟周期p,start1到port1的静态延迟值d1、port1到end1的静态延迟值d2。计算start1到port1的最大允许延迟值就为port1到end1的最大允许延迟值就为其中d1、d2、p和c都为已知,还需要核算的值,如有时,start1到port1的最大允许延迟值就为port1到end1的最大允许延迟值就为而时,start1到port1的最大允许延迟值就为port1到end1的最大允许延迟值就为
65.再说明,start2到end2的时序路径,包括start2到port2、port2到port3、port3到end2,三段时序,其中,start2到port2、port3到end2位于logictop层,port2到port3位于subtop2层。设计中也出现盲点,本发明给出一个最大允许延迟值,即在后续设计中,延迟值不得高于该值。下面进行计算:
66.通过步骤s102进行的静态时序分析,得到start2到end2的时钟周期p,start2到port2的静态延迟值d1、port2到port3的静态延迟值d2,port3到end2的静态延迟值d3,计算start2到port2的最大允许延迟值port2到port3的最大允许延迟值port3到end2的最大允许延迟值其中n=3,d1、d2、d3、p和c都为已知,可得到所有时序段的最大允许延迟值。最后再核算,如最大允许延迟值小于0.5ns时,取值0.5ns。
67.如上,就可以得到一个设计约束,在设计中,不超出该约束值,在静态时序分析时,能够保证时序收敛,符合设计要求。从而避免了返工,加快了设计速度。
68.第二方面,如图3,用于超大规模设计的阶层设计方法,包括以下步骤:
69.步骤s201:进行各阶层的布局;
70.步骤s202:获取所有时序路径,分析时序路径是否跨阶层,当时序路径跨阶层时,
采用第一方面所述的方法,计算所有阶层段的最大允许延迟值,形成阶层制约;
71.步骤s203:根据阶层制约,分别设计各阶层;
72.步骤s204:合并阶层,形成整体。
73.阶层设计为现有技术,本发明仅仅增加了一个阶层间的制约,该制约是在布局后,设计前进行,并且布局后,还进行一次扁平化设计,获得寄生参数,导入到布局中,进行静态时序分析,计算阶层制约数据。
74.计算得到阶层制约后,在设计某阶层时,就能够考虑到其他阶层内的延迟。如图2中,在设计logictop层时,将subtop1以及subtop2考虑成一个带有延迟信息的黑盒,通过对该阶层的阶层段设定最大可允许的延迟,使得各阶层单体设计时,依然能考虑到其他阶层的延迟信息,从而使阶层设计结果接近扁平化设计的结果。设计subtop1和subtop2,采用同样的设计理念。
75.阶层设计完成后,即可以进行合并,再进行静态时序分析,通过本发明的设计方法,能够避免时序不收敛的问题。
76.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献