CN105512438B - 一种等时延布线方法及装置 - Google Patents
一种等时延布线方法及装置 Download PDFInfo
- Publication number
- CN105512438B CN105512438B CN201610031474.1A CN201610031474A CN105512438B CN 105512438 B CN105512438 B CN 105512438B CN 201610031474 A CN201610031474 A CN 201610031474A CN 105512438 B CN105512438 B CN 105512438B
- Authority
- CN
- China
- Prior art keywords
- cable
- geometry
- subsegment
- time delay
- parameter
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种等时延布线方法,至少包括:识别待布线区域的几何参数并基于几何参数将待布线区域分割成串列的几何子段并产生初始布线;计算至少一个几何子段和/或每根网线的电阻与电容参数;基于每根网线的每个几何子段的电阻与电容参数计算网线的时延参数;基于所述时延参数与预设时延参数的比较来适应性地调整相应的几何子段和/或网线的几何特征和/或位置。本发明在满足工艺要求的最小线宽和最小间距的前提下,使所布的网线的时延值尽量小并且近似相等,达到集成电路上每根网线所驱动的器件(逻辑门、储存单元等)的响应同步,提高集成电路性能;或液晶面板上每根网线对应的显示像素的亮度相等,提高平板显示性能,进一步提高了集成性能。
Description
技术领域
本发明涉及电子设计自动化领域,尤其涉及一种等时延布线方法及装置。
背景技术
随着电子技术的不断发展,提高了对集成电路的电子设计自动化软件的布线要求。目前主流的布线方法是首先采用自动布线再结合手动布线进行微调的方式,自动布线具有速度快、准确性高的特点,手工布线对自动布线的存在的局部的不合理的设计进行调整,以此提高布线效率,减少集成电路大量元器件带来的巨大工作量。
针对不同的应用需求,需采用不同的布线方案,目前常用的布线方案有等电阻布线、定值电阻布线等,其中对等电阻的布线需求较为普遍。目前对于普通集成电路的布线工艺中一般仅考虑到所布网线不违反最小线宽和最小间距的要求,没有考虑到各个网线上信号传输的时延值相等的问题。对集成电路来说,在进行电路布线时使各个网线的信号传输时延值相等或者其时延差在一个可接受的范围内,能够使集成电路展现更优异的性能。
公开号为CN1983236A的中国专利公开了一种辅助布线系统及方法,辅助布线系统与布线软件连接,用户在电路板上设定布线约束区域以及设定可通过布线约束区域的信号线类型,提高了布线的灵活性。但该专利没有涉及到对布线约束区域进行等时延布线的问题。
公布号为CN203882295U的中国专利公开了一种电容式触摸屏显示器的布线结构,包括:一柔性电路板、第一布线层和第二布线层;由触摸屏短边引出的竖向引线和由触摸屏短边引出的横向引线;竖向引线通过第二布线层连接至柔性电路板;横向引线包括至少一组第一横向引线和至少一组第二横向引线;第一横向引线通过第一布线层连接至柔性线路板;第二横向引线由第二布线层连接至柔性线路板;第一横向引线和第二横向引线均靠近触摸屏长边沿布置。该专利虽然涉及布线结构,但是没有涉及等时延的布线问题。该专利的不足之处在于,增加了网线的长度,增大了电阻影响信号的传输。进一步,该专利增大了电路板的体积和面积,不利于集成电路设计。
发明内容
针对现有技术之不足,本发明提出一种等时延布线方法,其特征在于,所述方法至少包括:
识别待布线区域的几何参数并基于所述几何参数将待布线区域分割成串列的几何子段并产生初始布线;
计算至少一个几何子段和/或每根网线的电阻与电容参数;
基于每根网线的每个几何子段的电阻与电容参数计算网线的时延参数;
基于所述时延参数与预设时延参数的比较来适应性地调整相应的几何子段和/或网线的几何特征和/或位置。
根据一个优选实施方式,所述方法还包括:计算调整后的网线的时延参数并与预设时延参数进行比较来选择性地进行再次调整。
根据一个优选实施方式,在所述时延参数中的时延差值大于预设时延参数的情况下,计算对应的几何子段和/或网线的网线宽度调整值。
根据一个优选实施方式,分割待布线区域的方法至少包括:
找出不在起始边和/或终结边上的一个顶点,并以所述顶点构成的角向待布线区域内作第一角平分线;
根据所述第一角平分线最先与外边、第二角平分线、起始边和终结边中的一个相交的情况做出相应的内边,由此将待布线区域分割成凸四边形和/或三角形。
根据一个优选实施方式,计算网线的时延参数的方法至少包括:
基于Elmore时延模型和对应的每个几何子段的电阻和电容参数计算网线的时延参数,其中,
时延参数t为:n为网线的几何子段数目,ri为第i段的电阻,cj为第j段的电容,为第i段、第i+1段、…、第n-1段和第n段的电容之和。
根据一个优选实施方式,几何子段为凸四边形的电阻计算方法至少包括:
找出并连接凸四边形的任意两条对边的中点作为凸四边形的等效高度;
根据两个中点的连线与两个对边的夹角或根据凸四边形的四个顶点到两个中点的连线的距离得到等效上底宽度和等效下底宽度;
基于等效高度、等效上底宽度、等效下底宽度计算凸四边形的电阻值。
根据一个优选实施方式,几何子段为凸四边形的电容计算方法至少包括:
基于凸四边形的面积计算所述几何子段与衬底及其它布线层金属导线之间的第一耦合电容和所述几何子段与同层相邻网线之间的第二耦合电容;
所述几何子段的总电容为所述第一耦合电容和第二耦合电容之和。
根据一个优选实施方式,计算几何子段的网线宽度调整值的方法包括:
计算待布线区域内每条内边的权重;
计算每个几何子段的时延参数并对其求微分;
根据所述时延差值、内边的权重和每个几何子段时延参数的微分得到几何子段的网线宽度调整值。
根据一个优选实施方式,所述方法进一步包括:检测每根网线分割后的几何子段的形状,在几何子段不为凸四边形和/或三角形的情况下,对其进行二次分割;和/或
检测调整后的网线宽度值、相邻网线之间的间距并选择性地进行调整,使其满足用户预设的工艺参数。
本发明还提供一种等时延布线装置,其特征在于,包括:
用于识别待布线区域的几何参数的区域识别模块;
用于基于所述几何参数将待布线区域分割成串列的几何子段并产生初始布线的分割布线模块;
用于计算至少一个几何子段和/或每根网线的电阻/电容参数和/或每根网线的时延参数的计算分析模块;
用于基于所述时延参数与预设时延的比较来适应性地调整相应的几何子段和/或网线的几何特征和/或位置的调整输出模块。
本发明的有益效果在于:
1、不增加网线的长度,实现从起始端口到终结端口之间的网线的时延值相等或近似相等,从而实现集成电路中每根网线所驱动的元件响应时间一致。
2、不增加网线的时延值,使每根网线的时延值尽量小,降低传输信号的时间,提高芯片的主频。
3、在符合工艺设计的条件下,网线宽度和长度的减少,降低了集成电路所占的空间,提高了集成性能。
附图说明
图1是本发明等时延布线方法的处理流程图;
图2是本发明等时延布线装置的结构示意图;
图3是本发明待布线区域的分割示意图;
图4是本发明待布线区域的另一分割示意图;
图5是本发明计算凸四边形电阻/电容的示意图;和
图6是本发明计算网线时延参数对几何子段微分宽度的示意图。
附图标记列表
10:区域识别模块 20:分割布线模块 30:计算分析模块
40:数据存储模块 50:调整输出模块 501:比较模块
502:检测模块
具体实施方式
下面结合附图进行详细说明。
本发明所指的“内边”是指通过对待布线区域分割后增加的边,如图3中的L2R2和L1R1。
本发明所指的“起始边”具有网线起始端口PIN的边,如L0R0;“终结边”是指具有网线终结端口PIN的边,如L3R3。
本发明所指的“外边”是指区域边界边中除了起始边和终结边以外的边均称为外边,如L2L1、R0R3、L3L2、L1L0。
本发明所指的“几何子段”是指凸四边形和/或三角形。
本发明所指的“凸四边形”是指每个角的角度均不大于180°的四边
形。本发明所指的“几何特征”是指几何子段和/或网线的宽度和形状。
本发明所指的“工艺参数”是指最小线宽值和最小间距值。
本发明提出一种等时延布线方法,该方法与现有的布线软件结合,能够实现在满足工艺的条件下,待布线区域内的每根网线的时延值相等并且其时延尽量小。
本发明的等时延布线方法主要包括识别待布线区域的几何参数并基于几何参数将待布线区域分割成串列的几何子段并产生初始布线。计算至少一个几何子段的电阻/电容参数。基于网线每个几何子段的电阻和电容参数计算网线的时延。基于网线的时延与其预设时延的比较来适应性地调整相应的几何子段和/或网线的几何特征和/或位置。
实施例一
图1为本发明等时延布线方法的处理流程图。以图1为例,本发明的等时延布线方法具体以下步骤:
S01:读入布线区域与待布线端口信息,包括起始端口和终结端口的数目和位置,布线区域的大小、位置和/或形状。
S02:将布线区域划分成串列的几何子段,经过该划分后,后续在布线区域内所布的所有网线也均被划分成了串列的几何子段。对每根网线和其分割后的几何子段进行编号,将计算出的电阻和电容参数、网线宽度和网线宽度调整值存储到对应的编号下。
S03:按等宽的方式产生初始布线,即每根初始网线的宽度是一样的。进一步的,检测初始布线的网线是否完全位于待布线区域内部和/或所有网线是否在同一个金属布线层;检测每根网线分割后的几何子段的形状,在几何子段不为凸四边形和/或三角形的情况下,对其进行二次分割,以满足所有几何子段均为凸四边形和/或三角形。
S04:估算每根网线/几何子段当前的电阻/电容值。首先计算出每个几何子段的电阻/电容值后存储到每个几何子段对应的编号下,根据每根网线包括的几何子段的电阻/电容值得到布线区域内的每根网线的时延值,对每根网线的时延计算完成后将所有网线的时延值求和后除以布线区域内网线的数目得到所有网线的平均时延值。计算每根网线的时延和平均时延值之差并记为时延差值。
S05:判断时延差值是否小于预设时延允许误差,若待布线区域内的每根网线的时延差值均小于预设时延允许误差,输出当前布线结果。若至少一根网线的时延差值大于与预设时延允许误差,则进入S06步骤。
S06:根据网线时延值的微分和当前每根网线的时延差值来计算每个几何子段的网线宽度调整值。
S07:由网线宽度调整值来调整几何子段的形状及位置。得到网线宽度调整值后,调整相应的几何子段的宽度、形状和/或位置,由此实现对每根网线的宽度、形状和/或位置的调整。检测调整后的网线宽度值、相邻网线之间的间距并选择性地进行调整,使其满足用户预设的工艺参数。
再进入S04步骤,计算调整后的几何子段和/或网线的时延并与预设时延进行比较来选择性地进行再次调整。直到所有网线的时延差值均小于预设时延允许误差时,输出当前布线结果。
以上步骤可以根据实际情况和需要调整顺序。
实施例二
本发明还提供一种应用本发明等时延布线方法的等时延布线装置,该等时延布线装置可与布线软件连接。图2所示为本发明等时延布线装置的结构示意图。如图2所示,等时延布线装置包括区域识别模块10、分割布线模块20、计算分析模块30和调整输出模块50。
用于识别待布线区域的几何参数的区域识别模块。几何参数可以为待布线区域的形状、大小、位置和待布线端口信息。待布线端口信息为初始和/或终结端口的数目与位置。用户可通过鼠标、触摸、滑动的方式选择待布线区域的大小,并通过鼠标/触摸选中或点击的方式读取起始端口和终结端口的信息。
区域识别模块10将识别的几何参数输出至用于基于几何参数将待布线区域分割成串列的几何子段并产生初始布线的分割布线模块20。分割布线模块20根据待布线区域的大小、形状和待布线端口信息对待布线区域进行自动划分,将待布线区域划分成凸四边形或三角形的几何子段。然后,分割布线模块20对待布线区域进行初始布线,从而初始所布的网线也被分割成串列的几何子段。其中,初始布线以等网线宽的方式产生。
一种具体的实施方式,调整输出模块50还包括检测模块502,用于检测待布线区域分割后的几何子段是否为凸四边形或三角形。如果检测到部分几何子段不是凸四边形或者三角形,则分割布线模块20对该区域进行二次分割,直到所有几何子段为凸四边形或三角形。便于计算分析模块30计算各个几何子段的电阻和电容值。检测模块502进一步检测初始布线的网线是否完全位于待布线区域内部和/或所有网线是否在同一个金属布线层。检测当前布线是否完全位于待布线区域内部的目的在于避免当前网线进入其他布线区域影响其他区域的布线秩序。
计算分析模块30用于计算至少一个几何子段的电阻和电容参数,并且计算每根网线的时延参数。计算分析模块30根据分割布线模块20产生的初始布线和划分的几何子段,计算每个几何子段的电阻和电容参数,计算每根网线的时延参数。电阻和电容参数至少包括:每个几何子段的电阻值、每个几何子段的电容值。网线的时延值至少包括:待布线区域每根网线的时延值,待布线区域所有网线的平均时延参数和时延差值,其中,时延差值为每根网线的时延参数和平均时延参数之差,即每根网线均具有一个时延差值。计算分析模块30根据几何子段的电阻和电容值,由Elmore时延模型计算得到每根网线的时延参数。
调整输出模块50用于基于时延参数与预设时延参数的比较来适应性地调整相应的几何子段和/或网线的几何特征和/或位置。调整输出模块包括比较模块501,比较模块501用于比较时延差值和预设时延允许误差的大小,当时延差值大于预设时延允许误差时,比较模块501输出一个判断信号至计算分析模块30,计算分析模块30基于该判断信号计算该网线对应的每个几何子段的网线宽度调整值并反馈至调整输出模块50。调整输出模块50基于网线宽度调整值对几何子段的形状、宽度和位置进行调整,从而使整条网线的形状、宽度和位置得到调整。
根据一个优选实施方式,在调整的过程中,检测模块502检测调整后的网线宽度值是否满足最小线宽值,相邻网线之间的间距是否满足最小间距值。以保证调整后的网线宽度满足工艺要求的最小线宽值和最小间距值,从而不造成短路或影响信号的传输。用户在进行等时延布线之间,可预先输入最小线宽值和最小间距值。
当所有网线的时延差值均小于预设时延允许误差时,调整输出模块50输出当前布线结果。
本发明的等时延布线装置还包括数据存储模块40,计算分析模块30将网线的编号及对应的几何子段的编号存储在数据存储模块中。计算分析模块30计算出几何子段的电阻与电容值后将电阻与电容值存储到对应的编号中,便于后续得到每根网线的时延参数。数据存储模块40进一步用于存储预设时延允许误差、最小线宽值和最小间距值,并用于存储网线宽度调整值、网线调整后的网线宽度值和位置。
实施例三
下面结合附图详细描述本发明所涉及到的待布线区域分割方法、几何子段的电阻、电容计算方法、网线的时延计算方法和网线宽度调整值的计算方法。
待布线区域分割方法:
图3为本发明待布线区域的分割示意图。如图3所示,图中实线所包围的区域即为待布线区域。从图3中可知,经过分割后将待布线区域分割为三个串列的不规则的凸四边形。
图4为本发明待布线区域的另一种分割示意图。如图4所示,经过分割布线模块20对待布线区域进行分割后,将待布线区域分割成了一个三角形和两个凸四边形的串联。
在图3和图4中,L0R0和L3R3边上的四个小方块代表网线端口PIN,起始边L0R0和终结边L3R3的PIN数目根据实际情况而定。
经过分割布线模块20的分割,待布线区域中的每根网线也被分割成若干个几何子段,计算分析模块30计算每根网线的每个几何子段的电阻和电容值,由每根网线的几何子段的电阻和电容值通过Elmore时延模型得到对应网线的时延。具体的,在分割布线模块20对待布线区域的进行分割之前,计算分析模块30对待布线区域的每根网线进行编号,如N1、N2、N3……Nn。在每根网线被分割成若干个小的几何子段后,计算分析模块20对每根网线的每个几何子段进行相应的编号。如N1的每个几何子段标记为N10、N11、N12……N1m,N1的每个几何子段标记为N20、N21、N22……N2m,其中n≥1,m≥1。计算出每个几何子段的电阻和电容值后,按照Elmore时延模型。
具体的,分割布线模块20通过以下三种方法对待布线区域进行分割。
方法一:根据角平分线最先与外边、其他角平分线、起始边和终结边中的一个相交的情况做出相应的内边,由此将待布线区域分割成凸四边形和/或三角形。如图3和图4中的L1R1和L2R2分别为∠L0L1L2和∠L1L2L3的角平分线。
具体的,找出不在起始边L0R0和/或终结边L3R3上的一个顶点,并以顶点构成的角向待布线区域内作其角平分线;
如图3所示,若角平分线最先与对面的某条外边相交,该顶点与该相交点之间可作为一条内边,如图3中的L2R2和L1R1。则将待布线区域L0R0R1R2R3L3L2L1分成了三个几何子段,分别为凸四边形L2L3R3R2、凸四边形L1L2R2R1和凸四边形L0L1R1R0。
如图4所示,若角平分线先与另一角平分线相交,连接两相交的角平分线对应的顶点作为内边,如图4中的L1R1和L2R2.将待布线区域分割成凸四边形L2L3R3R1、三角形L1L2R1和凸四边形L0L1R1R0。
若角平分线与起始边和/或终结边中的一条相交,连接该顶点与起始边和/或终结边上的任意一个顶点作为内边。例如,若图3中的L2R2和L0R0相交,则连接顶点L2和顶点R0,分别构成内边L2R0。在R0R3为直线的情况下,将待布线区域分割成了三角形L0L1R0和凸四边形R0L2L3R3。
若划分出的四边形段不是凸四边形或三角形,再次对该四边形段进行分割使其满足凸四边形或三角形。
方法二:
1假设左右两边顶点的集合分别是L={L0、L1、……Lp},R={R0、R1、……Rq},其中L0R0为起始边,LpRq为终结边;
2记0<i<p,其中|Li L0|表示Li和L0之间的距离。同样,即0<i<q,显然,0<xi,yi<1;
3一般情况下,0<x1<x2...<xp-1,0<y1<y2…yq-1,若存在i使得xi+1<xi,则去掉Li或Li+1中的任意一个点,即将Li和Li+1两个点合并为一个点;
4对于xi,若有yj使得xi=yj,则LiRj作为分段的内边,否则,找到yj<xi<yj+1,在外边RjRj+1 1上找到Rj′,使得LiRj′作为分段的内边。同理对yj进行同样的操作;
5由于非线性性,通过迭代法寻找Rj′的坐标:首先找到线段RjRj+1上的Rj 1使得再判断Rj′的位置是在Rj 1Rj或Rj 1Rj+1上;用类似的方法可得到Rj 2,Rj 3,直到Rj k与取整后的坐标相同。
方法三:使除起始边和终结边上的顶点的其余顶点与最近的顶点相连。具体的,除去在起始边和终结边上的顶点外,将其他所有的顶点与其对面最近的顶点相连,则将待布线区域分割成三角形或四边形。进一步的,用户可根据待布线区域的大小、起始端口与终结端口的数目手动选择对布线区域的划分段数。以便于计算分析模块计算网线时延和减少运算复杂度,提高布线效率。
几何子段的电阻计算方法:
若该几何子段为等腰梯形,则计算该几何子段电阻的方法如下:
设等腰梯形的上下底的宽度分别为w0和w1,高为L。等腰梯形可看作是无数个小等腰梯形串连起来的,每个小梯形的长是ΔL。则距离底边x的小梯形的宽度是其电阻是整个梯形的电阻是
当该几何子段为任意凸四边形时,则计算该几何子段电阻的方法如下:
任何网线被分割后的几何子段都可以看作是一个四边形,因此需要找到四边形的等效上、下底宽度和等效高度。
图5为计算任意凸四边形电阻/电容的示意图。如图5所示,估算L1R1到L2R2的电阻值,找出并连接凸四边形的两个对边L1R1和L2R2的中点作为凸四边形的等效高度,C1、C2分别为L1R1和L2R2的中点,四边形的等效高度即为C1C2,估算四边形的等效上、下底宽度有两种方法。
方法一:根据两个中点的连线与两个对边的夹角得到四边形的等效上底宽度和等效下底宽度。具体的,设C1C2与L1R1的夹角是α,L1R1对应的底边宽度可估算为|L1R1|·sinα;L2R2对应底边是宽度也可用类似方法求得。
方法二:根据凸四边形的四个顶点到两个中点的连线的距离得到等效上底宽度和等效下底宽度。具体的,设L1和L2到C1C2的距离分别是d1和d2,显然R1和R2到C1C2的距离也分别是d1和d2。则四边形的两个等效底宽度就是2*d1和2*d2。
根据等效上、下底宽度和等效高度套用等腰梯形的电阻积分公式就可得到任意凸四边形的电阻值。
同理,当几何子段为三角形时,可参照计算凸四边形的电阻计算方法得到三角形的电阻值,如求等效高度和等效底宽,在此不赘述。
几何子段的电容计算方法:
几何子段的总电容可分为该几何子段与衬底及其它层导体之间的第一耦合电容和该几何子段与同层相邻网线之间的第二耦合电容两部分。
几何子段与衬底及其它层导体之间的第一耦合电容与该几何子段的面积成正比,其计算公式为CA=γ·A。其中CA为几何子段与衬底及其它层导体之间的第一耦合电容。γ是一个仅与工艺制程有关的常数,在工艺制程确定,开始布线之前就可以得到。A是该几何子段的面积。
在几何子段为等腰梯形时,设等腰梯形的上下底的宽度分别为w0和w1,高为L,则即若几何子段为任意四边形,可以用与电阻计算中类似的方法来得到几何子段的等效高度L与等效上下底宽度w0和w1。
几何子段与其同层左右两边相邻网线之间的第二耦合电容可估算为其中γ是一个仅与工艺制程有关的常数,在工艺制程确定,开始布线之前就可以得到。L0与L1分别为几何子段左右两边的长度。与分别为几何子段与其左右两边相邻网线之间的平均距离。
几何子段的总电容就是第一耦合电容与第二耦合电容之和。总电容为CT。
网线时延参数的计算方法:
采用Elmore时延模型,通过每个几何子段的电阻与电容来计算每根网线的时延参数。
网线时延参数t的Elmore时延模型计算值为:其中n为网线的几何子段数目,rj为第i段的电阻,cj为第j段的电容,为第i段、第i+1段、…、第n-1段和第n段的电容之和。每一个几何子段的电阻与电容可由上面计算电阻和/或电容的方法给出。
网线宽度调整值的计算方法:
假设有n条网线,经过分割布线模块20后,n条网线一共被分割成m段,第j段和第j+1段之间由内边LjRj分开。网线i在内边j上的中点就是Cij,其两个边界点就是Eij和Fij,Ei-1j和Fij的中点我们记为Hij。显然,E0j就是区域边界点。由0开始计数,Fn-1j就是区域边界点Rj。
具体的,计算网线宽度调整值的步骤如下:
S1:计算每根网线的时延与平均时延之差并存储为时延差值。具体的,计算从起始端口到终结端口的每根网线的时延,基于每根网线的时延值得到待布线区域所有网线的平均时延值即为目标时延,记录每根网线的时延和目标时延之差存储为时延差值Δt。
S2:计算待布线区域内每条内边的权重。具体的,设布线区域被分为m段,第j段的两内边的中点连线的长度记为Sj,并将每条内边的相对权重记为
S3:计算每个几何子段的电阻、电容;在此基础上计算每根网线的时延参数。计算每根网线的时延参数对每个几何子段宽度的微分。
图6为计算网线时延参数对几何子段微分宽度的示意图。如图6所示,计算网线时延参数对几何子段宽度微分。假设端口中点连线与L1R1和L2R2的夹角分别为α和β,四边形两底的等效宽度估算为
|L1R1|·sinα和|L2R2|·sinβ,套用等腰梯形的电阻计算公式,可得其电阻为类似的,套用电容计算公式,可得该几何子段电容为对电阻r求|L1R1|的导数,得到
同样对电容c求|L1R1|的导数,得到
结合时延参数的计算公式对时延参数t分别求当前几何子段的电阻ri和电容ci的导数,有和
结合当前几何子段电阻ri和电容ci对|L1R1|的导数,可以得到时延参数t对|L1R1|的导数当R1在小范围内沿着L1R1所在的内边移动Δ|L1R1|到R1′之后,L2R2不变。四边形中点连线长度C1C2即四边形的等效长度、夹角α和β的变化是二阶小量,也可以认为它们不变。则此时的时延变化可近似为这一关系在较小的范围内是线性的。
S4:对每条内边,可得到其相邻两段的目标时延调整量之和根据S03步骤中得到的关系可得到在Δwij越小时等式的误差越小。根据和可以求得Δwij,即每段网线宽度所需要的调整量。
根据上述步骤计算得到每段网线宽度的调整量后,对每条内边j,基于现在的位置Hij和S04步骤中得到的Δwij,可得到内边j新的位置Hi′j。即
将内边j由Hij移动到新位置Hi′j,根据两者的夹角的正弦
sin sin α=min(sin sin(∠Hij-1HijLj),sin sin(∠Hij+1HijLj))和smin来估算新的Fij,Ei+1j和Hij之间的距离,使得 从而得到所有新的Eij和Fij。
根据Eij和Fij就可以确定每根网线的每个几何子段的形状和位置,从而确定每根网线的形状和位置。
实施例四
本实施例对等时延布线的方法进行具体说明。
首先读入布线区域与待布线端口信息,包括起始端口和终结端口的数目和位置,布线区域的大小、位置和/或形状。将待布线区域划分成串列的几何子段。例如将待布线区域分割为一个三角形和两个凸四边形的串联几何子段。经过该划分后,后续在布线区域内所布的所有网线也均被划分成了串列的几何子段。对每根网线和其分割后的几何子段进行编号,将计算出的时延、网线宽度和网线宽度调整值存储到对应的编号下。
按等宽的方式开始初始布线。每根初始网线的宽度是一样的。进一步的,检测初始布线的网线是否完全位于待布线区域内部和/或所有网线是否在同一个金属布线层。检测每根网线分割后的几何子段的形状。在几何子段不为凸四边形和/或三角形的情况下,对其进行二次分割,以满足所有几何子段均为凸四边形和/或三角形。例如,将非起始边和终结边的的顶点与其对面最近的顶点相连,从而将待布线区域分割为三角形或四边形。
估算每根网线当前的时延参数。首先计算出每个几何子段的电阻值与电容值后存储到每个几何子段对应的编号下。根据凸四边形的等效高度和等效上、下底宽度计算几何子段的电阻值。根据凸四边形的面积,左右两边边长以及与左右两边相邻网线的平均距离计算几何子段的电容值。由所有几何子段的电阻值与电容值,基于Elmore时延模型计算每根网线的时延参数。对每根网线的时延参数计算完成后将所有网线的时延参数求和后除以布线区域内网线的数目得到所有网线的平均时延参数。计算每根网线的时延参数与平均时延之差值并标记为时延差值。
判断时延差值是否小于预设时延允许误差。若待布线区域内的每根网线的时延差值均小于预设时延允许误差,输出当前布线结果。若至少一根网线的时延差值大于与预设时延允许误差,则根据时延参数和每根网线的时延差值计算每个几何子段的网线宽度调整值。假设有n条网线,经过分割布线模块20后,n条网线一共被分割成m段,第j段和第j+1段之间由内边内边的定义见问题10的关于分段的解答LjRj分开。网线i在内边j上的中点就是Cij,其两个边界点就是Eij和Fij,Ei-1j和Fij的中点我们记为Hij。显然,E0j就是区域边界点我们由0开始计数,Fn-1j就是区域边界点Rj。
根据计算得到的网线宽度调整值来调整几何子段的形状及位置。得到网线宽度调整值后,调整相应的几何子段的宽度、形状和/或位置,由此实现对每根网线的宽度、形状和/或位置的调整。检测调整后的网线宽度值、相邻网线之间的间距并选择性地进行调整,使其满足用户预设的工艺参数。在重新调整网线的宽度、形状和/或位置后,重新计算调整后的几何子段和/或网线的时延参数。将时延参数与预设时延参数进行比较来选择性地进行再次调整。直到所有网线的时延差值均小于预设时延允许误差时,输出当前布线结果。
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。
Claims (9)
1.一种等时延布线方法,其特征在于,所述方法至少包括:
基于识别的待布线区域的端口信息将所述待布线区域分割为串列的几何子段;
对初始网线进行布线并根据每根网线和/或每个几何子段的电阻值和/或电容值计算每根网线的时延参数、由所述时延参数与平均时延参数形成的时延差值和/或网线宽度调整值;
在时延差值大于预设时延允许误差的情况下,基于所述网线宽度调整值适应性调整相应的网线和/或几何子段的几何特征和/或位置,从而在时延差值不大于预设时延允许误差的情况下确定网线的布线位置,
计算网线的时延参数的方法至少包括:
基于Elmore时延模型和对应的每个几何子段的电阻和电容参数计算网线的时延参数,其中,
时延参数t为:n为网线的几何子段数目,ri为第i段的电阻,cj为第j段的电容,为第i段、第i+1段、…、第n-1段和第n段的电容之和。
2.如权利要求1所述的等时延布线方法,其特征在于,所述方法还包括:计算调整后的网线的时延差值并与预设时延允许误差进行比较来选择性地进行再次调整。
3.如权利要求2所述的等时延布线方法,其特征在于,在所述时延参数中的时延差值大于预设时延参数的情况下,计算对应的几何子段和/或网线的网线宽度调整值。
4.如权利要求1所述的等时延布线方法,其特征在于,分割待布线区域的方法至少包括:
找出不在起始边(L0R0)和/或终结边(L3R3)上的一个顶点,并以所述顶点构成的角向待布线区域内作第一角平分线(L2R2);
根据所述第一角平分线(L2R2)最先与外边、第二角平分线(L1R1)、起始边(L0R0)和终结边(L3R3)中的一个相交的情况做出相应的内边,由此将待布线区域分割成凸四边形和/或三角形。
5.如权利要求4所述的等时延布线方法,其特征在于,几何子段为凸四边形的电阻计算方法至少包括:
找出并连接凸四边形的任意两条对边的中点作为凸四边形的等效高度;
根据两个中点的连线与两个对边的夹角或根据凸四边形的四个顶点到两个中点的连线的距离得到等效上底宽度和等效下底宽度;
基于等效高度、等效上底宽度、等效下底宽度计算凸四边形的电阻值。
6.如权利要求4所述的等时延布线方法,其特征在于,几何子段为凸四边形的电容计算方法至少包括:
基于凸四边形的面积计算所述几何子段与衬底及布线层金属导线之间的第一耦合电容和所述几何子段与同层相邻网线之间的第二耦合电容;
所述几何子段的总电容为所述第一耦合电容和第二耦合电容之和。
7.如权利要求3所述的等时延布线方法,其特征在于,计算几何子段的网线宽度调整值的方法包括:
计算待布线区域内每条内边的权重;
计算每个几何子段的时延参数并对其求微分;
根据所述时延差值、内边的权重和每个几何子段时延参数的微分得到几何子段的网线宽度调整值。
8.如权利要求1至7之一所述的等时延布线方法,其特征在于,所述方法进一步包括:检测每根网线分割后的几何子段的形状,在几何子段不为凸四边形和/或三角形的情况下,对其进行二次分割;和/或
检测调整后的网线宽度值、相邻网线之间的间距并选择性地进行调整,使其满足用户预设的工艺参数。
9.一种等时延布线装置,其特征在于,包括:
用于识别待布线区域的几何参数的区域识别模块(10);
用于基于所述几何参数将待布线区域分割成串列的几何子段并产生初始布线的分割布线模块(20);
用于计算至少一个几何子段和/或每根网线的电阻/电容参数和/或每根网线的时延参数的计算分析模块(30);
用于基于所述时延参数与预设时延的比较来适应性地调整相应的几何子段和/或网线的几何特征和/或位置的调整输出模块(50),其中
计算网线的时延参数的方法至少包括:
基于Elmore时延模型和对应的每个几何子段的电阻和电容参数计算网线的时延参数,其中,
时延参数t为:n为网线的几何子段数目,ri为第i段的电阻,cj为第j段的电容,为第i段、第i+1段、…、第n-1段和第n段的电容之和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610031474.1A CN105512438B (zh) | 2016-01-18 | 2016-01-18 | 一种等时延布线方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610031474.1A CN105512438B (zh) | 2016-01-18 | 2016-01-18 | 一种等时延布线方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512438A CN105512438A (zh) | 2016-04-20 |
CN105512438B true CN105512438B (zh) | 2018-05-11 |
Family
ID=55720418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610031474.1A Active CN105512438B (zh) | 2016-01-18 | 2016-01-18 | 一种等时延布线方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512438B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112771529B (zh) * | 2018-09-14 | 2022-04-29 | 美商新思科技有限公司 | 基于Elmore延迟时间(EDT)的电阻模型 |
CN112632899B (zh) * | 2020-12-30 | 2022-05-24 | 上海华大九天信息科技有限公司 | 一种均衡电阻的布线方法 |
CN113111622B (zh) * | 2021-04-29 | 2023-01-31 | 上海阵量智能科技有限公司 | 一种电路布图生成方法、装置、计算机设备及存储介质 |
CN117149553B (zh) * | 2023-10-31 | 2024-01-30 | 零壹半导体技术(常州)有限公司 | 用于芯片ft和cp测试用信号传输参数预测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639867A (zh) * | 2008-08-01 | 2010-02-03 | 英业达股份有限公司 | 电路布局图的布线方法及其记录网线名称的方法 |
CN104217046A (zh) * | 2013-06-03 | 2014-12-17 | 绩达特软件(北京)有限公司 | 布线方法和装置 |
CN105160107A (zh) * | 2015-09-07 | 2015-12-16 | 成都锐开云科技有限公司 | 一种尤其用于平板显示器的等电阻布线方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3616611B2 (ja) * | 2002-05-14 | 2005-02-02 | 株式会社東芝 | 半導体集積回路装置の設計装置、半導体集積回路の設計方法および半導体集積回路設計プログラム |
-
2016
- 2016-01-18 CN CN201610031474.1A patent/CN105512438B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639867A (zh) * | 2008-08-01 | 2010-02-03 | 英业达股份有限公司 | 电路布局图的布线方法及其记录网线名称的方法 |
CN104217046A (zh) * | 2013-06-03 | 2014-12-17 | 绩达特软件(北京)有限公司 | 布线方法和装置 |
CN105160107A (zh) * | 2015-09-07 | 2015-12-16 | 成都锐开云科技有限公司 | 一种尤其用于平板显示器的等电阻布线方法及装置 |
Non-Patent Citations (1)
Title |
---|
CEE-Gr: A Global router with performance optimization Under Multi-Constraints;Zhang Ling, ET. AL.;《CHINESE J0URNAL 0F SEMIC0NDUCT0RS》;20040531;第25卷(第5期);第508-515页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105512438A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105512438B (zh) | 一种等时延布线方法及装置 | |
US7203914B2 (en) | Timing circuit cad | |
US20130097574A1 (en) | Method of analytical placement with weighted-average wirelength model | |
US20160342729A1 (en) | Method of extracting capacitances of arbitrarily oriented 3d interconnects | |
CN105160107B (zh) | 一种用于平板显示器的等电阻布线方法及装置 | |
US10831972B2 (en) | Capacity model for global routing | |
US9507906B2 (en) | Metal interconnect modeling | |
US9881118B2 (en) | IR-aware sneak routing | |
CN105574289B (zh) | 一种等电容布线方法及装置 | |
CN106094422A (zh) | 一种简化opc后掩模版图形的方法 | |
CN109858080B (zh) | 一种应用于pcb设计中的等长布线方法、装置及存储介质 | |
US7586201B2 (en) | Wiring modeling technique | |
CN115048900B (zh) | 一种集成电路版图的拐角填充方法、装置及计算机设备 | |
CN112257376B (zh) | 馈通路径的规划方法及装置、电子设备、存储介质 | |
US20100077370A1 (en) | System And Method Of Connecting A Macro Cell To A System Power Supply | |
TWI713984B (zh) | 計算導體阻抗的方法 | |
CN104573146B (zh) | 时钟信号传输调整方法及相关集成电路结构 | |
CN106843590A (zh) | 一种触摸屏走线结构及其制备方法 | |
JP3641209B2 (ja) | 自動配置配線装置および自動配置配線方法 | |
US9430604B2 (en) | Integrated circuit package and method | |
CN108733866B (zh) | 一种多层互连结构的化学机械研磨仿真方法和装置 | |
JP3422645B2 (ja) | 回路素子配置装置 | |
Sekine et al. | Conformal equivalent circuit model and leapfrog alternating direction implicit formulation for fast simulation of power delivery network | |
JP3589988B2 (ja) | クロックスキュー改善方法 | |
JPH09319789A (ja) | ネットの容量見積り方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |