CN1702656A - 一种基于权重的平面布图规划方法 - Google Patents

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

Info

Publication number
CN1702656A
CN1702656A CN 200510027079 CN200510027079A CN1702656A CN 1702656 A CN1702656 A CN 1702656A CN 200510027079 CN200510027079 CN 200510027079 CN 200510027079 A CN200510027079 A CN 200510027079A CN 1702656 A CN1702656 A CN 1702656A
Authority
CN
China
Prior art keywords
weight
module
centerdot
node
sigma
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.)
Pending
Application number
CN 200510027079
Other languages
English (en)
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.)
Fudan University
Original Assignee
Fudan 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 Fudan University filed Critical Fudan University
Priority to CN 200510027079 priority Critical patent/CN1702656A/zh
Publication of CN1702656A publication Critical patent/CN1702656A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明属集成电路计算机辅助设计技术领域,具体为一种基于权重的平面布图规划方法。本发明根据不同模块由于其面积大小及较长边长度的不同,其位置确定性不一致的特性,引入了模块权重的概念和模型,然后根据权重的降序对模块重新排列,最后采用模拟退火算法完成布图规划。本发明可以在原有数据结构的基础上达到更好的优化效果,可广泛应用于集成电路计算机辅助设计中。

Description

一种基于权重的平面布图规划方法
技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及一种新的布图规划方法,尤其涉及一种基于权重的平面布局布图规划方法。
背景技术
随着集成电路工艺的飞速发展,集成电路的规模不断增大,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
对于硬核,权重为:
m i = a i · max ( w i , h i ) (i=0,1,...,N)
对于软核,权重为:
m i = max ( a i / τ i , a i τ i ) · a i (i=0,1,...,N)
在该模型中,一个模块的权重的平方与其面积的平方根成正比,与较长边的长度成正比。
根据上述权重模型,计算出各模块的权重;然后按权重的降序对模块重新排列,最后采用模拟退火算法,完成布图规划。
本发明的优点是使模块位置调整的次数与模块的权重相关联,在不增加时间复杂度的基础上达到了更好的布图效果。
附图说明
图1为对ami33只优化面积结果。
图2为ami49只优化面积结果。
具体实施方式
根据本发明提出的权重模型,具体实施步骤如下:
(1)计算每个模块的权重,并将模块b0,b1,...,bN-1按其权重的降序重新排列,对应b0',b1',...,bN-1',即: 0 &le; m b 0 &prime; &le; m b 1 &prime; &le; &CenterDot; &CenterDot; &CenterDot; &le; m b N - 1 &prime; , 其分别对应数据结构中的node(0),node(1),...node(N-1)。如果使用sequence pair的表示方法,则直接使用排序后的模块即b0',b1',...,bN-1'。(2)将各个模块的权重规一化,得到 0 < m 0 m N - 1 &le; m 1 m N - 1 &le; , &CenterDot; &CenterDot; &CenterDot; , &le; m N - 1 m N - 1 = 1 (3)计算规一化后权重的均值和方差:
&mu; = 1 N &Sigma; i = 0 N - 1 m i m N - 1
&sigma; m 2 = 1 N &Sigma; i = 0 N - 1 ( m i m N - 1 - &mu; ) 2
由于后面需要用到规一化后的σm,所以我们首先计算σm 2的最大值和最小值。很显然,当 m 0 m N - 1 = m 1 m N - 1 = &CenterDot; &CenterDot; &CenterDot; = m N - 1 m N - 1 时,σm 2取到最小值0,下面我们求σm 2的最大值。
&sigma; m 2 = 1 N &Sigma; i = 0 N - 1 ( m i m N - 1 - &mu; ) 2
= 1 N [ &Sigma; i = 0 N - 1 ( m i m N - 1 ) 2 - 2 &mu; &Sigma; i = 0 N - 1 m i m N - 1 + N&mu; 2 ]
= 1 N [ &Sigma; i = 0 N - 1 ( m i m N - 1 ) 2 - N&mu; 2 ]
&le; 1 N [ &Sigma; i = 0 N - 1 m i m N - 1 - N&mu; 2 ]
= 1 N [ N&mu; - N &mu; 2 ]
=[μ-μ2]
又因为
&mu; - &mu; 2 - 1 4 = - ( &mu; 2 - &mu; + 1 4 ) = - ( &mu; - 1 2 ) 2 &le; 0 &sigma; m 2 &le; [ &mu; - &mu; 2 ] &le; 1 4
因此,我们取
&sigma; 2 = T / T max 2 &sigma; m N 2 (0<k≤ 1)
(4)构造初始布局,并用相应的数据结构如B*-tree、sequence pair(序列对)、O-tree等表不。
(5)采用模拟退火算法,其操作过程如下:
产生一个[0,N)之间服从N(0,σ2)的随机整数i,对应相应的数据结构中的node(i),产生另一个服从[0,N)之间均匀分布的整数j,对应相应数据结构中的node(j),以概率对node(i)所对应的模块进行旋转、删除操作,对node(i)和node(j)进行交换、插入操作。基于权重的布图规划方法的伪代码如下:AlgorithmInitialize placementsort all modules by their weight in decreasing orderbeginWhile(T>term_T)dotimes=0;While(times<local_times)doProduce a random numbers x in(0,N)with Gauss distribution N(0,σ2)Let n=(int)x,Produce a random number y in(0,N)with uniform distributionLet p=(int)yIf(rand(0,1)<rotate_ratio)TENT-ROTATE module bnElse if(rand(0,1)<swap_ratio)TENT-EXCHGE(bn,bp)ElseDelete block n and insert block n to the child of block pAdjust the whole placement to an admissible placement.Δcost=cost(new_place)-cost(place)if(Δcost>0)place=new_placeelse if(rand(0,1)>e-Δcost/T)place=new_placetimes=times+1 odT=SCHEDULE(T)odend
实验结果
对于本发明提出的基于权重的布图规划方法,使用了数据结构B*-tree[1][2],对MCNC标准电路的布图结果如图1-2和表1-5。包括对面积的优化、对线长的优化以及同时对面积和线长进行优化。其中线网长度的估计采用了外包该线网的最小矩形(bounding box)的半周长。
表1:基于权重的布局规划结果(主要优化面积)
  电路                     芯片面积(mm2)/连线总长度(mm)(最优/最差/平均)
  ami33   1.18776/114.608   1.20658/111.655   1.19779/111.127
  ami49   36.5313/1865.36   37.8378/2020.68   37.0466/1841.47
  apte   46.9248/1369.48   48.0599/618.87   47.3173/805.553
  xerox   19.9883/846.034   21.2409/807.45   20.4557/819.027
  hp   9.11282/223.508   9.64849/247.562   9.30692/257.654
表2:基于权重的布局规划结果(同时考虑面积和线长)
  电路                         芯片面积(mm2)/连线总长度(mm)(面积最优/面积最差/平均)
  ami33   1.25332/59.518   1.34211/53.714   1.29108/58.3715
  ami49   39.7845/913.092   41.7033/864.284   40.7699/914.303
  apte   47.3133/513.036   52.2655/539.686   49.7974/500.442
  xerox   20.3513/632.275   22.3339/585.06   21.2499/540.248
  hp   9.20808/188.872   10.2224/177.172   9.72803/178.343
表3:基于权重的布局规划结果(只优化线长)
  电路                        连线总长度(mm)/芯片面积(mm2)(最优/最差/平均)
  ami33   46.409/1.44727   50.353/1.5114   48.6423/1.47324
  ami49   724.13/42.8154   809.803/50.822   770.707/48.423
  apte   403.656/54.976   485.997/58.173   450.823/54.846
  xerox   373.449/23.8407   574.042/22.9158   500.689/25.4501
  hp   157,669/10.3559   187.624/13.9238   171.784/11.6008
表4:B*-tree[1]and O-tree[4]的实验结果(只优化面积)
  电路             芯片面积(mm2)/连线总长度(mm)
  B*-tree[1]                O-tree[4]
  最优   平均
  ami33   1.27/NA   1.25/61.1   1.32/87.4
  ami49   36.80/NA   38.60/819   39.9/1375
  apte   46.92/NA   47.76/343   50.6/544
  xerox   19.83/NA   20.1/444   21.4/702
  hp   8.95/NA   9.21/162   9.97/226
表5:B*-tree[1]and O-tree[4]的实验结果(同时优化面积和线长)
  电路               芯片面积(mm2)/连线总长度(mm)
  B*-tree[1]                O-tree[4]
  最优   平均
  ami33   NA   1.26/51.6   1.34/59.8
  ami49   NA   39.1/671   42.0/777
  apte   NA   47.6/317   53.2/370
  xerox   NA   20.4/367   22.4/447
  hp   NA   9.21/153   10.5/167
参考文献:
[1]Yun-Chih Chang,Yao-Wen Chang Guang-Ming Wu,and Shu-Wei Wu B*-Trees:A 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 list:An effective and efficient topological representation ofnonslicing floorplan,”in Proc.ICCAD,2000,pp.8-12.
[7]Jai-Ming Lin and Yao-Wen Chang TCG:A Transitive Closure Graph-Based Representationfor Non-Slicing Floorplans Proc.DAC 2001 pp764-769

Claims (2)

1、一种集成电路计算机辅助设计中的布图规划方法,其规划问题的描述如下:
给定一组由N个模块组成的集合B={b1,b2,...,bN},对bi∈B,有一组参数{hi,wi,ai}与其相对应,分别代表该模块的高度、宽度和面积,其中ai固定不变,τi=hi/wi可以在一定范围内变化,布图规划的目标是在使这些模块不相互重叠的前提下,使外包所有模块的最小矩形的面积最小,同时使模块间连线的总长度最短,
其特征在于对模块引入权重模型mi
对于硬核,权重为:
m i = a i &CenterDot; max ( w i , h i ) - - - ( i = 0,1 , &CenterDot; &CenterDot; &CenterDot; , N )
对于软核,权重为
m i = max ( a i / &tau; i , a i &tau; i ) &CenterDot; a i - - - ( i = 0,1 , &CenterDot; &CenterDot; &CenterDot; , N )
根据该权重模型计算出各模块的权重,然后按照权重的降序,对模块重新排序,最后采用模拟退火算法完成布图规划。
2、根据权利要求1所述的布图规划方法,其特征在于具体步骤如下:
(1)计算每个模块的权重,并将模块按其权重降序排列,即0≤m0≤m1≤...≤mN-1,其分别对应相应数据结构中的node(0),node(1),...node(N-1);
(2)将各个模块的权重规一化,得到 0 < m 1 m N &le; m 2 m N &le; , &CenterDot; &CenterDot; &CenterDot; , &le; m N m N = 1 ;
(3)计算规一化后权重的均值和方差:
&mu; = 1 N &Sigma; i = 1 N m i m N
&sigma; m 2 = 1 N &Sigma; i = 1 N ( m i m N - &mu; ) 2
(4)构造初始布局,并用相应的数据结构表示;
(5)采用模拟退火算法,其操作过程如下:
产生一个[0,N)之间服从N(0,σ2)的随机整数i,对应数据结构中的node(i),产生另一个服从[0,N)之间均匀分布的整数j,对应数据结构中的node(j),以概率对node(i)所对应的模块进行旋转、删除操作,对node(i)和node(j)进行交换、插入操作。
CN 200510027079 2005-06-23 2005-06-23 一种基于权重的平面布图规划方法 Pending CN1702656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510027079 CN1702656A (zh) 2005-06-23 2005-06-23 一种基于权重的平面布图规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510027079 CN1702656A (zh) 2005-06-23 2005-06-23 一种基于权重的平面布图规划方法

Publications (1)

Publication Number Publication Date
CN1702656A true CN1702656A (zh) 2005-11-30

Family

ID=35632400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510027079 Pending CN1702656A (zh) 2005-06-23 2005-06-23 一种基于权重的平面布图规划方法

Country Status (1)

Country Link
CN (1) CN1702656A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100517386C (zh) * 2007-02-02 2009-07-22 中国科学院软件研究所 基于模拟退火算法的多观察点设置方法
CN1804849B (zh) * 2006-01-19 2010-05-12 复旦大学 多时钟系统的平面布图规划方法
CN101377530B (zh) * 2007-08-31 2011-02-02 上海华虹Nec电子有限公司 半导体器件测试图形交互式布局的方法
CN101763453B (zh) * 2010-01-22 2011-11-23 工业和信息化部软件与集成电路促进中心 规范化ip核评测方法和系统
CN101201382B (zh) * 2006-12-11 2012-04-18 上海华虹Nec电子有限公司 生成器件测试图形的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1804849B (zh) * 2006-01-19 2010-05-12 复旦大学 多时钟系统的平面布图规划方法
CN101201382B (zh) * 2006-12-11 2012-04-18 上海华虹Nec电子有限公司 生成器件测试图形的方法
CN100517386C (zh) * 2007-02-02 2009-07-22 中国科学院软件研究所 基于模拟退火算法的多观察点设置方法
CN101377530B (zh) * 2007-08-31 2011-02-02 上海华虹Nec电子有限公司 半导体器件测试图形交互式布局的方法
CN101763453B (zh) * 2010-01-22 2011-11-23 工业和信息化部软件与集成电路促进中心 规范化ip核评测方法和系统

Similar Documents

Publication Publication Date Title
Bode et al. The tree particle-mesh N-body gravity solver
CN104063903B (zh) 三维实体模型的四面体网格生成方法和装置
CN110348134A (zh) 一种精细金属掩膜板的设计方法及装置
CN1539114A (zh) 用于在分层集成电路设计系统中产生模块的设计约束的方法
CN107491341A (zh) 一种基于粒子群优化的虚拟机分配方法
CN1702656A (zh) 一种基于权重的平面布图规划方法
CN110797071B (zh) 一种多子块nand闪存缺陷的修复方法
CN108846169B (zh) 基于最小植入区域约束的混合高度单元布局设计方法
CN106227599A (zh) 一种云计算系统中资源调度的方法及系统
CN110390360A (zh) 基于遗传算法的矩形块排样顺序确定方法和装置
CN101339619B (zh) 用于模式分类的动态特征选择方法
Hababeh et al. A high-performance computing method for data allocation in distributed database systems
CN103353916A (zh) 基于工程的复合材料层合板铺层优化后处理方法
CN109684745B (zh) 基于最小宽度约束的6t&amp;6tppnn单元布局方法
CN103714384B (zh) 基于移动模式序列与遗传禁忌的集成电路的布图方法
CN108764741A (zh) 用于确定工厂设定区域内的生产设备布局的方法及装置
CN113343632B (zh) 一种考虑进位链和位置约束的异质型布局合法化方法
Emmert et al. A methodology for fast FPGA floorplanning
US6574783B1 (en) IC chip planning method based on dynamic parallel genetic algorithm and speckle model
Wang Critical dynamics of the Swendsen-Wang algorithm in the three-dimensional Ising model
Bailey et al. Analysis of massively parallel discrete-ordinates transport sweep algorithms with collisions
CN103714211B (zh) 基于移动模式序列与多智能体粒子群的集成电路布图方法
CN106934485A (zh) 基于遗传算法的一种新型一维排演下料方法
CN1295775C (zh) 一种超大规模集成电路电源/地布线网快速分析方法
CN107133639A (zh) 融合Boost模型的非平衡数据自适应采样方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication