您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页基于切分结构的快速布图规划算法

基于切分结构的快速布图规划算法

来源:好走旅游网
第3O卷第4期 2013年4月 计算机应用研究 Application Research of Computers Vo1.30 No.4 Apr.2013 基于切分结构的快速布图规划算法术 杜世民 ,夏银水 ,罗佐 (宁波大学a.信息科学与工程学院;b.科学技术学院,浙江宁波315211) 摘 要:分析了切分(Slicing)结构的布图产生空白面积的原因,提出了一种直观、快速的确定模块方向的方法。 改进了正则波兰表达式的一个邻域构造算子,并采用模拟退火算法实现了Slicing结构布图规划。对MCNC和 GSRC的标准电路进行了测试,结果表明所提出的算法在解决Slicing结构的布图规划方面是有效的。 关键词:布图规划;Slicing结构;正则波兰表达式;模块方向;模拟退火算法 中图分类号:TP391 文献标志码:A 文章编号:1001.3695(2013)04 0995—04 doi:10.3969/j.issn.1001—3695.2013.04.009 Fast floorplanning algorithm based on Slicing structure DU Shi-min 一,XIA Yin.shui ,LUO Zuo (a.College ofInformation Science&Engineering,b.College ofScience&Technology,Ningbo University,Ningbo Zhejiang 315211,China) Abstract:This paper analyzed the reason which caused dead area,and proposed an intuitive and fast approach to determine the direction of each module.It improved an operator to perturb normalized polish expression to generate neighborhood solu— tion,and exploited simulation annealing algorithm to implement the Slicing floorplanning.Experimental results on the com— monly use MCNC and GSRC benchmark circuits show that the proposed algorithm is effective and eficifent to solve the Slicing lfoorplaning problems. Key words:floorplanning;Slicing structure;normalized polish expression;module’S direction;simulated annealing algo— rithm 芯片面积是除总线长之外传统布图规划要优化的主要指 0 引言 布图规划是VLSI(very—large—scale integration)设计中一个 关键步骤。作为集成电路物理设计流程的第一步,它不仅决定 了芯片的空间结构(包括各个模块的位置、形状和方向),而且 对芯片互连进行了初步的优化。一个性能优良的布图规划能 标之一。在Slicing结构的布图规划中,即使所有宏模块的尺 寸和面积都是固定的,但只要宏模块的方向不固定,则当模块 取不同方向时同一布图表示所计算得到的面积可能相差很大, 如图2所示。因此,在得到一个布图表达式之后,如何快速地 确定每个模块最优或次优方向,是布图规划要解决的重要问题 之一。 4.5 4 3.5 3 2.5 有效避免后期设计失败,从而加速整个设计的收敛过程。随着 电路规模和复杂程度的急剧增加,知识产权核(IP)、memory等 宏模块(macro block)在芯片设计中的使用越来越广泛。因此, 面向宏模块的平面布图规划问题得到了越来越广泛的研 究 圳。 VLSI布图规划的表示通常有两种方式,即Slicing结构和 non.Slicing结构,如图l所示。Slicing结构是指可以不断地用 水平或垂直切割线将整个布图二分到每一个模块。与non—Sli— cing结构相比,Slicing结构具有以下优点:a)具有方便的数据 (a)Slicing (b)non-Slicing 图1 Floorplaning的两种表示结构 表示,通常可以利用二叉树或正则波兰表达式(normalized pol— ish expression,NPE)等数据结构表示 ….b)有利于后续芯片内 部通道的布线;C)有利于芯片在采用多电压供电时进行电压 岛的构建…。虽然与non—Slicing结构的_些表示方法相比, Slicing结构具有解空间较小(O(It,1 2 /n ),n为模块 1 有关定义和表示 1.1 平面布图规划问题 VLSI平面布图规划问题描述如下:给定一个包含有n个 矩形模块的集合B={b。,b .-,b },对每个模块b (1≤i≤n) 都有一个三元组(W ,h ,a )与之相对应,分别代表该模块的 宽、高和面积。其中,模块的面积a 是固定的,而模块的方向 数) 的缺点,但是Chan等人 指出布图规划结果的优劣与 其采用的布图表示方式并不十分相关。因此,本文研究基于 Slicing结构的布图规划算法。 收稿日期:2012.08—10;修回日期:2012.09.29 可以作90。旋转(即高度h 和宽度W 互换)。布图规划的目标 基金项目:国家自然科学基金资助项目(60871022,61041001);浙江省自然科学基金资 助项目(Y1080654,Z1090622);浙江省教育厅科研项目(Y200906637);宁波大学学科项目(xk1096) 作者简介:杜世民(1976-),男,浙江东阳人,讲师,博士研究生,主要研究方向为集成电路设计自动化(dushimin@nbu.edu.en);夏银水(1963一),男,教 授,博导:博士,主要研究方向为集成电路综合和优化、高信息密度集成电路设计;罗佐(1988。),男,硕士研究生,主要研究方向为集成电路综合和优化. ・996・ 计算机应用研究 第30卷 是将每个模块摆放在芯片中的合适位置(用模块左下角的坐 标来表示),使这些模块不发生重叠,且使包络全部模块的最 小矩形的面积与模块之间的总连线长度的加权和为最小。 1.2正则波兰表达式 一由上所述,每个布图表达式下所产生的空白面积是由模块 在两两组合过程中由于纵向或横向尺寸不一致而带来的空白 面积不断累积得到的。因此,如果能在表达式计算的过程中让 每一步组合运算所产生的空白面积尽可能小,那么最后就有可 能获得空白面积较小的布图实现。基于这一思想,本文提出一 种模块方向的确定方法,即把两个模块运算后产生空白面积最 小的布图实现作为模块的方向。 图4和5对所提出的模块方向确定方法给出了图形化的 说明。在图4中,模块1和2都是基本模块,其尺寸分别是6× 4和5 X 3,它们在做“ ”运算时可能得到四种不同的布图结 果。显然,图4(C)所得到的空白面积(阴影区域)是最小的,因 个Slicing结构的布图可以方便地用二叉树(slicing tree)表示,如图3所示。树中的每个叶节点代表一个基本模 块,用数字1~n表示;内部节点“+”和“ ”表示模块运算符, 分别表示两个模块在位置上左右与上下相邻。对布图相应的 二叉树进行后序遍历,即可得到一个长度为(2n一1)的波兰表 达式E=el e2…e2 一1,e ∈{1,2,…,n, ,+},1≤ ≤2n一1。其 中:{1,2,…,n}为操作数(operand),{ ,+}为运算符(opera— 此,在计算“12 ”时就确定模块1的尺寸为4×6,模块2的尺 tor)。例如,图3所示的二叉树对应的波兰表达式为“12+3 4+”。表达式 是一个正则波兰表达式,当且仅当 ]oj:a)每 个操作数i(1≤i≤n),仅在表达式E中出现一次;b)E的任一 子表达式E :e1e:…e ,1≤m≤2n一1,所包含的操作数的数 量要大于操作符的数量;C)表达式E中不存在多个(两个或两 个以上)连续的相同运算符(如 或++)。 lc 入 ‘ 1 2 (a)Slicing结构的布图 (b)相应的二叉树 图3二叉树对应的波兰表达式 2 Slicing布图中模块方向的确定 在本文中将每个模块看做是矩形的硬模块(hard block), 即模块的面积是确定的,但模块的方向可以旋转90。(即高度 和宽度互换)。由于每个模块有两种可能的方向,因此在计算 一个包含n个模块的正则波兰表达式时,可能得到不同的布图 实现(其中多数是冗余的),最多可达2 种。显然,当芯片规 模较大时,要得到每个表达式下最小面积的布图结果是非常困 难的。模拟退火算法是布图优化常用的算法之一。然而在利 用模拟退火算法对表达式进行搜索时,由于每个温度下都要产 生数百至数千个不同的布图表达式,因此,不可能去计算每个 表达式下最优的布图实现,否则整个算法会非常耗时。文献 [8]采用在模拟退火算法中增加一个模块旋转的算子来随机 选择基本模块的方向,这种方法同样存在收敛速度慢的缺点。 Stockmeyer 最早对布图规划中的模块方向问题进行了研究, 指出对于Slicing的布图结构,两个节点(模块)每经过一次“ ” 或“+”组合运算,所产生的非冗余的布图数量呈线性增长关 系。因此,需要寻找到一种简单、快速且比较有效的方法来计算 每个表达式下的布图实现,以提高算法收敛的速度。 在图3(a)所示的Slicing布图规划中,阴影部分表示布图 后所产生的空白面积。它由三部分构成,分别是图中的矩形区 域A、 和C。其中:区域A是由于模块1和2在进行“+”运算 时,由于模块1与模块2的宽度不一致造成的;区域日则是由 模块1和2运算得到的组合模块,以及模块3在进行“ ”运算 时,由于它们的高度不一致所产生的。由此可见,当两个模块 在做“+”运算时,如果水平方向的尺寸不一致,就会产生空白 面积。类似地,如果两个模块垂直方向的尺寸不同,则它们在 做“ ”运算时也会产生多余的空白面积。整个布图规划总的 空白面积等于每一步运算所产生的空白面积之和。 寸为3 X 5。类似地,当一个基本模块与复合模块(由若干个基 本模块组合得到的模块)做运算时,同样可根据运算后所产生 空白面积的大小来确定基本模块的方向(注:复合模块一旦生 成方向就已固定)。例如在图5中,表达式“12+”生成的复合 模块与基本模块3做“ ”运算时有两种可能的布图结果,由 于图5(a)中的空白面积要小于图5(b),因此基本模块3的方 向就确定为图5(a)中所示的方向。 , 謇’ ' 臣 I 2 l l图4表达式“12 四种 罔5 复合模块与基本模块进行运算 可能的布图实现 时两种町能的布图实现 3模拟退火算法 VLSI布图规划问题是一类非常复杂的组合优化问题,它 的一些子问题已被证明是NP—hard问题。自Otten 12j首次将模 拟退火算法用于解决VLSI的平面布图规划问题后,模拟退火 算法逐渐成为VLSI物理设计领域应用最为广泛的一种智能优 化算法。应用模拟退火算法进行布图规划的优化设计时,主要 解决以下三个问题:a)布图规划的表示;b)解的邻域构造策 略;C)温度控制策略和算法终止条件。布图规划的表示是对 给定的布图进行编码,将其表示成一个解的形式。由于本文中 考虑的是Slicing结构的布图规划,因此采用正则波兰表达式 来表示布图的解。下面主要介绍采用的邻域构造策略和温度 策略。 3.1邻域构造策略 在可切分的布图规划设计中,对正则波兰表达式所表示的 当前解,一般通过以下四种操作来对其进行扰动,以产生新的 邻域解:a)随机选择两个相邻的操作数进行交换;b)随机交换 两个相邻的操作数和操作符;C)随机选择一连续的操作符链 取反,即将该链中“ ”换成“+”,将“+”换成“ ”;d)随机选 择一个模块进行旋转。 操作d)用于随机选择基本模块的方向。由于本文中模块 的方向根据前面第2章的方法来确定,因此,在本文的算法中 仅包含前面三种操作。其中,操作a)和c)都可以保证操作后 得到的依然是一个合法的正则波兰表达式;但对操作b),则需 要一些限定条件,使其满足合法正则表达式的条件。由于操作 a)在有些情况下并不会改变当前布图的面积(这种操作称之 第4期 杜世民,等:基于切分结构的快速布图规划算法 ・997・ 为空操作),例如在正则表达式“7 9 6 5+3 8 10+1 + 4 2 0+ ”中,“7 9”“9 6”都属于几何上相邻的操作数,但若 交换“7 9”这对操作数并不会改变布图后的面积。因此在本文 中将允许交换范围扩大,不再在位置上相邻的两个操作 数,而是允许交换两个任意位置的操作数,这样可以在一定程 度上减少产生空操作的次数,加快算法收敛的速度。 3.2 温度策略和终止条件 4 实验结果 本文所提出的针对可切分结构的布图规划算法已用C语 言编程实现,并在主频为Intel 2.4 GHz CPU和1 GB内存的PC 上运行。对算法进行了两组实验,第一组用五个MCNC电路 进行测试,以布图后得到的芯片面积为优化目标;第二组则以 面积和线长的加权和为目标函数对GSRC中三个规模最大的 模拟退火算法的温度策略主要包括初始温度的确定和降 温策略的选择。本文采用式(1)来确定算法的起始温度 。 = 电路进行测试。测试电路基本信息如表1所示。模拟退火算 法参数设置如下:a)降温系数oL=0.95;b)马尔可夫链的长度 取40n(n为芯片包含模块数);C)算法终止条件为温度下降到 10 或在当前温度下接受新解的概率<5‰。 表1测试电路基本信息表 (1) 要计算式(1)中Aavg,首先要随机产生一个初始解,然后 对其进行Ⅳ次操作。其中:Aavg就等于这Ⅳ次操作下目标函 数变化量的平均值;参数P是退火初始时接受更差解的概率, 是一个接近于1但又小于1的数,一般在0.9~1间取值。 在降温策略方面,本文采用式(2)对温度进行更新。 Tk=n X 电路 数 数 数 藩 N数et 总面积 电路 数、 apte xerox hp N数et 腼积 “ 22 334 564 9 10 11 73 2 45 97 46.5616 ami49 203 19.3503 83 8.8303 nloo n2oo 49 100 200 408 35.4454 885 0.1795 1585 0.1757 1 (2) ami33 33 42 123 1.1564 n3oo 300 569 1893 0 2732 式中: 是降温系数。在每个温度下需要迭代的次数(即马尔 可夫链的长度)与芯片的规模有关。 3.3算法流程 第一组实验结果如表2所示,其中,ds百分比等于布图后 得到的芯片空白面积与其总面积之比。从表2可以看出,本算 法与文献[4~6]相比可在更短的时间内得到更小的芯片面 积。与文献[7]相比,虽然在芯片平均的空白面积上略微增加 一整个算法从随机产生的一个初始解开始,然后在解空间中进 行搜索,直到解的质量没有任何改进或温度降到终止条件为止。 应用模拟退火算法解决可切分结构的布图规划流程如下: a)读取测试电路的信息。 b)随机产生一个布图的初始解。 c)依式(1)计算退火初始温度 。 d)随机选择一种邻域构造方法对当前解进行变换,产生新解。 e)判断新解是否优于当前解。若优于当前解,保存新解为当前解 (作为下一次搜索的出发点),并更新最优解;否则,以(e )概率接 受新解。 f)判断是否超过当前温度下的迭代次数。若是,转g);否则,转d)。 g)依式(2)更新当前温度,并判断是否到达终止温度。若不满足, 转d);否则,转h)。 h)输出已搜索到的最优解,算法结束。 点,但在速度上却有较大的提高。其中,ami33的空白面积 率(百分比)分别比文献[4,6,7]减少了3.86%、6.77%和 0.75%,同时速度分别提高了6.5、33.9和16.9倍;ami49的空 白面积率分别比文献[4,6]减少了2.61%和10.12%,同时速 度提高了14.4和131.3倍。虽然ami49的空白面积率与文献 [7]基本相同,但是速度却提高了15.4倍。图6给出了MCNC 中模块数最多的两个电路ami33和ami49的布图规划结果。 在第二组实验中,以式(3)作为目标函数,同时对GSRC电 路的面积和线长进行优化: cost= ×A+(1一OL)×W (3) 表2 MCNC电路的实验结果与其他文献的比较 注:NA为Not Available(原文中数据役有给出) 式中:A、 为芯片的总面积和总线长;权值Ot用来调整两者的 s 比重,在本实验中取0.9。实验结果如表3所示。表中总线长 列采用半周长法(half perimeter wire length,HPWL)计算得到。 I ・ l l — 。l t m 由表3可知,当电路规模增加时,应用本文算法可同时获得较 低的空白面积率和总线长。虽然模块数增加较多,算法的运行 时间变长,空白面积率较MCNC电路有所增加,但仍在可接受 的范围内,进一步验证了本文算法的有效性。图7给出了 s 1 *I I 一l竺卜 l ]m ・l阳 二I}4* z GSRC中两个电路(nl00和n200)的布图结果。 表3 GSRC电路的实验结果 0 200 400 600 800 I(300 }÷] 1200 0 1006 2OOO 3叩0 4000 5000 (a)ami33(ds%:2.88) (b)ami49(ds%:3.45) 图6两个MCNC电路的布图结果 ・998・ 计算机应用研究 第30卷 1 2 J SHEN z C,CHU C C N.Bounds on the number of slicing,mosaic,and - t,I 500 广=] ,。 I  I鞋捶 I  Igenerla floo ̄lans[J].IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems,2003,22(10):1354—1361. I 3 l CHAN H H,ADYA s N,MARK0 I L.Are floorplan representations I| l 。 ll 1- 。 一= -I l 上 important in digital design?[c]//Proc of International Symposium on Physical Design.New York:ACM Press.2005:129.136. 。 m  ‘l'l 。 ---^-●●_-_—— ” l 鞋 啪-一r卜l1s. 熹 i 7’ n - 14 l PANG Ying.xin,CHENG C K,YOSHIMURA T.An enhanced pe ̄ur- bing algorithm for floorplan design using the O—tree representation — r_1 * ” J 蕾 l m 1- F [c]//Proc of International Symposium on Physical Design.New York:ACM Press,2000:168—173. m m lI 1l”rI rt * [5]RAHIM H A,AB R A H,ANDALJAYALAKSHMI G,et a1.A genetic algorithm approach to VLSI macro cell non-slicing loorplfans using bi・- —l -I N * ” m “HH,l m m nary tree f C l//Proc of International Conference on Computer and Communication Engineering.Piscataway:IEEE Press.2008:26.31. ∞ 一:—!”l_T 1lL厂jI _-一 J” 。妻 一“ - l・ 00 I'1 m l一 一 l _]litl*I t l∞网16 J SUN T Y,HSIEH S T,WANG H M,et a1.Floorplanning based on 桃 H・一1 一・ particle swar/n optimization[c]//Proc of Emerging VLSI Technolo. gies and Architectures.Karlsmhe:IEEE Press.2006:7一I1. 。 I . 100 [7]UN J M,CHANG Yao—wen.TCG:a transitive closure graph.based rep— 0 2∞3∞ O 100 2∞ resentation for non—slicing lfoorplans[C]//Proc of the 38th Conference on Design Automation.New York:ACM Press.2001:764_769. (a)nl00(ds%:4.28) (b)n200(ds%:4.82) 图7两个GSRC电路的布图结果 [8]TANG C C.Voltage island-aware floorplanning for SoC design[D]. Hsinchu:National TsinghHa University,2009. 5 结束语 本文讨论了Slicing结构的布图规划问题,采用正则波兰 [9]张博,李毅.一种改进的VLSI电路有效布局算法[J].计算机工程 与应用,2007,43(13):243—246. 11O J WONG D F,LIU C L.A new algorithm for floorplan design『c]// Proc of the 23rd ACM/IEEE Conference on Design Automation.Las 表达式来表示布图结构,根据模块运算后产生空白面积的大小 来确定模块的方向,并采用模拟退火算法来搜索最优的布图表 达式。实验结果表明,本文方法能有效地解决Slicing结构的 布图规划问题。 参考文献: [1]MA Qiang,YOUNG E F Y.Voltage island-driven lfoorplanning[C]// Proc of IEEE/ACM International Conference on Computer—Aided Design.Piscataway:IEEE Press.2007:644—649. Vegas:IEEE Computer Society Press,1986:101.107. 【】】J STOCKMEYER L.Optimal orientations of cells in Slicing Floorplan designs[J].Information and Control,1983,57(2.3):91.101. [12]OTTEN R.Efficient floorplan optimization『C]//Proc of IEEE Inter. national Conference on Computer Design:VLSI in Computers.1983: 499.502. [13]HONG Xian—long,HUANG Gang,CAI Yi ci,et a1.Corner block list: an effective and efficient topological representation of non—Slicing lfoorplan[c]//Proc of IEEE/ACM International Conference on Corn purer-Aided Design.2000:8-12. (上接第994页) 蚓 闼 极值域速度快、捕捉效率高等优点。0—1背包问题属于组合优 蠖 皿 j/  迭代次数 化问题,且是NP难题。本文就背包问题的特点设计了基于 MATLAB环境的萤火虫群优化算法,编写了算法程序。测试结 果表明,萤火虫群优化算法对0.1背包问题的求解是可行的, 并收到了良好的效果,为有效求解此类问题提供了一种新的可 行方法,同时也拓展了萤火虫群优化算法的应用领域。 参考文献: [1]SYSLO M M.Discrete optimization algorithm[M].New Jersev:Pren— rice.Hall,1983:118—165. 图4萤火虫算法的收敛性 微粒群算法 与萤火虫算法就该问题的对比结果如表2 所示。由表2可以看出,两种算法在一定的迭代次数下都可以 求得该实例的最优值,但是微粒群算法的频率(求得最优解次 数/运行总次数)明显低于萤火虫算法。经过大量计算实验, 说明算法性能令人满意。 表2微粒群算法与萤火虫算法的计算结果对比 [2]张永兵,王斌,张永飞,等.基于遗传算法的背包问题求解『J].大 理学院学报,2005,4(5):24.25. [3]马良,朱刚,宁爱兵.蚁群优化算法[M].北京:科学出版社,2008. [4]樊小毛,马良.0-1背包问题的蜂群优化算法[J].数学的实践与 认识,2010,40(6):155—160. [5]沈显君,王伟武,郑波尽,等.基于改进的微粒群优化算法的0-1 背包问题求解[J].计算机工程,2006,32(18):23.24.38. 1 6 J KRISHNANAND K N,GHOSE D.Detection of multiple source l0ca— tions using a glowworm metaphor with applications to collective robo— ticsl C]//Proc of IEEE Swarm Intelligence Symposium.2005:84. 91. 1 7 J KRISHNANAND K N,GHOSE D.A glowworm swarln optimizatinn based multi-robot system for signal source localization[M]//Design and Control of Intelligent Robotic Systems.2009:49—68. [8]KRISHNANAND K N,GHOSE D.Theoretical foundations for r℃ndez. VOUS of glowworm inspired agent swarlTi¥at multiple location『J].Ro. botics and Autonomous System.2008.56(7):549—569. 3 结束语 萤火虫群优化算法作为一种新的智能优化算法,具有捕捉 [9]严太山,陈专红,陈群,等.一种求解背包f-*I题的改进遗传算法 [J].现代计算机:下半月版,2009(9):44 47. [10]马良,王龙德.背包问题的蚂蚁优化算法[J].计算机应用,2001. 21(8):4-5. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务