CN1449017B - 基于模块变形的集成电路宏模块布局方法 - Google Patents

基于模块变形的集成电路宏模块布局方法 Download PDF

Info

Publication number
CN1449017B
CN1449017B CN 02103835 CN02103835A CN1449017B CN 1449017 B CN1449017 B CN 1449017B CN 02103835 CN02103835 CN 02103835 CN 02103835 A CN02103835 A CN 02103835A CN 1449017 B CN1449017 B CN 1449017B
Authority
CN
China
Prior art keywords
module
alpha
overbar
layout
coordinate
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.)
Expired - Fee Related
Application number
CN 02103835
Other languages
English (en)
Other versions
CN1449017A (zh
Inventor
董社勤
洪先龙
陈松
周硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 02103835 priority Critical patent/CN1449017B/zh
Publication of CN1449017A publication Critical patent/CN1449017A/zh
Application granted granted Critical
Publication of CN1449017B publication Critical patent/CN1449017B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种基于模块变形的集成电路宏模块布图规划和布局方法属于模块级布局的计算机辅助设计领域,其特征在于:它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解。在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题。它较迄今为止该领域的其它算法更为稳定、高效,且取得了目前最好的结果,而且具有工业应用价值。

Description

基于模块变形的集成电路宏模块布局方法
技术领域
基于模块变形的集成电路宏模块布局方法属于集成电路计算机辅助设计领域,尤其涉及BBL(Building Block Layout)领域。
背景技术
在集成电路的布局中,层次式布图设计,模块重用技术,知识产权模块的大量应用,片上系统尤其是数模混合片上系统的设计,以及模拟电路器件级布图问题等,这些问题都可以归结为集成电路宏模块的布图规划和布局问题,即Building Block Layout:BBL模式的布图问题,它已成为当前的研究热点。上述模块级的布局问题可以转化成一个大规模组合优化问题。该模块级的布局(BBL)可简单描述为:
设有一个n个矩形模块的集合,模块的高和宽均为给定的实数,并且模块具有一定的方向,n个模块的一个布局就是在模块互不重叠的情况下,将模块放置在平面上,平面上包含这n个模块的最小矩形区域被称为芯片。模块级布局就是寻找一个最优布局或近似最优布局,使得由芯片面积或者其它优化目标组成的目标函数值达到最优。
迄今为止有很多方法被应用于BBL布图模式,例如最小割方法、构造法、力向量法、分级设计方法、2D边界搜索方法、分支限界法、解析型算法、模拟退火算法和遗传算法、机器学习和神经网络算法等等。其中一些方法是由原先的标准单元布局方法借用而来。这些方法要么处理问题的规模非常有限,要么方法的稳定性很差。从得到的结果来看,与实际应用还有非常大的差距。
发明内容
本发明的目的在于提出一种较迄今为止该领域的其它算法更为稳定、高效,且取得了目前最好的结果的基于模块变形的集成电路宏模块布图规划与布局方法来作为解决宏模块布图问题的工业工具。
本发明的特征在于:
它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解。在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题。其中的步骤依次如下:
1)初始化
设置:
(1)近似因子的初始值α,在实际实施中取6;
(2)求解近似问题时局部搜索次数NOIMPUP;
(3)设置最终布局的目标宽长比及其权重;
(4)设置目标函数中总线长的权重。
2)从模块描述文件读入模块及线网信息:
(1)读入模块四角坐标,并根据模块四角坐标计算第i个模块的宽wi、高hi
(2)读入模块上引线端坐标,并将其转化为相对于模块左下角的坐标;
(3)按读入顺序给模块编号,并计算总模块数、各模块面积之和;
(4)按下列公式计算读入的所有模块(设为n个)的宽、高平均值;
w ‾ = 1 n Σ i w i
h ‾ = 1 n Σ i h i
其中:wi、hi分别为第i个模块的宽、高;
3)按照模块编号由小到大的顺序,从设定的起始位置沿网格由下向上,然后由左向右的顺序,依次安置模块到矩形网格,构造初始布局的拓扑结构即模块间的位置关系,并记为A;
4)计算布局问题的最优或近似最优解:
(1)根据近似因子α的值按下列公式之一计算模块在近似问题中的实际尺寸。
w i ( &alpha; ) = ( w &OverBar; / 10 pw + ( w i / 10 pw - w &OverBar; / 10 pw ) &alpha; ) &times; 10 pw , w i > w &OverBar; ( w &OverBar; / 10 pw - ( w &OverBar; / 1 0 pw - w i / 10 pw ) &alpha; ) &times; 10 pw , w i < w &OverBar; h i ( &alpha; ) = ( h &OverBar; / 10 ph + ( h i / 10 ph - h &OverBar; / 10 ph ) &alpha; ) &times; 10 ph , h i > h &OverBar; ( h &OverBar; / 10 ph - ( h &OverBar; / 10 ph - h i / 10 ph ) &alpha; ) &times; 10 ph , h i < h &OverBar;
其中:wi、hi分别为第i个模块的宽、高;
wi(α)、hi(α)分别为第i个模块在近似因子α下的实际的宽、高;
pw,ph为归一化参数,其取值满足
max ( w i ) i &Element; { 1 , . . . , n } / 10 pw &Element; ( 0,1 ] , max ( h i ) i &Element; { 1 , . . . , n } / 10 ph &Element; ( 0,1 ] ;
w i ( &alpha; ) = w i &alpha; h i ( &alpha; ) = h i &alpha; ,
w i ( &alpha; ) = w i 1 / &alpha; h i ( &alpha; ) = h i 1 / &alpha; ,
w i ( &alpha; ) = w &OverBar; + 1 &alpha; ( w i - w &OverBar; ) , w i &GreaterEqual; w &OverBar; w &OverBar; - 1 &alpha; ( w &OverBar; - w i ) , w i < w &OverBar; h i ( &alpha; ) = h &OverBar; + 1 &alpha; ( h i - h &OverBar; ) , h i &GreaterEqual; h &OverBar; h &OverBar; - 1 &alpha; ( h &OverBar; - h i ) , h i &le; h &OverBar;
(2)根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q,是指从左下角坐标顶点所在的网格开始,从右下角向左上角作一条对角线(135°对角线),依次从x方向右移一个网格,再从右下角向左上角作一条对角线,如此重复,一直做到右上角的网格为止;再从第一条对角线开始,依次两两连接对角线的左上角,且每条对角线只被连接一次;从第二条对角线开始依次两两连接对角线的右下角,且每条对角线只被连接一次。然后从左下角坐标顶点所在网格开始,沿连接对角线所形成的连线顺序依次计算各模块的右上角坐标,建立相应的布局;
(3)用下列公式根据当前各模块大小计算相应引线端相对该模块左下角顶点的坐标
( pin _ x j i ( &alpha; ) , pin _ y j i ( &alpha; ) ) ;
pin _ x j i ( &alpha; ) = pin _ x j i &times; w i ( &alpha; ) / w i pin _ y j i ( &alpha; ) = pin _ y j i &times; h i ( &alpha; ) / h i
其中:
Figure B02103835XD00034
是原问题中属于第i个模块的第j个引线端相对第i个模块左下角顶点的坐标;wi、hi:原问题中第i个模块的宽和高;
再用下述公式根据模块右上角坐标计算引线端在布局中的位置
( pin _ x j i ( &alpha; ) , pin _ y j i ( &alpha; ) ) ;
pin _ x j i ( &alpha; ) = x i - ( w i ( &alpha; ) - pin _ x j i ( &alpha; ) ) pin _ y i j ( &alpha; ) = y i - ( h i ( &alpha; ) - pin _ y j i ( &alpha; ) )
其中:xi,yi,为本布局中第i个模块的右上角坐标。
(4)根据下述公式计算各线网线长估计值,及总线长估计值,单个线网的线长根据线网中的引线端位置用半周长模型进行估计:
设某线网E有k个引线端p1(p_x1,p_y1),…,pk(p_xk,p_yk),括号内坐标为引线端在布局中的坐标;则:该线网的线长WireLength(E)用下述公式估计,
WireLength ( E ) = ( max i &Element; { 1 , . . . , k } ( p _ x i ) - min i &Element; { 1 , . . . , k } ( p _ x i ) ) + ( max i &Element; { 1 , . . . , k } ( p _ y i ) - min i &Element; { 1 , . . . , k } ( p _ y i ) )
总线长估计值为:
Figure B02103835XD00038
L为线网的个数;
(5)下列公式评价Q,得到目标函数值Cost;
CostQ=Area+λ×TotalWireLength+ω×Rs2
其中:Area为芯片面积
Area = max { x i } i &Element; [ 1 . . . n ] &times; max { y i } i &Element; [ 1 . . . n ]
TotalWireLength(总线长)为各线网估算长度之和;λ为总线长的权重,ω为芯片外框的宽长比的权重;
设R为期望的芯片宽长比,ration为芯片实际宽长比,即
Figure B02103835XD00042
则:芯片实际宽长比和期望宽长比的误差Rs可由下式定义:Rs=|R-max(ration,1/ration)|;
(6)运用局部搜索的方法,求取当前近似问题实例的局部最优解,即从循环变量R=O开始,当R<NOIMPUP时,重复如下6个步骤:
①.用下列方法从当前布局产生新的布局,把新的拓扑结构记为A1:a.交换两个模块的位置;b.把一个模块移动到另外一个位置;c.随机选择一个模块进行旋转,旋转角度通过随机函数选取为90°、180°或270°;d.随机选择一个模块进行翻转,翻转轴随机选为水平轴、垂直轴或模块对角线;
②.建立对应于拓扑结构A1的布局Q1,即计算各模块的右上角坐标,并计算芯片的宽长比;
③.根据当前各模块大小用上面已述的公式计算相应引线端相对相应模块左下角的坐标;并根据模块右上角坐标用上面已述公式计算引线端在新布局Q1中的位置;
④.根据上面已述公式计算各线网线长估计值,及总线长估计值;
⑤.用上面已述的目标函数公式计算Q1目标函数值CostQ1
⑥.若CostQ1<=CostQ则接受A1,令A=A1,Q=Q1,R=0,CostQ=CostQ1;若CostQ1>CostQ,则R=R+1;
5)输出当前布局Q。
6)用下述公式计算下一个近似问题的近似因子αd
&alpha; d = &alpha; d - 1 - 1 &alpha; d - 1 > 2 , d > 0 &alpha; d - 1 - 0.2 1.5 < &alpha; d - 1 = 2 , d > 0 &alpha; d - 1 - 0.1 1.1 < &alpha; d - 1 < = 1.5 , d > 0 &alpha; d - 1 - 0.02 1 < &alpha; d - 1 < = 1.1 , d > 0 6 d = 0
如果αd>=1,则以当前的拓扑结构A作为初始布局的拓扑结构,求解下一个近似问题;
7)如果αd<1,则输出的当前布局即为最终布局,即原问题实例的最终解。
步骤3)所述的构造初始布局的拓扑结构是指按照模块编号由小到大的顺序,从设定的起始位置沿网格由下向上,然后由左向右的顺序,依次安置模块到矩形网格的方法构造初始布局的拓扑结构。
所述的步骤4)中的(2),即根据模块间拓扑关系A,建立对应拓扑结构A的布局Q是指从左下角坐标顶点所在的网格开始,从右下向左上角作一条135°对角线,依次从x方向右移一个网格,再从右下向左上角作一条对角线,如此重复一直做到右上角的网格为止;再从第一条对角线开始,依次两两连接对角线的左上角,且每条对角线只被连接一次;从第二条对角线开始依次两两连接对角线的右下角,且每条对角线只被连接一次。然后从左下角坐标顶点所在网格开始,沿连接对角线所形成的连线顺序依次计算各模块右上角坐标,建立相应布局,在计算过程中,各模块左面和下面的模块的坐标都已经先期计算过;并计算芯片的宽长比。
所述步骤4)中的(6),即运用局部搜索算法求取当前近似问题实例的局部最优解,它包含有以下步骤:
从循环变量R=0开始,当R<NOIMPUP时,重复如下步骤:
1).用下列方法从当前布局产生新的布局,把新的拓扑结构记为A1
要改变布局的拓扑结构,用下列方法:
(1).交换两个模块的位置;
(2).把一个模块移动到另外一个位置;
要改变模块方向以有利于优化线长时,用下列方法:
(3).随机选择一个模块进行旋转,旋转角度通过随机函数选取为90°,或180°,或270°;
(4).随机选择一个模块进行翻转,翻转轴通过随机函数选取为水平轴,或垂直轴或模块对角线;
2).建立对应于拓扑结构A1的布局Q1,即计算各模块的右上角坐标,并计算芯片的宽长比;
3).根据当前各模块大小用上面已述的公式计算相应引线端相对相应模块左下角的坐标;并根据模块右上角坐标用上面已述公式计算引线端在新布局Q1中的位置。
4).根据上面已述公式计算各线网线长估计值,及总线长估计值;
5).用上面已述的目标函数公式计算Q1目标函数值CostQ1
6).如果CostQ1<=CostQ则接受A1,令A=Ai,Q=Q1,R=0,CostQ=CostQ1
如果CostQ1>CostQ,则R=R+1。
使用证明:它达到了预期的目的。
附图说明
图1:实施例1提出的4个模块的布局问题。
图2:构造图1所述实施例1的初始布局的拓扑结构的方法。
图3:图1所示的实施例1的4个模块的初始布局拓扑结构。
图4:计算得到的图1所示的实施例1的初始布局在近似问题中的实际尺寸。
图5:根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q的顺序示意图。
图6:根据实施例1当前拓扑结构A中各模块大小计算出的引线端在最终布局中的位置。
图7:通过把一个模块移动到另外一个位置的方法把图3所示的拓扑关系进行改变后得到的新的拓扑关系。
图8:本发明用到的局部搜索方法的程序流程图。
图9:求解实施例2提出的ami33.yal(国际标准测试用例)问题实例的主程序流程图。
图10:图10.0为构造的初始布局图;在实施过程中,当α从α=6递减至α=1,获得近似最优解过程中相应于不同的α值而得到的一系列近似问题的布局结果图。从图10.1-图10.16时,α值分别为:6.0、5.0、4.0、3.0、2.0、1.8、1.6、1.4、1.3、1.2、1.1、1.08、1.06、1.04、1.02、1.0。在图10.16中,保持图10.15的拓扑不变,恢复原始模块大小,计算相应的布局作为初始布局,求得原始问题的解。
具体实施方式
实施实例1:用以说明如何根据原问题构造初始拓扑结构及相应的布局,并计算出线长估计值。
设n个模块的布局问题:模块集合M={Mi(wi,hi)/i ∈[1..n]},(wi,hi)为模块Mi的宽和高;设共有m个引线端(位于模块边界),所有引线端集合 其中j为引线端标号,i为该引线端所属的模块编号,
Figure B02103835XD00063
Figure B02103835XD00064
相对于其所在第i个模块左下角的坐标;NET={pi,…,pk),…,(pj,…,p1)},位于同一个括号内的引线端属于同一个线网,也就是说同一括号内的引线端之间存在连接关系。在实施例1中,M={M1(6,3),M2(2,5),M3(4,5),M4(2,8)},PIN={p1 1(1,3),p2 1(2,0),p3 2(0,3),p4 2(2,1),p5 3(2,0),p6 3(4,3),p7 4(0,1),p8 4(2,4),p9 4(1,8)},其中p1 1,p2 1表示引线端p1、p2都属于模块1,后面括号内的数据是它们对模块1左下角顶点的坐标,其余类推;NET={(p1,p3,p9),(p2,p4,p8),(p5,p6,p7)}。接着用上面所述方法,按照模块编号由小到大的顺序,从模块M1开始,沿着网格由下向上,然后由左向右的顺序依次安置模块到矩形网格的方法构造初始布局的拓扑结构,如图2所示,并记为A。接着,求取当前近似问题最优解或近似最优解。首先根据给定的近似因子α的值和归一化参数pw,ph,即α=2,pw=10,ph=10,用公式:
w &OverBar; = 1 4 &Sigma; i w i
h &OverBar; = 1 4 &Sigma; i h i
计算各模块宽、高的平均值再用计算wi(α)、hi(α)的第一种可供选择的公式计算模块在近似问题中的实际尺寸,如图4所示。接着再按图5所示的顺序,计算模块右上角坐标,建立相应于拓扑关系A的布局Q并计算芯片的宽长比,其结果见图6。在计算每一个模块的右上角坐标时,该模块左面和下面的模块的坐标都是已被计算过的。各模块右上角坐标分别为:M1’(4.13,4.74),M2’(3.28,9.98),M3’(7.65,5.24),M4’(7.41,11.25),相应的布局如图6所示。接着,再用上面所述的公式根据当前模块的大小计算相应引线端相对于该模块左下角顶点的坐标,并根据模块右上角坐标计算引线端在该α值时在最终布局中的位置,请见图6。然后,再根据上面所述公式计算各线网线长估计值及总线长估计值,在图6所示的布局实例中,三个线网的估计值分别为:
L(p1,p3,p9)=(5.77-0)+(11.25-4.74)=12.28;
L(p2,p4,p8)=(7.41-1.38)+(8.24-0)=14.27;
L(p5,p6,p7)=(7.65-4.13)+(5.99-0)=9.51;
总线长估计值为:L=L(p1,p3,p9)+L(p2,p4,p8)+L(p5,p6,p7)=36.06
实施例2:用国际基准测试电路实例MCNC ami33.yal做实例结合图9用本发明的方法进行模块布局。图10中给出了求解过程中,所有近似问题的解。其初试布局见图10.0,对应的模块大小及坐标见表1。近似因子α=6的近似问题的最终布局中的模块坐标见表2。原始模块尺寸大小及最终布局坐标见表3。α=6的布局中部分模块的引线端坐标见表4。α=1时,部分模块的引线端坐标见表5。在本实施例中,计算了α=6的近似问题中模块的尺寸以及该近似问题的解中模块坐标及部分引线端坐标,当求解α=5的近似问题时,将保持图10.1的拓扑结构不变,计算相应的布局作为初始布局,再往下的求解过程从略,最终结果用表1,表5表示,它依次有以下步骤:
1.初始化
设置:
(1).近似因子的初始值α,在实际实施中取6;
(2).求解近似问题时局部搜索次数NOIMPUP;
(3).设置最终布局的目标宽长比及其权重;
(4).设置目标函数中总线长的权重。
2.以下步骤按图8、图9所示的流程图进行,具体结果见图10及表1-表5。
本发明提出的方法已如上所述,它有如下优点:
(1)用一系列近似问题逐渐逼近原问题,使得在求解原问题时可以获得一个较好的初始解;
(2)所采用的模块变形策略和近似因子控制策略在不降低效率的条件下能够产生相对其它随机优化方法更为稳定的解;
(3)调整模块变形策略和问题的近似策略,可以进一步改进原问题的解的质量。
(4)具有工业应用价值,可以用于集成电路设计过程中:包含知识产权模块的模块布局;分级设计中的模块布局。
表1:初始布局对应的模块大小及坐标,其中原始模块大小可参照表3。
表2:近似因子α=6的近似问题的最终布局中的模块宽度、高度和坐标。
表3:原始模块大小及原问题的最终布局坐标。
表4:对应于图10.1中α=6时部分模块的引线端坐标
表5:对应于图10.16中α=1时部分模块的引线端坐标。
表格1初始布局(α=6)对应的模块大小及坐标(原始模块大小可参照表格3)
Figure B02103835XD00081
表格2近似因子α=6的近似问题的最终布局中模块坐标。
Figure B02103835XD00091
表格3原始模块大小及最终布局坐标
表格4对应于图10.1的布局中部分模块的引线端坐标
m:模块编号
m_x、m_y:引线端相对于所属模块左下角的横坐标和纵坐标
x、y:引线端在近似问题的最终布局中的横坐标和纵坐标
Figure B02103835XD00111
表格5最终布局(图10.16)中部分模块的引线端坐标(标签说明同表4)

Claims (1)

1.基于模块变形的集成电路宏模块布局方法,包括模块变形策略,其特征在于:它以原问题为基础,通过改变模块大小和相应引线端位置即模块变形来生成一系列逐步逼近原问题的简单的布局问题,再逐步求解这一系列逼近原问题的简单布局问题获取原问题的解,在逐步逼近过程中,用近似因子α控制模块变形的程度,按照近似问题的近似程度递增的顺序即近似因子α递减的顺序,从最简单的近似问题开始,并把当前近似问题的解的结构即模块间位置关系作为下一个近似问题的初始解的结构,逐步求解这一系列近似问题,直到近似因子α为1时,各模块大小等于原始各模块大小,近似问题即为原问题,其中的步骤依次如下:
1)初始化
设置:
(1)近似因子的初始值α,在实际实施中取6;
(2)求解近似问题时局部搜索次数NOIMPUP;
(3)设置最终布局的目标宽长比及其权重;
(4)设置目标函数中总线长的权重;
2)从模块描述文件读入模块及线网信息:
(1)读入模块四角坐标,并根据模块四角坐标计算第i个模块的宽wi、高hi
(2)读入模块上引线端坐标,并将其转化为相对于模块左下角的坐标;
(3)按读入顺序给模块编号,并计算总模块数、各模块面积之和;
(4)按下列公式计算读入的所有模块(设为n个)的宽、高平均值;
w &OverBar; = 1 n &Sigma; i w i
h &OverBar; = 1 n &Sigma; i h i
其中:wi、hi分别为第i个模块的宽、高;
3)按照模块编号由小到大的顺序,从设定的起始位置沿网格由下向上,然后由左向右的顺序,依次安置模块到矩形网格,构造初始布局的拓扑结构即模块间的位置关系,并记为A;
4)计算布局问题的最优或近似最优解:
(1)根据近似因子α的值按下列公式之一计算模块在近似问题中的实际尺寸,
w i ( &alpha; ) = ( w &OverBar; / 10 pw + ( w i / 10 pw - w &OverBar; / 10 pw ) &alpha; ) &times; 10 pw , w i > w &OverBar; ( w &OverBar; / 10 pw - ( w &OverBar; / 1 0 pw - w i / 10 pw ) &alpha; ) &times; 10 pw , w i < w &OverBar; h i ( &alpha; ) = ( h &OverBar; / 10 ph + ( h i / 10 ph - h &OverBar; / 10 ph ) &alpha; ) &times; 10 ph , h i > h &OverBar; ( h &OverBar; / 10 ph - ( h &OverBar; / 10 ph - h i / 10 ph ) &alpha; ) &times; 10 ph , h i < h &OverBar;
其中:wi、hi分别为第i个模块的宽、高;
wi(α)、hi(α)分别为第i个模块在近似因子α下的实际的宽、高;
pw,ph为归一化参数,其取值满足
max ( w i ) i &Element; { 1 , . . . , n } / 10 pw &Element; ( 0,1 ] , max ( h i ) i &Element; { 1 , . . . , n } / 10 ph &Element; ( 0,1 ] ;
w i ( &alpha; ) = w i &alpha; h i ( &alpha; ) = h i &alpha; ,
w i ( &alpha; ) = w i 1 / &alpha; h i ( &alpha; ) = h i 1 / &alpha; ,
w i ( &alpha; ) = w &OverBar; + 1 &alpha; ( w i - w &OverBar; ) , w i &GreaterEqual; w &OverBar; w &OverBar; - 1 &alpha; ( w &OverBar; - w i ) , w i < w &OverBar; h i ( &alpha; ) = h &OverBar; + 1 &alpha; ( h i - h &OverBar; ) , h i &GreaterEqual; h &OverBar; h &OverBar; - 1 &alpha; ( h &OverBar; - h i ) , h i &le; h &OverBar;
(2)根据模块间拓扑关系A,建立对应于拓扑结构A的布局Q,是指从左下角坐标顶点所在的网格开始,从右下角向左上角作一条135°对角线,依次从x方向右移一个网格,再从右下角向左上角作一条对角线,如此重复,一直做到右上角的网格为止;再从第一条对角线开始,依次两两连接对角线的左上角,且每条对角线只被连接一次;从第二条对角线开始依次两两连接对角线的右下角,且每条对角线只被连接一次;然后从左下角坐标顶点所在网格开始,沿连接对角线所形成的连线顺序依次计算各模块的右上角坐标,建立相应的布局;
(3)用下列公式根据当前各模块大小计算相应引线端相对该模块左下角顶点的坐标
( pin _ x j i ( &alpha; ) , pin _ y j i ( &alpha; ) ) ;
pin _ x j i ( &alpha; ) = pin _ x j i &times; w i ( &alpha; ) / w i pin _ y j i ( &alpha; ) = pin _ y j i &times; h i ( &alpha; ) / h i
其中:
Figure F02103835XC00028
是原问题中属于第i个模块的第j个引线端相对第i个模块左下角顶点的坐标;wi、hi:原问题中第i个模块的宽和高;
再用下述公式根据模块右上角坐标计算引线端在布局中的位置
pin _ x j i ( &alpha; ) = x i - ( w i ( &alpha; ) - pin _ x j i ( &alpha; ) ) pin _ y i j ( &alpha; ) = y i - ( h i ( &alpha; ) - pin _ y j i ( &alpha; ) )
其中:xi,yi,为本布局中第i个模块的右上角坐标;
(4)根据下述公式计算各线网线长估计值,及总线长估计值,单个线网的线长根据线网中的引线端位置用半周长模型进行估计:
设某线网E有k个引线端p1(p_x1,p_y1),…,pk(p_xk,p_yk),括号内坐标为引线端在布局中的坐标;则:该线网的线长WireLength(E)用下述公式估计,
WireLength ( E ) = ( max i &Element; { 1 , . . . , k } ( p _ x i ) - min i &Element; { 1 , . . . , k } ( p _ x i ) ) + ( max i &Element; { 1 , . . . , k } ( p _ y i ) - min i &Element; { 1 , . . . , k } ( p _ y i ) )
总线长估计值为:
Figure F02103835XC000212
L为线网的个数;
(5)用下列公式评价Q,得到目标函数值CostQ
CostQ=Area+λ×TotalWireIength+ω×Rs2
其中:Area为芯片面积
Figure F02103835XC00031
TotalWireLength(总线长)为各线网估算长度之和;λ为总线长的权重,ω为芯片外框的宽长比的权重;
设R为期望的芯片宽长比,ration为芯片实际宽长比,即
Figure F02103835XC00032
则:芯片实际宽长比和期望宽长比的误差Rs可由下式定义:Rs=|R-max(ration,1/ration)|;
(6)运用局部搜索的方法,求取当前近似问题实例的局部最优解,即从循环变量R=0开始,当R<NOIMPUP时,重复如下6个步骤:
①.用下列方法从当前布局产生新的布局,把新的拓扑结构记为A1:a.交换两个模块的位置;b.把一个模块移动到另外一个位置;c.随机选择一个模块进行旋转,旋转角度通过随机函数选取为90°、180°或270°;d.随机选择一个模块进行翻转,翻转轴随机选为水平轴、垂直轴或模块对角线;
②.建立对应于拓扑结构A1的布局Q1,即计算各模块的右上角坐标,并计算芯片的宽长比;
③.根据当前各模块大小用上面已述的公式计算相应引线端相对相应模块左下角的坐标;并根据模块右上角坐标用上面已述公式计算引线端在新布局Q1中的位置;
④.根据上面已述公式计算各线网线长估计值,及总线长估计值;
⑤.用上面已述的目标函数公式计算Q1目标函数值CostQ1
⑥.若CostQ1<=CostQ则接受A1,令A=A1,Q=Q1,R=0,CostQ=CostQ1;若CostQ1>CostQ,则R=R+1;
5)输出当前布局Q;
6)用下述公式计算下一个近似问题的近似因子αd
&alpha; d = &alpha; d - 1 - 1 &alpha; d - 1 > 2 , d > 0 &alpha; d - 1 - 0.2 1.5 < &alpha; d - 1 = 2 , d > 0 &alpha; d - 1 - 0.1 1.1 < &alpha; d - 1 < = 1.5 , d > 0 &alpha; d - 1 - 0.02 1 < &alpha; d - 1 < = 1.1 , d > 0 6 d = 0
如果αd>=1,则以当前的拓扑结构A作为初始布局的拓扑结构,求解下一个近似问题;
7)如果αd<1,则输出的当前布局即为最终布局,即原问题实例的最终解。
CN 02103835 2002-03-29 2002-03-29 基于模块变形的集成电路宏模块布局方法 Expired - Fee Related CN1449017B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02103835 CN1449017B (zh) 2002-03-29 2002-03-29 基于模块变形的集成电路宏模块布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02103835 CN1449017B (zh) 2002-03-29 2002-03-29 基于模块变形的集成电路宏模块布局方法

Publications (2)

Publication Number Publication Date
CN1449017A CN1449017A (zh) 2003-10-15
CN1449017B true CN1449017B (zh) 2010-10-06

Family

ID=28680024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02103835 Expired - Fee Related CN1449017B (zh) 2002-03-29 2002-03-29 基于模块变形的集成电路宏模块布局方法

Country Status (1)

Country Link
CN (1) CN1449017B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817936B2 (en) * 2014-12-15 2017-11-14 Mediatek Inc. Methods for minimizing layout area of IC
CN109684745B (zh) * 2018-12-27 2020-04-07 北京华大九天软件有限公司 基于最小宽度约束的6t&6tppnn单元布局方法
CN113268946B (zh) * 2021-06-09 2021-10-15 广东工业大学 一种基于连线总和最小的芯片布局方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0405975A2 (en) * 1989-06-28 1991-01-02 Kawasaki Steel Corporation Method of and apparatus for designing circuit block layout in integrated circuit
US5331572A (en) * 1991-04-26 1994-07-19 Nec Corporation Integrated circuit and layout system therefor
US5646422A (en) * 1990-08-31 1997-07-08 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device
CN1216859A (zh) * 1997-11-04 1999-05-19 日本电气株式会社 半导体装置中的布线图形的自动配置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0405975A2 (en) * 1989-06-28 1991-01-02 Kawasaki Steel Corporation Method of and apparatus for designing circuit block layout in integrated circuit
US5646422A (en) * 1990-08-31 1997-07-08 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device
US5331572A (en) * 1991-04-26 1994-07-19 Nec Corporation Integrated circuit and layout system therefor
CN1216859A (zh) * 1997-11-04 1999-05-19 日本电气株式会社 半导体装置中的布线图形的自动配置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EP 0405975 A2,全文.

Also Published As

Publication number Publication date
CN1449017A (zh) 2003-10-15

Similar Documents

Publication Publication Date Title
Trotts et al. Simplification of tetrahedral meshes with error bounds
Pothen Graph partitioning algorithms with applications to scientific computing
Vermeulen et al. Urban layout optimization framework to maximize direct solar irradiation
WO2000065489A1 (en) Subgrid detailed routing
CN106981097A (zh) 一种基于分区局部光顺权因子的t样条曲面拟合方法
CN115859899B (zh) 一种多驱动能力的集成电路标准单元版图迁移的方法
CN107452058A (zh) 基于特征保留的仿真模型分程度简化方法生成及系统
CN104574517B (zh) 三维模型的边界面网格单元的处理方法和装置
CN102323960A (zh) 考虑重叠度和线长的布局模块分布密度平滑方法
CN109684731A (zh) 一种高效的详细布线驱动轨道分配算法
US20020144231A1 (en) Hexahedral mesh generation method and device
CN112148774A (zh) 一种高分辨率空间多区域气象数据处理系统及方法
CN1449017B (zh) 基于模块变形的集成电路宏模块布局方法
CN109980639B (zh) 互联电网联络线功率可行域的快速确定方法
CN102663152B (zh) 一种异型蜂窝蒙皮结构的有限元建模方法
CN107066644A (zh) 一种异形吊顶自动造型方法
CN101373492A (zh) 三维芯片热通孔和性能优化的空白区重分配方法
CN103714211B (zh) 基于移动模式序列与多智能体粒子群的集成电路布图方法
CN110162903B (zh) 一种基于格网并行的城市建筑迎风面密度计算方法及系统
CN104535040A (zh) 用于叶片的有限元单元划分方法和叶片的检测方法
CN1272736C (zh) 基于模块变形和概率局部搜索的集成电路模块级布局方法
CN116051771A (zh) 一种基于无人机倾斜摄影模型的光伏bim屋顶自动建模方法
CN110880751B (zh) 互联电网联络线功率可行域的扩大方法
CN115146408A (zh) 一种基于三叉元结构的机床结构件正向设计方法
CN105956937A (zh) 电力系统小干扰稳定分析的数据中心求解方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101006

Termination date: 20120329