【技术实现步骤摘要】
本专利技术属于集成电路计算机辅助设计
,具体涉及一种新的布图规划方法,尤其涉及一种对多时钟系统的平面布局布图规划方法。
技术介绍
集成电路布图规划算法的研究在近年来受到了广泛重视,但是目前研究重点还主要集中在基于面积、线长以及关键路径时间延迟的优化几个方面。伴随着电路规模的不断增大,多时钟系统已经越来越普遍,由于要同时考虑不同时钟域和同一时钟域不同模块之间的关系,在布图规划时考虑到多时钟问题将成为必然。本专利技术将有针对性的提出基于多时钟平面布图规划问题。
技术实现思路
本专利技术的目的是提出一种针对多时钟域的超大规模集成电路布图规划方法。传统的超大规模集成电路布图规划问题描述如下给定一组由N个模块组成的集合B={b1,b2,...,bN},对bi∈B(i=0,1,...,N),有一组参数{hi,wi,αi}与其相对应,分别代表该模块的高度、宽度和面积,其中αi固定不变,τi=wi/hi可以在一定范围内变化,布图规划的目标是在使这些模块不相互重叠的前提下,使外包所有模块的最小矩形的面积最小,同时使模块间连线的总长度最短。通常布图规划系统需要用一种数据结构将相应的布局表示出来,本专利技术采用了序列对[1]的表示方法。序列对表示法包括两个由所有模块的名字组成的序列X、Y。根据序列对表示法,两个模块之间的位置关系如下(1)如果在X、Y中模块a都在模块b前面,则在平面布局中,模块b在模块a的右侧,相应的序列对为(…a...b...,...a...b...);(2)如果在X中模块a都在模块b前面,在Y中模块a都在模块b后面,则在平面布局中,模块a在模块b的上方 ...
【技术保护点】
一种多时钟的平面布图规划方法,其布图规划问题描述如下:给定一组由N个模块组成的集合B={b↓[1],b↓[2],…,b↓[N]},对b↓[l]∈B(i=0,1,…,N),有一组参数{h↓[i],w↓[i],a↓[i]}与其相对应,分别代表该模块的高度、宽度和面积,其中a↓[i]固定不变,τ↓[i]=w↓[i]/h↓[i]可以在一定范围内变化,布图规划的目标是在使这些模块不相互重叠的前提下,使外包所有模块的最小矩形的面积最小,同时使模块间连线的总长度最短;其中采用序列对表示法表示规划系统的布局:由所有模块的名字组成序列X、Y;其特征在于:对于多时钟域的平面布局,不同时钟域的模块之间位置关系如下:对于任意两个时钟域D↓[clcok↓[i]]={b↓[i1],b↓[i2],…,b↓[im]}、D↓[clock↓[j]]={b↓[j0],B↓[j1],…,B↓[jn]},m、n分别为第i、j个时钟域的模块个数,有:D↓[clock↓[i]]∩D↓[clock↓[j]]=φ|D↓[clock↓[i]]∪D↓[clock↓[j]]|=m+n假定相应的序列对为(X,Y)=(…b↓[il↓[1]]…b ...
【技术特征摘要】
1.一种多时钟的平面布图规划方法,其布图规划问题描述如下给定一组由N个模块组成的集合B={b1,b2,...,bN},对bi∈B(i=0,1,...,N),有一组参数{hi,wi,ai}与其相对应,分别代表该模块的高度、宽度和面积,其中ai固定不变,τi=wi/hi可以在一定范围内变化,布图规划的目标是在使这些模块不相互重叠的前提下,使外包所有模块的最小矩形的面积最小,同时使模块间连线的总长度最短;其中采用序列对表示法表示规划系统的布局由所有模块的名字组成序列X、Y;其特征在于对于多时钟域的平面布局,不同时钟域的模块之间位置关系如下对于任意两个时钟域Dclcoki={bi1,bi2,...,bim},Dclockj={bj0,Bj1,...Bjn},]]>m、n分别为第i、j个时钟域的模块个数,有Dclocki∩Dclockj=φ]]>|Dclocki∪Dclockj|=m+n]]>假定相应的序列对为(X,Y)=(...bii1...bii2......biim...,...bjj1...bjj2......bjjn...),]]>仅包含Dclocki∪Dclockj的子序列对为(X′,Y′)=(b0i1b0i2...b0imb1j1b1j2...b1jn)]]>定义b(i)∈(X′,Y′)在X′和Y′中的位置分别为pX′(b(i))和pY′(b(i));根据上面的定义,再定义如下两种不允许的情形情形1∃bik,bil∈Dclocki(0<k,l≤|Dclocki|),]]>pX′(bik)≤pX′(bil)且pY′(biK)≤pY′(bil),如果∃bjm∈Dclockj0<m≤|Dclockj|]]>使pX′(bik)<pX′(bjm)pX′(bil)>pX′(bjm)pY′(bik)<pY′(bjm)pY′(bil)>pY′(bjm)]]>成立;情形2∃bik,bil∈Dclocki(0<k,l≤|Dclocki|),]]>pX′(bik)≤pX′(bil)且pY′(bik)≥pY′(bil)如果∃bjm∈Dclockj0<m≤|Dclockj|,]]>使pX′(bik)<pX′(bjm)pX′(bil)>pX′(bjm)pY′(bik)>pY′(bjm)pY′(bil)<pY′(bjm)]]>成立;定义1一个平面布局是允许的当且仅当其相对应的序列对不存在情形1和情形2;引入水平时钟域约束图和垂直时钟域约束图定义2水平时钟域约束图如果时钟域clockj的任一个模块在时钟域clockk的任一个模块的左边,则在水平约束图中存在一条从node(j)到node(k)的有向边;定义3垂直时钟域约束图如果时钟域clockk的任一个模块在时钟域clockj的任一个模块的上边,则在垂直时钟域约束图中存在一条从node(j)到node(k)的有向边;定理1一个多时钟系统的平面布局是允许的当且仅当其水平时钟域的约束图和垂直时钟域的约束图不存在环;于是,本发明的解决方法归结为将不允许的平面布局转化为允许的平面布局,具体步骤为(1)如果约束图中的节点数不为零,计算水平约束图和垂直约束图中所有节点的入度和出度,否则结束;(2)根据计算的结果求得最小入度和最小出度的节点;(3)如果最小入度min(Din)=0或最小出度min(Dout)=0,则在约束图中去除相应的节点,转到第1步。否则进入第4步;(4)求得max(Din+Dout)=0所对应的节点,将此节点所对应时钟域的所有模块均移到每个序列的最后,同时保持该时钟域内部各模块的相对位置不变,然后转到第1步;上述符号的含义如下N模块总数,Ni第i个时钟域的模块数,K时钟域的个数,hi模块i的垂直方向的长度,wi模块i水平方向的长度,ai模块i的面积,b(i)第i个模块,C(b(i))模块b(i)的时钟域,τiτi=wi/hi,bij第i个时钟域的第j个模块,clocki第i个时钟域,node(i)约束图中的第i个时钟域,V约束图中节点的集合,X序列对表示法中的第一个序列,Y序列对表示法中的第二个序列。2.一种多时钟的平面布图规划方法,其其布图规划问题描述如下给定一组由N个模块组成的集合B={b1,b2,...,bN},对bi∈B(i=0,1,...,N),有一组参数{hi,wi,ai}与其相对应,分别代表该模块的高度、宽度和面积,其中ai固定不变,τi=wi/hi...
【专利技术属性】
技术研发人员:赵长虹,陈建,周晓方,周电,
申请(专利权)人:复旦大学,
类型:发明
国别省市:31[中国|上海]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。