CN1862546A - 一个快速的集成电路可布性分析方法 - Google Patents
一个快速的集成电路可布性分析方法 Download PDFInfo
- Publication number
- CN1862546A CN1862546A CN 200610012271 CN200610012271A CN1862546A CN 1862546 A CN1862546 A CN 1862546A CN 200610012271 CN200610012271 CN 200610012271 CN 200610012271 A CN200610012271 A CN 200610012271A CN 1862546 A CN1862546 A CN 1862546A
- Authority
- CN
- China
- Prior art keywords
- point
- limit
- gauze
- row
- grg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Image Analysis (AREA)
Abstract
本发明属于IC CAD领域,其特征在于,一次含有以下步骤:计算机初始化,并建立GRG图,读入布线资源和电路网表;用Prim算法拆分多端线网,得到曼哈顿距离下的最小生成树;预估计各边的走线概率:若两个引脚段的引脚处在边界框的对角处,用格路模型,若出在同一行或列时,用扩展边界框估计模型;快速布线:采用按走线概率反比结合随机选择等方式,选择布线路径。本发明通过快速完成拥挤估计,使可布性分析能服务于增量式布局或者指导布线。
Description
技术领域
集成电路计算机辅助设计(IC CAD)领域,尤其涉及标准单元(SC)总体布线领域。
背景技术
在传统计算机辅助IC设计的流程中,当完成布局、布线后,通过反馈走线密度信息给布局/布线器,可以通过拆线重布来一定程度上解决布线拥挤问题。然而,如果拆线重布过程仍然解决不了拥挤,设计者则不得不修改已有的布局。上述传统设计流程的问题在于,在布线之后才去获取最后的拥挤信息,而布线过程已接近设计尾声,又是一个非常耗时的过程,因此,如果修改已有的布局,意味了大部分的设计过程需要重做。
不难想象,如果在设计流程的较早阶段便可快速获取准确的拥挤信息,有助于指导布局/布线的进行,从而提前预见拥挤问题,并在它真正出现前就采取有效的处理措施。因此,如果修改传统流程,在布图过程中加入快速有效的功能模块,针对布局结果进行有效的拥挤评估,以作为布局的反馈信息,并指导后续的布线工作。这就避免了当后续布线最后无法完成时,再回到前面布局阶段进行重新改进的情况,从而使整个设计能够在合理的时间里完成,并减少整个物理设计中不必要的迭代。像这样,能快速有效地针对布局结果进行拥挤评估,反馈给布局并指导后续的布线工作,我们称之为可布性分析,完成可布性分析的功能模块称之为可布性分析器。
在已报导和所能查阅到的国内外相关研究中,关于“针对布局后的拥挤估计的方法”的研究情况可列举、分析、总结如下:
在介绍拥挤估计的方法之前,首先介绍一下拥挤的估计的意义。
文献[P.N.Parakh,R.B.Brown and K.A.Sakallah,”Congestion Driven Quadratic Placement”,Design Automation Conference,pages 275-278,1998.][M.Wang,X.Yang,K.Egoru andM.Sarrafzadeh,“Multi-center congestion estimation and minimization during placement”,Intemational Symposium on Physical Design,pages 147-152,2000.]将拥挤信息用于改进布局质量,[Olivier Coudert,Jason Cong,Sharad Malik,Majid Sarrafzadeh,“INCREMENTAL CAD,”ICCAD 2000,pp.236-243]将拥挤信息作为反馈来进行增量式布局,文献[R.T.Hadsell andP.H.Madden,“Improved Global Routing through Congestion Estimation”,Design AutomationConference,pages 28-31,2003.][J.Cong and P.H.Madden,“Performance Driven Multi-LayerGeneral Area Routing tot PCB/MCM Designs”,Design Automation Conference,pages 356-361,1998.][Jinjun Xiong,Lei He,“Probabilistic Congestion Model Considering Shielding for CrosstalkReduction,”ASP-DAC 2005 pp.739-742.][T.Jing,X.L.Hong,H.Y.Bao,et al,“SSTT:EfficientLocal Search for GSI Global Routing”,J.Comput.Sci.& Technol.,2003,18(5):pp.632-639.]将拥挤估计的信息用于改进布线。而[H-M.Chen et al.,“Integrated Floorplanning and InterconnectPlannig”,International Conference on Computer Aided Design,pages 354-357,1999.][Y.Ma et al,“Dynamic global buffer planning optimization based on detail block locating and congestionanalysis”,Design Automation Conference,pages 806-811,2003.]在floorplanning中进行了拥挤驱动的优化。
通过对目前已报导和所能查阅到的国内外相关研究,关于布局后拥挤估计的方法大致可分为三类:
●实验估计模型
●布线器估计模型
●概率估计模型
实验估计模型
文献[C.-L.E.Cheng,“RISA:Accurate and efficient placement routability modeling,”in Proc.Int.Conf.Computer-Aided Design,June 1994,pp.690-695.]利用了大量实验得出的走线分布图(WDM:wire distribution map)来进行拥挤估计;[M.Wang and M.Sarrafzadeh,“On the behaviorof congestion minimization during placement,”in Proc.Int.Symp.Physical Design,Apr.1999,pp.145-150.]也利用了一种实验得出的拥挤估计模型。
这种模型,虽然能够对拥挤度进行快速估计,但是由于它们是实验得出的模型,因此它们对例子的特性依赖过强,某种程度上,可能会丧失拥挤估计的客观性。
布线器估计模型
文献[S.Mayrhofer and U.Lauther,“Congestion-driven placement using a newmultipartitioning heuristic,”in Proc.Int.Conf.Computer-Aided Design,Nov.1990,pp.332-335.][P.N.Parakh,R.B.Brown,and K.A.Sakallah,“Congestion driven quadratic placement,”in Proc.35th Design Automation Conf.,June 1998,pp.275-278.][R.S.Tsay,S.C.Chang,and J.Thorvaldson,“Early wireability checking and 2-D congestion-driven circuit placement,”in Proc.5th Annu.IEEE Int.ASIC Conf.and Exhibit,Sept.1992,pp.50-53.]采用了简化的总体布线器来估计拥挤。
这种模型,虽然使用了经过简化的总体布线模型,但是往往会面临在准确性和效率上的取舍问题。另一方面,由于不同的简化总体布线器的布线策略和绕线能力不同,而可能导致不同的简化总体布线器对拥挤度的估计产生不同的结果。而且,简化的拥挤估计的布线器,可能会与随后的真正布线器的结果发生不一致的情况。
概率估计模型
文献[J.Lou,S.Krishnamoorthy and H.S.Sheng,“Estimating Routing Congestion usingProbabilistic Analysis”,International Symposium on Physical Design,pages 112-117,2001.][H-M.Chen et al.,“Integrated Floorplanning and Interconnect Plannig”,InternationalConference on Computer Aided Design,pages 354-357,1999.]则为了更好满足客观性和一致性方面的要求,提出的概率估计的方法。前者,使用了经典的组合模型(格路模型),来求解线网走线的分布情况(与实验估计模型不同)。后者,则是在只考虑简单的L型和Z型线网的前提下,对线网的走线分布进行概率的估计(结合了一些经验的估计)。
此模型,能够较快速地对布局后的结果进行拥挤分析,拥挤估计值和实际布线后的情况有较好的吻合,并且能够保持良好客观性和一致性。
然而,[J.Lou]概率估计模型局限在于,采用组合概率模型在边界框(bounding box)内所有可能路径上平均分布走线,导致分数解,故而无法得到线网精确的走线情况。而同时,对于两个引脚在同一行或列上的情况,单纯的组合模型限制了它们选择其他可能路线的空间。针对上述局限,我们提出了新的基于概率模型的估计算法。首先,利用边界框进行拥挤度的预估,对于两点共线的线网分布,采用扩展的边界框(extended bounding box)允许一定程度的合理绕线,从而能够绕过附近的过于拥挤的区域。最后在概率指导下进行实际快速布线,不使用任何迭代和优化(避免拥挤估计的不一致和客观性)。在预估拥挤度的指导下,我们以拥挤度的反比,作为随机走线的选择概率来进行实际布线。这样,可以使得各个可选范围内的路径上经过的走线数目在概率上趋于均匀,从而在局部小范围内,避免出现一部分发生高度拥挤,而另一邻近部分则比较疏松的不合理的拥挤估计情况。
已进行过“新颖性检索”,检索报告见附件2。
发明内容
本发明的目的在于提出一种快速的集成电路可布性分析方法。本发明的总体思路是:通过快速完成估计拥挤,使可布性分析方法能够服务于增量式布局或者指导布线,从而缩短整个物理设计的周期。本发明即可布性分析方法,首先,我们扩展了现有的一种概率估计模型的技术,对问题的模型进行拥挤的预估计。其中,主要针对两个引脚处于同一行或列上的估计方法,利用本发明提出的扩展边界框(extended bounding box)的技术进行了改进。然后,对所有的线网利用预估拥挤信息并在概率的指导下,进行了本发明提出的快速的布线。为了保证可布性分析方法的客观性和一致性,此布线被限制在边界框中并且没有任何迭代和拥挤优化。这一步目的是为了使可布性分析方法得到更加精确和有实际意义的拥挤估计。
本发明的总体流程图如图1所示。
本发明的特征在于,它依次包含如下步骤:
步骤1初始化并建立总体布线图
步骤1.1计算机读入在一个多层布线芯片上划分总体布线单元GRC网格所必需的行数Nrow、列数Ncol;
步骤1.2求GRC的对偶图:
以GRC中每个网格的中心为新的顶点,重连接各相邻网格的中心点形成新的边,从而得到总体布线图GRG;
步骤1.3在步骤1.1所述的多层布线芯片上,以芯片中心为原点建立笛卡儿平面直角坐标系,并把各个布线层投影到该坐标平面上;
步骤1.4标记步骤1.2中所述各新顶点的坐标为vrow,col(x,y),并把这些新顶点的集合记为V,其中row,col分别代表该新顶点所在GRG的行和列,x,y是步骤1.3所建坐标平面的坐标;
步骤1.5为所述GRG顶点vrow,col以及连接每两个相邻顶点的GRG边ek分别编号,顶点用公式(row-1)×Ncol+col-1编号,边ek则先按行从下向上从左向右编号,再按列从左向右从下向上排号;
步骤1.6计算机读入每条GRG边ek的容量ck,给边ek的通道使用量λk赋初始值为0;
步骤2计算机读入表征电路详细的连接的网表
步骤2.1读入电路中线网的总数Mnet;
步骤2.2计算机对每一条线网执行:
步骤2.2.1读入线网的源点s和漏点集T;
步骤2.2.2把线网的源点s和漏点集T中所有点,映射到所述GRG的各顶点上,并用顶点编号对该点标记;
步骤2.2.3按读入顺序,为每条线网编号;
步骤3拆分所述线网中的多端线网,但两端线网保持原状;
对于每一条多端线网执行如下操作:
利用Prim算法求得曼哈顿距离下的最小生成树来划分两引脚端,形成按两引脚段划分顺序所构成的两引脚段序列,从而把一个多端线网划分成为一个两引脚段序列,所述的两引脚段是指该多端线网的顶点集合中,由相距近的两点构成的点对集合,在由该点对构成的路径上不存顶点集合的其它点;
步骤4预估计GRG各边的走线概率;
步骤4.1设定GRG每条边ek所对应的走线概率值pk的初始值为0;
步骤4.2对每条两端线网或多端线网的每个两引脚段做如下操作:
步骤4.2.1若两个引脚u,v分别处于GRG图的左下角和右上角的位置,u为左下角引脚,v为右上角引脚;
如图3所示,以u作为原点建立参考用笛卡儿平面直角坐标系,横轴以列为单位,并以水平向左为正方向,若经过m段水平网格,纵轴以行为单位,以垂直向上为正方向,若经过n段垂直网格,点v(m,n)处于第I象限,原点为u(0,0),以u(0,0),v(m,n)为对顶点构成矩形框称为为边界框u-v,从u点到v点任何一条可能路径的长度等于边界框u-v的半周长;
从而,按下式得到经过边界框u-v里某条设定水平边AB(B点在A点右面)或垂直边AC(C点在A点的上面)的走线概率:
经过水平边AB的走线概率为:
Pk1=H(x,y)/T(m,n) 0≤x≤m-1,0≤y≤n,
其中,T(m,n)表示从u(0,0)出发到点v(m,n)间可能存在的路径数,表达式为:
H(x,y)表示从原点u(0,0)出发到点A(x,y),并经过以点A(x,y)为左端点的某一特定水平边AB的路径数,用下式表示:
H(x,y)=T(x,y)T(m-x-1,n-y),0≤x≤m-1,0≤y≤n
T(x,y)表示从原点u(0,0)到点A(x,y)间可能存在的路径数,按下式得出:
T(m-x-1,n-y)表示从点B(x+1,y)出发到点v(m,n)间可能存在的路径数,用下式表示:
经过垂直边AC的走线概率为:
Pk2=V(x,y)/T(m,n),0≤x≤m,0≤y≤n-1,
其中,V(x,y)表示从原点u(0,0)出发到点A(x,y)间经过以点A(x,y)为下端点的某一特定垂直边AC的路径数,用下式表示:
V(x,y)=T(x,y)T(m-x,n-y-1),0≤x≤m,0≤y≤n-1,
其中,T(m-x,n-y-1)表示从点C(x,y+1)出发到达点v(m,n)间可能存在的路径数,用下式表示:
再把所得的Pk1,pk2分别累加到边AB,AC上的走线概率,k1,k2分别为边AB,AC的编号;
步骤4.2.2若两个引脚u,v分别处于GRG图的右下角和左上角的位置,u为右下角引脚,v为右上角引脚;
则以右下角的引脚u作为原点建立参考用笛卡儿平面直角坐标系,横轴以列为单位,并以水平向左为正方向,若向左经过m*段水平网格,纵轴以行为单位,以垂直向上为正方向,若经过n*段垂直网格,点v(m*,n*)处于第I象限,原点为u(0,0),以u(0,0),v(m*,n*)为对顶点构成矩形框称为为边界框u-v,从u点到v点任何一条可能路径的长度等于边界框u-v的半周长;
从而,按照步骤4.2.1中的方法计算经过边界框u-v里某条设定水平边AB(B点在A点左面)或垂直边AC(C点在A点的上面)的走线概率,其中,只要把步骤4.2.1中的公式里的m,n分别换成m*,n*即可;
最后,再把所得的Pk1,Pk2分别累加到边AB,AC上的走线概率,k1,k2分别为边AB,AC的编号;
步骤4.2.3若两个引脚u,v分别处于GRG图的同一行或列时,称两引脚点为平点对,以一个引脚为原点建立参考用笛卡儿平面直角坐标系,并使另一个引脚落在横轴或纵轴的正半轴,当处于同一行,另一个引脚落在横轴的正半轴,当处于同一列,另一个引脚落在纵轴的正半轴,然后,用扩展边界框估计法,按下面方法计算边ek上的相应走线概率:
步骤4.2.3.1按照下面方法建立扩展边界框:
使同一行(列)的平点对的边界框,向垂直(水平)方向各扩展一行(列);
步骤4.2.3.2在边界框内,在边界框扩展方向上,最多最允许一次背离所述两引脚u,v所处的同一行或列的条件下,按下式计算经过的点(x,y)为左端点的某一特定的水平边的走线概率pk1和计算经过点(x,0)向上或向下的垂直边的走线概率pk2:
当u,v处于同一行时,如图4所示,
Pk1=H*(x,y)/F(m′),0≤x≤m′-1,-1≤y≤1,
其中,m’为点u,v间的列数,
F(m’)表示在扩展边界框u-v中从u到v的可能路径数,按下面公式计算:
F(m’)=m’2+m’+1,m’是u和v之间相隔的列数,
H*(x,0)表示从点u(0,0)到点(x,0)间经过以该点(x,0)为左端点的水平边的可能路径数目,用下式计算:
H*(x,0)=F(x)+F(m′-x-1)-1,0≤x≤m′-1,
H*(x,±1)表示从点u(0,0)到点(x,±1)间经过以该点(x,±1)为左端点的水平边的可能路径数目,用下式计算:
H*(x,±1)=(x+1)(m′-x),0≤x≤m′-1,
其中,F(x)表示在扩展边界框u-v中从u到(x,0)的可能路径数,表达式为:F(x)=x2+x+1,
F(m′-x-1)表示在扩展边界框u-v中从(x+1,0)到v(m’,0)的可能路径数,表达式为:F(m′-x-1)=(m′-x-1)2+(m′-x-1)+1;
Pk2=V*(x,y)/F(m′),0≤x≤m′-1,-1≤y≤1,
其中,m’为点u,v间的列数,
V*(x,0)表示从u(0,0)到点(x,0),并经过与点(x,0)向上(或向下)所连的垂直边的路径数,用下列表达式计算:
V*(x,0)=m′,0≤x≤m′,
当u,v位于同一列时,
设u,v之间的行数为m”,将上述表达式中m’的值用m”代入便计算出相应的pk1,Pk2,
然后,再将Pk1,Pk2累加到各边对应的pk上,k1,k2分别为各边的编号;步骤5快速布线
步骤5.1对每一条线网进行布线,流程图参见图5,具体操作如下:
步骤5.1.1读入用Prim算法划分后,并按划分顺序标过序号的两引脚段序列;
步骤5.1.2标记第一个两引脚段中的任一个引脚点;
步骤5.1.3从5.1.2中所指的引脚段开始,按标号顺序依次对于两引脚段序列中的每一个两引脚段,执行下列操作:
步骤5.1.3.1检查当前的两引脚段的两个引脚是否都被标记;
步骤5.1.3.2如果是,那么取下一个两引脚段,并重新转到步骤5.1.3.1;否则,将未标记的引脚作为起点,并执行下面步骤;
步骤5.1.3.3将起点设为当前点u*,并对其标记被访问过;
步骤5.1.3.4按照边界框布线的约定,找到与u*相邻的两个可行顶点集合Vp和两条可行边的集合Ep={ek1,ek2},按如下方法选择一条边:
利用C/C++编程语言中公知的rand()函数,通过rand()/RAND_MAX产生[0,1]之间的随机数,其中RAND_MAX是公知的被定义的rand()产生随机数的最大值;
如上方法产生一个随机数,如果这个随机数不大于pk2ck1/(pk1ck2+pk2ck1),那么选择与分子ck1对应的边ek1,即i=k1,否则选择边ek2,即i=k2;
步骤5.1.3.5将被选边ei的另一个端点vi作为新的当前点u*;
步骤5.1.3.6检查当前点是否被标记,如果不是,则标记该点并依照步骤5.1.3.4的方法选择下一个点;如果是,则记录所有经过路径;
步骤5.2所有线网布好线后,对每条线网经过的边的通道使用量λk累加1,统计每条边上的使用量;
步骤5.3计算各个边的拥挤度值ηk=λk/ck;
步骤6输出
步骤6.1将拥挤估计结果和快速布线结果写入Si2推出的工业界标准的数据库平台OpenAccess;
步骤6.2输出评测报告。
为了测试可布性分析算法的准确性与客观性,我们将其与另外两个拥挤估算相关方法进行比较。一个是现有的拥挤驱动的SSTT布线器[T.Jing,X.L.Hong,H.Y.Bao,et al,“SSTT:Efficient Local Search for GSI Global Routing”,J.Comput.Sci.& Technol.,2003,18(5):pp.632-639.],能够提供实际布线的结果以供比较。另一个是我们依现有技术[J.Lou,S.Krishnanioorthy,and H.S.Sheng,”Estimating routing congestion using probabilistic analysis,”inPTOC.Int.Symp.on Phgsacal Design,2001]实现的传统的拥挤估计器,我们暂时称为EOPA,它采用的是概率分析模型。我们采用了6个不同大小和拥挤程度的测试例子,如表1所示。实验环境为具有3.0GHz CPU和4GB内存的Linux服务器。所有测试的方法均使用了公知的[Andrew B.Kahng,Stefanus Mantik,and Dirk Stroobandt,“Toward accurate models of achievablerouting”IEEE Tran.Computer-Aided Design,vol.20,Issue 5,May 2001 pp.648-659.]中的资源估计方法输出的结果。
我们使用FREe布线后的走线长度来近似估计每一个例子的线长的下界(如果我们能得出SMT,steiner minimal tree,那么变能够得到一个精确线长的下界)。于是我们定义minimumusage ratio(MUR)为FREe布线的总线长与
的比值,其中ce和le分别为边e的容量和长度。于是,MUR可用来近似估计每一个例子的拥挤度值的下界,并依此较客观地说明测试例子本身的拥挤情况。表2a)的第2列和第3列分别列出了MUR和估计的近似极小总线长,第4列,则给出了SSTT布线的总线长。
表1 测试例子的描述
Test case | #ofcells | #of nets | Grids |
freecpu | 3111 | 3040 | 74×68 |
u05614 | 32498 | 36452 | 205×205 |
u08421 | 48810 | 54743 | 251×251 |
u11228 | 65058 | 72968 | 290×290 |
u14035 | 81242 | 91129 | 324×324 |
u28070 | 162162 | 181934 | 458×458 |
在表2b)中的2,3和5列分别列出了EOPA,FREe和SSTT的运行时间。可见,EOPA和FREe作为专门的拥挤估计器,比实际拥挤驱动的布线器SSTT会快很多。这样就能为布局提供比较快速的反馈。
我们对布好线网的芯片定义sigma为各个走线道拥挤度的标准差。即: 其中
ηe为边e的拥挤度值。
sigma可以用来反映布线后的拥挤区的分布情况,并可衡量GRG各边上布线资源被使用的均匀程度。sigma的值越接近于零,说明布线资源利用得越均匀,布线的质量也就越好。
由于FREe和SSTT分别对线网进行了实际的布线,所以表2b)的4和6列分别给出了他们的sigma值。可以看出,FREe的sigma值和SSTT比较接近,但是略大于SSTT的sigma。说明,从某种程度上来讲,绕线优化性能越好,布出的线会越均匀。但是,作为拥挤估计器,这样的绕线优化拥挤会使它失去客观评价的意义。所以,我们能够在没有过量的绕线和优化的基础上,既保持了线长的近似极小,又能够在这样约束下达到布线资源较均匀地利用,从而较客观、准确地评价了布局后的拥挤状况,并且和SSTT结果有较好的一致性。
为了进一步能说明,FREe拥挤估计的能力。不失一般性,我们以u05614为例,分别给出了EOPA,FREe和SSTT的拥挤度图,如图6a),b),c)所示。可见,图6b)和c)特征比较相近,这正是由于拥挤预估概率指导下的快速布线能带来和SSTT一致性较好的拥挤估计。与此同时,FREe又没有失去其客观性的要求。
表2实验结果
a)FREe和SSTT总的资源使用比较
TestCases | MUR | EstimatedMinimumTotal Length(μm) | SSTTTotal Length(μm) |
freecpu | 57.22% | 1.79×107 | 2.07×107 |
u05614 | 60.67% | 4.44×108 | 5.02×108 |
u08421 | 83.09% | 6.78×108 | 7.78×108 |
u11228 | 74.91% | 8.64×108 | 1.03×109 |
u14035 | 167.78% | 1.16×109 | 1.33×109 |
u28070 | 174.12% | 2.43×109 | 2.83×109 |
Estimated Minimum Total Length是指由FREe布线后的总线长.
b)性能比较
Test Cases | EOPA | FREe | SSTT | ||
running time(s) | runningtime(s) | sigma | runningtime(s) | sigma | |
freecpu | 0.08 | 0.11 | 1.42 | 7.93 | 1.29 |
u05614 | 0.63 | 1.09 | 2.26 | 182.69 | 1.99 |
u08421 | 0.99 | 1.68 | 2.35 | 426.33 | 2.08 |
u11228 | 1.06 | 2.13 | 2.24 | 488.74 | 2.07 |
u14035 | 1.67 | 3.08 | 2.42 | 813.80 | 2.13 |
u28070 | 3.61 | 7.21 | 2.45 | 1728.25 | 2.20 |
比较图6a)和b)可以看出,EOPA仅给出一些区域会产生平均意义上的拥挤,而FREe增加了实际布线后,便能精确的给出,究竟对应于GRG边的那些区域在多大程度上会出现走线拥挤。
另外,FREe同时给出了拥挤估计后的详细报告。其中包含水平边和垂直边分别的最大拥挤度值,以及水平边和垂直边分别的超容量的和,等等。
附图说明
图1:本发明的总体流程图。
图2:总体布线的示意图。
图3:引脚处于左下角-右上角的两引脚段u-v及其边界框的坐标图。
图4:平点对的两引脚段u-v及其扩展边界框的坐标图。
图5:对单个线网布线的流程图。
图6:测试例子u05614的拥挤度图。
图7:例子u05614的GRG中的一个方框。
图8:例子u05614中control线网在GRG上的走线情况。
图9:例子u05614中m1/n7630线网在GRG上的走线情况。
图10:例子u05614中m2/n7766线网在GRG上的走线情况。
图11:例子u05614中线网在GRG上的走线情况
(m1/U2∨mult1∨ADD1∨pog_array[2][32])。
具体实施方式
首先,在我们抽象出的问题模型上,利用经典的Prim算法求得最小生成树(MST)。并按照最小生成树的树枝生成的先后顺序,将每个多端线网划分成两引脚段(two-pin section)序列。本身是两端线网的,保持不变。其次,对于处于两个引脚处于斜对角位置的两端线网或引脚段利用现有的技术求出两引脚之间的走线分布;对于处于同一行或列的两个引脚,采用本发明提出的扩展的边界框技术求出两引脚之间的走线分布。它可以帮助其绕过过于拥挤的区域。然后,对所有的线网利用预估拥挤信息并在概率的指导下,进行了本发明提出的快速的布线。该布线技术不但可以避免布线拥挤,还可以使得各个可能路径上经过的走线数目基本均匀。
对于目前IC设计中的多层布线技术,可布线区域不再是单元间的一条条的布线通道,而是一个完整的芯片平面。可采用网格方式,把整个芯片平面按行和列划分为若干个称为总体布线单元GRC的区域,然后生成GRC的对偶图,即如图2所示的总体布线图GRG。GRG由Nrow×Ncol个节点和连接这些节点的边构成。与GRCrow,col对应的节点vrow,col的坐标为GRCrow,col的中心点。连接两节点vrow1,col1和vrow2,col2的边称为ek;lk表示两节点vrow1,col1和vrow2,col2之间的曼哈顿距离,称为ek的长度;ck表示ek的容量,表示两节点vrow1,col1和vrow2,col2对应的两个GRC之间能够通过的线网的连线数。于是,线网中要连通的引脚点Pin就映射成为其所在的GRG中对应的一系列节点。这样,拥挤估计便可形式化为在此模型上求解每一条GRG边的容量被占用的情况,并映射到对偶图GRC的网格区域中的问题。另外,在这个过程中还要得到每个线网的布线树。
本可布性分析方法的总体流程框图如图1所示。
为了实现,或者说是具体实施本项发明,我们给出以下关于发明实施的描述。
实施本发明的计算机系统:本发明所设计的可布性分析方法要在一个具体的计算机系统上得以实施,该计算机系统具体描述如下:
一台Linux工作站;
Linux操作系统;
Si2推出的工业界标准的数据库平台OA(OpenAccess);
标准C/C++编程语言;
Vim编辑器、gcc/g++编译和链接器、gdb调试工具等。
现在采用一个MCNC电路实例u05614作为本发明的一个实施例,结合本发明的算法,对其进行可布性分析。该例子的规模如下:
386个压焊块,32498个标准单元,36452个线网;
GRC网格划分205行,205列;
左下角点坐标(-82000,-82000);右上角点的坐标(82080,82080)。
步骤1初始化并建立GRG:
打开数据库OA,读入在多层布线芯片上划分GRC网格所必需的行数Nrow=205,列数Ncol=205。生成GRC的对偶图GRG。
以芯片中心为原点建立坐标系,左下角点坐标为(-82000,-82000),右上角点坐标为(82080,82080)。此时,GRG图中共有42025个顶点。每个顶点都有一个对应的位置坐标(x,y),例如:左下角顶点v1,1(-81580,-81580),其左边顶点v1,2(-80760,-81580),其上面顶点v2,1(-81580,-80760),以及芯片右上角顶点v205,205(81660,81660)。可用vrow,col(x,y)表示各个顶点,其中row表示该点在GRG第几行,col表示该点在GRG第几列,(x,y)则表示在该坐标系位置。GRG上共有83640条边。
为了能更好地说明问题,我们取以100行,100列的顶点为左下角的这个GRG上的方格,如图7所示。如同边一样,每个顶点都有一个唯一的编号来标志v50,100,v51,100,v51,101,v50,101的编号分别为10144,10349,10350,10145。连接四个顶点的边的编号如图7所示。
读入布线资源。这样,每条GRG边便会有一个非负数作为该边的容量。例如:e1对应的容量c1=15,e2对应的容量c2=15,e83601对应的容量c83601=9,最后一条边e83640对应的容量c83640=6。
仍考察图7,其中各边对应容量为:c62066=12,c10300=15,c62270=12,c10096=15。
步骤2读入网表:
从OA中读出网表的坐标,并将落在某个GRC中的引脚,映射为该GRC的中心点坐标,即GRG的相应顶点,并用顶点的编号表示。该例子中共有线网数为Mnet=36452,但1到257号线网为特殊线网在此设计流程中我们暂不做处理。下面枚举几个线网的情况:
258号线网:源点编号为19967,38个漏点(26281,28537,28541,...,19517)。
36451号线网:源点编号为21895,2个漏点(21889,21479)。
18355号线网:源点编号为16977,2个漏点(16976,16990)。
36452号线网:源点编号为21480,3个漏点(21476,21886,21890)。
步骤3多端线网拆分
利用Prim的MST拆分算法结果如下:
258号线网:共有39个引脚,被分为38个有序段。下面列举几个,并用引脚所对应的顶点的编号对依次表示。(19967,20371),(20371,18732),(18732,16881),...,(8654,8228),(8228,7206)分别为第1,2,3,...,37,38个两引脚段。
36451号线网:共有3个引脚,被分为2个有序段,依次为(21895,21889),(21889,21479)。
18355号线网:共有3个引脚,被分为2个有序段,依次为(16977,16976)和(16977,16990)。
36452号线网:共有4个引脚,被分为3个有序段,依次为(21480,21890),(21890,21886)和(21886,21476)。
步骤4预估计
经过预估计得出每条边上对应的使用概率分布值。其中,两引脚共行/列的两端线网和两引脚段共有26296个,并对其使用扩展边界框的估计模型技术。例如,e1对应的使用概率分布值p1=1.16,e2对应的p2=1.16,e83601对应的P83601=3.40,最后一条边e83640对应的P83640=0.78。
考察图7,可得P62066=6.85,P10300=11.21,P62270=8.41,P10096=11.39。
步骤5快速实际布线
对每一条线网按照流程图5的方法来布线。例如,在图7中以v50,100为当前点出发,产生[0,1]之间的随机数0.43,并与P10096c62066/(p62066c10096+p10096c62066)=0.57比较,前者小,那么选择c62066对应的边e62066;通过被选择的边到达下一个顶点,并将此顶点作为新的当前点。按同样的方法循环执行,直到所有线网布完为止。
列举几个线网的布线情况如下:
258号线网:名字为control,布线情况如图8中的粗连线。
36451号线网:名字为m1/n7630,布线情况如图9中的粗连线。
18355号线网:名字为m2/n7766,布线情况如图10中的粗连线。
36452号线网:名字为m1/U2∨mult1∨ADD1∨pog_array[2][32],布线情况如图11中的粗连线。
对所有线网布好线后,统计各个GRG边对应的通道使用量并计算拥挤度值。例如,e1对应的通道使用量λ1=1,拥挤度η1=0.07(ηk=λk/ck),e2对应的λ2=1,η2=0.07,e83601对应的λ83601=5,η83601=0.56,最后一条边e83640对应的λ83640=0,η83640=0.00。
考察图7,可得λ62066=6,η62066=0.50,λ10300=4,η10300=0.27,λ62270=8,η62270=0.67,λ10096=17η10096=1.13。
步骤6输出
将结果写入OA,并输出报告文件。从报告中,可得maxH:2.9917 maxV:5.8980 O_H:17073.59 O_V:34288.23 B_H:1290.2151 B_V:4274.4438 Sigma:2.1634。
其中,maxH水平边最大拥挤度;
maxV垂直边最大拥挤度;
O_H 水平边拥挤度平方和;
O_V 垂直边拥挤度平方和;
B_H 水平边的超容(减1)拥挤度和;
B_V 垂直边的超容(减1)拥挤度和;
Sigma各边拥挤度的标准差,用来衡量是否布线资源(各边的容量)占用均匀。
为了实现,或者说是具体实施本项发明,我们给出以下关于发明实施的描述。
实施本发明的计算机系统:本发明所设计的可布性分析方法要在一个具体的计算机系统上得以实施,该计算机系统具体描述如下。
一台Linux服务器;
Linux操作系统;
Si2推出的工业界标准的数据库平台OA(OpenAccess);
标准C/C++编程语言;
Vim编辑器、gcc/g++编译和链接器、gdb调试工具等。
定理在扩展边界框u-v中的从u到v的可能路径数目为F(m)=m2+m+1,其中m是u和v之间相隔的列数或行数。
证明:
不失一般性,我们假设两个顶点在坐标系中的位置分别为u(0,0)和v(m,0),如图4所示。在扩展边框中我们允许最多有一次背离(directed away)和折返(turning back)走线。因此,从v到u有三种可能方式。第一种是从v出发向上、再向右至A。而此后的连接情况则与左上-右下的相对位置一样,可能路径总数为T(m-1,1)。第二种是从v出发向下、再向右至B。根据前面的分析,其可能路径总数也为T(m-1,1)。第三种是从v直接水平向右前进至C,而可能的路径数为F(m-1)。由此可知F(m)=2T(m-1,1)+F(m-1),且有F(1)=3。
对前面的递推式求解可得F(m)=m2+m+1,证毕。
Claims (1)
1.一种快速的集成电路可布性分析方法,其特征在于,在计算机中该方法依次按以下步骤实现:
步骤1初始化并建立总体布线图
步骤1.1计算机读入在一个多层布线芯片上划分总体布线单元GRC网格所必需的行数Nrow、列数Ncol;
步骤1.2求GRC的对偶图:
以GRC中每个网格的中心为新的顶点,重连接各相邻网格的中心点形成新的边,从而得到总体布线图GRG;
步骤1.3在步骤1.1所述的多层布线芯片上,以芯片中心为原点建立笛卡儿平面直角坐标系,并把各个布线层投影到该坐标平面上;
步骤1.4标记步骤1.2中所述各新顶点的坐标为vrow,col(x,y),并把这些新顶点的集合记为V,其中row,col分别代表该新顶点所在GRG的行和列,x,y是步骤1.3所建坐标平面的坐标;
步骤1.5为所述GRG顶点vrow,col以及连接每两个相邻顶点的GRG边ek分别编号,顶点用公式(row-1)×Ncol+col-1编号,边ek则先按行从下向上从左向右编号,再按列从左向右从下向上排号;
步骤1.6计算机读入每条GRG边ek的容量ck,给边ek的通道使用量λk赋初始值为0;
步骤2计算机读入表征电路详细的连接的网表
步骤2.1读入电路中线网的总数Mnet;
步骤2.2计算机对每一条线网执行:
步骤2.2.1读入线网的源点s和漏点集T;
步骤2.2.2把线网的源点s和漏点集T中所有点,映射到所述GRG的各顶点上,并用顶点编号对该点标记;
步骤2.2.3按读入顺序,为每条线网编号;
步骤3拆分所述线网中的多端线网,但两端线网保持原状;
对于每一条多端线网执行如下操作:
利用Prim算法求得曼哈顿距离下的最小生成树来划分两引脚端,形成按两引脚段划分顺序所构成的两引脚段序列,从而把一个多端线网划分成为一个两引脚段序列,所述的两引脚段是指该多端线网的顶点集合中,由相距近的两点构成的点对集合,在由该点对构成的路径上不存顶点集合的其它点;
步骤4预估计GRG各边的走线概率;
步骤4.1设定GRG每条边ek所对应的走线概率值pk的初始值为0;
步骤4.2对每条两端线网或多端线网的每个两引脚段做如下操作:
步骤4.2.1若两个引脚u,v分别处于GRG图的左下角和右上角的位置,u为左下角引脚,v为右上角引脚;
则以u作为原点建立参考用笛卡儿平面直角坐标系,横轴以列为单位,并以水平向左为正方向,若经过m段水平网格,纵轴以行为单位,以垂直向上为正方向,若经过n段垂直网格,点v(m,n)处于第I象限,原点为u(0,0),以u(0,0),v(m,n)为对顶点构成矩形框称为为边界框u-v,从u点到v点任何一条可能路径的长度等于边界框u-v的半周长;
从而,按下式得到经过边界框u-v里某条设定水平边AB(B点在A点右面)或垂直边AC(C点在A点的上面)的走线概率:
经过水平边AB的走线概率为:
pk1=H(x,y)/T(m,n) 0≤x≤m-1,0≤y≤n,
其中,T(m,n)表示从u(0,0)出发到点v(m,n)间可能存在的路径数,表达式为:
H(x,y)表示从原点u(0,0)出发到点A(x,y),并经过以点A(x,y)为左端点的某一特定水平边AB的路径数,用下式表示:
H(x,y)=T(x,y)T(m-x-1,n-y),0≤x≤m-1,0≤y≤n
T(x,y)表示从原点u(0,0)到点A(x,y)间可能存在的路径数,按下式得出:
T(m-x-1,n-y)表示从点B(x+1,y)出发到点v(m,n)间可能存在的路径数,用下式表示:
经过垂直边AC的走线概率为:
pk2=V(x,y)/T(m,n),0≤x≤m,0≤y≤n-1,
其中,V(x,y)表示从原点u(0,0)出发到点A(x,y)间经过以点A(x,y)为下端点的某一特定垂直边AC的路径数,用下式表示:
V(x,y)=T(x,y)T(m-x,n-y-1),0≤x≤m,0≤y≤n-1,
其中,T(m-x,n-y-1)表示从点C(x,y+1)出发到达点v(m,n)间可能存在的路径数,用下式表示:
再把所得的pk1,pk2分别累加到边AB,AC上的走线概率,k1,k2分别为边AB,AC的编号;
步骤4.2.2若两个引脚u,v分别处于GRG图的右下角和左上角的位置,u为右下角引脚,v为右上角引脚;
则以右下角的引脚u作为原点建立参考用笛卡儿平面直角坐标系,横轴以列为单位,并以水平向左为正方向,若向左经过m*段水平网格,纵轴以行为单位,以垂直向上为正方向,若经过n*段垂直网格,点v(m*,n*)处于第I象限,原点为u(0,0),以u(0,0),v(m*,n*)为对顶点构成矩形框称为为边界框u-v,从u点到v点任何一条可能路径的长度等于边界框u-v的半周长;
从而,按照步骤4.2.1中的方法计算经过边界框u-v里某条设定水平边AB(B点在A点左面)或垂直边AC(C点在A点的上面)的走线概率,其中,只要把步骤4.2.1中的公式里的m,n分别换成m*,n*即可;
最后,再把所得的pk1,pk2分别累加到边AB,AC上的走线概率,k1,k2分别为边AB,AC的编号;
步骤4.2.3若两个引脚u,v分别处于GRG图的同一行或列时,称两引脚点为平点对,以一个引脚为原点建立参考用笛卡儿平面直角坐标系,并使另一个引脚落在横轴或纵轴的正半轴,当处于同一行,另一个引脚落在横轴的正半轴,当处于同一列,另一个引脚落在纵轴的正半轴,然后,用扩展边界框估计法,按下面方法计算边ek上的相应走线概率:
步骤4.2.3.1按照下面方法建立扩展边界框:
使同一行(列)的平点对的边界框,向垂直(水平)方向各扩展一行(列);
步骤4.2.3.2在边界框内,在边界框扩展方向上,最多最允许一次背离所述两引脚u,v所处的同一行或列的条件下,按下式计算经过的点(x,y)为左端点的某一特定的水平边的走线概率pk1和计算经过点(x,0)向上或向下的垂直边的走线概率pk2:
当u,v处于同一行时,
pk1=H*(x,y)/F(m′),0≤x≤m′-1,-1≤y≤1,
其中,m’为点u,v间的列数,
F(m’)表示在扩展边界框u-v中从u到v的可能路径数,按下面公式计算:
F(m’)=m’2+m’+1,m’是u和v之间相隔的列数,
H*(x,0)表示从点u(0,0)到点(x,0)间经过以该点(x,0)为左端点的水平边的可能路径数目,用下式计算:
H*(x,0)=F(x)+F(m′-x-1)-1,0≤x≤m′-1,
H*(x,±1)表示从点u(0,0)到点(x,±1)间经过以该点(x,±1)为左端点的水平边的可能路径数目,用下式计算:
H*(x,±1)=(x+1)(m′-x),0≤x≤m′-1,
其中,F(x)表示在扩展边界框u-v中从u到(x,0)的可能路径数,表达式为:F(x)=x2+x+1,
F(m′-x-1)表示在扩展边界框u-v中从(x+1,0)到v(m’,0)的可能路径数,表达式为:F(m′-x-1)=(m′-x-1)2+(m′-x-1)+1;
pk2=V*(x,y)/F(m′),0≤x≤m′-1,-1≤y≤1,
其中,m’为点u,v间的列数,
V*(x,0)表示从u(0,0)到点(x,0),并经过与点(x,0)向上(或向下)所连的垂直边的路径数,用下列表达式计算:
V*(x,0)=m′,0≤x≤m′,
当u,v位于同一列时,
设u,v之间的行数为m”,将上述表达式中m’的值用m”代入便计算出相应的pk1,pk2,
然后,再将pk1,pk2累加到各边对应的pk上,k1,k2分别为各边的编号;
步骤5快速布线
步骤5.1对每一条线网进行布线,具体操作如下:
步骤5.1.1读入用Prim算法划分后,并按划分顺序标过序号的两引脚段序列;
步骤5.1.2标记第一个两引脚段中的任一个引脚点;
步骤5.1.3从5.1.2中所指的引脚段开始,按标号顺序依次对于两引脚段序列中的每一个两引脚段,执行下列操作:
步骤5.1.3.1检查当前的两引脚段的两个引脚是否都被标记;
步骤5.1.3.2如果是,那么取下一个两引脚段,并重新转到步骤5.1.3.1;否则,将未标记的引脚作为起点,并执行下面步骤;
步骤5.1.3.3将起点设为当前点u*,并对其标记被访问过;
步骤5.1.3.4按照边界框布线的约定,找到与u*相邻的两个可行顶点集合Vp和两条可行边的集合Ep={ek1,ek2},按如下方法选择一条边:
产生[0,1]之间的一个随机数,如果这个随机数不大于pk2ck1/(pk1ck2+pk2ck1),那么选择与分子ck1对应的边ek1,即i=k1,否则选择边ek2,即i=k2;
步骤5.1.3.5将被选边ei的另一个端点vi作为新的当前点u*;
步骤5.1.3.6检查当前点是否被标记,如果不是,则标记该点并依照步骤
5.1.3.4的方法选择下一个点;如果是,则记录所有经过路径;
步骤5.2所有线网布好线后,对每条线网经过的边的通道使用量λk累加1,统计每条边上的使用量;
步骤5.3计算各个边的拥挤度值ηk=λk/ck;
步骤6输出
步骤6.1将拥挤估计结果和快速布线结果写入Si2推出的工业界标准的数据库平台OpenAccess;
步骤6.2输出评测报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100122714A CN100405379C (zh) | 2006-06-15 | 2006-06-15 | 一个快速的集成电路可布性分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100122714A CN100405379C (zh) | 2006-06-15 | 2006-06-15 | 一个快速的集成电路可布性分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1862546A true CN1862546A (zh) | 2006-11-15 |
CN100405379C CN100405379C (zh) | 2008-07-23 |
Family
ID=37389976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100122714A Expired - Fee Related CN100405379C (zh) | 2006-06-15 | 2006-06-15 | 一个快速的集成电路可布性分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100405379C (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452496B (zh) * | 2007-12-06 | 2010-09-22 | 英业达股份有限公司 | 获取信号线的布设路径的方法 |
CN101944149A (zh) * | 2010-09-15 | 2011-01-12 | 清华大学 | 基于无网格模型的集成电路点到点的布线方法 |
CN102054660A (zh) * | 2009-10-30 | 2011-05-11 | 新思科技有限公司 | 应用于单层绕线轨迹的分析方法及其装置 |
CN102054068A (zh) * | 2009-10-30 | 2011-05-11 | 新思科技(上海)有限公司 | 芯片设计中的线网分配方法与装置 |
CN102768696A (zh) * | 2007-03-09 | 2012-11-07 | 明导公司 | 增量式布局分析 |
CN102831255A (zh) * | 2011-06-15 | 2012-12-19 | 扬智科技股份有限公司 | 芯片布局方法 |
CN104715097A (zh) * | 2013-12-17 | 2015-06-17 | 北京华大九天软件有限公司 | 一种预布线改善时延的方法 |
CN105911450A (zh) * | 2016-03-22 | 2016-08-31 | 重庆大学 | 飞针测试机开路测试路径优化方法 |
CN115496030A (zh) * | 2022-11-15 | 2022-12-20 | 北京大学 | 可处理电学和几何约束的模拟电路布线自动化方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397375B1 (en) * | 2000-02-18 | 2002-05-28 | Hewlett-Packard Company | Method for managing metal resources for over-the-block routing in integrated circuits |
US7243323B2 (en) * | 2001-08-29 | 2007-07-10 | Infineon Technologies Ag | Integrated circuit chip design |
CN1295775C (zh) * | 2004-03-25 | 2007-01-17 | 杭州电子工业学院 | 一种超大规模集成电路电源/地布线网快速分析方法 |
-
2006
- 2006-06-15 CN CNB2006100122714A patent/CN100405379C/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768696A (zh) * | 2007-03-09 | 2012-11-07 | 明导公司 | 增量式布局分析 |
CN102768696B (zh) * | 2007-03-09 | 2017-04-26 | 明导公司 | 增量式布局分析 |
CN101452496B (zh) * | 2007-12-06 | 2010-09-22 | 英业达股份有限公司 | 获取信号线的布设路径的方法 |
CN102054660B (zh) * | 2009-10-30 | 2015-10-07 | 新思科技有限公司 | 应用于单层绕线轨迹的分析方法及其装置 |
CN102054660A (zh) * | 2009-10-30 | 2011-05-11 | 新思科技有限公司 | 应用于单层绕线轨迹的分析方法及其装置 |
CN102054068A (zh) * | 2009-10-30 | 2011-05-11 | 新思科技(上海)有限公司 | 芯片设计中的线网分配方法与装置 |
CN102054068B (zh) * | 2009-10-30 | 2014-06-18 | 新思科技(上海)有限公司 | 芯片设计中的线网分配方法与装置 |
CN101944149A (zh) * | 2010-09-15 | 2011-01-12 | 清华大学 | 基于无网格模型的集成电路点到点的布线方法 |
CN101944149B (zh) * | 2010-09-15 | 2012-07-04 | 清华大学 | 基于无网格模型的集成电路点到点的布线方法 |
CN102831255A (zh) * | 2011-06-15 | 2012-12-19 | 扬智科技股份有限公司 | 芯片布局方法 |
CN102831255B (zh) * | 2011-06-15 | 2014-12-24 | 扬智科技股份有限公司 | 芯片布局方法 |
CN104715097A (zh) * | 2013-12-17 | 2015-06-17 | 北京华大九天软件有限公司 | 一种预布线改善时延的方法 |
CN105911450A (zh) * | 2016-03-22 | 2016-08-31 | 重庆大学 | 飞针测试机开路测试路径优化方法 |
CN115496030A (zh) * | 2022-11-15 | 2022-12-20 | 北京大学 | 可处理电学和几何约束的模拟电路布线自动化方法及系统 |
CN115496030B (zh) * | 2022-11-15 | 2023-01-24 | 北京大学 | 可处理电学和几何约束的模拟电路布线自动化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100405379C (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1862546A (zh) | 一个快速的集成电路可布性分析方法 | |
Das et al. | Design tools for 3-D integrated circuits | |
CN1169204C (zh) | 设计方法、掩模组、集成电路及其制造方法和存储介质 | |
CN1779686A (zh) | 确定缓冲器插入的方法和系统 | |
CN1431704A (zh) | 基于等效电路的集成电路电源网络瞬态分析求解的方法 | |
CN1279480C (zh) | 考虑耦合效应进行时延优化的标准单元总体布线方法 | |
CN1212642C (zh) | 掩模图形制成方法及半导体装置的制造方法 | |
CN1275317C (zh) | 集成电路布图规划与缓冲器规划集成的布局方法 | |
Tang et al. | Optimal redistribution of white space for wire length minimization | |
CN1219269C (zh) | 标准单元总体布线过程中用的减少串扰的方法 | |
Jiang et al. | NTUplace2: A hybrid placer using partitioning and analytical techniques | |
US20130055176A1 (en) | Soft hierarchy-based physical synthesis for large-scale, high-performance circuits | |
Tang et al. | Minimizing wire length in floorplanning | |
CN1300731C (zh) | 半导体集成电路及其设计方法 | |
CN1150481C (zh) | 基于关键网络技术优化时延的标准单元总体布线方法 | |
Frolova et al. | Delay matrix based timing-driven placement for reconfigurable systems-on-chip | |
CN1271553C (zh) | 消除由耦合电感引起串扰的标准单元总体布线方法 | |
CN111177996A (zh) | 一种优化集成电路可制造性的特殊图形规避方法及装置 | |
US7966597B2 (en) | Method and system for routing of integrated circuit design | |
Ono et al. | On structure and suboptimality in placement | |
CN1403966A (zh) | 一种用于虚拟多介质电容提取中最优切割数的生成方法 | |
CN105701269A (zh) | 减小集成电路的版图面积的方法 | |
Minz et al. | Block-level 3-D global routing with an application to 3-D packaging | |
CN1240015C (zh) | 标准单元总体布线时障碍下时延驱动直角斯坦纳树方法 | |
CN100336054C (zh) | 布局数据的保存方法、布局数据变换装置以及图形验证装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080723 Termination date: 20100615 |