一种等时延布线方法及装置的制造方法_2

文档序号:9751103阅读:来源:国知局
位置, 布线区域的大小、位置和/或形状。
[0063] S02:将布线区域划分成串列的几何子段,经过该划分后,后续在布线区域内所布 的所有网线也均被划分成了串列的几何子段。对每根网线和其分割后的几何子段进行编 号,将计算出的电阻和电容参数、网线宽度和网线宽度调整值存储到对应的编号下。
[0064] S03:按等宽的方式产生初始布线,即每根初始网线的宽度是一样的。进一步的,检 测初始布线的网线是否完全位于待布线区域内部和/或所有网线是否在同一个金属布线 层;检测每根网线分割后的几何子段的形状,在几何子段不为凸四边形和/或三角形的情况 下,对其进行二次分割,以满足所有几何子段均为凸四边形和/或三角形。
[0065] S04:估算每根网线/几何子段当前的电阻/电容值。首先计算出每个几何子段的电 阻/电容值后存储到每个几何子段对应的编号下,根据每根网线包括的几何子段的电阻/电 容值得到布线区域内的每根网线的时延值,对每根网线的时延计算完成后将所有网线的时 延值求和后除以布线区域内网线的数目得到所有网线的平均时延值。计算每根网线的时延 和平均时延值之差并记为时延差值。
[0066] S05:判断时延差值是否小于预设时延允许误差,若待布线区域内的每根网线的时 延差值均小于预设时延允许误差,输出当前布线结果。若至少一根网线的时延差值大于与 预设时延允许误差,则进入S06步骤。
[0067] S06:根据网线时延值的微分和当前每根网线的时延差值来计算每个几何子段的 网线宽度调整值。
[0068] S07:由网线宽度调整值来调整几何子段的形状及位置。得到网线宽度调整值后, 调整相应的几何子段的宽度、形状和/或位置,由此实现对每根网线的宽度、形状和/或位置 的调整。检测调整后的网线宽度值、相邻网线之间的间距并选择性地进行调整,使其满足用 户预设的工艺参数。
[0069] 再进入S04步骤,计算调整后的几何子段和/或网线的时延并与预设时延进行比较 来选择性地进行再次调整。直到所有网线的时延差值均小于预设时延允许误差时,输出当 前布线结果。
[0070] 以上步骤可以根据实际情况和需要调整顺序。
[0071] 实施例二
[0072] 本发明还提供一种应用本发明等时延布线方法的等时延布线装置,该等时延布线 装置可与布线软件连接。图2所示为本发明等时延布线装置的结构示意图。如图2所示,等时 延布线装置包括区域识别模块10、分割布线模块20、计算分析模块30和调整输出模块50。
[0073] 用于识别待布线区域的几何参数的区域识别模块。几何参数可以为待布线区域的 形状、大小、位置和待布线端口信息。待布线端口信息为初始和/或终结端口的数目与位置。 用户可通过鼠标、触摸、滑动的方式选择待布线区域的大小,并通过鼠标/触摸选中或点击 的方式读取起始端口和终结端口的信息。
[0074] 区域识别模块10将识别的几何参数输出至用于基于几何参数将待布线区域分割 成串列的几何子段并产生初始布线的分割布线模块20。分割布线模块20根据待布线区域的 大小、形状和待布线端口信息对待布线区域进行自动划分,将待布线区域划分成凸四边形 或三角形的几何子段。然后,分割布线模块20对待布线区域进行初始布线,从而初始所布的 网线也被分割成串列的几何子段。其中,初始布线以等网线宽的方式产生。
[0075] 一种具体的实施方式,调整输出模块50还包括检测模块502,用于检测待布线区域 分割后的几何子段是否为凸四边形或三角形。如果检测到部分几何子段不是凸四边形或者 三角形,则分割布线模块20对该区域进行二次分割,直到所有几何子段为凸四边形或三角 形。便于计算分析模块30计算各个几何子段的电阻和电容值。检测模块502进一步检测初始 布线的网线是否完全位于待布线区域内部和/或所有网线是否在同一个金属布线层。检测 当前布线是否完全位于待布线区域内部的目的在于避免当前网线进入其他布线区域影响 其他区域的布线秩序。
[0076] 计算分析模块30用于计算至少一个几何子段的电阻和电容参数,并且计算每根网 线的时延参数。计算分析模块30根据分割布线模块20产生的初始布线和划分的几何子段, 计算每个几何子段的电阻和电容参数,计算每根网线的时延参数。电阻和电容参数至少包 括:每个几何子段的电阻值、每个几何子段的电容值。网线的时延值至少包括:待布线区域 每根网线的时延值,待布线区域所有网线的平均时延参数和时延差值,其中,时延差值为每 根网线的时延参数和平均时延参数之差,即每根网线均具有一个时延差值。计算分析模块 30根据几何子段的电阻和电容值,由Elmore时延模型计算得到每根网线的时延参数。
[0077] 调整输出模块50用于基于时延参数与预设时延参数的比较来适应性地调整相应 的几何子段和/或网线的几何特征和/或位置。调整输出模块包括比较模块501,比较模块 501用于比较时延差值和预设时延允许误差的大小,当时延差值大于预设时延允许误差时, 比较模块501输出一个判断信号至计算分析模块30,计算分析模块30基于该判断信号计算 该网线对应的每个几何子段的网线宽度调整值并反馈至调整输出模块50。调整输出模块50 基于网线宽度调整值对几何子段的形状、宽度和位置进行调整,从而使整条网线的形状、宽 度和位置得到调整。
[0078] 根据一个优选实施方式,在调整的过程中,检测模块502检测调整后的网线宽度值 是否满足最小线宽值,相邻网线之间的间距是否满足最小间距值。以保证调整后的网线宽 度满足工艺要求的最小线宽值和最小间距值,从而不造成短路或影响信号的传输。用户在 进行等时延布线之间,可预先输入最小线宽值和最小间距值。
[0079] 当所有网线的时延差值均小于预设时延允许误差时,调整输出模块50输出当前布 线结果。
[0080] 本发明的等时延布线装置还包括数据存储模块40,计算分析模块30将网线的编号 及对应的几何子段的编号存储在数据存储模块中。计算分析模块30计算出几何子段的电阻 与电容值后将电阻与电容值存储到对应的编号中,便于后续得到每根网线的时延参数。数 据存储模块40进一步用于存储预设时延允许误差、最小线宽值和最小间距值,并用于存储 网线宽度调整值、网线调整后的网线宽度值和位置。
[0081 ] 实施例三
[0082] 下面结合附图详细描述本发明所涉及到的待布线区域分割方法、几何子段的电 阻、电容计算方法、网线的时延计算方法和网线宽度调整值的计算方法。
[0083] 待布线区域分割方法:
[0084] 图3为本发明待布线区域的分割示意图。如图3所示,图中实线所包围的区域即为 待布线区域。从图3中可知,经过分割后将待布线区域分割为三个串列的不规则的凸四边 形。
[0085] 图4为本发明待布线区域的另一种分割示意图。如图4所示,经过分割布线模块20 对待布线区域进行分割后,将待布线区域分割成了一个三角形和两个凸四边形的串联。
[0086] 在图3和图4中,L0R0和L3R3边上的四个小方块代表网线端口 PIN,起始边L0R0和终 结边L3R3的PIN数目根据实际情况而定。
[0087] 经过分割布线模块20的分割,待布线区域中的每根网线也被分割成若干个几何子 段,计算分析模块30计算每根网线的每个几何子段的电阻和电容值,由每根网线的几何子 段的电阻和电容值通过Elmore时延模型得到对应网线的时延。具体的,在分割布线模块20 对待布线区域的进行分割之前,计算分析模块30对待布线区域的每根网线进行编号,如N1、 N2、N3……Nn。在每根网线被分割成若干个小的几何子段后,计算分析模块20对每根网线的 每个几何子段进行相应的编号。如N1的每个几何子段标记为N10、N11、N12……Nlm,Nl的每 个几何子段标记为N20、N21、N22……N2m,其中η 2 1,m 2 1。计算出每个几何子段的电阻和电 容值后,按照Elmore时延模型。
[0088]具体的,分割布线模块20通过以下三种方法对待布线区域进行分割。
[0089] 方法一:根据角平分线最先与外边、其他角平分线、起始边和终结边中的一个相交 的情况做出相应的内边,由此将待布线区域分割成凸四边形和/或三角形。如图3和图4中的 L1R1和L2R2分别为ZL0L1L2和ZL1L2L3的角平分线。
[0090] 具体的,找出不在起始边L0R0和/或终结边L3R3上的一个顶点,并以顶点构成的角 向待布线区域内作其角平分线;
[0091] 如图3所示,若角平分线最先与对面的某条外边相交,该顶点与该相交点之间可作 为一条内边,如图3中的L2R2和L1R1。则将待布线区域L0R0R1R2R3L3L2L1分成了三个几何子 段,分别为凸四边形L2L3R3R2、凸四边形
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1