一种基于权重的平面布图规划方法

文档序号:6522799阅读:199来源:国知局
专利名称:一种基于权重的平面布图规划方法
技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及一种新的布图规划方法,尤其涉及一种基于权重的平面布局布图规划方法。
背景技术
随着集成电路工艺的飞速发展,集成电路的规模不断增大,IP复用已成为一种趋势,越来越多的IP被集成到同一块芯片上。同时伴随着集成电路的频率不断增大,关键路径上的时间延迟越来越重要。在这样的背景下,与关键路径上的时间延迟以及IP复用都密切相关的布图规划问题逐渐成为集成电路向更大规模,更高速度发展的瓶颈,极大的影响着集成电路的开发时间。布图规划(floorplan)作为超大规模集成电路的最初阶段对整个集成电路的设计有着非常大的影响。其主要原因是1)集成电路的规模越来越大,层次化设计与IP复用越来越多被采用以减少集成电路的开发时间,提高设计效率,因此对布图规划提出了新的要求。2)伴随着SOC(System on Chip片上系统)的出现,大量的RAM和ROM被集成在同一芯片中,而RAM和ROM的长度是可变的,因此布图规划问题更加复杂。3)同一芯片中集成了数字部分和模拟部分,布图规划需要考虑更多形状可变的模块,这也增大了布图规划的难度。现有的EDA(Electronic Design Automation电子设计自动化)工具布图规划的效果并不理想,大多数情况下需要手工调整,尤其当模块的数目比较多时,布图规划几乎全部由手工进行。而随着模块数目的不断增加,手工进行布图规划的难度也越来越大,甚至到了无法完成的程度。因此寻找更为合理的布图规划方法非常迫切。
已证明布图规划的一些子问题如二维平面填充问题是NP完全问题,随着规模的增大,解空间将以指数增长,因此大量的随机优化算法如模拟退火算法,遗传算法成为解决这一问题的很好的选择。
通常认为设计一种布局结果的表示方法是布图规划问题的核心,然后在该表示方法的基础上使用确定性方法或随机优化的方法进行不断优化以达到最终优化的目的。目前已有的表示方法有B*tree,O-tree,TCG(Transitive Closure Graph-Based),sequence pair,CBL(corner block list)等,并且新的表示方法还在不断被提出。
在基于以上的数据结构的布图规划的方法中,模拟退火算法被大量采用,几乎所有的基于模拟退火的布图规划方法在调整模块的位置时各个模块被选择的概率都是一样的。而事实上,不同模块由于其大小及较长边的长度不同,其位置的确定性是不一致的。本发明根据这一事实提出权重的概念并利用模拟退火算法在不同的温度下使各个模块以不同的概率被选择,以达到更好的优化效果。

发明内容
本发明的目的是提出一种优化效果好的超大规模集成电路布图规划方法。
超大规模集成电路布图规划问题描述如下给定一组由N个模块组成的集合B={b1,b2,...,bN},对bi∈B(i=0,1,...,N),有一组参数{hi,wi,ai}与其相对应,分别代表该模块的高度、宽度和面积,其中ai固定不变,τi=hi/wi可以在一定范围内变化,布图规划的目标是在使这些模块不相互重叠的前提下,使外包所有模块的最小矩形的面积最小,同时使模块间连线的总长度最短。
本发明提出的布图规划方法,针对上述布图规划问题,根据模块的位置与其面积和较长边的长度有关的特性,引入权重模型mi对于硬核,权重为mi=ai·max(wi,hi)]]>(i=0,1,...,N)对于软核,权重为mi=max(ai/τi,aiτi)·ai]]>(i=0,1,...,N)在该模型中,一个模块的权重的平方与其面积的平方根成正比,与较长边的长度成正比。
根据上述权重模型,计算出各模块的权重;然后按权重的降序对模块重新排列,最后采用模拟退火算法,完成布图规划。
本发明的优点是使模块位置调整的次数与模块的权重相关联,在不增加时间复杂度的基础上达到了更好的布图效果。


图1为对ami33只优化面积结果。
图2为ami49只优化面积结果。
具体实施例方式
根据本发明提出的权重模型,具体实施步骤如下(1)计算每个模块的权重,并将模块b0,b1,...,bN-1按其权重的降序重新排列,对应b0',b1',...,bN-1',即0≤mb0′≤mb1′≤···≤mbN-1′,]]>其分别对应数据结构中的node(0),node(1),...node(N-1)。如果使用sequence pair的表示方法,则直接使用排序后的模块即b0',b1',...,bN-1'。(2)将各个模块的权重规一化,得到0<m0mN-1≤m1mN-1≤,···,≤mN-1mN-1=1]]>(3)计算规一化后权重的均值和方差μ=1NΣi=0N-1mimN-1]]>σm2=1NΣi=0N-1(mimN-1-μ)2]]>由于后面需要用到规一化后的σm,所以我们首先计算σm2的最大值和最小值。很显然,当m0mN-1=m1mN-1=···=mN-1mN-1]]>时,σm2取到最小值0,下面我们求σm2的最大值。
σm2=1NΣi=0N-1(mimN-1-μ)2]]>=1N[Σi=0N-1(mimN-1)2-2μΣi=0N-1mimN-1+Nμ2]]]>=1N[Σi=0N-1(mimN-1)2-Nμ2]]]>≤1N[Σi=0N-1mimN-1-Nμ2]]]>=1N[Nμ-Nμ2]]]>=[μ-μ2]又因为μ-μ2-14=-(μ2-μ+14)=-(μ-12)2≤0]]>故σm2≤[μ-μ2]≤14]]>因此,我们取σ2=T/Tmax2σmN2]]>(0<k≤ 1)(4)构造初始布局,并用相应的数据结构如B*-tree、sequence pair(序列对)、O-tree等表不。
(5)采用模拟退火算法,其操作过程如下产生一个
[2],对MCNC标准电路的布图结果如图1-2和表1-5。包括对面积的优化、对线长的优化以及同时对面积和线长进行优化。其中线网长度的估计采用了外包该线网的最小矩形(bounding box)的半周长。
表1基于权重的布局规划结果(主要优化面积)

表2基于权重的布局规划结果(同时考虑面积和线长)

表3基于权重的布局规划结果(只优化线长)

表4B*-tree[1]and O-tree[4]的实验结果(只优化面积)

表5B*-tree[1]and O-tree[4]的实验结果(同时优化面积和线长)

参考文献[1]Yun-Chih Chang,Yao-Wen Chang Guang-Ming Wu,and Shu-Wei Wu B*-TreesA NewRepresentation for Non-Slicing Floorplans Proc.DAC pp458-463 2000[2]Hsun-Cheng Lee,Yao-Wen Chang,Jer-Ming Hsu,and Hannah H.Yang MultilevelFloorplanning/Placement for Large-Scale Modules Using B*-trees Proc.DAC pp812-817 2003[3]Pei-Ning Guo,Chung-Kuan Cheng,Takeshi Yoshimura An O-Tree Representation ofNon-Slicing Floorplan and Its Application Proc.DAC99 pp268-273[4]Pei-Ning Guo,Toshihiko Takahashi,Chung-Kuan Cheng,Takeshi Yoshimura FloorplanningUsing a Tree Representation IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OFINTEGRATED CIRCUITS AND SYSTEMS,VOL.20,NO.2,pp281-289 FEBRUARY 2001[5]H.Murata K.Fujiyoshi S.Nakatake and Y.Kajitani VLSI module placement based onrectangle-packing by the sequence-pair.IEEE TRANSACTIONS ON COMPUTER-AIDEDDESIGN OF INTEGRATED CIRCUITS AND SYSTEMS,VOL.15,NO.12 pp1518-1524,Dec1996[6]X.Hong et al.,“Corner block listAn effective and efficient topological representation ofnonslicing floorplan,”in Proc.ICCAD,2000,pp.8-12. Jai-Ming Lin and Yao-Wen Chang TCGA Transitive Closure Graph-Based Representationfor Non-Slicing Floorplans Proc.DAC 2001 pp764-769
权利要求
1.一种集成电路计算机辅助设计中的布图规划方法,其规划问题的描述如下给定一组由N个模块组成的集合B={b1,b2,...,bN},对bi∈B,有一组参数{hi,wi,ai}与其相对应,分别代表该模块的高度、宽度和面积,其中ai固定不变,τi=hi/wi可以在一定范围内变化,布图规划的目标是在使这些模块不相互重叠的前提下,使外包所有模块的最小矩形的面积最小,同时使模块间连线的总长度最短,其特征在于对模块引入权重模型mi对于硬核,权重为mi=ai·max(wi,hi)---(i=0,1,···,N)]]>对于软核,权重为mi=max(ai/τi,aiτi)·ai---(i=0,1,···,N)]]>根据该权重模型计算出各模块的权重,然后按照权重的降序,对模块重新排序,最后采用模拟退火算法完成布图规划。
2.根据权利要求1所述的布图规划方法,其特征在于具体步骤如下(1)计算每个模块的权重,并将模块按其权重降序排列,即0≤m0≤m1≤...≤mN-1,其分别对应相应数据结构中的node(0),node(1),...node(N-1);(2)将各个模块的权重规一化,得到0<m1mN≤m2mN≤,···,≤mNmN=1;]]>(3)计算规一化后权重的均值和方差μ=1NΣi=1NmimN]]>σm2=1NΣi=1N(mimN-μ)2]]>(4)构造初始布局,并用相应的数据结构表示;(5)采用模拟退火算法,其操作过程如下产生一个[0,N)之间服从N(0,σ2)的随机整数i,对应数据结构中的node(i),产生另一个服从[0,N)之间均匀分布的整数j,对应数据结构中的node(j),以概率对node(i)所对应的模块进行旋转、删除操作,对node(i)和node(j)进行交换、插入操作。
全文摘要
本发明属集成电路计算机辅助设计技术领域,具体为一种基于权重的平面布图规划方法。本发明根据不同模块由于其面积大小及较长边长度的不同,其位置确定性不一致的特性,引入了模块权重的概念和模型,然后根据权重的降序对模块重新排列,最后采用模拟退火算法完成布图规划。本发明可以在原有数据结构的基础上达到更好的优化效果,可广泛应用于集成电路计算机辅助设计中。
文档编号G06F17/50GK1702656SQ200510027079
公开日2005年11月30日 申请日期2005年6月23日 优先权日2005年6月23日
发明者赵长虹, 陈建, 周晓方, 周电 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1