当前位置: 首页 > 专利查询>复旦大学专利>正文

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

技术编号:2837523 阅读:317 留言:0更新日期:2012-04-11 18:40
本发明专利技术属集成电路计算机辅助设计技术领域,具体为一种多时钟系统的集成电路平面布局规划方法。本发明专利技术基于序列对的表示法和模拟退火算法以及线性规划算法,提出了考虑多时钟区域间相互连接关系的平面布局方法。本方法在保持具有相同时钟模块临近的基础上,实现了不同的时钟区域之间存在连接关系的模块在最终布局中保持临近的约束条件,更加接近实际集成电路设计的要求,可广泛应用于集成电路计算机辅助设计中。

【技术实现步骤摘要】

本专利技术属于集成电路计算机辅助设计
,具体涉及一种考虑新的约束因素的布图规划方法,尤其涉及一种对多时钟系统考虑不同时钟区域之间连接关系的平面布局布图规划方法。
技术介绍
随着集成电路规模的不断扩大,集成电路的布局变的越来越复杂,因而集成电路布图规划算法的研究在近年来受到了广泛重视。在考虑主要的面积和线长优化基础上,越来越多的实际因素被考虑进来,增加了布局算法的实用性。文献[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)式作为模拟退火优化的目 标函数;cost=α.S/average_S+β.L/average_L+γ.D_total/average_D(1)其中S,L,D_total分别表示布局的面积、线长、交互模块中心距离总和,aversge_S, average_L,average_D分别表示面积、线长、交互模块中心距离总和的平均值;α、β、γ分别是面积、线长和所有交互模块中心折线距离总和在目标函数的权重;各个分量在目标函数中都用随机搜索中得到的平均值进行了归一化处理;当搜索 不再收敛或已经达到终止温度时,停止进一步搜索,记录最优布局结果;本步骤中,模拟退火算法采用快速模拟退火算法,模拟退火算法的起始温度和终止温度,根据实际计算情况确定;(4)根据模拟退火算法获得的信息,计算各个模块的坐标以及各个 模块的优化的面积、连线长度、交互模块中心折线长度;(5)采用线性规划算法,进一步对电路的各模块面积进行优化处理,线性规划的优化目标是在不改变原来相对位置条件下总面积最小,目标函数为f=λ↓[1].h↓[c]+λ↓[2].w↓[c], 其中λ↓[1],λ↓[2]分别是模拟退火得到的布局结果长宽比例,h↓[c],w↓[c]为总体布局的长度和宽度;线性规划的变量是所有模块的位置坐标(x↓[i],y↓[i]),长、宽(h↓[i],w↓[i])及总体布局的长、宽(h↓[c],w↓[c]);线性规划约束条件有四种:模块自身长宽比的范围:λ↓[min]<h↓[i]/w↓[i]<λ↓[max],模块之间的位置约束:...

【技术特征摘要】
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分别表示面积、线长、交互模块中心距离总和的平均值;α、β、γ分别是面积、线长和所有交互模块中心折...

【专利技术属性】
技术研发人员:王琳凯周晓方
申请(专利权)人:复旦大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1