[发明专利]集成电路布图规划与缓冲器规划集成的布局方法无效
申请号: | 200310115545.9 | 申请日: | 2003-11-28 |
公开(公告)号: | CN1547252A | 公开(公告)日: | 2004-11-17 |
发明(设计)人: | 洪先龙;董社勤;蔡懿慈;马昱春;陈松 | 申请(专利权)人: | 清华大学 |
主分类号: | H01L21/82 | 分类号: | H01L21/82;G06F17/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 集成电路布图规划与缓冲器规划集成的布局方法属于集成电路计算机辅助设计领域,其特征在于:它引入了缓冲器插入时的可行区域计算,并通过在布图规划结果中的空白区域的划分,简化了缓冲器规划的复杂度,针对布图规划中的缓冲器规划对模拟退火的求解过程进行设计,把缓冲器的规划集成在布局规划问题的求解中。它把缓冲器规划融入布图规划的优化过程中,实现对时延性能的优化。 | ||
搜索关键词: | 集成电路 规划 缓冲器 集成 布局 方法 | ||
【主权项】:
1.集成电路布图规划与缓冲器规划集成布局方法,其特征在于:它是一种引入了缓冲器插入时的可行区域计算,并通过载布图规划结果中的空白区域的划分,以便把缓冲器的规划集成在布图规划问题的求解过程中的集成布图的方法,它依次含有以下步骤:(1).对计算机程序进行初始化,设制并输入以下参数:(1).模拟退火过程中参数设置,包括内循环次数、初始温度以及结束温度;(2).设置最终布局芯片的目标宽长R及其权重ω;(3).设置总线长的权重λ和缓冲器插入的权重r;(4).设置目标函数中缓冲器的大小和缓冲器插入网格的大小。(5).设置缓冲器相关的各项性能参数,包括负载电容,驱动输出电阻,缓冲器输出电阻,缓冲器输入电容,缓冲器固有时延,单位长度线电容,单位长度线电阻;(2).计算机从模块描述文件读入模块及线网信息:(1).读入模块四角坐标,并根据模块四角坐标计算模块的宽、高;(2).读入模块上引线端坐标,并将其转化为相对模块左下角的坐标;(3).按读入顺序给模块编号,并计算总模块数、各模块净面积之和;(4).读入线网信息,包括引线端的互连情况,线网中的时延约束;把有m个引线端的多端线网拆分成m-1个两端线网,再根据两端线网信息进行缓冲器规划;(3).根据模块信息,随机构造初始布局的拓扑结构即模块间的位置关系,用角模块序列表示方法作为模块布局的表示,根据读入模块的次序,随机构造初始布局Q0的拓扑结构;(4).进入模拟退火优化过程,计算布局问题最优或近似最优解。从初始温度开始,计算当前温度Tnow下的最优或近似最优解,它依次包含以下步骤:(4.1).根据下述公式计算各线网线长估计值以及总线长估计值,其中,单个线网的线长根据线网中的引线端位置用半周长模型估计:设:某线网E有m个引线端p1(x1,y1),…,pm(xm,ym);则:该线网的线长WireLength(E)用下述公式估计,WireLength ( E ) = ( max i ∈ { 1 , . . . , m } ( x i ) - min i ∈ { 1 , . . . , m } ( x i ) ) + ( max i ∈ { 1 , . . . , m } ( y i ) - min i ∈ { 1 , . . . , m } ( y i ) ) ]]> 其中,i为引线端编号,总线长估计值为:TotalWireLength = Σ k = 1 L WireLength ( E ) , ]]> L为线网的个数;(4.2)计算得到的布局中的空白区域,并划分成矩形模块,再把空白区矩形模块细划分成固定大小的用以放下一个或几个缓冲器的小矩形;(4.3)根据下式判断线网N长度是否大于关键长度lcrit,l crit = R b - R d r + C b - C l c + 2 R b C b + T b rc ]]> 其中:Rb:缓冲器输出电阻(Ω),Rd:驱动输出电阻(Ω),Cb:缓冲器输入电容(fF), C1:负载电容(fF), r:单位长度线电容(Ω/μm), c:单位长度线电容(fF/μm), Tb:缓冲器固有延时(ps);若:两端线网的长度l≤lcrit则:当前线网插入缓冲器数为零:(4.4)计算每一个两端线网N因为不满足时延约束需要插入的缓冲器数及各缓冲器的独立可行区域:(4.4.1).计算每一个二端线网满足时延约束需要的缓冲器数kmin:
其中:K1=RbCb+Tb(9)K 2 = ( rC b + cR b ) l + T b + R d C b + R b C l + T con - - - ( 10 ) ]]>- r 2 c ( C b - C l ) 2 - c 2 r ( R b - R d ) 2 ]]>K 3 = 1 2 rcl 2 + ( rC l + cR d ) l + R d C l - T con ( 11 ) ]]> 其中:l为线网长度,Rb:缓冲器输出电阻(Ω),Rd:驱动输出电阻(Ω),Cb:缓冲器输入电容(fF), C1:负载电容(fF), r:单位长度线电容(Ω/μm), c:单位长度线电容(fF/μm), Tb:缓冲器固有延时(ps), Tcon为线网的时延约束;(4.4.2).计算线网N中每个缓冲器的独立可行区域:长度为l的线网N的第j个缓冲器的独立可行区域为:IFR i = ( x opt j - W ifr / 2 , x opt j + W ifr / 2 ) I ( 0 , l ) , ]]> 其中Wifr为第j个缓冲器的独立可行区域的宽度,W ifr = 2 · T con N - T opt N ( k min , l ) rc ( 2 k min - 1 ) ]]> 其中,kmin为缓冲器数,TconN为线网N的时延约束,ToptN为线网N中插入kmin个缓冲器的最优时延,T opt N ( k min , l ) = T N ( x opt 1 , x opt 2 , . . . . . . , x opt k min , l ) ]]>= rl ( k min C b + C l ) + cl ( R d + k min R b ) + ( k min C b + C l ) ( k min R b + R d ) k min + 1 ]]>+ k min T b + rcl 2 - k min r ( C b - C l ) 2 / c - k min c ( R b - R d ) 2 / r 2 ( k min + 1 ) ]]> Xoptj为缓冲器相对线网源端的Manhattan距离(只包含水平和垂直线段),也即第j个缓冲器的位置;x opt j = ( j - 1 ) y l + x l - - - j ∈ { 1,2 , . . . , k min } ]]> 其中:
(4.5)用计算机计算满足目标时延的两端线网数目Nold;(4.5.1).计算每一个缓冲器的侯选位置集合: (4.5.1.1).计算缓冲器所在线网的源端和漏端所确定的矩形区域和空白区的交DFol; (4.5.1.2).计算DFol和缓冲器的独立可行区域的交,当DFol内某位置的左下角位于缓冲器的独立可行区域内,则该位置是相应缓冲器的侯选位置; (4.5.1.3).在上述缓冲器的侯选位置中选择成为缓冲器侯选位置最少同时尚未放置缓冲器的位置作为缓冲器的位置; (4.5.2).检查每一个两端线网,统计所需缓冲器未能全部插入的线网数,记为Nnotsat(4.6)计算机用下列公式评价Q,得到目标函数值Cost; CostQ=Area+λ×TotalWireLength+ω×Rs2+r×Nsat;其中:Area = max { x i } × i ∈ [ 1 . . . n ] max { y i } i ∈ [ 1 . . . n ] ]]> TotalWireLength(总线长)为各线网估算长度之和;λ为总线长的权重,ω为宽长比的权重,r为缓冲器插入的权重;Rs=/R-max(ration,1/ratio)/;其中设R为芯片宽长比的目标,ratio为芯片实际宽长比,(5)输出当前布局Qnow。(6)用下述公式计算下一个退火状态的温度Tnow=Tnow*a,其中a为退火因子,一般取值为0.95。如果当前温度大于结束温度Tnow>Tend,则进入下一个退火状态的求解过程;如果当前温度小于结束温度Tnow<Tend,则输出的当前布局即为最终布局。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200310115545.9/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
H01 基本电气元件
H01L 半导体器件;其他类目中不包括的电固体器件
H01L21-00 专门适用于制造或处理半导体或固体器件或其部件的方法或设备
H01L21-02 .半导体器件或其部件的制造或处理
H01L21-64 .非专门适用于包含在H01L 31/00至H01L 51/00各组的单个器件所使用的除半导体器件之外的固体器件或其部件的制造或处理
H01L21-66 .在制造或处理过程中的测试或测量
H01L21-67 .专门适用于在制造或处理过程中处理半导体或电固体器件的装置;专门适合于在半导体或电固体器件或部件的制造或处理过程中处理晶片的装置
H01L21-70 .由在一共用基片内或其上形成的多个固态组件或集成电路组成的器件或其部件的制造或处理;集成电路器件或其特殊部件的制造
H01L 半导体器件;其他类目中不包括的电固体器件
H01L21-00 专门适用于制造或处理半导体或固体器件或其部件的方法或设备
H01L21-02 .半导体器件或其部件的制造或处理
H01L21-64 .非专门适用于包含在H01L 31/00至H01L 51/00各组的单个器件所使用的除半导体器件之外的固体器件或其部件的制造或处理
H01L21-66 .在制造或处理过程中的测试或测量
H01L21-67 .专门适用于在制造或处理过程中处理半导体或电固体器件的装置;专门适合于在半导体或电固体器件或部件的制造或处理过程中处理晶片的装置
H01L21-70 .由在一共用基片内或其上形成的多个固态组件或集成电路组成的器件或其部件的制造或处理;集成电路器件或其特殊部件的制造