CN1731406A - 基于电源/地网格与行对齐的消除串扰的总体布线方法 - Google Patents
基于电源/地网格与行对齐的消除串扰的总体布线方法 Download PDFInfo
- Publication number
- CN1731406A CN1731406A CN 200510086339 CN200510086339A CN1731406A CN 1731406 A CN1731406 A CN 1731406A CN 200510086339 CN200510086339 CN 200510086339 CN 200510086339 A CN200510086339 A CN 200510086339A CN 1731406 A CN1731406 A CN 1731406A
- Authority
- CN
- China
- Prior art keywords
- gauze
- limit
- grg
- shielding line
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 68
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 29
- 230000008878 coupling Effects 0.000 claims description 20
- 238000010168 coupling process Methods 0.000 claims description 20
- 238000005859 coupling reaction Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 19
- 230000008030 elimination Effects 0.000 claims description 14
- 238000003379 elimination reaction Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 6
- 239000004744 fabric Substances 0.000 claims description 5
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 4
- 238000010845 search algorithm Methods 0.000 claims description 4
- 230000035945 sensitivity Effects 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 claims description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 2
- 230000008676 import Effects 0.000 claims description 2
- 238000012797 qualification Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 7
- 238000005457 optimization Methods 0.000 description 10
- 208000032366 Oversensing Diseases 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002226 simultaneous effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明属于标准单元之总体布线的计算机辅助设计领域,其特征在于:首先利用现有技术产生总体布线的初始解,着重考虑了电感干扰约束的费用函数,通过迭代总体布线进行优化,消除串扰;然后再参考已有费用函数,提出了一个考虑了解决行对齐问题的新费用函数,得到了一个同时考虑行对齐和不一致网格问题来进行屏蔽线分配的最终解。本发明解决了基于电源/地网格的串扰消除的问题,同时实现了减少电路的延时的布线的优化。
Description
技术领域
集成电路计算机辅助设计(IC CAD)领域,尤其涉及标准单元(SC)总体布线领域。
背景技术
在集成电路(IC)设计中,物理设计是IC设计过程中主要的一环,也是其中最耗时的一步。与物理设计相关的计算机辅助设计技术称为布图设计。在布图设计中,总体布线是一个极为重要的环节,它的结果对最后详细布线的成功与否和芯片的性能影响极大。
集成电路的制造工艺目前正从超深亚微米(VDSM)进入到纳米(nanometer)阶段;集成电路的设计规模也正由超大规模(VLSI)、甚大规模(ULSI)向G大规模(GSI)方向发展;芯片的工作主频也已经达到1GHz乃至更高。在这种情况下,互连线之间的串扰,尤其是由耦合电感引起的串扰不可忽略。串扰将使电路不能正常工作,已经成为影响芯片性能的重要因素。目前技术发展的情况下,在总体布线时很有必要考虑布线结果中由耦合电感引起的串扰是否达到了影响电路功能和性能的程度,要研究消除这种串扰的总体布线方法。
在已报导和所能查阅到的国内外相关研究中,我们列举、分析、总结如下:
在消除串扰研究的早期,采用的方法一般都是在总体布线过程之后:(1)文献[K.Chaudhary,A.Oniozawa,E.S.Kuh.“A spacing algori thm for performance enhancementand crosstalk reduction”,in:Proc IEEE/ACM ICCAD,1993,pp.697.]中使用了加大相邻线网之间距离的简单方式来减小串扰;(2)第二类方法采用改变线网之间的相邻关系或者相对位置来减小串扰,文献[T.Gao,C.L.Liu.“Minimum crosstalk channel routing”,IEEE Trans CAD,1996,15(5):pp.465.]中的“通道交换”方法适用于有网格的详细布线,它通过调换线网的顺序,使原本相邻的线网不再相邻来减少串扰;文献[P.Saxena,C.L.Liu.“Crosstalk minimization using wire perturbations”,in:Proc ACM/IEEE DAC,NewOrleans,USA,1999,pp.100.]中的“线段扰动”方法适用于无网格的详细布线,它根据某个线段周围的布线情况计算出该线段的串扰最小位置,从而达到减小串扰的目的。以上这些方法在计算串扰时仅仅考虑了耦合电容,没有考虑耦合电感,且只能应用在详细布线之中。但在详细布线时线网的大致走线方式已经基本确定,优化范围有限,因此优化的效果受到影响。
后来,研究者们认为有必要在总体布线时就力求减小串扰,因此又提出了以下方法:(1)采用在总体布线后进行单独的串扰消除的方法。这类方法首先在不考虑串扰的情况下得出一个初始的总体布线解,然后对初始解进行单独的优化,从而减小串扰。文献[T.X.Xue,E.S.Kuh,D.S.Wang.“Post global routing crosstalk synthesis”,IEEE Trans CAD,1997,16(12):pp.1418.](未考虑耦合电感)和文献[J.J.Xiong,J.Chen,J.Ma,L.He.“Post global routing RLC crosstalk budgeting”,in:Proc IEEE/ACM ICCAD,San Jose,USA,2002,pp.-.](考虑了耦合电感)均采用了这类方法。这类方法相对简单,容易实现,但是在优化不易满足要求的时候,会出现反复的迭代。(2)采用在构造总体布线树的时候将串扰加入布线树费用函数中的方法。这类方法可以将减小串扰作为多个优化目标中的一个,在总体布线时进行统一考虑。文献[H.Zhou,D.F.Wong.“Global Routing with crosstalkconstraints”,IEEE Trans CAD,1999,18(11):pp.1683.](未考虑耦合电感)和文献[J.Ma,L.He.“Towards Global routing with RLC crosstalk constraints”,in:Proc ACM/IEEEDAC,New Orleans,USA,2002,pp.669.](考虑了耦合电感)均采用了这类方法。这类方法比(1)具有更小的盲目性,但是对于总体布线应用来说,时间复杂度过大。
除了上述各类减小串扰的方法以外,计算串扰的模型可以分为两种:(1)Sakurai模型。该模型在文献[T.Sakurai,C.Kobayashi,M.Node.“Simple expressions forinterconnecting delay,coupling and crosstalk in VLSI’s”,IEEE Trans ElectronDevices,1993,40(1):pp.118.]和文献[T.Sakurai,K.Tanaru.“Simple formulas fortwo and three dimensional capacitance”,IEEE Trans Electron Devices,1983,pp.183.]中被提出。该模型计算简单,但是没有考虑耦合电感,所以在目前技术发展的情况下不再适用。(2)LSK模型。该模型在文献[L.He,K.M.Lepak.“Simul taneous shield insertionand net ordering for capacitive and inductive coupling minimization”;in:Proc ACMISPD,San Diego,USA,2000,pp.56.]中提出。该模型适合估算连线之间的耦合电感,计算简单。
还有文献[已申请的国家发明专利:洪先龙,经彤,许静宇,张凌,胡昱.发明名称:标准单元总体布线过程中用的减少串扰的方法.申请日期:2003/05/01.申请号为:03124095.X.已于2004/02/04被公开。],是我们以前提出的消除串扰的方法。这种方法是在总体布线阶段以消除由耦合电容引起的串扰为目标,采用增加线间距的技术策略,与本发明的目的、方法不同。
该文献和我们在2001年的综述性文献[经彤,洪先龙,蔡懿慈,鲍海云,许静宇.性能驱动总体布线的关键技术及研究进展.软件学报.2001,12(5):677-688.]对于与串扰相关的研究工作进行了非常详细的分析、介绍。所有那些被提到的相关工作或者是基于印刷线路板(PCB)而不是基于IC芯片的、或者是研究串扰计算模型的、或者是串扰优化工作分别进行在详细布线之后或详细布线之中或总体布线之后等的布图阶段。而少数在总体布线过程之中进行串扰优化工作的也全部是在计算串扰时仅仅考虑了耦合电容,没有考虑耦合电感。并且它们不能同时实现消除串扰、减少电路时延、布线拥挤等优化工作。
还有文献[已申请的国家发明专利:洪先龙,经彤,张凌,许静宇,梁敬弘.发明名称:消除由耦合电感引起串扰的标准单元总体布线方法.申请日期:2004/04/20日.申请号为:200410009030.5],该发明的目的在于提出一种消除由耦合电感引起串扰的标准单元总体布线方法。该发明是首先利用现有技术产生总体布线的初始解,并对布线拥挤、电路时延进行优化;然后依照用户设定的串扰约束,根据本发明提出的方法对布线初始解进行串扰消除;再对新的布线解检查布线拥挤、电路时延等指标,进行迭代调整。
文献[Tong Jing,Ling Zhang,Jinghong Liang,Jingyu Xu,Xianlong Hong,JinjunXiong.Lei He.A Min-area Solution to Performance and RLC Crosstalk Driven GlobalRouting Problem.In:Proceedings of IEEE/ACM ASP-DAC,2005,Shanghai,China,115-120.]。该文献把串扰信息也作为一种权重,分配给每个总体布线图GRG边,可以在一定程度上减少串扰消除部分加入的屏蔽线shield(屏蔽线指由电源/地引出的导线,可以消除屏蔽线两侧线网边之间的串扰噪声。)数目,从而减少总面积。
以上工作并没有考虑实际布线中的电源/地网络问题,同时没有为下一步的详细布线提供指导。
本发明的串扰消除工作是在总体布线过程之中进行的,是以耦合电感引起的串扰为目标,考虑实际的电源/地网络和潜在的通孔最小化问题,同时实现了消除串扰、减少电路时延、布线拥挤等优化工作。所进行的优化工作比上述文献中的新颖、广泛、全面,解决了一些原来没有考虑的问题。
发明内容
本发明的目的在于提出了一种基于电源/地(P/G)网格和行的串扰驱动布线问题解决方案,同时考虑了可布通性和时间因素。本发明的总体思路是:首先利用现有技术产生总体布线的初始解,迭代总体布线进行优化,消除串扰;然后对得到的结果,考虑行问题,以解决行对齐问题;最后考虑不一致的网格问题,进行屏蔽线分配,得到最终解。
本发明的总体流程图如图2所示。
本发明的特征在于它依次包含如下步骤:
步骤1:向该计算机输入给定的考虑耦合电容的总体布线的初始解:GRG网格的行数和列数;线网数;源漏对数;每个源漏对在GRG网格上所经过的边的集合;每条GRG边上所经过的线网的集合;
其中源漏对是指,一个线网有一个源点和多个漏点,由这个源点和每个漏点分别构成的对;
步骤2:对当前的总体布线初始解进行不断迭代消除布线初始解中的串扰,在经过一定迭代次数或串扰现象没有减轻时,结束迭代,每一次迭代依次含有以下步骤:
步骤2A:读入总体布线的解和用户设定的串扰约束:所选用户设定的串扰约束规定了在所有线网漏点处允许的最大互感系数值;
步骤2B:分配串扰约束,以便把用户给出的漏点处的约束转化为相应线网在所经过的每个漏点的GRG边上的最大互感系数的约束,下面定义了一个加入串扰信息后的GRG边权wt来进行具体分配:
其中,ft为GRG边t的通道占用量,该通道占用量指GRG边的实际通过的线网数;ct为边t的通道容量,该通道容量指GRG边容许通过的最大线网数;δ为一个小实数,保证当ct为0时该定义仍有意义,nvt为该边上违反串扰约束(串扰约束指的是一条GRG边容许的最大串扰值,由总体布线时的输入给定;)的线网段个数;wt表示了边t的实际拥挤度;由于上式的定义引入了nvt,这使得GRG边上各个线网的串扰信息也成为权重的一部分,这样在总体布线时就能兼顾到串扰约束的因素;
在这个步骤结束后,每个线网在每个GRG边上都会得到一个串扰约束值wit,其中下标i为线网编号,t为GRG边的编号;
步骤2C:在每个GRG边上消除串扰,首先采用LSK模型来计算线网之间的互感系数,再用已知的禁忌搜索技术加入屏蔽线来寻找一个能够满足约束,并且面积最小的线网排列方案:
设定:在一个左右分别为屏蔽线L和屏蔽线R的区域内,有两个互相敏感的线网i和j,而i在j的左边;
则:线网i和j之间的互感系数kij为:
其中,
lLi为线网i到左侧屏蔽线L的距离,
lLj为线网j到左侧屏蔽线L的距离,
lRi为线网i到右侧屏蔽线R的距离,
接着,利用公知的禁忌搜索方法来产生一个串扰在约束范围内的线网排列顺序,其具体步骤依次表达如下:
步骤a):取当前GRG边上的线网顺序xcur为当前解,同时设定以下参数:
Na,在最优解xmin无改进的情况下算法的迭代次数,为正整数,取值在100到500之间,所述最优解是指曾经到达的费用函数最小的解;
Nb,在当前解邻域的合法候选解集中随机挑选候选解的个数,为正整数,取值在100到200之间,所述合法候选解集即邻域中未被禁忌的解的集合;
Nc,为了找到一个合法候选解而搜索的最大次数,Nc是用于控制当前领域中大部分的解;
解空间,为当前GRG边中线网集合可能构成的所有排列,其中某一种排列对应一个解x;
费用函数,评定某个解x优劣的定量标准,用cost(x)表示,费用函数值越大,则解的质量就越差:
cost(x)=w1c1+w2c2+w3c3+w4c4;
其中,
c1为该GRG边中与敏感线网相邻的线网总数;
c2为该GRG边上的屏蔽线数目;
c3为该GRG边中所有Keff大于Kth的线网求(Keff-Kth)的绝对值并取总和,所述Keff
为某个线网i在该GRG边上实际的互感系数,Kth为该线网i在该GRG边上所
分配到的互感系数约束值,c3的表达式如下:
∑(Keff-Kth)i,满足Keff>Kth
c4 i为该GRG边中满足Keff>Kth的线网的总的个数;
w1,w2,w3,w4为权重因子,为0到5的小实数;
禁忌,是指把费用函数值所设定的被禁忌的费用函数值相等的解记录在一个被称为禁忌表H的表内,使它们在搜索的过程中不能作为新解被选中;
禁忌长度T,是一个正整数,取值在1到60之间,表示一个解遭到禁忌后,在T次迭代内不能被选中,超过禁忌长度后,原本遭到禁忌的解可以重新参与挑选过程;
禁忌表H,记录被禁忌的解及其相应禁忌长度的列表,在完成一次迭代后,该表中所有被禁忌的解的禁忌长度都会减1,新的禁忌长度为零的被禁忌的解会被从禁忌表中删除,重新考虑挑选过程;
在设定以上参数及费用函数后,初始化禁忌表H,计数器a和c清空,初始化xmin=xcur;
步骤b):判断计数器a的迭代次数是否小于Na,若a的值不小于参数Na,则已经达到了迭代次数的上界,搜索结束;否则转步骤c);
步骤c):将tmpcost变量置为无穷大,清空计数器b,所述tmpcost是xtmp的费用函数,而tmpcost是从合法候选集中所能够找到的费用函数最小的解;
步骤d):判断计数器b的值是否小于数Nb,若b的值不小于参数Nb,则说明已经挑选过足够多的候选解,转步骤i),否则转步骤e);
步骤e):通过随机移动产生新解xnew,并判断其费用函数是否遭到禁忌,若没有遭禁忌,转步骤g),若遭到禁忌,转步骤f);
所述的随机移动即从当前解xcur的邻域中找到一个新解xnew的方法,包括随机调换两个线网的位置,其权重为w5;随机移动一个线网的位置,其权重为w6;随机插入一个屏蔽线,其权重为w7;随机删除一个屏蔽线,其权重为w8;满足w5+w6+w7+w8=1;所有权重值事先设定,每次随机操作时从这四种移动中选择一种;
步骤f):计数器c的值加1,并判断c的值是否小于参数Nc,Nc为正整数,取值在5到50之间;若c的值不小于Nc,说明已经达到了预定的搜索深度,不要再继续搜索,则将计数器c清空,并转步骤g),否则转步骤e),重新搜索一个合法候选解;
步骤g):判断新解xnew的费用函数cost(xnew)是否小于变量tmpcost,若是,则将xnew记录为xtmp,并将其费用记录为tmpcost,否则不做记录;
步骤h):计数器b的值加1,并转步骤d),重新寻找一个合法候选解;
步骤i):禁忌xnew的费用函数cost(xnew),并选取xtmp为当前解xcur,并比较xcur的费用函数cost(xcur)和最优解xmin的费用函数cost(xmin);若cost(xcur)小于cost(xmin),说明找到了新的最优解,则将xcur记录为xmin,同时清空计数器a;否则不作记录,计数器a的值加1;
步骤j):更新禁忌表H,即对所有被禁忌的费用函数,禁忌长度减1,禁忌长度减为零的则解除禁忌;禁忌长度的选取同样会影响到算法的结果和时间复杂度,其合理取值范围为1到60,同时转步骤b);
步骤3:利用随机优化策略的总体布线程序Gr(见文献[Tong Jing,Ling Zhang,Jinghong Liang,Jingyu Xu,Xianlong Hong,Jinjun Xiong,Lei He.A Min-area Solutionto Performance and RLC Crosstalk Driven Global Routing Problem.In:Proceedingsof IEEE/ACM ASP-DAC,2005,Shanghai,China,115-120.];)对由2得到的串扰最小的解进行布线并得到结果X1;这里的X1包括了SSTT技术(见文献[Tong Jing,Xian-Long Hong,Hai-Yun Bao,Jing-Yu Xu,Jun Gu.SSTT:Efficient Local Search for GSI Global Routing.J.of Computer Science and Technology(JCST),2003,18(5):632-639.];)中的三种不同优化策略,也同时考虑了时延的约束;
Gr包含以下步骤:
3.a.初始化总体布线参数;
3.b.读总体布线树初始解;
3.c.统计总的资源使用情况,以及关键路径情况;
4.c.进行一系列优化,以得到近似最优解,具体步骤如下:
4.c.a.重新计算当前解的拥挤度;
4.c.b.如果当前解可以接受,返回,否则进入4.c.c;
4.c.c.建立待优化线网数组tmpNets;
4.c.d.当优化循环小于给定的次数,或结束标志没来时:先将tmpNets中的线网顺序打乱;然后对每个线网:将该线网在GRG网格中占用的资源释放;重新计算那些用量有改变的的边的权重,也就是拥挤度;利用SSTT策略对该线网进行拆线重布;
随后,采用调换线网顺序同时插入屏蔽线shield的方法(不同线网在同一GRG边上的排列是有顺序的,它们之间的位置关系变化会改变GRG边的串扰值;而在它们之间插入屏蔽线会消除屏蔽线两侧线网之间的串扰;)消除X1中的串扰,并得到结果X2;
步骤4:得到基于行对齐原则的费用函数计算公式:
我们采用禁忌搜索算法来消除串扰噪声;但是我们考虑了行对齐问题;
所谓行对齐问题,是指同一线网的边,处在相邻GRG边上,但是不位于同样的通道,这可能在详细布线阶段造成更多的通孔;(通道指的是一条GRG边上通过的线网边,在实际布线过程中,所走的位置;如果两条线网边走的实际位置在同一水平或垂直位置,就说它们在同一通道上,这由总体布线阶段给出的顺序决定;图5给出了一个例子,图中上半部黑色的粗线代表两条相邻的水平GRG边,它们实际上都包含了多条通道,如图下半部所示;其中Netl代表1个线网,它分别经过了两条GRG边,在左边的GRG边上,它走的是第1条通道;而在右边的GRG边上,它走的是第3条通道;Netl的两条边不在同样的通道上,这样在实际布线中,就要打两个通孔来连接Netl的这两条边;)
对GRG边采用新的费用计算公式,如下:
cost′(x)=w1′c1+w2′c2+w3′c3+w4′c4+w9c9 (1)
其中w1′,w2′,w3′和w4′是权重,分别等于13,2,13和10;c1是敏感线网(凡是能够影响线网i上信号性能的其他线网,都称之为与线网i敏感;这些线网也就是线网i的敏感线网;)相邻的数目,c2是插入的屏蔽线个数,c3是违反串扰约束的值之和,c4是违反串扰约束的线网个数;w1′,w2′,w3′,w4′以及c1,c2,c3,c4的定义和第3步中提到的禁忌搜索中采用费用计算公式的定义相同,的和原有的公式相比,我们增加了w9和c9;w9是权重,等于15,c9=(1-p/q),p是同一线网相邻边在同一通道位置的边的个数,q是GRG边的容量(GRG边的容量指的是GRG边在实际走线时容许布的最大通道数);
步骤5:设定的水平方向屏蔽线长度下,解决在屏蔽线达不到设定长度时引发的网格不连续问题:
设定水平方向的屏蔽线长度等于3条GRG边的长度,在调整相邻的3条GRG边线网布线水平顺序时,依次含有以下步骤:
5.A.GRG的同一水平坐标的水平边按水平顺序,每3条GRG边分为一组,最后若不足3条,也归入同一组;
5.B.在同一组内,计算每一条GRG边含有的屏蔽线个数,将屏蔽线最多的GRG边定为关键边;接着,我们让其余2条GRG边上与关键边的屏蔽线在同一通道的线网边改为屏蔽线,将原有的线网边暂时移动到通道上还没有占用的位置上;
5.C.最后,我们调整非关键边中的线网顺序,使费用最小化;我们采用了公式(1)作为边的费用函数,并采用禁忌搜索算法,找到使费用最小的解。
实验证明,该方法在满足原有总体布线的串扰约束条件下,解决行对齐问题,并使屏蔽线分配更贴近实际要求,同时对布线结果的拥挤度和总线长没有明显影响,布线结果的时延也能够满足约束要求;具体的实验数据在随后给出。
我们采用表1中的测试电路,将本发明中的方法和最新的文献[T.Jing,L.Zhang,J.H.Liang,J.Y.Xu,X.L.Hong,J.J.Xiong,L.He.“A Min-Area Solution to Performanceand RLC Cros stalk Driven Global Routing Problem”,In:Proc.IEEE/ACM ASP-DAC,2005,Shanghai,China,pp.115-120.]中的方法分别实验并加以比较,可得到表3到表5的数据表格:
表1测试电路的基本参数
电路 | 线网数 | 网格 |
C2 | 745 | 9*11 |
C5 | 1764 | 16*18 |
C7 | 2536 | 16*18 |
S13207 | 4953 | 24*26 |
Avq | 21581 | 65*67 |
表2术语说明
AT-PO-GR | 最小化了布线面积总体布线算法 |
RB | 解决基于行问题的总体布线算法 |
IG | 考虑不连续网格问题的总体布线算法 |
表3
相邻边拥有相同线网边的数目的比较
电路 | AT-Po-GR | RB | IG |
C2 | 116 | 339 | 202 |
C5 | 361 | 413 | 654 |
C7 | 382 | 416 | 797 |
S13207 | 1382 | 2322 | 4770 |
Avq | 3207 | 5793 | 12513 |
Aver imp | 72.84% | 159.85% |
表4
线长的比较
电路 | AT-PO-GR | RB | IG |
C2 | 462204 | 465886 | 465886 |
C5 | 1320742 | 1327700 | 1327700 |
C7 | 1516366 | 1520446 | 1520446 |
S13207 | 9881044 | 9894684 | 9894684 |
Avq | 9899034 | 9873887 | 9873887 |
Aver imp | 0.29% | 0.29% |
表5
运行时间的比较
电路 | AT-PO-GR | RB | IG |
C2 | 87.21 | 70.44 | 98.08 |
C5 | 257.93 | 212.20 | 275.13 |
C7 | 331.25 | 279.21 | 345.41 |
S13207 | 2049.16 | 1436.15 | 1822.97 |
Avq | 6171.94 | 5612.33 | 6479.56 |
Aver imp | 18.33% | -3.47% |
表6
面积的比较
电路 | AT-PO-GR | RB | IG |
C2 | 168*204 | 174*203 | 175*203 |
C5 | 304*332 | 301*333 | 302*333 |
C7 | 342*365 | 360*377 | 364*377 |
S13207 | 1208*1410 | 1203*1420 | 1216*1420 |
Avq | 1216*1001 | 1215*1003 | 1223*1003 |
Aver imp | -2.30% | -3.08% |
我们比较表3中,相邻线网边位置相同的数目。表3显示与AT-PO-GR相比,RB得到了平均72.84%的改进,这表明我们的算法是有效的,减少了详细布线中潜在的行对齐和通孔数量。我们注意到IG得到了平均159.85%的改善,这是因为我们加入了空闲通道,使得线网的边更可能得到调整。
如表4所示,RB和IG的总线长与AT-PO-GR的几乎是一样的,这是因为我们的目标是最小化线长。
从表5中,我们看出RB的运行时间比AT-PO-GR的稍微短些,因为RB的面积增大了,我们在布线时,有更大的灵活性。IG的运行时间比RB的增加了大约20%,因为我们增加了一个长屏蔽线调整的阶段。
表6显示,RB的面积比AT-PO-GR增加了大约3%到8%。这是因为我们使用了新的费用函数,面积在费用中占的比重比以前更小。IG的面积比RB稍微大些,这是因为在某些情况下,由于长屏蔽线调整,GRG边的最大通道数目可能会增加。
附图说明
图1:LSK模型的示意图。
图2:本发明的总体流程图。
图3:本发明中使用的禁忌搜索方法的示意图。
图4:带P/G网的GRG。
图5:行对齐问题。
图6:一个局部的P/G网和GRG边。
图7:总体布线的初始解。
图8:迭代消除串扰之后的结果。
图9:采用调整顺序和插入屏蔽线之后的结果。
图10:得到基于行问题和不连续网格问题的结果
具体实施系统方式
为了实现,或者说是具体实施本项发明,我们给出以下关于发明实施的描述。
实施本发明的计算机系统:本发明所设计的总体布线软件要在一个具体的计算机系统上得以实施,该计算机系统具体描述如下。
一台Sun公司的Enterprise 450型工作站;
Unix操作系统;
标准C编程语言;
Vi编辑器、gcc编译器、gdb调试工具等。
如图所示,现在采用一个MCNC电路实例c2作为本发明的一个实施例,结合本发明的算法,进行布线处理,图4显示了一个带P/G的GRG,图6给出了一个局部的P/G网和GRG边,如下:有3条GRG边,边0,1和2。我们用褐色的线表示屏蔽线,黑线表示线网边,虚线表示空闲的边,因为P/G网提供的屏蔽线有3条GRG边那么长,我们应改进早先的布线结果以满足实际应用的需求。
1.利用现有技术得到的总体布线的初始解:
图7显示了该解,我们看到:GRG边0上经过的线网边有3条,分别为180、194和426;边1上经过的线网边有9条,分别为152、153、180、190、194、235、285、426和445;边2上经过的线网边有8条,分别为152、153、180、190、194、235、319、336和337。根据原有的GRG费用计算公式计算出3条边的费用分别是11、50.5和41.5。
2.对当前的布线解进行不断迭代消除布线初始解中的串扰,所得到的结果:
图8显示了该解,我们看到:GRG边0上经过的线网边为180、194和426。边1上经过的线网边为152、194、180、190、235、426、285、153和445;边2上经过的线网边为319、194、153、337、180、336、152和235。根据原有的GRG费用计算公式计算出3条边的费用分别是11、35和31。
3.利用总体布线程序Gr对由2得到的串扰最小的解进行布线并得到结果X1,采用调换线网顺序和插入shield的方法消除X1中的串扰,并得到结果X2,如下:
图9显示了该解,我们看到:GRG边0上经过的线网边为180、194和426。边1上经过的线网边为152、445、180、190、235、屏蔽线、426、285、153和194;边2上经过的线网边为319、194、337、153、屏蔽线、235、336、152和180。根据原有的GRG费用计算公式计算出3条边的费用分别是11、20.5和13.5。
4.得到基于行问题和不连续网格问题的结果:
图10显示了该解,我们看到:GRG边0上经过的线网边为180、屏蔽线、426和194;边1上经过的线网边为152、445、180、190、235、屏蔽线、426、285、153和194;边2上经过的线网边为152、337、180、235、屏蔽线、319、336、153和194。根据新的GRG费用计算公式计算出3条边的费用分别是3、20.5和12.4。
从图9中,我们看到,边0中的线网边只能在前3条通道内移动。但是在图10中,在长屏蔽线调整阶段,边0上的空闲边可以被利用,所以我们可以把线网边194移动到与边1同样的位置。这样,相邻边的同样通道数就增加了。
Claims (1)
1.基于电源/地网格与行对齐的消除串扰的总体布线方法,其特征在于,所述方法是在计算机中依次按以下步骤实施的:
步骤1:向该计算机输入给定的考虑耦合电容的总体布线的初始解:GRG网格的行数和列数;线网数;源漏对数;每个源漏对在GRG网格上所经过的边的集合;每条GRG边上所经过的线网的集合;
其中源漏对是指,一个线网有一个源点和多个漏点,由这个源点和每个漏点分别构成的对;
步骤2:对当前的总体布线初始解进行不断迭代消除布线初始解中的串扰,在经过一定迭代次数或串扰现象没有减轻时,结束迭代,每一次迭代依次含有以下步骤:
步骤2A:读入总体布线的解和用户设定的串扰约束:所选用户设定的串扰约束规定了在所有线网漏点处允许的最大互感系数值;
步骤2B:分配串扰约束,以便把用户给出的漏点处的约束转化为相应线网在所经过的每个漏点的GRG边上的最大互感系数的约束,下面定义了一个加入串扰信息后的GRG边权wt来进行具体分配:
其中,ft为GRG边t的通道占用量,该通道占用量指GRG边的实际通过的线网数;ct为边t的通道容量,该通道容量指GRG边容许通过的最大线网数;δ为一个小实数,保证当ct为0时该定义仍有意义,nvt为该边上违反串扰约束,串扰约束指的是一条GRG边容许的最大串扰值,由总体布线时的输入给定;的线网段个数;wt表示了边t的实际拥挤度;由于上式的定义引入了nvt,这使得GRG边上各个线网的串扰信息也成为权重的一部分,这样在总体布线时就能兼顾到串扰约束的因素;
在这个步骤结束后,每个线网在每个GRG边上都会得到一个串扰约束值wit,其中下标i为线网编号,t为GRG边的编号;
步骤2C:在每个GRG边上消除串扰,首先采用LSK模型来计算线网之间的互感系数,再用已知的禁忌搜索技术加入屏蔽线来寻找一个能够满足约束,并且面积最小的线网排列方案:
设定:在一个左右分别为屏蔽线L和屏蔽线R的区域内,有两个互相敏感的线网i和j,而i在j的左边;
则:线网i和j之间的互感系数kij为:
其中,
lLi为线网i到左侧屏蔽线L的距离,
lLj为线网j到左侧屏蔽线L的距离,
lRi为线网i到右侧屏蔽线R的距离,
lRj为线网j到右侧屏蔽线R的距离;同时,对于线网i,其实际的互感系数Keff为:
接着,利用公知的禁忌搜索方法来产生一个串扰在约束范围内的线网排列顺序,其具体步骤依次表达如下:
步骤a):取当前GRG边上的线网顺序xcur为当前解,同时设定以下参数:
Na,在最优解xmin无改进的情况下算法的迭代次数,为正整数,取值在100到500之间,所述最优解是指曾经到达的费用函数最小的解;
Nb,在当前解邻域的合法候选解集中随机挑选候选解的个数,为正整数,取值在100到200之间,所述合法候选解集即邻域中未被禁忌的解的集合;
Nc,为了找到一个合法候选解而搜索的最大次数,Nc是用于控制当前领域中大部分的解;
解空间,为当前GRG边中线网集合可能构成的所有排列,其中某一种排列对应一个解x;
费用函数,评定某个解x优劣的定量标准,用cost(x)表示,费用函数值越大,则解的质量就越差:
cost(x)=wici+w2c2+w3c3+w4c4;
其中,
c1为该GRG边中与敏感线网相邻的线网总数;
c2为该GRG边上的屏蔽线数目;
c3为该GRG边中所有Keff大于Kth的线网求Keff-Kth的绝对值并取总和,所述Keff为某个线网i在该GRG边上实际的互感系数,Kth为该线网i在该GRG边上所分配到的互感系数约束值,c3的表达式如下:
c4为该GRG边中满足Keff>Kth的线网的总的个数;
w1,w2,w3,w4为权重因子,为0到5的小实数;
禁忌,是指把费用函数值所设定的被禁忌的费用函数值相等的解记录在一个被称为禁忌表H的表内,使它们在搜索的过程中不能作为新解被选中;
禁忌长度T,是一个正整数,取值在1到60之间,表示一个解遭到禁忌后,在T次迭代内不能被选中,超过禁忌长度后,原本遭到禁忌的解可以重新参与挑选过程;
禁忌表H,记录被禁忌的解及其相应禁忌长度的列表,在完成一次迭代后,该表中所有被禁忌的解的禁忌长度都会减1,新的禁忌长度为零的被禁忌的解会被从禁忌表中删除,重新考虑挑选过程;
在设定以上参数及费用函数后,初始化禁忌表H,计数器a和c清空,初始化xmin=xcur;
步骤b):判断计数器a的迭代次数是否小于Na,若a的值不小于参数Na,则已经达到了迭代次数的上界,搜索结束;否则转步骤c);
步骤c):将tmpcost变量置为无穷大,清空计数器b,所述tmpcost是xtmp的费用函数,而tmpcost是从合法候选集中所能够找到的费用函数最小的解;
步骤d):判断计数器b的值是否小于数Nb,若b的值不小于参数Nb,则说明已经挑选过足够多的候选解,转步骤i),否则转步骤e);
步骤e):通过随机移动产生新解xnew,并判断其费用函数是否遭到禁忌,若没有遭禁忌,转步骤g),若遭到禁忌,转步骤f);
所述的随机移动即从当前解xcur的邻域中找到一个新解xnew的方法,包括随机调换两个线网的位置,其权重为w5;随机移动一个线网的位置,其权重为w6;随机插入一个屏蔽线,其权重为w7;随机删除一个屏蔽线,其权重为w8;满足w5+w6+w7+w8=1;所有权重值事先设定,每次随机操作时从这四种移动中选择一种;
步骤f):计数器c的值加1,并判断c的值是否小于参数Nc,Nc为正整数,取值在5到50之间;若c的值不小于Nc,说明已经达到了预定的搜索深度,不要再继续搜索,则将计数器c清空,并转步骤g),否则转步骤e),重新搜索一个合法候选解;
步骤g):判断新解xnew的费用函数cost(xnew)是否小于变量tmpcost,若是,则将xnew记录为xtmp,并将其费用记录为tmpcost,否则不做记录;
步骤h):计数器b的值加1,并转步骤d),重新寻找一个合法候选解;
步骤i):禁忌xnew的费用函数cost(xnew),并选取xtmp为当前解xcur,并比较xcur的费用函数cost(xcur)和最优解xmin的费用函数cost(xmin);若cost(xcur)小于cost(xmin),说明找到了新的最优解,则将xcur记录为xmin,同时清空计数器a;否则不作记录,计数器a的值加1;
步骤j):更新禁忌表H,即对所有被禁忌的费用函数,禁忌长度减1,禁忌长度减为零的则解除禁忌;禁忌长度的选取同样会影响到算法的结果和时间复杂度,其合理取值范围为1到60,同时转步骤b);
步骤3:利用性能和串扰驱动的最小化面积的总体布线程序Gr,对由步骤2得到的串扰最小的解进行布线并得到结果X1;
Gr包含以下步骤:
3.a.初始化总体布线参数;
3.b.读总体布线树初始解;
3.c.统计总的资源使用情况,以及关键路径情况;
4.c.进行一系列优化,以得到近似最优解,具体步骤如下:
4.c.a.重新计算当前解的拥挤度;
4.c.b.如果当前解可以接受,返回,否则进入4.c.c;
4.c.c.建立待优化线网数组tmpNets;
4.c.d.当优化循环小于给定的次数,或结束标志没来时:先将tmpNets中的线网顺序打乱;然后对每个线网:将该线网在GRG网格中占用的资源释放;重新计算那些用量有改变的的边的权重,也就是拥挤度;对该线网进行拆线重布;随后,由于不同线网在同一GRG边上的排列是有顺序的,它们之间的位置关系变化会改变GRG边的串扰值;而在它们之间插入屏蔽线会消除屏蔽线两侧线网之间的串扰;本发明采用调换线网顺序同时插入屏蔽线shield的方法,消除X1中的串扰,并得到结果X2;
步骤4:得到基于行对齐原则的费用函数计算公式:
我们采用禁忌搜索算法来消除串扰噪声;但是我们考虑了行对齐问题;
所谓行对齐问题,是指同一线网的边,处在相邻GRG边上,但是不位于同样的通道,这可能在详细布线阶段造成更多的通孔;
对GRG边采用新的费用计算公式,如下:
cost′(x)=w1′c1+w2′c2+w3′c3+w4′c4+w9c9
其中w1′,w2′,w3′和w4′是权重,分别等于13,2,13和10;c1是敏感线网,凡是能够影响线网i上信号性能的其他线网,都称之为与线网i敏感;这些线网也就是线网i的敏感线网;相邻的数目,c2是插入的屏蔽线个数,c3是违反串扰约束的值之和,c4是违反串扰约束的线网个数;w1′,w2′,w3′,w4′以及c1,c2,c3,c4的定义和第3步中提到的禁忌搜索中采用费用计算公式的定义相同,的和原有的公式相比,我们增加了w9和c9;w9是权重,等于15,c9=1-p/q,p是同一线网相邻边在同一通道位置的边的个数,q是GRG边的容量,GRG边的容量指的是GRG边在实际走线时容许布的最大通道数;
步骤5:设定的水平方向屏蔽线长度下,解决在屏蔽线达不到设定长度时引发的网格不连续问题:
设定水平方向的屏蔽线长度等于3条GRG边的长度,在调整相邻的3条GRG边线网布线水平顺序时,依次含有以下步骤:
5.A.GRG的同一水平坐标的水平边按水平顺序,每3条GRG边分为一组,最后若不足3条,也归入同一组;
5.B.在同一组内,计算每一条GRG边含有的屏蔽线个数,将屏蔽线最多的GRG边定为关键边;接着,我们让其余2条GRG边上与关键边的屏蔽线在同一通道的线网边改为屏蔽线,将原有的线网边暂时移动到通道上还没有占用的位置上;
5.C.最后,我们调整非关键边中的线网顺序,使费用最小化;我们采用了步骤4中基于行对齐原则的费用函数计算公式作为边的费用函数,并采用禁忌搜索算法,找到使费用最小的解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100863399A CN100386765C (zh) | 2005-09-02 | 2005-09-02 | 基于电源/地网格与行对齐的消除串扰的总体布线方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100863399A CN100386765C (zh) | 2005-09-02 | 2005-09-02 | 基于电源/地网格与行对齐的消除串扰的总体布线方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731406A true CN1731406A (zh) | 2006-02-08 |
CN100386765C CN100386765C (zh) | 2008-05-07 |
Family
ID=35963755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100863399A Expired - Fee Related CN100386765C (zh) | 2005-09-02 | 2005-09-02 | 基于电源/地网格与行对齐的消除串扰的总体布线方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100386765C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108627845A (zh) * | 2017-03-15 | 2018-10-09 | 信泰光学(深圳)有限公司 | 雷射驱动电路的电路布局 |
CN108649525A (zh) * | 2018-03-22 | 2018-10-12 | 帝奥微电子有限公司 | 防串扰电源保护电路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058256A (en) * | 1996-09-26 | 2000-05-02 | Lucent Technologies Inc. | Technique for effectively routing conduction paths in circuit layouts |
CN1271553C (zh) * | 2004-04-20 | 2006-08-23 | 清华大学 | 消除由耦合电感引起串扰的标准单元总体布线方法 |
-
2005
- 2005-09-02 CN CNB2005100863399A patent/CN100386765C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108627845A (zh) * | 2017-03-15 | 2018-10-09 | 信泰光学(深圳)有限公司 | 雷射驱动电路的电路布局 |
CN108649525A (zh) * | 2018-03-22 | 2018-10-12 | 帝奥微电子有限公司 | 防串扰电源保护电路 |
CN108649525B (zh) * | 2018-03-22 | 2024-01-16 | 江苏帝奥微电子股份有限公司 | 防串扰电源保护电路 |
Also Published As
Publication number | Publication date |
---|---|
CN100386765C (zh) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Adya et al. | Unification of partitioning, placement and floorplanning | |
CN1303558C (zh) | 校正串扰的方法 | |
Kim et al. | MAPLE: Multilevel adaptive placement for mixed-size designs | |
US8726207B2 (en) | On-the-fly device characterization from layouts of circuits | |
US8661374B2 (en) | Placement aware clock gate cloning and fanout optimization | |
CN1244066C (zh) | 串扰分析方法、利用串扰的电子线路装置的设计和制造方法、以及用于该目的的电子电路库的记录媒体 | |
CN1779686A (zh) | 确定缓冲器插入的方法和系统 | |
CN1881562A (zh) | 一种自动适应工艺特征尺寸的互连寄生电容提取方法 | |
CN1908931A (zh) | 一种文字的可变数据排版的方法 | |
CN1510737A (zh) | 模拟和射频集成电路的物理设计方法 | |
CN1523660A (zh) | 集成电路设计的双向技术系统 | |
CN1219269C (zh) | 标准单元总体布线过程中用的减少串扰的方法 | |
Huang et al. | Detailed-routability-driven analytical placement for mixed-size designs with technology and region constraints | |
CN1731406A (zh) | 基于电源/地网格与行对齐的消除串扰的总体布线方法 | |
CN1992967A (zh) | 一种码分多址无线网络候选基站位置的优选方法 | |
US20080307374A1 (en) | Method, system, and computer program product for mapping a logical design onto an integrated circuit with slack apportionment | |
CN1199243A (zh) | 模块合成装置及模块合成方法 | |
Vaishnav et al. | Minimizing the routing cost during logic extraction | |
CN113468847A (zh) | 一种基于非整数多倍行高单元的集成电路全局布局方法 | |
CN1271553C (zh) | 消除由耦合电感引起串扰的标准单元总体布线方法 | |
CN1300731C (zh) | 半导体集成电路及其设计方法 | |
Yang et al. | A standard-cell placement tool for designs with high row utilization | |
CN1662911A (zh) | 改变设计数据以制成组件之方法及其单元 | |
CN1760879A (zh) | 可编程核版图自动生成方法 | |
Ward et al. | Structure-aware placement techniques for designs with datapaths |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |