CN1855107A - 在存在工艺变化时生成具有匹配延迟的布线路由的方法 - Google Patents

在存在工艺变化时生成具有匹配延迟的布线路由的方法 Download PDF

Info

Publication number
CN1855107A
CN1855107A CNA2006100753410A CN200610075341A CN1855107A CN 1855107 A CN1855107 A CN 1855107A CN A2006100753410 A CNA2006100753410 A CN A2006100753410A CN 200610075341 A CN200610075341 A CN 200610075341A CN 1855107 A CN1855107 A CN 1855107A
Authority
CN
China
Prior art keywords
routing path
fragment
path
wiring
length
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
Application number
CNA2006100753410A
Other languages
English (en)
Other versions
CN100440229C (zh
Inventor
戴维·J·哈撒韦
安东尼·波尔森
杰里·D·海斯
彼得·A·哈比茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1855107A publication Critical patent/CN1855107A/zh
Application granted granted Critical
Publication of CN100440229C publication Critical patent/CN100440229C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种在电路设计中平衡延迟的方法和服务,其从要通过布线设计、或通过被提供要改变的初始布线设计而连接在一起的节点开始。布线设计将具有很多布线路径,如第一布线路径、第二布线路径等。将两个或更多布线路径设计为具有匹配定时,使得信号沿第一布线路径行进所需的时间与信号沿第二布线路径、第三路径等行进所需的时间大致相同。该方法/服务将布线路径中的一个或全部设计为:在第一布线路径和第二布线路径穿越的每个布线级别内,使所述路径穿越大致相同长度和定向的线路片段。并且,此过程使得在第一布线路径和第二布线路径穿越的每个布线级别内,第一布线路径和第二布线路径以相同的次序穿越线路片段。

Description

在存在工艺变化时生成具有匹配延迟的布线路由的方法
技术领域
本发明提供了在电路设计中平衡延迟的方法,其修改布线(wiring)路径中的一个或全部,以使在所述路径穿越的每个布线级别内,所述路径穿越具有大致相同的长度和定向的线路片段(segment)、并以相同的次序穿越这样的片段。
背景技术
集成电路上的路径中的延迟变化的重要来源是特性的变化(主要是由于制造工艺的变化造成的),如用来互连集成电路的电路元件的金属线的高度、宽度、以及间隔。典型地,这些互连线由多个布线层上的片段组成(网络是在两个或更多电路元件之间形成连接的连接网络片段的集合)。为使这些布线层上的可用空间的可用性最大化、并减小一个线路片段阻断同一布线层上的另一个线路片段的期望路径的趋势,典型地,一层上的线路片段仅仅或主要沿单个方向而定向(例如,全都是水平或全都是垂直)。典型地,相邻层上的线路片段以不同方向而定向,通常是彼此垂直的。因此,为创建既不是水平也不是垂直对齐的两点之间的布线连接,通常,通过用来在布线路由中的“弯曲”处连接各层的通路或层间连接,而使用两个布线层上的线路片段对。还可通过在布线路由中引入附加的“弯曲”,而在这样的连接中使用多个水平和垂直片段,尽管减小这样的弯曲的数目可能会具有在产量和其它方面的好处。有时使用布线方向的其它集合,以便对于以相对于某个其它布线层上的主要线路片段方向的30、60或45度角定向的线路片段,而优先使用某些布线层。
其变化导致延迟变化的上述线路特性在同一布线层上的不同线路片段之中趋向于良好相关,这是因为,在相同的一组制造步骤期间,一起制造这些不同的线路片段。然而,不同布线层上的线路片段的线路特性趋向于非常不良地相关,这是因为,它们是在不同的制造步骤组期间创建的。特定布线层上的线路片段的特性的这些变化通常将引起该层上的线路片段的电参数的变化,并且,具体地,引起它们的阻抗和电容的变化。增大线路阻抗的线路变化(如减小线路宽度或厚度)将经常引起线路电容的减小,并且,反之亦然。多重线路片段网络的源到汇点(sink)的延迟将随着线路片段电容和阻抗两者的增大而增大。但是,接近网络源的线路片段的阻抗的增大将引起比类似的接近网络汇点的线路片段的阻抗的增大更大的延迟增大,这是因为,在出现信号转换时,必须通过该线路片段阻抗而对更多的网络电容充电或放电。类似地,接近网络汇点的线路片段的电容的增大将引起比类似的接近网络源的线路片段的电容的增大更大的延迟增大,这是因为,在出现信号转换时,对线路片段电容充电或放电的电流必定通过更多的网络阻抗。
由此,在不同布线层上具有线路片段、在相同的布线层上具有不同长度的线路片段、或在相同的布线级别上但次序不同的具有相同长度的线路片段的网络将显示出不同的延迟变化。作为例子,考虑各自具有M5(级别5上的金属)的1毫米的片段、M6的1毫米的片段、以及100fF的汇集电容(sinkcapacitance)的两个网络的延迟,并且,其中,所述两个金属级别具有每毫米100欧姆的标称阻抗、以及每毫米1pF的标称电容。在第一网络中,M5片段在M6片段之前(比M6片段更接近于网络源),并且,在第二网络中,M6片段在M5片段之前。根据公知的Elmore(艾尔莫)延迟逼近,如果R1和R2分别是第一和第二线路片段的阻抗,C1和C2分别是第一和第二线路片段的电容,且Cl是负载电容,则网络延迟将为:
D=R1*(C1/2+C2+C1)+R2*(C2/2+C1)。
通过上面给定的值,所述两个标称网络延迟为(以秒为单位):
Dnom=1E2*(1E-12/2+1E-12+1E-13)+1E2*(1E-12/2+1E-13),或者
Dnom=220ps。
然而,如果某个工艺变化引起M5电阻增大10%、M5电容减小10%、M5电阻减小10%、且M6电容增大10%,则第一网络延迟将变为:
Dvar1=1.1E2*(9E-13/2+1.1E-12+1E-13)+9E1*(1.1E-12/2+1E-13),或者
Dvar1=240ps,并且
Dvar2=9E1*(1.1E-12/2+9E-13+1E-13)+1.1E2*(9E-13/2+1E-13),或者
Dvar2=200ps。
由此,在标称条件下具有匹配延迟的网络可导致在工艺变化下的显著不同的延迟(在此例子中,对于10%的参数变化来说是+/-9%)。尽管为了简化而使用Elmore延迟方程来执行以上延迟估算,但使用诸如瞬时匹配(momentmatching)或电路仿真的更精确的方法会得到类似的结果。根本问题在于:即使两个网络的延迟函数在特定点处匹配,但除非诸如线路片段的级别次序和长度的网络特性被匹配,它们仍可能在存在工艺变化时具有关于各种过程参数的不同的灵敏度或导数、以及由此产生的不同的延迟。
数字集成电路的校正操作需要满足在集成电路中的锁存器和触发器处设置并保持时钟和数据信号之间的测试,或者,更一般地,需要满足集成电路内的各种信号对的到达时间之间的特定排序关系(下文中统称为定时测试)。在这些定时测试中涉及的信号到达时间是各种网络的延迟和沿着路径或信号扇入圆锥(fanin cone)的电路元件的函数。信号扇入圆锥是其所有输出直接或间接馈送信号的电路元件的集合。这些电路元件和网络的延迟自身是很多参数的函数,所述参数包括其变化在上面描述的线路特性。为确保在存在工艺变化时满足定时测试,使在该测试中涉及的两个路径的延迟之间的差的变化最小是重要的。典型地,在对于从其中装入数据信号的锁存器或触发器的时钟引脚的一种情况下,以及在对于捕捉数据信号、且执行了定时测试的锁存器或触发器的时钟引脚的另一种情况下,在定时测试中涉及的路径或圆锥两者包括时钟延迟部分。由于锁存器或触发器在装入(launch)和捕捉数据两者中将被涉及,并可能在临界(critical)设置和保持测试两者中被涉及,所以,通常,时钟延迟部分将具有由定时测试所强加的上界和下界两者。改善在存在工艺变化时通过定时测试的概率的良好方式在于,尝试使在临界(接近失败)定时测试中涉及的所有装入和捕捉时钟路径对之间的延迟差的变化最小。
如图1所示,使延迟和延迟变化的差最小的一种普通方法是通过使用H树(H-tree)。更具体地,图1示出了从R延伸的平衡H树。标记为1的节点形成第一级H树,而标记为2的节点形成连接到第一级H树的末端的4个第二级H树。但是,如果存在阻碍(blockage),则不可能构造这样的树,并且,如果时钟汇点(例如,锁存器或触发器)的分布在空间上不一致,则可能浪费布线资源和功率。
在美国专利5,339,253(by Carrig et al.,in“Exact zero skew”,Ren-Song Tsay,ICCAD 1991,PP.336-339,and in“zero skew clock routing with minimumwirelength”by Ting-Hai Chao et al.in IEEE Transactions on Circuit and SystemsII,November 1992,pp.799-814)中描述了平衡路径的延迟(使其差最小)的另一种方法,通过引用而将其合并于此。这些方法通过对汇点进行迭代配对、将它们连接、并确定沿着从其将它们互连的线路的点,而将分布树构建为具有相对到达时间目标的一组汇点,以驱动所述对,以便满足汇点的相对到达时间目标(即,从驱动点到汇点的延迟的差等于汇点的目标到达时间的差)。随后,此驱动点变为该方法的连续迭代的汇点,其中目标到达时间等于任一汇点的目标到达时间减去从驱动点到该汇点的延迟。通常,对汇点进行配对的准则试图使任意对的汇点之间的最大距离最小化,并且/或者,使用来连接所有对的总线路长度最小。这些方法能够适于阻碍汇点分布并使其非一致,但不解决存在参数变化时的延迟差的变化的减小的问题。
在“Optimal buffered clock tree synthesis”by Jae Chung et al.in the 1994IEEE International ASIC Conference and Exhibit,pp.130-133中描述了相关的传统方法,其通过选择使延迟关于宽度的导数等于0的线路宽度、而尝试使网络延迟的灵敏度最小,以处理变化。然而,这可能需要不能实际实现的线路宽度,并且,未直接解决网络延迟对之间的差的变化。它还仅在理想选择的点周围的邻近处消除延迟变化,并且,由此,在实践中可能发生的线路片段参数的较大变化仍可能引起延迟的显著变化。
发明内容
本发明提供了在电路设计中平衡延迟的方法和服务。本发明从要通过布线设计、或通过被提供要改变的初始布线设计而连接在一起的节点开始。布线设计将具有很多布线路径,如第一布线路径、第二布线路径等。将两个或更多布线路径设计为具有匹配定时,使得信号沿第一布线路径行进所需的时间与信号沿第二布线路径、第三路径等行进所需的时间大致相同。本发明将布线路径中的一个或全部设计为:在第一布线路径和第二布线路径穿越的每个布线级别内,使所述路径穿越大致相同的长度和定向的线路片段。并且,此过程使得在第一布线路径和第二布线路径穿越的每个布线级别内,第一布线路径和第二布线路径以相同的次序穿越线路片段。
由此,本发明使第一布线路径和第二布线路径穿越水平布线片段的相同长度以及垂直布线片段的相同长度,并使第一布线路径和第二布线路径以相同的次序穿越水平布线片段和垂直布线片段。选择组成第一布线路径和第二布线路径的垂直和水平线路片段的次序,以避免阻碍,并使沿第一布线路径和第二布线路径的平均拥塞度最小。
本发明还可将第一布线路径的水平片段长度的延迟灵敏度符号差与第二布线路径的水平片段长度的延迟灵敏度符号差相匹配,并且,类似地,将第一布线路径的垂直片段长度的延迟灵敏度符号差与第二布线路径的垂直片段长度的延迟灵敏度符号差相匹配。
此过程将布线路径中的一个加长,以匹配另一个布线路径的近似长度。这可通过观察哪个路径具有垂直和水平路径的最长长度、并随后加长较短的路径以符合最长路径的长度而完成。可替换地,该过程可将第一布线路径的开头和第一布线路径的末端之间的直线距离(例如,沿可包括30、45、60度线或其它线的特定布线方向的距离)与其它布线路径的开头和其它布线路径的末端之间的直线距离相比较。随后,此过程为具有最长的直线距离的布线路径创建布线路径中的一个(使用水平和垂直部分),并随后创建其它布线路径,以匹配最长的布线路径的水平和垂直部分。
由此,本发明的一个思想在于,创建用于两个或更多源(开头)到汇点(末端)布线路径的路由,使得所述路径在相同的布线级别上、且以相同的次序穿越相似长度的线路片段,以便减小在存在工艺变化时的两个布线路径的延迟之间的差,其中,工艺变化可以从线路片段的标称值起改变线路片段的特性。
在与下面的描述和附图相结合而考虑时,将更好地领会和理解本发明的这些、以及其它方面和目的。然而,应理解,尽管指明了本发明的优选实施例及其大量特定细节,但下面的描述是通过说明而不是限制的方式给出的。可在本发明的范围内做出很多改变和修改,同时不背离其精神,并且本发明包括所有这样的修改。
附图说明
通过参照附图,从下面的详细描述中,将会更好地理解本发明,附图中:
图1是集成电路芯片上的传统H树布线图案的示意图;
图2是时钟控制的存储元件A-F之间的临界和非临界路径的示意图;
图3-5是具有平衡的信号延迟属性的布线图案对的示意图;
图6是在例子A-D中消耗不同的线性空间量的布线图案的相同长度的示意图;
图7是节点和一系列线路片段的不同对之间的距离测量的示意图,其中,所述节点和一系列线路片段可用来跨越所述距离;
图8-11是具有平衡的信号延迟属性的布线图案对的构造中的步骤的示意图;以及
图12是用于操作本发明的硬件系统。
具体实施方式
因此,通过参照在附图中图解、并在下面的描述中详述的非限制性实施例,而更全面地说明本发明和各种特征和优点细节。应注意,在附图中图解的特征不一定是按比例绘制的。省略公知组件和处理技术的描述,以便不会不必要地混淆本发明。在这里使用的例子仅意图帮助对可实现本发明的方式的理解,以及进一步使本领域的技术人员能够实现本发明。因而,所述例子不应被理解为限制本发明的范围。
在下面的描述中,应理解,可扩展水平或X轴距离和线路片段、以及垂直或Y轴距离和线路片段的集合,以包括沿其它优选布线方向(如在相对于芯片边缘的45度角上)的距离和线路片段。在任何情况下,均可扩展该分解(decomposition),以包括沿45度角的其它布线方向的距离、以及其它布线方法。随后,可将把路径分解为集中跨越源到汇点距离的水平和垂直片段的以下方法中的步骤替换为:对于其上要对平衡的路由确定路线(route)的布线层而把路径分解为沿优选的布线方向的片段的步骤。
并且,在下面的描述中,应理解,要匹配的布线路径的集合可为时钟树的所有汇点,或具有比某个阈值小的松弛度(slack)的所有所述汇点。它们还可被选择为基于锁存器图(latch graph)而确定的时钟的汇点的集合,其中,锁存器图具有用于每个锁存器或时钟树汇点的节点、以及用于其间具有至少一个数据路径的任意锁存器的节点之间的边缘,其具有基于对锁存器之间的任意数据路径的最严格的定时约束而对这些边缘可计算的松弛度。从锁存器图中,可一起考虑到(为时钟馈送而创建的匹配的布线路由):其节点通过具有比某个特定阈值小的松弛度的锁存器图形边缘而(可传递地)连接的子图中的每组时钟树汇点。图2示出了具有锁存器A-F的锁存器图,其中,实线表示临界边缘,而虚线表示非临界边缘。在此例子中,生成两个群集(其布线路由要被匹配的锁存器组),一个群集包含A、B和C,而另一个群集包含D、E和F。
并且,在以下描述中,如果两个距离或线路片段长度精确相等,则可认为所述两个距离或线路片段长度是相等的,或者,如果它们的长度在某个指定容限内,则可认为它们是相等的。还可基于某个可变容限而认为片段或距离是相等的。这样的容限对于被认为是更重要的路径而可能变得更严格(具有较低的松弛度)。例如,通过对所述路径计算公知的Elmore延迟估计、并确定延迟对长度失配的灵敏度,所述容限还可取决于所估计的长度差对延迟的影响。或者,可变容限可采用这些和其它准则的组合。
并且,在下面的所有描述中,与在实践中一样紧密地匹配汇点负载,这是由于对于布线参数的改变的延迟灵敏度将受汇点负载影响。避免了其它变化源,如来自相邻切换线路的噪声耦合,作为它们耦接的网络上的不同方向转换的结果,所述耦合可加速某些要匹配的延迟,而减慢另一些所述延迟。消除耦合的普通方法是将线路X(要控制其延迟变化)路由到与已知在线路X切换时不会切换的线路相邻。这样的线路一般是接地或电源线路,但还可为在功能时钟(线路X可为其一部分)运行时不操作的测试时钟、或已知(典型地,通过静态定时分析而获知)仅在X不切换的时候切换的其它线路。
要匹配的路径的源和汇点应被放置为使得水平的源到汇点距离尽可能紧密地匹配、并使得垂直的源到汇点距离尽可能紧密地匹配。这可通过在距锁存器或它们驱动的其它汇点的类似水平和垂直距离上放置驱动缓冲器、而在自下向上的树生成中完成,通过在距它们的源的类似距离上放置汇点、而在自上向下的树生成中完成,或通过这些操作的某个组合而完成。这会增大后续的传统路由方法将产生平衡路由的可能性。它还将减小后续的实施例产生匹配路由所需的不必要的布线量。
由此,本发明提供了在电路设计中平衡延迟的方法。可利用本发明来创建布线设计,或可利用本发明来修改先前存在的布线设计。因此,本发明从要连接的一组节点开始,或通过产生(或被提供)初始布线设计而开始。此布线设计将具有很多布线路径,如第一布线路径、第二布线路径等。将两个或更多布线路径设计为具有匹配定时,使得信号沿第一布线路径行进所需的时间与信号沿第二布线路径、第三路径等行进所需的时间大致相同(在某个预定的容限内)。本发明创建或修改一个或多个布线路径,以使在第一布线路径和第二布线路径穿越的每个布线级别内,所述路径穿越具有大致相同的长度和定向的线路片段。并且,此过程使在第一布线路径和第二布线路径穿越的集成电路芯片设计的每个布线级别内,第一布线路径和第二布线路径以相同次序穿越线路片段。
本发明的特定实施例通过执行在“背景技术”部分中描述的精确零歪斜(zero skew)方法而开始。然而,利用本发明,当选择要连接到树的相同分支的汇点对时,目的在于使其路由被匹配的集合内的任意汇点对之间的最大水平距离和最大垂直距离最小。反之,典型地,传统方法会按照使任意对汇点之间的最大总(水平加垂直)距离、跨越所有对的这种总距离的和、或这些的某个组合最小的目的而对汇点配对。
本发明还可将第一布线路径的水平片段长度的延迟灵敏度符号差(signature)与第二布线路径的水平片段长度的延迟灵敏度符号差相匹配,并且,类似地,将第一布线路径的垂直片段长度的延迟灵敏度符号差与第二布线路径的垂直片段长度的延迟灵敏度符号差相匹配。利用本发明的这一方面,在要匹配的一组源到汇点路径之中,为至少一个这样的路径而生成至少两个路由选项(例如,通过标准路由程序),并且,为该组中所有剩余的源到汇点路径而生成至少一个路由选项。为所有生成的路由选项而计算延迟灵敏度符号差,其估计该路由对经受工艺变化的每个线路层参数的延迟灵敏度。对于每个源到汇点对,从所生成的路由选项中选择路由选项,使得所有所选路由选项的延迟灵敏度符号差尽可能地相似。延迟灵敏度符号差可包括延迟关于每个变化源的导数。可通过有限差分、使用例如公知的Elmore延迟模型的解析延迟方程,或者通过其它方式,而对这样的导数进行解析计算。可通过计算对应的导数分量之间的差的绝对值的和,例如|dDelayA/dParameter1-dDelayB/dParameter1|+|dDelayA/dParameter2-dDelayB/dParameter2|+...|dDelayA/dParameterM-dDelayB/dParameterM|,而确定用于具有M个变化参数的路径A和B的一对延迟灵敏度符号差之间的相似性,其中,较小的和指示较高的相似性。还可使用确定相似性量度的其它方式,如除了这些差的绝对值之外,对这些差的平方求和。
如上所述,本发明可将用于要路由的两个源到汇点布线路径的布线路由分别与水平源到汇点距离x1和x2、分别与垂直源到汇点距离y1和y2相匹配。本发明确定两个水平片段长度min(x1,x2)+|x1-x2|/2和|x1-x2|/2、以及两个垂直片段长度min(y1,y2)+|y1-y2|/2和|y1-y2|/2。所确定的水平和垂直片段长度中的第一个会对于所述两个路由而以相同的方向延伸,而所确定的水平和垂直片段长度中的第二个会对于具有较长的源到汇点距离的路由而以相同的方向延续、且对于另一个路由会将方向取反。由此,两个水平(垂直)片段长度的和会等于较长的水平(垂直)源到汇点距离,而它们的差会等于较短的水平(垂直)源到汇点距离。随后,按照所述排序对于每个路由相同的需要,选择这四个片段的任意排序,以实现所述两个路由。如果选择了其中两个水平或两个垂直片段相邻的排序,则可能引入垂直方向上的小摆动(jog),使得将方向取反的路由不具有占据同一布线轨迹的这两个片段。次序的选择是任意的,并可被产生用来避免一个或全部两个路由上的阻碍,以使一个或全部两个路由上的最大或平均拥塞度(congestion)最小。并且,注意,当|x1-x2|小于某个阈值时,仅需要一个水平片段,并且,类似地,当|y1-y2|小于某个阈值时,仅需要一个垂直片段。图3-5示出了三个采用了两个源到汇点路径的、相同的四个片段长度的可替换排序组。
更具体地,图3图解了连接点A1与B1的布线路径、以及连接点A2与B2的另一个布线路径。所述两个布线路径均包括第一水平片段30、垂直片段31、水平片段32、以及垂直片段33。水平和垂直片段中的每个具有大致相同的长度,且在每个布线路径中处于相同的水平/垂直次序。类似地,图4图解了连接A1与B1、以及连接A2与B2的布线路径的可替换对,其中,水平和垂直布线路径40-43相匹配,并且,图5图解了其中使水平和垂直布线路径50-53相匹配的可替换的布线路径。注意,在图3-5中示出的每个布线路径中,第一布线路径和第二布线路径以相同的次序穿越水平布线片段(偶数)的相同长度和垂直布线片段(奇数)的相同长度。并且,注意,图3-5中示出的水平和垂直线路片段长度是相同的,但在每幅图中以不同的次序排列。由此,在图3的布线路径中首先出现的水平片段30与在图4的布线路径中最后出现的水平片段43具有相同的长度,并还与在图5的布线路径中第三个出现的水平片段52具有相同的长度。类似地,垂直片段31、40和53具有相同的长度,水平片段32、41和50具有相同的长度,且垂直片段33、42和51具有相同的长度。由此,图3-5是连接A1与B1、以及A2与B2的相等长度的布线路径的可替换对,它们仅在线路片段的排序方面有所不同。
可将此发明一般化为处理具有水平源到汇点距离x1...xN和垂直源到汇点距离y1...yN的N个源到汇点对。通常,这通过确定K个水平片段长度而完成,使得对于每个源/汇点水平距离来说,存在这样的符号(+/-)分配,使得当对所述片段长度添加了这些符号时,它们的和等于源/汇点水平距离。为使所需的布线资源最小,所有这些片段长度的和应等于最大源到汇点水平距离(即,对于具有最大水平距离的源到汇点对的+/-分配都将是相同的)。后面的过程类似,以确定一组垂直片段长度。
用来确定这样的片段组和对于N个源到汇点对的符号分配的一种特定方法是,首先对所有对的源到汇点距离进行排序,使得x1<x2<...xK。一起考虑相等(可能在特定的容限内)的任何距离,于是,K(不同的源到汇点距离的数目)可能小于N。随后,确定第一片段长度(x2+x1)/2(如上面在确定路由对的片段中使用的那样,等于min(x1,x2)+|x1-x2|/2),其对于所有对来说是从源朝向汇点而定向的,并且,这些片段的末端变为新的源点,其中,从它们中的每个到它们对应的汇点的距离成为用于所述对的新的源到汇点间隔(即,将用于每个对的源到汇点距离更新为先前的一对源到汇点距离和刚确定的片段长度之间的差的绝对值)。注意,在已确定了这个第一片段长度、并调节了用于所有源到汇点对的源点之后,用于对1和2(其具有旧的距离x1和x2)的新的距离将在(x2-x1)/2上相等,并且由此,不同源到汇点距离的数目将减小(至少)1。重复此步骤,直到所有源到汇点对具有相同的剩余距离为止,并且,使用该距离作为最终水平片段。由于在每个步骤中不同源到汇点距离的数目减小了(至少)1,所以,所需水平片段的总数<=N。以类似方式确定一组垂直片段。随后,只要对于所有源到汇点对使用相同的次序,便可以任意次序来使用这些确定的水平和垂直片段。次序的选择是任意的,并可被产生用来避免一个或全部路由上的阻碍,以使一个或全部路由上的最大或平均拥塞度最小。由此,本发明使第一布线路径、第二布线路径、以及所有剩余的N个布线路径穿越水平布线片段的相同长度、以及垂直布线片段的相同长度,并使所有N个布线路径以相同的次序穿越水平布线片段和垂直布线片段。选择组成所述N个布线路径中的每个的垂直和水平线路片段的次序,以避免阻碍,并使沿所有N个布线路径的平均拥塞度最小。
作为例子,如图6所示,考虑四个源到汇点路径A、B、C和D,其具有8、18、14和10的特定方向(例如,水平)上的距离。本发明首先将它们排序,并确定A和D具有最小距离8和10,并且因此,创建长度(8+10)/2=9的第一片段。在从每个距离中减去此片段长度之后,这产生调节的距离-1、9、5和1。尽管在对距离重新排序、并计算对于此源到汇点路径的下一个片段长度时仅使用距离的绝对值,于是距离1和-1被认为是等价,但本发明在这里保持符号,这是由于它指示对于此源到汇点路径的下一个片段将处于反向方向。现在,最小的两个距离为1和5,于是,下一个片段长度为(1+5)/2=3。将其再次从所有源到汇点距离中减去会给出新的调节后的源到汇点距离2、6、2和-2。因为我们采用先前带符号的距离、并加上相反方向上的长度3的片段,即-1+3=2,所以,第一距离为2。仅有的两个剩余距离为2和6,于是,下一个片段长度为(2+6)/2=4,而调节后的距离变为-2、2、-2和2。由于现在的所有距离为2,所以,最终片段具有长度2。由此,构成每个路径的片段长度和符号的组合为:
A=9-3+4-2=8
B=9+3+4+2=18
C=9+3+4-2=14
D=9+3-4+2=10
如图6所示,相加的片段沿一个方向(从源朝向汇点)延伸,而相减的片段沿相反方向延伸。在另一个方向上独立地完成类似的分解。注意,片段长度的和精确地等于最大源到汇点路径距离,即可使用、且仍实现匹配路由的此方向上的最小线路量。
注意,如果阻碍阻止对于所有源到汇点路径而实现一组所确定的片段长度的任何排序,则这可能增大超过源到汇点距离的总距离(片段长度的和),以便允许足够的线路来路由绕过障碍(obstacle)。实现其的一种方式是:对于所有源到汇点路径,简单地添加沿从源远离汇点而定向的一个或全部两个布线方向上的初始片段。可连同如上所述而计算的所有其它片段而对此初始片段重新排序。
为减小每个路由所需的片段的总数,可将要匹配的每个网络中具有相同的长度、处于同一层上、且沿相同方向延伸的任何片段对组合为每个网络中的单个片段。例如,考虑用于网络x、Y、Z和W的匹配路由,其中网络x和Y具有均从右到左而延伸的长度3和4的水平片段,而网络Z和W两者具有均从左到右而延伸的长度3和4的水平片段。在每个网络中,可将这些长度3和4的片段组合为长度7的片段,其中,这些组合的片段在网络x和Y中从右到左而延伸,而在网络Z和W中从左到右而延伸。
在如图7所示的例子中示出了其操作的一个实施例中,如在“背景技术”中描述的精确零歪斜算法那样,本发明随着一组配对汇点S1-S6而开始(可能已根据第一发明的第二部分中的描述而选择了这些配对)。在此例子中,将汇点S1与S2配对,S3与S4配对,而S5与S6配对。在要匹配其布线路由的所有这样的对中,我们确定最大x距离delta_x(Δx)和y距离delta_y(Δy)。在图7中,最大Δx为Δx34,而最大Δy为Δy12。对于坐标为(x1,y1)和(x2,y2)的每对汇点,其中,无一般性地,我们假定x1<x2,且y1<y2,随后,我们确定从x2-delta_x/2水平延伸到x1+delta_x/2的合并区域(类似于在传统的推迟合并嵌入中描述的那样)。类似地,合并区域的垂直范围是从y2-delta_y/2到y1+delta_y/2。注意,对于具有最大水平间隔的对(确定delta_x的对)来说,仅允许用于合并区域的一个x坐标,于是,合并区域为垂直线,并且,类似地,关于所允许的用于具有最大垂直间隔的对的合并区域的y坐标,在该情况下,合并区域为水平线。对于不具有最大的Δx或Δy的所有对来说,合并区域为矩形。用于图7中的对的合并区域为m12、m34和m56。随后,本发明可精确地使用delta_x/2水平线路和delta_y/2垂直线路,而从所允许的用于每个对的合并区域内的任意点路由到该对的每个汇点。例如,可使用上面讨论的本发明的一般方法,来确定满足此约束的一组线路片段。
不确定用于每对的精确合并点(将路由从其路由到该对的每个汇点的点),直到已确定了树的上级的汇点的配对之后为止。具体地,可完成合并区域的配对(如在发明1的第二部分中那样),使得要匹配的组中的任意对的最大delta_x和最大delta_y值被最小化。确定delta_x的对将被认为具有最大所需水平间隔,而确定delta_y的对将被认为具有最大所需垂直间隔。用于一对汇点自身的合并点变为分布网络的更高级别(即,更接近于分布树的根的级别)的汇点,并且,允许这些更高级别汇点的位置在它们确定的合并区域内移动。也就是说,如果将具有所允许的从x1,A到x1,B的x坐标的范围的特定更高级别汇点与具有所允许的从x2,A到x2,B的x坐标的范围的另一个更高级别汇点配对,则与该对相关联的delta_x是最小值|x1-x2|,使得x1,A<=x1<=x1,B,且x2,A<=x2<=x2,B。以类似方式确定更高级别汇点的y坐标。于是,从下到上确定合并区域,并且,从上到下选择精确的合并点。对于每对,可对于最终的合并点而选择任意x和y坐标,只要它们在所确定的该对的合并区域内、并且它们不会使用于该对的delta_x或delta_y超过具有最大所需间隔的对的值即可。
在另一个实施例中,首先对要平衡的一组路由的每个路由i作出有关仅使用水平、垂直和45度线而连接该路由的末端的最短路径的确定。在此上下文中,此路径的长度可被认为是路径i的直线距离。这样的路径可能总是由单个对角部分Di、以及水平部分Hi或垂直部分Vi组成。对于其最短路径具有垂直部分和对角部分的路由,Hi将为0(例如,这在图8中的节点C和D之间示出)。类似地,对于其最短路径具有水平部分和对角部分的路由,Vi将为0(例如,这在图8中的节点A和B之间、以及节点E和F之间示出)。通常,Di、Vi和Hi中的任一个或全部可为0,然而,对于每个路由,Hi和Vi中的至少一个必须为0。如在图8中的节点A和B之间、以及节点C和D之间所示,确定这些路径中的任一个的最长的水平部分Hmax,并且,还确定这些路径中的任一个的最长的垂直部分Vmax。随后,确定Hmax和Vmax的最小值HVmin。如图8所示,这在节点C和D之间出现。
随后,将每个路由的水平或垂直部分减小最多HVmin,使得Hi_reduced=max(0,Hi-HV min),而Vi_reduced=max(0,Vi-HV min)。如果路由i的水平或垂直部分的减小量为HVreduction=min(HVmin,max(Hi,Vi)),那么,每个路由的对角部分增大square_root(2)*HVreduction。这些改变的效果在于:使Vi部分对于所有路由来说为0,或使Hi片段对于所有路由来说为0,并且,用对角部分的增大来替换去除的水平片段,其中,对于每个节点A-B、C-D和E-F,如图9所示,所述对角部分将等于等腰直角三角形的直角边,所述等腰直角三角形具有作为其斜边的去除的水平或垂直部分。随后,确定最大对角部分Dmax(在图10中的节点E和F之间),更新的最大水平部分Hmax_updated和最大垂直部分Vmax_updated也是如此。注意,作为在前步骤的结果,Vmax_updated或Hmax_updated必为0。
随后,如图10所示,使用长度Dmax的对角片段、以及总长度Hmax_updated的水平片段或总长度Vmax_updated的垂直片段,而构造用于每个路由的路径。例如,片段110和111的总长度等于图9中的长度Hmax_updated。如在图10中的节点A-B、C-D和E-F之间所示的,可以很多方式完成剩余的对角片段。使用以下操作,这将总是可能的。可用等腰直角三角形的对角直角边来替换作为该等腰直角三角形的斜边的原始对角片段。
尽管将片段110和111的总长度示出为等于图9中的长度Hmax_updated,但可通过在任意两点上断开路由、并将断开点之间的部分路径向上或向下移动Vincrease/2、或者将其向右或向左移动Hincrease/2、并随后在断开点处连接现在分开的末端,而添加水平长度Hincrease或垂直长度Vincrease。类似地,可通过在两点上断开路由、并将断开点之间的部分路径沿对角线向右上、左上、右下或左下移动Dincrease/2、并随后在断开点处连接现在分开的末端,而添加对角长度Dincrease。这样,增大每个路径的对角长度以等于Dmax,增大每个路径的水平或垂直长度,以匹配Hmax_updated或Vmax_updated,由此,如上所述,使用长度Dmax的对角片段、以及总长度Hmax_updated的水平片段或总长度Vmax_updated的垂直片段,而实现每个路径的路由。
如图10所示,可通过在要移动的片段的一个末端以及片段要移动到的位置处断开路径、并随后沿将旧的片段的末端会合到一起的方向对这些断开点之间的部分路径进行移位,而类似地将路由的水平或垂直片段移动到路径中的不同位置。为了说明性的目的,在图11中示出了这些水平或垂直片段110、111,其在路径的起点(源端)和终点(汇点端)之间被均等地划分,但它们可在所有路径上距源的任意相等的距离上出现,或可被断开为多段,使得所有路径中的对应的段具有相等的长度,并在距源的相等距离上出现。
一旦已构造了这些匹配路径,便使用它们来构造如图11所示的仅使用水平和垂直线路片段的线路路由。在每个路径的同一端(例如,源)开始,穿越该路径,直到到达了对角片段的开始为止。因为水平或垂直片段将在先前已被置于距源相等的距离上,所以,在所有路径上,将在距源的相同距离上遇到第一对角片段。随后,找到所有路径上的对角片段之中的最短对角片段Dmin,并且,在所有路径上,在此对角长度的末端之间插入各自具有长度Dmin/square_root(2)的水平和垂直线路片段。可以任一次序插入水平和垂直片段,但是该次序必须在所有路径上相同。从此对角片段的末端起,在该过程重复的下一对角片段(其在某些路径中可为比Dmin长的对角片段的继续)的开头,找到所有路径上的最短的对角片段,并用一对垂直和水平片段来替换它。这继续直到已到达路径的汇点为止。
在本发明的再一个实施例中,修改先前构造的一组布线路由,以减小在存在工艺变化时它们的成对延迟差的变化。可能已通过先前的方法中的一个或多个、或通过某个其它方式而构造了先前构造的布线路由。即使对于使用以上方法构造的布线路由,由于以上步骤中的容限、汇点加载的变化、或其它原因,延迟差的剩余变化仍可能存在。修改这些先前构造的布线路由的一种方法使用灵敏度符号差分量,即共同形成上述延迟灵敏度符号差的一组导数。它还使用不直接连接到路径源或汇点的、布线路由中的中间片段的坐标。这些坐标为垂直片段的x坐标和水平片段的y坐标。本发明计算每个灵敏度符号差分量关于中间片段的坐标的导数。使用这些导数,以沿着将用于特定路线的灵敏度符号差分量朝向要匹配的路由之中的该灵敏度符号差分量的平均值移动的方向,而引导这些中间片段的移动(以及由此地,它们连接的片段的缩短或加长)。在进行这些改变时必须小心,使得改变不引起:比其引起的朝向其平均值的所选分量的移动更多的、某个其它灵敏度分量远离其平均值的移动。可能在少量步骤中进行这样的改变,其中在它们之间重新计算导数,以便考虑到灵敏度符号差分量和中间片段的坐标之间的关系中的非线性。由此,本发明的一个思想在于,创建用于两个或更多源(开头)到汇点(末端)布线路径的路由,使得所述路径在相同的布线级别上、且以相同的次序穿越相似长度的线路片段,以便减小在存在工艺变化时的两个布线路径的延迟之间的差,其中,工艺变化将从线路片段的标称值起改变线路片段的特性。
图12中绘出了用于实践本发明的实施例的代表性硬件环境。此示意图图解了根据本发明的实施例的信息处理/计算机系统的硬件配置。该系统包括至少一个处理器或中央处理单元(CPU)10。CPU 10经由系统总线12而与诸如随机存取存储器(RAM)14、只读存储器(ROM)16、以及输入/输出(I/O)适配器18的各种设备互连。I/O适配器18可连接到诸如盘单元11和磁带驱动器13的外设、或可由该系统读取的其它程序存储设备。该系统可读取程序存储设备上的本发明的指令,并遵循这些指令来执行本发明的实施例的方法。该系统还包括用户接口适配器19,其将键盘15、鼠标17、扬声器24、麦克风22、以及/或者例如触摸屏设备(未示出)的其它用户接口设备连接到总线12,以收集用户输入。另外,通信适配器20将总线12连接到数据处理网络25,而显示适配器21将总线12连接到显示设备23,例如,显示设备23可作为诸如监视器、打印机、或传送器的输出设备来实现。
本发明在集成电路上创建了平衡的布线路由,其具有对实现所述路由的布线层的特性变化的相等灵敏度。此发明的好处在于,由于减小了不同路径的延迟之间的差的变化,而改善了满足集成电路上的定时需要的能力。另一个好处在于:通过最小限度的布线而在源和汇点的预定对之间构造这样的平衡路由的能力。本发明的再一个好处在于:确定允许通过最小限度布线而构造的、到分布树的汇点的平衡路由的信号分布树的拓扑。
尽管已针对于优选实施例而描述了本发明,但本领域的技术人员将认识到,可通过在所附权利要求的精神和范围内的修改,而实践本发明。

Claims (22)

1、一种在集成电路中平衡延迟的方法,所述方法包括:
提供要加入到布线设计中的节点,其中,所述布线设计的要求规定,信号沿第一布线路径行进所需的时间与信号沿第二布线路径行进所需的时间大致相同,并且其中,所述第一布线路径和所述第二布线路径穿越所述集成电路的多个级别;以及
将所述第一布线路径和所述第二布线路径设计为,在所述集成电路的每个布线级别内穿越大致相同长度的线路片段。
2、如权利要求1所述的方法,其中,所述设计过程还包括:使所述第一布线路径和所述第二布线路径穿越水平布线片段的相同长度、以及垂直布线片段的相同长度。
3、如权利要求1所述的方法,其中,所述设计过程还包括:将所述第一布线路径的水平片段长度的延迟灵敏度符号差与所述第二布线路径的水平片段长度的延迟灵敏度符号差相匹配,并且,
将所述第一布线路径的垂直片段长度的延迟灵敏度符号差与所述第二布线路径的垂直片段长度的延迟灵敏度符号差相匹配。
4、如权利要求1所述的方法,其中,所述设计过程还包括:选择组成所述第一布线路径和所述第二布线路径的垂直和水平线路片段的次序,以避免阻碍,并使沿所述第一布线路径和所述第二布线路径的平均拥塞度最小。
5、如权利要求1所述的方法,其中,所述设计过程还包括:将所述第一布线路径和所述第二布线路径中的一个加长,以匹配另一个布线路径的近似长度。
6、如权利要求1所述的方法,其中,所述设计过程还包括:
将所述第一布线路径的开头和所述第一布线路径的末端之间的直线距离与所述第二布线路径的开头和所述第二布线路径的末端之间的直线距离相比较,以确定哪个路径具有最长的直线长度;
使用水平和垂直部分,为具有所述最长的直线长度的所述第一布线路径和所述第二布线路径中的一个创建一个布线路径;以及
为所述第一布线路径和所述第二布线路径中的另一个创建另一个布线路径,以匹配所述一个布线路径的所述水平和垂直部分。
7、一种在电路设计中平衡延迟的方法,所述方法包括:
提供要加入到布线设计中的节点,其中,所述布线设计的要求规定,信号沿第一布线路径行进所需的时间与信号沿第二布线路径行进所需的时间大致相同,并且其中,所述第一布线路径和所述第二布线路径穿越所述集成电路的多个级别;以及
将所述第一布线路径和所述第二布线路径设计为,在所述集成电路的每个布线级别内穿越大致相同长度的线路片段;以及
在所述集成电路的每个布线级别内,使所述第一布线路径和所述第二布线路径以相同的次序穿越水平布线片段的相同长度、以及垂直布线片段的相同长度。
8、如权利要求7所述的方法,其中,所述设计过程还包括:修改预先存在的布线设计。
9、如权利要求8所述的方法,其中,所述设计过程允许所述第一布线路径和所述第二布线路径沿不同的方向穿越所述水平布线片段和所述垂直布线片段。
10、如权利要求7所述的方法,其中,所述设计过程还包括:将所述第一布线路径的水平片段长度的延迟灵敏度符号差与所述第二布线路径的水平片段长度的延迟灵敏度符号差相匹配,并且,
将所述第一布线路径的垂直片段长度的延迟灵敏度符号差与所述第二布线路径的垂直片段长度的延迟灵敏度符号差相匹配。
11、如权利要求7所述的方法,其中,所述设计过程还包括:选择组成所述第一布线路径和所述第二布线路径的垂直和水平线路片段的次序,以避免阻碍,并使沿所述第一布线路径和所述第二布线路径的平均拥塞度最小。
12、如权利要求7所述的方法,其中,所述设计过程还包括:将所述第一布线路径和所述第二布线路径中的一个加长,以匹配另一个布线路径的近似长度。
13、如权利要求7所述的方法,其中,所述设计过程还包括:
将所述第一布线路径的开头和所述第一布线路径的末端之间的直线距离与所述第二布线路径的开头和所述第二布线路径的末端之间的直线距离相比较;
使用水平和垂直部分,为所述第一布线路径和所述第二布线路径中具有所述最长的直线距离的一个创建一个布线路径;以及
为所述第一布线路径和所述第二布线路径中的另一个创建另一个布线路径,以匹配所述一个布线路径的所述水平和垂直部分。
14、一种在电路设计中平衡延迟的方法,所述方法包括:
提供初始布线设计,其至少具有第一布线路径和第二布线路径,其中,将所述第一布线路径和所述第二布线路径设计为,使得信号沿所述第一布线路径行进所需的时间与信号沿所述第二布线路径行进所需的时间大致相同;以及
修改所述第一布线路径和所述第二布线路径中的至少一个,
其中,所述修改过程包括:
在所述第一布线路径和所述第二布线路径穿越的每个布线级别内,使所述第一布线路径和所述第二布线路径穿越大致相同的长度和定向的线路片段;以及
在所述第一布线路径和所述第二布线路径穿越的每个布线级别内,使所述第一布线路径和所述第二布线路径以相同的次序穿越所述线路片段。
15、如权利要求14所述的方法,其中,所述修改过程还包括:使所述第一布线路径和所述第二布线路径穿越水平布线片段的相同长度、以及垂直布线片段的相同长度。
16、如权利要求15所述的方法,其中,所述修改过程还包括:使所述第一布线路径和所述第二布线路径以相同的次序穿越所述水平布线片段以及所述垂直布线片段。
17、如权利要求14所述的方法,其中,所述修改过程还包括:将所述第一布线路径的水平片段长度的延迟灵敏度符号差与所述第二布线路径的水平片段长度的延迟灵敏度符号差相匹配,并且,
将所述第一布线路径的垂直片段长度的延迟灵敏度符号差与所述第二布线路径的垂直片段长度的延迟灵敏度符号差相匹配。
18、如权利要求14所述的方法,其中,所述修改过程还包括:选择组成所述第一布线路径和所述第二布线路径的垂直和水平线路片段的次序,以避免阻碍,并使沿所述第一布线路径和所述第二布线路径的平均拥塞度最小。
19、如权利要求14所述的方法,其中,所述修改过程还包括:将所述第一布线路径和所述第二布线路径中的一个加长,以匹配另一个布线路径的近似长度。
20、如权利要求14所述的方法,其中,所述修改过程还包括:
将所述第一布线路径的开头和所述第一布线路径的末端之间的直线距离与所述第二布线路径的开头和所述第二布线路径的末端之间的直线距离相比较;
使用水平和垂直部分,为所述第一布线路径和所述第二布线路径中具有所述最长的直线距离的一个创建一个布线路径;以及
为所述第一布线路径和所述第二布线路径中的另一个创建另一个布线路径,以匹配所述一个布线路径的所述水平和垂直部分。
21、一种在集成电路中平衡延迟的服务,所述服务包括:
提供要加入到布线设计中的节点,其中,所述布线设计的要求规定,信号沿第一布线路径行进所需的时间与信号沿第二布线路径行进所需的时间大致相同,并且其中,所述第一布线路径和所述第二布线路径穿越所述集成电路的多个级别;以及
将所述第一布线路径和所述第二布线路径设计为,在所述集成电路的每个布线级别内穿越大致相同长度的线路片段。
22、一种可由机器读取的程序存储设备,其有形地实现可由机器执行的指令的程序,以执行如权利要求1-20中的任一个所述的在集成电路中平衡延迟的方法。
CNB2006100753410A 2005-04-27 2006-04-10 在存在工艺变化时生成具有匹配延迟的布线路由的方法 Expired - Fee Related CN100440229C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/908,102 2005-04-27
US10/908,102 US7418689B2 (en) 2005-04-27 2005-04-27 Method of generating wiring routes with matching delay in the presence of process variation

Publications (2)

Publication Number Publication Date
CN1855107A true CN1855107A (zh) 2006-11-01
CN100440229C CN100440229C (zh) 2008-12-03

Family

ID=37195277

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100753410A Expired - Fee Related CN100440229C (zh) 2005-04-27 2006-04-10 在存在工艺变化时生成具有匹配延迟的布线路由的方法

Country Status (3)

Country Link
US (3) US7418689B2 (zh)
CN (1) CN100440229C (zh)
TW (1) TW200735269A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587508B (zh) * 2008-05-19 2013-01-02 Arm有限公司 用于确定数据路径的路由的方法、系统及计算机程序产品

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412680B1 (en) * 2005-09-15 2008-08-12 Altera Corporation Method and apparatus for performing integrated global routing and buffer insertion
JP2007164427A (ja) * 2005-12-13 2007-06-28 Matsushita Electric Ind Co Ltd 多電源集積回路のレイアウト設計方法
US20070174803A1 (en) * 2006-01-20 2007-07-26 Lizotech, Inc. Method for concurrent search and select of routing patterns for a routing system
US7509609B2 (en) * 2006-03-15 2009-03-24 Agere Systems Inc. Methods and apparatus for reducing timing skew
US7844931B2 (en) * 2007-03-01 2010-11-30 International Business Machines Corporation Method and computer system for optimizing the signal time behavior of an electronic circuit design
US9310831B2 (en) 2008-02-06 2016-04-12 Mentor Graphics Corporation Multi-mode multi-corner clocktree synthesis
US20090217225A1 (en) * 2008-02-22 2009-08-27 Mentor Graphics, Corp. Multi-mode multi-corner clocktree synthesis
US20090199143A1 (en) * 2008-02-06 2009-08-06 Mentor Graphics, Corp. Clock tree synthesis graphical user interface
US8191024B2 (en) * 2009-03-16 2012-05-29 Qualcomm Incorporated Customizable H-tree synthesis tool
JP2011086267A (ja) * 2009-10-19 2011-04-28 Fujitsu Ltd 設計支援プログラム、設計支援装置、および設計支援方法
US8448110B2 (en) * 2009-11-24 2013-05-21 International Business Machines Corporation Method to reduce delay variation by sensitivity cancellation
TWI425890B (zh) * 2011-07-14 2014-02-01 私立中原大學 Differential sprite - like delay line structure
US20130326451A1 (en) * 2012-06-01 2013-12-05 International Business Machines Corporation Structured Latch and Local-Clock-Buffer Planning
KR20140031688A (ko) * 2012-09-05 2014-03-13 삼성전자주식회사 스토리지 시스템을 위한 마모 관리 장치 및 방법
US9372952B1 (en) * 2014-03-07 2016-06-21 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for enhancing metrics of electronic designs using design rule driven physical design implementation techniques
US20150370955A1 (en) * 2014-06-18 2015-12-24 Arm Limited Method for adjusting a timing derate for static timing analysis
CN106682314A (zh) * 2016-12-29 2017-05-17 北京华大九天软件有限公司 一种通过指定图层进行布线端口匹配的布线方法
US10769345B1 (en) * 2018-12-20 2020-09-08 Cadence Design Systems, Inc. Clock tree optimization by moving instances toward core route
US10936773B1 (en) * 2019-08-26 2021-03-02 International Business Machines Corporation Sink-based wire tagging in multi-sink integrated circuit net
US11836000B1 (en) * 2022-09-29 2023-12-05 Synopsys, Inc. Automatic global clock tree synthesis

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109168A (en) * 1991-02-27 1992-04-28 Sun Microsystems, Inc. Method and apparatus for the design and optimization of a balanced tree for clock distribution in computer integrated circuits
US5550748A (en) * 1994-03-22 1996-08-27 Cadence Design Systems, Inc. Region search for delay routing and signal net matching
KR100352009B1 (ko) * 1995-04-28 2002-12-12 마츠시타 덴끼 산교 가부시키가이샤 논리집적회로의 신호전파 지연시간 평가방법
US6301693B1 (en) * 1998-12-16 2001-10-09 Synopsys, Inc. Non-linear optimization system and method for wire length and delay optimization for an automatic electric circuit placer
US6311313B1 (en) * 1998-12-29 2001-10-30 International Business Machines Corporation X-Y grid tree clock distribution network with tunable tree and grid networks
US6466008B1 (en) * 2000-10-06 2002-10-15 Hewlett-Packard Company Method for matching the lengths of signal traces
US7003754B2 (en) * 2000-12-07 2006-02-21 Cadence Design Systems, Inc. Routing method and apparatus that use of diagonal routes
JP3564539B2 (ja) * 2001-07-31 2004-09-15 独立行政法人産業技術総合研究所 超伝導論理集積回路のパタンレイアウト方法
JP4108418B2 (ja) * 2002-09-10 2008-06-25 松下電器産業株式会社 半導体集積回路の設計方法
CN1279480C (zh) * 2002-12-17 2006-10-11 清华大学 考虑耦合效应进行时延优化的标准单元总体布线方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587508B (zh) * 2008-05-19 2013-01-02 Arm有限公司 用于确定数据路径的路由的方法、系统及计算机程序产品

Also Published As

Publication number Publication date
CN100440229C (zh) 2008-12-03
US20060248488A1 (en) 2006-11-02
US7823115B2 (en) 2010-10-26
US7865861B2 (en) 2011-01-04
US7418689B2 (en) 2008-08-26
US20080201683A1 (en) 2008-08-21
TW200735269A (en) 2007-09-16
US20080195993A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
CN100440229C (zh) 在存在工艺变化时生成具有匹配延迟的布线路由的方法
Cong et al. Multilevel approach to full-chip gridless routing
US7051310B2 (en) Two-stage clock tree synthesis with buffer distribution balancing
Lin et al. A novel framework for multilevel routing considering routability and performance
US8095904B2 (en) Methods and apparatus for providing flexible timing-driven routing trees
US20150213188A1 (en) Concurrent timing-driven topology construction and buffering for vlsi routing
US7197732B2 (en) Layout-driven, area-constrained design optimization
CN111310409B (zh) 一种优化时分复用技术的多阶段fpga布线方法
Xu et al. MGR: Multi-level global router
US7612599B2 (en) Semiconductor device
US6766504B1 (en) Interconnect routing using logic levels
CN1416082A (zh) 考虑耦合效应进行时延优化的标准单元总体布线方法
US20090235210A1 (en) Orientation optimization method of 2-pin logic cell
US7146590B1 (en) Congestion estimation for programmable logic devices
Nikolić et al. Turning PathFinder upside-down: Exploring FPGA switch-blocks by negotiating switch presence
Ozdal et al. Exact route matching algorithms for analog and mixed signal integrated circuits
Hu et al. A polynomial time approximation scheme for timing constrained minimum cost layer assignment
Wong et al. Fast buffer planning and congestion optimization in interconnect-driven floorplanning
Hu et al. A fully polynomial-time approximation scheme for timing-constrained minimum cost layer assignment
US6845346B1 (en) Iterative method of parasitics estimation for integrated circuit designs
Farhangi et al. Pattern-driven clock tree routing with via minimization
Lin et al. Postrouting optimization of the working clock frequency of single-flux-quantum circuits
US9665681B2 (en) Methods and apparatus for repeater count reduction via concurrent gate sizing and repeater insertion
Ho mSMART: A Signal-integrity-, MAnufacturing-, Reliability-, and Timing-Driven Multilevel Full-Chip Routing
CN117494649A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171128

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171128

Address after: American New York

Patentee after: Core USA second LLC

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081203

Termination date: 20190410