多时钟系统的集成电路平面布局规划方法

文档序号:6572495阅读:204来源:国知局
专利名称:多时钟系统的集成电路平面布局规划方法
技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及一种考虑新的约束因素的布图规划方法,尤其涉及一种对多时钟系统考虑不同时钟区域之间连接关系的平面布局布图规划方法。
背景技术
随着集成电路规模的不断扩大,集成电路的布局变的越来越复杂,因而集成电路布图规划算法的研究在近年来受到了广泛重视。在考虑主要的面积和线长优化基础上,越来越多的实际因素被考虑进来,增加了布局算法的实用性。文献[2]中提出了考虑时钟区域的布局,实现了相同时钟区域的模块在最终的布局中相互临近,但是对于不同时钟区域之间的连接关系并没有考虑,而这一因素对于最终的时钟树生成和线长优化具有实际的意义。基于这一点本发明对该约束做了进行了新的研究并得出了良好的布局结果。

发明内容
本发明的目的是在于提出一种考虑多时钟系统超大规模集成电路各个不同时钟区域连接关系的布图规划方法,以便能进一步增强考虑多时钟布局的实用性。
本发明针对超大规模集成电路各个不同时钟区域之间连接关系,建立了合适的模型,并采用模拟退火和线性规划相结合的方法,实现了满足新的要求的布局。
随着片上系统(SoC)设计复杂性的增加,很多芯片可能有多个不同频率的时钟信号。对于这种复杂的芯片,一种常用的设计方式是将整个系统划分为不同的模块,同时要求每个模块只包含单一的时钟信号,然后再将各个模块进行连接,构成整个系统。这种设计方式在使传统的同步电路设计方式和设计工具都可以得到充分的应用的同时,也带来新的问题,例如不同时钟域之间控制信号或数据信号直接传输时会出现亚稳态现象[1]。而克服这一问题的主要方法是在不同时钟域间信号传递时采用对应的同步模块(synchronizer)。但是由于各个时钟区域通过这样的模块集中的实现控制信号和数据信号的交互,同步模块往往具有更高的信号连线密度,而且这种模块通常包含两个时钟信号,所以各个时钟域在布局中的相对位置对连线的优化和时钟树的生成具有重要影响,这就给多时钟系统的布局布线和时钟树的产生带来了新的挑战在传统的设计流程中,时钟树生成和布线通常是放在布局完成之后进行,但是各个模块的位置一旦确定,时钟树和布线的优化便会变得困难,导致时钟偏差不能得到较好的控制,连线长度也无法得到有效的降低,对整个系统的性能有很大的限制。因此有必要在布局中就考虑时钟树生成和布线的问题,以便加快设计的收敛速度,减少设计时间。
鉴于布局阶段对后续时钟树生成和布线优化的重要作用,本发明有针对性的在布局中就把这种时钟域因素考虑进来以增强设计收敛,而重点考虑便是不同时钟域间连接关系的影响。
在本发明中,将集成电路平面布局抽象为平面模块放置优化的问题,根据模块的长宽比是否可以改变,将模块分为硬、软两种模块,即长宽比不可改变的,称为硬模块,长宽比可以改变的,称为软模块。并赋予各个模块面积、时钟和连线信息,作为最终布局优化的目标。
本发明在考虑不同时钟域之间连接关系的布局中,采用了序列对的表示方法[3]。序列对表示法是一种非重叠(non-overlap)表示法,它是采用正负两个序列,形如X(e,c,a,d,f,b),Y(f,c,b,e,a,d),来表示电路中各个模块的相互关系,如附图1所示。
模块之间的相对位置可以由下面定理得到如果在序列对X、Y中,模块a都在模块b前面,则在平面布局中,模块b在模块a的右侧。相应的序列对为(…a...b...,...a...b...)。
如果在序列X中,模块a都在模块b前面,在序列Y中,模块a都在模块b后面,则在平面布局中,模块a在模块b的上方(模块b在模块a的下方)。相应的序列对为(...a...b...,...b...a...)。
集成电路布局通常采用模拟退火作为其优化策略。但由于对于集成电路平面布局这样的NP问题,采用模拟退火得到的优化结果的质量通常是和优化时间是相关的。要达到一个较理想的布局结果,通常要耗费很长的时间,而且在优化目标函数中考虑的因素越多,达到好的结果需要的搜索时间越长。为了改进模拟退火的这一点不足,本发明的优化策略是采用了模拟退火和线性规划相结合的两步优化算法。
在第一步优化中,先采用了快速模拟退火方法得到一个初始的布局,这里只要求面积之外的约束因素(即时钟、连线等约束因素)得到较好的满足,所有模块全部做为硬模块处理,因而大大节省了模拟退化中的搜索时间。其中模拟退火可采用文献[5]中提出的快速降温策略,其不同于一般模拟退火的降温方式(见附图2所示)加快了搜索收敛。
当由模拟退火得到一个初始的布局后,进一步用线性规划[6]来优化面积。由于在线性规划中,各个模块的的相对位置关系并不会发生变化,所以对各个在模拟退火中的位置约束不会造成破坏。在这一步中,软模块的长宽比在一定范围内得到调整以优化面积。
具体对于多时钟域集成电路布局,本发明将考虑的连线和时钟问题抽象成对应的几何约束进行处理(1)多时钟集成电路布局中,将各个具有相同时钟的模块放置在一起,以保证同一区域内部连线最短和各个时钟树产生便利;(2)不同时钟区域存在信号交互时,则考虑在最终布局中存在交互的时钟区域要相互临近。
约束(1)在文献[2]中已经进行了研究,实现了各个相同时钟模块集中放置的约束,但是文献[2]并没有考虑约束(2)的实现,下面对约束2的实现做详细阐述不同时钟区域间信号交互通常是通过对应的发送和接收模块对来完成,本发明将这种位于不同时钟区域的模块对定义为交互模块对,而最终约束(2)的满足便可以转化为不同时钟域中具有特定属性的交互模块对要在最终的布局中相邻。
显然,对于具有N个时钟域的多时钟系统,应该至少存在N-1个这样的交互模块对,因为一个整体系统中必定是各个时钟域相互连接,不存在孤立的时钟模块。要满足所有交互模块对相邻的约束条件,本发明采用了在模拟退火的优化目标函数中增加违反约束的惩罚项(penalty item)作为约束的实现方法。
其中惩罚项的构造如附图3所示,采用式D=|AC|+|BC|计算,其中模块i和模块j是一对交互模块,D为交互模块对的中心折线距离。在一个非重叠的布局中,减小D的值就可以保证交互模块的临近,所有交互模块对中心折线距离的总和就可以作为最终优化目标函数的惩罚项,以达到在最终的布局中各个交互模块对临近的约束条件。这样得到的模拟退火优化的目标函数便成为cost=α·Saverage_S+β·Laverage_L+γ·D_totalavergae_D---(1)]]>其中S,L,D_total分别表示布局的面积,线长,交互模块中心距离总和。aversge_S,average_L,average_D分别表示面积,线长,交互模块中心距离总和的平均值(由模拟退火过程第一步的随机搜索中得到)。α,β,γ分别是面积,线长,所有交互模块中心折线距离总和在目标函数的权重,α+β+γ=1,具体根据优化要求选取。各个分量在目标函数中都用随机搜索中得到的平均值进行了归一化处理,以便于数值比较和计算。
综上所述,本发明方法可归纳为如下步骤对于多时钟系统超大规模集成电路的计算机辅助设计,考虑电路各个不同的时钟区域之间的连接关系,建立合适的约束模型,并采用模拟退火和线性规划相结合的算法,实现了满足要求的布局。其具体步骤如下
(1)对于具有N个模块的集成电路,采用序列对表示法来表示各个模块的相互关系,提取并存储各个模块的面积、长宽、类型、连线和时钟信息;(2)按时钟顺序取模块序号构成序列对,其中,将连线和时钟问题抽象成对应的几何约束进行处理①将各个具有相同时钟的模块放置在一起,以保证同一区域内部连线最短和各个时钟树产生便利;②不同时钟区域存在信号交互时,则在最终布局中,存在交互的时钟区域要相互临近;(3)采用模拟退火的优化方法,以步骤(2)中的序列对作为初始序列对,以具有惩罚项的函数(1)式作为模拟退火优化的目标函数;当搜索不再收敛或已经达到终止温度时,停止进一步搜索,记录优化布局结果;本步骤中,模拟退火算法可采用快速模拟退火算法。模拟退火算法的起始温度和终止温度,根据实际计算情况确定,一般设起始温度为1-2,终止温度为0.05-0.2。
(4)根据模拟退火算法获得的信息,计算各个模块的坐标以及各个模拟的优化的面积,连线长度、交互模块中心折线长度。
(5)采用线性规划算法,进一步对电路的各模块面积进行优化处理。线性规划的优化目标是在不改变原来相对位置条件下总面积最小,目标函数为f=λ1·hc+λ2·wc,其中λ1,λ2分别是模拟退火得到的布局结果长宽比例,hc,wc为总体布局的长度和宽度;线性规划的变量是所有模块的位置坐标(xi,yi),长、宽(hi,wi)及总体布局的长、宽(hc,wc);线性规划约束条件有四种模块自身长宽比的范围λmin<hi/wi<λmax,模块之间的位置约束xi+wi<=xj和yi+hi<=yj,布局范围约束xi+wi<=wc和yi+hi<=hc,参数范围约束xi,yi,wi,hi,wc,hc,>=0,λmin和λmax根据实际情况要求设定;(6)得到线性规划的目标函数和约束条件后,求解线性规划问题,得到满足所有约束条件下面积最优时所有参数的数值各个模块位置xi,yi,长宽hi,wi及总体长宽hc,wc,即最终的布局结果。


图1为布图到序列的对的示意图。
图2为普通和快速降温策略比较图示。
图3为交互模块对约束计算方法示意图。
图4和图5分别是布局标准测试用例ami33和ami49考虑时钟区域之间交互模块对所得到试验布局结果。
具体实施例方式
下面通过两个标准测试例,进一步描述本发明方法。
(1)读取布局标准测试用例,存储各个模块的面积、长宽、类型、连线和时钟信息;(2)选择初始序列对由于模拟退火优化与初始解无关,可按时钟顺序取模块序号构成序列对,可满足约束条件(1),同时在下面模拟退火过程中,对序列对的操作中保持相同时钟模块对应序号始终相邻;(3)首先采用模拟退火方法进行优化,寻找目标函数最优解,这一过程主要针对不同时钟区域间连接关系约束进行优化设起始退火温度为1,终止退火温度为0.1,降温过程如图2-B所示的快速降温策略,每个温度迭代搜索次数为100*N(其中N为测试用例模块数目),当搜索不再收敛或已经达到终止温度时停止进一步搜索;搜索过程中记录最优布局结果作为最终输出结果。
(4)根据模拟退火优化后的信息,计算各个模块的坐标以及各个优化目标面积,连线长度,交互模块中心折线长度。
(5)采用线性规划方法对模拟退火得到的布局进一步优化。其中优化目标是在不改变原来相对位置条件下总面积最小。线性规划的变量是所有模块的位置和长宽参数及总体布局的长宽参数。线性规划约束条件是各个模块本身的几何约束(包括自身长宽比约束、布局范围约束、参数范围约束)和模块之间的位置约束,可由上一步模拟退火的结果直接得到。
(6)得到线性规划的目标函数和约束条件后调用数学工具Matlab对线性规划求取最优解,得到满足所有约束条件下面积最优时所有参数的数值各个模块位置,长宽及总体长宽,即最终的布局结果。
试验结果试验中本发明采用国际上布局算法中通用的MCNC的ami33和ami49作为测试用例。同时考虑到ami33和aim49中只提供了各个模块的面积和连线信息,本发明采用随机方法对各个模块赋予了时钟和时钟区域间连接信息。由于这种随机选取和原有的连线信息并不一致,因而在本发明的试验中线网信息被忽略,只考虑面积和时钟约束。这并不影响我们考虑时钟域信号交互布局方法的有效性验证。试验中我们将每一个测试用例随机划分成5个时钟域,同时选取4对交互模块对作为时钟域交互约束条件。
本发明布局算法是通过C++编程实现的,其中步骤(6)是通过VC++中调用Matlab软件求解,本发明试验条件是2.8GHz Dell PC,内存256M。
试验结果如附图4和图5所示,可以清楚看到,在本发明考虑各个时钟域交互的布局中,不仅具有相同时钟的各个模块放置在一起,我们认为存在信号交互的时钟域也满足相邻条件,各个交互模块对的邻接关系全部得到实现(如Ami49中的模块30和模块27,Ami33中的模块28和模块9)。
表1十次试验得到的相关数据

和[2]中Ami49提供的试验数据比较,在考虑时钟域之间连接约束基础上,我们试验中的面积得到进一步缩小,如表2所示

表2参考文献[1]Clifford E.Cummings,“Synthesis and Scripting Techniques for DesigningMulti Asynchronous Clock Designs”,www.sunburst-design.com/papers[2]Chang Zhao,Jian Chen,Dian Zhou,Xiaofang Zhou,Xuan Zeng,“FloorplanningAlgorithm for multiple Clock Domains”,proceedings of the 4thWSEAS/IASME Int.Conf on system and Simulation in Engineering. Tenerife,Spain.December 16-18. 2005(pp.156-162). H.Murata,K.Fujiyoshi,S.Nakatake,Y.Kajitani,“VLSI module placement basedon rectangle-packing by the sequence-pair,”IEEE Trans.Computer-Aided Design,vol.15,pp.1518-1524,Dec.1996. X.Tang and D.F.Wong,“FAST-SPA fast algorithm for block placement basedsequence pair,”Proc.ASPDAC,pp.521-526,2001. Yun-Chih Chang,Yao-Wen Chang,Guaitg-Ming Wu,and Shu-Wei Wu,“B*-TreesA New Representation for Non-Slicing Floorplan”.Proc.DAC 2000pp458~463[6]Changhong Zhao,Jian chen,Xiaofang Zhou,Ming’e Jing,“Floorplanning MethodBased on Linear Programming”.Proceedings of the 10th WSEAS InternationalConference on SYSTEMS,Vouliagmeni,Athens,Greece,July 10-12,2006(pp619-625) Michael D.Moffitt*Aaron N.Ngt Igor L.Markovt Martha E.Pol lack,“Constraint-Driven Floorplan Repair”.Design Automation Conference,2006 43rdACM/IEEE 24-28July 2006Page(s)1103-1108[8]Liu Rui,Hong Xianlong,Dong Sheqin,Gu Jun,“A block placement algorithm withpredefined coordinate alignment constraint based on sequence pair”,软件学报,Vol.14 No.8[9]Evangeline F.Y.Young,Chris C.N.Chu,and M.L.Ho,“Placement Constraintsin Floorplan Design”,IEEE TRANSACTIONS ON VERY LARGE SCALE UBTEGATION(VLSI)SYSTEMS,VOL.12,NO.7,JULY 2004[10]Xiaoping Tang;Wong,D.F,“Floorplanning with alignment and performanceconstraints”,Design Automation Conference,2002.Proceedings 39th 10-14 June2002 Page(s)848-853。
权利要求
1.一种多时钟系统集成电路平面布局规划方法,其特征在于考虑电路各个不同的时钟区域之间的连接关系,建立合适的约束模型,并采用模拟退火和线性规划相结合的算法,实现满足要求的布局,具体步骤如下(1)对于具有N个模块的集成电路,采用序列对表示法来表示各个模块的相互关系,提取并存储各个模块的面积、长宽、类型、连线和时钟信息;(2)按时钟顺序取模块序号构成序列对,其中,将连线和时钟问题抽象成对应的几何约束进行处理①将各个具有相同时钟的模块放置在一起,以保证同一区域内部连线最短和各个时钟树产生便利;②不同时钟区域存在信号交互时,则在最终布局中,存在交互的时钟区域要相互临近;(3)采用模拟退火的优化方法,以步骤(2)中的序列对作为初始序列对,以具有惩罚项的函数(1)式作为模拟退火优化的目标函数;cost=α·Saverage_S+β·Laverage_L+γ·D_totalaverage_D---(1)]]>其中S,L,D_total分别表示布局的面积、线长、交互模块中心距离总和,aversge_S,average_L,average_D分别表示面积、线长、交互模块中心距离总和的平均值;α、β、γ分别是面积、线长和所有交互模块中心折线距离总和在目标函数的权重;各个分量在目标函数中都用随机搜索中得到的平均值进行了归一化处理;当搜索不再收敛或已经达到终止温度时,停止进一步搜索,记录最优布局结果;本步骤中,模拟退火算法采用快速模拟退火算法,模拟退火算法的起始温度和终止温度,根据实际计算情况确定;(4)根据模拟退火算法获得的信息,计算各个模块的坐标以及各个模块的优化的面积、连线长度、交互模块中心折线长度;(5)采用线性规划算法,进一步对电路的各模块面积进行优化处理,线性规划的优化目标是在不改变原来相对位置条件下总面积最小,目标函数为f=λ1·hc+λ2·wc,其中λ1,λ2分别是模拟退火得到的布局结果长宽比例,hc,wc为总体布局的长度和宽度;线性规划的变量是所有模块的位置坐标(xi,yi),长、宽(hu,wi)及总体布局的长、宽(hc,wc);线性规划约束条件有四种模块自身长宽比的范围λmin<hi/wi<λmax,模块之间的位置约束xi+wi<=xj和yi+hi<=yj,布局范围约束xi+wi<=wc和yi+hi<=hc,参数范围约束xi,yi,wi,hi,wc,hc>=0,λmin和λmax根据实际情况要求设定;(6)得到线性规划的目标函数和约束条件后,求解线性规划问题,得到满足所有约束条件下面积最优时所有参数的数值各个模块位置xi,yi,长宽hi,wi及总体长宽hc,wc,即最终的布局结果。
全文摘要
本发明属集成电路计算机辅助设计技术领域,具体为一种多时钟系统的集成电路平面布局规划方法。本发明基于序列对的表示法和模拟退火算法以及线性规划算法,提出了考虑多时钟区域间相互连接关系的平面布局方法。本方法在保持具有相同时钟模块临近的基础上,实现了不同的时钟区域之间存在连接关系的模块在最终布局中保持临近的约束条件,更加接近实际集成电路设计的要求,可广泛应用于集成电路计算机辅助设计中。
文档编号G06F17/50GK101055606SQ20071004150
公开日2007年10月17日 申请日期2007年5月31日 优先权日2007年5月31日
发明者王琳凯, 周晓方 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1