CN101533420A - 时钟树状结构中路径时间延迟量的平衡方法 - Google Patents
时钟树状结构中路径时间延迟量的平衡方法 Download PDFInfo
- Publication number
- CN101533420A CN101533420A CN200810086129A CN200810086129A CN101533420A CN 101533420 A CN101533420 A CN 101533420A CN 200810086129 A CN200810086129 A CN 200810086129A CN 200810086129 A CN200810086129 A CN 200810086129A CN 101533420 A CN101533420 A CN 101533420A
- Authority
- CN
- China
- Prior art keywords
- delay value
- phase inverter
- path
- time delay
- path time
- 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.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明揭露一种集成电路设计的时钟树状结构中路径时间延迟量的平衡方法,主要包括下列步骤:(a)计算从根部元件至每一终点元件之间一部份的反相器的路径时间延迟值,将其中最大者定义为目标路径延迟值。(b)将每个终点元件的路径时间延迟值与邻近的终点元件的路径时间延迟值进行比较,并且将比较所得较高的路径时间延迟值分别记录于反相器以及根部元件。(c)将每个反相器的路径时间延迟值与目标路径延迟值进行比较。(d)将差值加入原始的反相器元件类型的路径时间延迟值。(e)将差值加入至该反相器下游的反相器中所记录的路径时间延迟值,以使时钟树状结构的时钟偏移量最小化。
Description
技术领域
本发明关于一种集成电路的设计方法,特别是关于一种集成电路设计中时钟树状结构(clock tree)的路径时间延迟量的平衡方法,以有效地使时钟树状结构的时钟偏移量(clock skew)最小化。
背景技术
时钟信号是一种数字***中相当重要的控制信号,主要是使时钟树状结构的信号路径(path)的数据信号同步(synchronize)。为了使数字***达到更佳的执行效率,必须平衡时钟信号,以将时钟信号到达每一目的(destination)元件(或称为终点元件)的时间最小化,以使每个时钟信号到达每一目的元件的时间几乎相同,以符合集成电路的时钟设计规范的要求,其中此种时钟信号到达每一目的元件的时间的不同称为时钟偏移量,目的元件例如是寄存器(register)或是触发器(flip-flop)。
然而,在执行时钟树状结构合成(clock tree synthesis,CTS)的程序中,不容易达到时钟设计规范的要求,特别是在高速度(或是称为高频)的数字***中更不容易达到该设计规范。即使在时钟树状结构合成(CTS)设计工具执行时钟树状结构合成步骤之后,时钟偏移量符合设计规范,执行的结果会变差,例如时钟偏移量于实体合成设计工具进行详细绕线(detailed routing)步骤后也会变差,详细绕线步骤主要是针对时钟树状结构的元件连接线(net)以及其它的信号连接线路。由于绕线布局图案(pattern)以及其间的耦合电容值之间的差异性,在时钟树状结构的每一频率路径的路径时间延迟量(path delay)变得更加无法正确预测(unpredictable),而且时钟偏移量也不易最小化或是修正。因此需要发展一种新的设计方法来解决上述的问题。
发明内容
本发明的目的之一在于提供一种集成电路设计的时钟树状结构中路径时间延迟量的平衡方法,主要是通过调整在时钟树状结构中元件的类型(type),以有效地使时钟树状结构的时钟偏移量最小化。
本发明的另一目的在于提供一种集成电路设计的时钟树状结构中路径时间延迟量的平衡方法,以使元件的设置以及详细绕线的结果在执行时钟树状结构合成的程序之后仍然维持不变。
为达上述目的,本发明提出一种集成电路设计的时钟树状结构中路径时间延迟量的平衡方法,主要包括下列步骤:
(a)利用CTS工具建立时钟树状结构。
(b)利用一设计工具计算从根部元件至每一终点元件之间一部份的反相器的路径时间延迟值,其中将记录在终点元件的路径时间延迟值中最大者定义为目标路径延迟值。
(c)从每个终点元件至根部元件的路径中,设计工具将记录于每个终点元件的路径时间延迟值与邻近的终点元件的路径时间延迟值进行比较,并且将比较所得较高的路径时间延迟值记录于上游的元件,直至所有较高的路径时间延迟值分别记录于反相器以及根部元件为止。
(d)从根部元件至每个终点元件的路径中,设计工具将每个反相器的路径时间延迟值与目标路径延迟值进行比较,用于决定是否通过选择元件类型数据库中的一新元件类型,以更改至新的反相器的元件类型,以取代原始的反相器的元件类型。当比较每个反相器的路径时间延迟值与目标路径延迟值时,为了简化时序分析的复杂度,当改变上游的反相器的元件类型后,本发明将该上游的反相器以下的树状结构中每个反相器以及每个终点元件本身的元件时间延迟量设定为维持不变的值。
(e)比较每个反相器的路径时间延迟值与目标路径延迟值时,若记录在反相器的路径时间延迟值小于目标路径延迟值,将反相器的元件类型由目前的元件类型改变至新的元件类型。
(f)设计工具重新计算具有新元件类型的反相器的元件时间延迟量。
(g)设计工具将差值加入至原始的反相器元件类型的路径时间延迟值,以更新原始的元件类型的路径时间延迟值,其中差值定义为反相器的新元件时间延迟值与原始元件时间延迟值之间的差值。当更新后的路径时间延迟值等于或是趋近于该目标路径延迟值,则表示反相器的元件类型的改变为可接受。相对地,当更新后的路径时间延迟值大于该目标路径延迟值,则忽略改变后的元件类型而仍然使用原来的元件类型。当一反相器的元件类型改变之后,设计工具将差值加入至树状分支中该反相器下游的反相器所记录的路径时间延迟值。
(h)设计工具将差值加入至该反相器下游的反相器中所记录的路径时间延迟值,以重复地更新记录于下游反相器以及终点元件所记录的路径时间延迟值,以使时钟树状结构的时钟偏移量最小化。
(i)当比较每个反相器的路径时间延迟值与目标路径延迟值时,若记录在反相器的路径时间延迟值大于目标路径延迟值,则设计工具使用原始的元件类型,并且返回至步骤(d),将下一个反相器与目标路径延迟值进行比较。
在本发明的实施例中,设计工具允许记录在每个反相器以及终点元件的路径延迟值彼此之间互相趋于相同,较佳实施例中,工具调整调整记录于反相器中较低的路径延迟值,以趋近于目标路径延迟值。在一实施例中,设计工具通过改变反相的元件时间延迟值来调整路径延迟值。举例而言,在执行时钟树状结构合成(CTS)的期间,设计工具先选用具有零输出负载的元件类型。接着在执行时钟树状结构合成(CTS)以及绕线(routing)程序之后,本发明通过增加输出负载来调整元件时间延迟值,使得记录于反相器的路径延迟值等于或是趋近于该目标路径延迟值。即使元件类型改变之后,元件的设置以及详细绕线的结果在执行时钟树状结构合成(CTS)的程序之后仍然维持不变。
利用时钟树状结构合成(CTS)工具将额外的元件(例如反相器或是缓冲器(buffer))在执行时钟树状结构合成(CTS)程序时***至根部元件(root cell)以及若干终点元件(sinks)之间,以调整树状分支(branches)之间记录于元件的路径时间延迟值,以确保时钟树状结构可同步地将时钟信号由根部元件传送至每个终点元件,也即将时钟偏移量(clock skew)最小化。
在CTS工具完成CTS程序以产生时钟树状结构之后,设计工具将对信号联机执行绕线程序。然后设计工具再次计算时钟树状结构的时钟偏移量,由于时钟树状结构中的每个树状分支之间彼此的路径时间延迟量会变大以及变小,因此,计算所得的时钟偏移量将会比CTS程序期间的时钟偏移量来得大,使得时钟偏移量变差。本发明的特点在执行CTS程序以及绕线程序之后,通过改变元件的类型来调整(例如微调)时钟偏移量,并且通过元件类型数据库(typedatabase)中不同的元件类型但具有相同的面积且极类似的元件布局,以维持元件的设置以及详细绕线的结果不变。也即改变或是调整元件类型来平衡(balancing)时钟树状结构的路径时间延迟量,以改善时钟偏移量,以符合时钟偏移的规格要求,避免重新进行元件的设置以及详细绕线的步骤。
为让本发明的上述内容能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下:
附图说明
图1为依据本发明实施例中使用时钟树状结构合成(CTS)的设计工具建构而成的时钟树状结构的示意图。
图2为依据本发明实施例中时钟树状结构的示意图,是利用设计工具比较一路径延迟值与邻近同一级的另一路径延迟值,并且依序地将该每两个路径延迟值中一个较大的路径延迟值记录在不同级的反相器内。
图3A-3C为依据本发明实施例中时钟树状结构的示意图,是利用设计工具比较每一个记录在反相器之内的路径延迟值与一目标路径延迟值。
图4为依据本发明实施例中时钟树状结构的路径时间延迟量的平衡方法流程图,该时钟树状结构用于集成电路设计。
具体实施方式
本发明提供一种集成电路设计中时钟树状结构(clock tree)的路径时间延迟量的平衡方法,主要是通过调整在时钟树状结构中元件的类型(type),以有效地使时钟树状结构的时钟偏移量(clock skew)最小化。此外,本发明提供一种集成电路设计中时钟树状结构的路径时间延迟量的平衡方法,以使元件的设置(placement)以及详细绕线的结果在执行时钟树状结构合成(CTS)的程序之后仍然维持不变。
在执行时钟树状结构合成(CTS)的程序时,设置于根部元件(root cell)以及若干终点元件(sinks)之间的每个元件(cell)例如反相器(inverter)具有相同的面积、输入电容值(input capacitance)以及输出负载(output loading)。然后当一集成电路设计工具(design tool)利用本发明来执行路径时间延迟量的平衡方法时,在根部元件以及若干终点元件之间的每个元件具有相同的面积以及具有不同的输出负载。执行本发明的平衡方法时,设计工具从元件类型数据库(type database)中选择新的元件类型,并且以选择到的元件类型来取代原始的元件类型,以利用新的元件类型来更新时钟树状结构中反相器的元件时间延迟量(cell delay),所属技术领域中具有通常知识者应注意的是,各种不同的元件类型具有其不同的输出负载,而且元件类型与元件的时间延迟量(cell delay)相关联。
图1为依据本发明实施例中以时钟树状结构合成(CTS)的设计工具建构而成的时钟树状结构的示意图。利用时钟树状结构合成(CTS)设计工具建构一时钟树状结构,该时钟树状结构主要包括根部元件、若干个时钟反相器、若干个终点元件以及在该根部元件、时钟反相器与该终点元件之间的若干信号连接线路。根部元件标示为R0,若干个频率反相器分别标示为C11、C12、C21、C22、C23、C24、C31、C32、C33、C34、C41、C42、C43、C44、C51、C52、C53、C54、C55、C56、C57以及C58,若干个终点元件分别标示为S1~S16。根部元件接收一时钟信号并且将该时钟信号经由该反相器(C11~C58)传送至下游的终点元件(S1~S16),根部元件R0设置于L0级(level)。反相器C11以及反相器C12设置于L1级,反相器C21、C22、C23、C24设置于L2级,反相器C31、C32、C33、C34设置于L3级,反相器C41、C42、C43、C44设置于L4级,反相器C51、C52、C53、C54、C55、C56、C57以及C58设置于L5级,若干终点元件(S1~S16)设置于L6级。
利用时钟树状结构合成(CTS)设计工具分别计算从根部元件R0至每个终点元件(S1~S16)的路径时间延迟量(path delay)。较佳实施例中,利用静态时序分析(static timing analysis,STA)工具产生的SDF档案内容分别来计算根部元件R0至每个终点元件(S1~S16)的路径时间延迟量,并且将每一路径时间延迟量分别记录于每个终点元件(S1~S16)。在时钟树状结构中,分别相对应于每个终点元件(S1~S16)的每一路径时间延迟量代表从根部元件R0经过一部分的反相器(C11~C58)而到达每个终点元件(S1~S16)的时间延迟值(delay value)。举例来说,终点元件(S1~S16)的时间延迟值分别记录为终点元件S1(60)、S2(50)、S3(40)、S4(50)、S5(60)、S6(70)、S7(60)、S8(40)、S9(40)、S10(50)、S11(40)、S12(60)、S13(70)、S14(80)、S15(80)以及S16(90),较佳实施例中,每个终点元件标示的括号内的路径时间延迟值为时间量测单位(time unit),时钟偏移量(clock skew)定义为最大的路径时间延迟值与最小的路径时间延迟值两者之间的差值,在此实施例中,时钟偏移量为50,也即终点元件S16(90)与终点元件S3(40)、S8(40)、S9(40)、S11(40)其中之一的差值。在一实施例中,本发明的平衡方法也可指定终点元件S16(90)的最大路径时间延迟值为目标路径延迟值(target value)。
参考图1以及图2,图2为依据本发明实施例中时钟树状结构的示意图,是利用设计工具比较一路径延迟值与邻近同一级的另一路径延迟值,并且依序地将该每两个路径延迟值其中一个较大的路径延迟值记录在不同级的反相器之内。从最底层的L6级返回至前一L5级,设计工具比较一终点元件的路径时间延迟值与邻近另一终点元件的路径时间延迟值之间的大小,并且将较大的路径时间延迟值记录于L5级的终点元件中。接着,设计工具比较L5级中一反相器所记录的时间延迟值与邻近另一反相器的路径时间延迟值之间的大小,直至L5级至L1级中经过比较而得到的较大路径时间延迟值依序地记录于该L5级至L1级中的反相器为止,如图2所示的箭头方向200依序地记录较大的路径时间延迟值。最后设计工具选择L1级中反相器所记录的较大路径时间延迟值并且将该较大的路径时间延迟值记录于L0级的根部元件R0。
从L5级至L1级,反相器C11、C12、C21、C22、C23、C24、C31、C32、C33、C34、C41、C42、C43、C44、C51、C52、C53、C54、C55、C56、C57以及C58记录的路径时间延迟值分别标示为V11、V12、V21、V22、V23、V24、V31、V32、V33、V34、V41、V42、V43、V44、V51、V52、V53、V54、V55、V56、V57以及V58,而记录L0级的根部元件R0的路径时间延迟值标示为V0。记录在反相器C11~C58以及根部元件R0的路径时间延迟值(V11~V58以及V0)分别表示经过反相器C11~C58以及根部元件R0的路径之间具有较大的路径时间延迟,也即从根部元件R0至终点元件S1的一路径与从根部元件R0至终点元件S2的另一路径均通过L5级的反相器C51,然后选取这两个路径之间较大的路径时间延迟值并且将该较大的路径时间延迟值记录于反相器C51中,是选取的较大路径时间延迟值为L6级中终点元件S1、S2的较大者。同样地,从根部元件R0经过反相器C51到达终点元件S1、S2的一路径以及从根部元件R0经过反相器C52到达终点元件S3、S4的另一路径均通过L4级的反相器C41,然后选取这两个路径之间较大的路径时间延迟值,并且将该较大的路径时间延迟值记录于反相器C41中,是选取的较大路径时间延迟值为L5级中反相器C51、C52的较大者,其余的路径依此类推。从根部元件R0经过反相器C11、C21、C22、C31、C32、C41、C42、C51、C52、C53以及C54到达终点元件S1~S8的一路径以及从根部元件R0经过反相器C12、C23、C24、C33、C34、C43、C44、C55、C56、C57以及C58到达终点元件S1~S8的另一路径均通过L0级的根部元件R0,然后选取这两个路径之间较大的路径时间延迟值,并且将该较大的路径时间延迟值记录于根部元件R0中,选取的较大路径时间延迟值为L1级中反相器C11、C12的较大者。
举例而言,设计工具比较终点元件S1(60)与终点元件S2(50)并且指定较大的S1(60)给反相器C51,因此该路径时间延迟值(60)为经过反相器C51的路径中具有较大的路径时间延迟值,并且将路径时间延迟值(60)记录于反相器C51。同样地,设计工具比较终点元件S3~S16以选取较大的路径时间延迟值,并且将这些较大的路径时间延迟值分别记录于L5级的反相器C52~C58中,其余的路径依此类推,直至设计工具比较L1级的反相器C11(70)与反相器C12(90),以产生较大的路径时间延迟值(90)并且记录于L0级的根部元件R0。因此在时钟树状结构中,记录于L0级的根部元件R0的路径时间延迟值90(V0)为经过根部元件R0的路径中具有较大的路径时间延迟值。
一般而言,路径时间延迟量包括元件时间延迟量(cell delay)以及连接线路时间延迟量(net delay),其中元件时间延迟量与元件的类型(type)以及输出负载有关,而且当时钟树状结构的元件设置(placement)以及其尺寸大小没有改变时,连接线路时间延迟亦维持不变。
依据上述,设计工具比较一路径时间延迟值与另一邻近路径时间延迟值,并且依序地将较大的路径时间延迟值记录于不同级的反相器中,以显示反相器与路径时间延迟值之间的状态。
如图2所示,设计工具找出在这些终点元件中最大的路径时间延迟值,也即终点元件S16(90),并且将该最大路径时间延迟值(90)设定为目标路径延迟值(target value)。如图3A-3C所示的箭头方向300,从L1级至L5级,然后设计工具比较已记录在每一级(L1~L5)的反相器C11~C58的路径时间延迟值与该目标路径延迟值,如图3A-3C所示。
图3A为依据本发明实施例中时钟树状结构的示意图,是利用设计工具比较每一个记录在L1级的反相器内的路径延迟值与一目标路径延迟值。当记录在反相器内的路径延迟值小于该目标路径延迟值,设计工具通过选择元件类型数据库302中的一新元件类型来取代原始的反相器的元件类型。然后设计工具重新计算具有该新元件类型的反相器的元件时间延迟量(cell delay),并且将新元件类型的元件时间延迟量与原始的反相器元件类型的元件时间延迟量两者的差值DDiff加入至原始的反相器元件类型的元件时间延迟量,以更新原始的元件类型的元件时间延迟量。当记录于反相器内的更新后元件时间延迟量等于或是接近于该目标路径延迟值,则该新元件类型为可供使用状态。相反地,当记录于反相器内的更新后元件时间延迟量超出该目标路径延迟值,则忽略该新元件类型并且沿用原始的元件类型。当更新原始的元件类型为新元件类型之后,设计工具将差值DDiff加入至下游的反相器的路径延迟值中。在本发明的实施例中,改变上游的反相器的元件类型将对下游的延迟值造成影响,例如路径延迟值。应注意的是,为了简化时序分析的复杂度,当改变上游的反相器的元件类型后,依据时钟信号的传输方向,在该上游的反相器以下的树状结构中每个反相器以及每个终点元件本身的元件时间延迟量(cell delay)设定为维持不变的值。
举例来说,如图2以及图3A所示,记录于反相器C11的路径延迟值为70,如图2所示,且目标路径延迟值为90,因为反相器C11的路径延迟值70小于目标路径延迟值为90,设计工具从元件类型数据库(type database)302中选择新的元件类型,以改变反相器C11的元件类型。然后设计工具重新计算该新元件类型的反相器C11的元件时间延迟量,并且将新元件类型的元件时间延迟量与原始的反相器元件类型的元件时间延迟量两者的差值20加入至原始的反相器元件类型的元件时间延迟量70,以更新反相器C11的原始元件类型的时间延迟量为90。当改变上游的反相器C11的元件类型时,差值将对下游的反相器C21、C22、C31、C32、C41、C42、C51、C52、C53、C54以及终点元件S1~S8所记录的路径延迟值造成影响。而当改变上游的反相器下游的反相器C11的元件类型之后,在该上游的反相器C11以下的树状结构中每个反相器C21、C22、C31、C32、C41、C42、C51、C52、C53与C54,以及每个终点元件S1~S8本身的元件时间延迟量维持不变。接着将新的元件类型指定给反相器C11,且其更新后的时间延迟量为90,等于目标路径延迟值为90。由于反相器C11的元件类型已经改变,故设计工具需要将差值20加入至反相器C11下游的元件,也即每个反相器C21、C22、C31、C32、C41、C42、C51、C52、C53与C54,以及每个终点元件S1~S8所记录的路径延迟值,以分别更新下游的反相器以及终点元件C11的路径时间延迟量。
图3B为依据本发明实施例中时钟树状结构的示意图,是利用设计工具比较每一个记录在L2级的反相器内的路径延迟值与一目标路径延迟值。图3B类似于图3A,设计工具得知记录于L2级的反相器C21(80)以及反相器C23(60)的时间延迟量,如图3A所示,并且找出目标路径延迟值90。因为反相器C21(80)的路径延迟值80小于目标路径延迟值为90,设计工具从元件类型数据库(typedatabase)302中选择新的元件类型,以改变反相器C21的元件类型。此外,反相器C23(60)的路径延迟值60小于目标路径延迟值为90,设计工具从元件类型数据库(type database)302中选择新的元件类型,以改变反相器C23的元件类型。然后,设计工具分别取代记录在反相器C31、C33、C41、C43、C51、C52、C55、C56、S1~S4以及S9~S129的值,以更新记录于下游的每个反相器以及终点元件的路径延迟值。
图3C为依据本发明实施例中时钟树状结构的示意图,是利用设计工具比较每一个记录在L5级的反相器内的路径延迟值与一目标路径延迟值。图3C类似于图3B,设计工具得知记录于L5级的反相器C52(90)、C54(90)、C55(90)以及C57(90)的时间延迟量,且目标路径延迟值为90。如图3B所示,因为反相器C52(80)、C54(80)、C55(80)以及C57(80)的路径延迟值80小于目标路径延迟值为90,设计工具从元件类型数据库(type database)302中选择新的元件类型,以改变反相器C52、C54、C55以及C57的元件类型。然后,设计工具分别取代记录在终点元件S3、S4、S7~S10、S13以及S14的值,以更新记录于下游的终点元件的路径延迟值。
在本发明的实施例中,设计工具允许记录在每个反相器以及终点元件的路径延迟值彼此之间互相趋于相同。较佳实施例中,设计工具调整记录于反相器中较低的路径延迟值,以趋近于目标路径延迟值。在一实施例中,设计工具通过改变反相的元件时间延迟值来调整路径延迟值。举例而言,在执行时钟树状结构合成(CTS)的期间,设计工具先选用具有零输出负载的元件类型。接着在执行时钟树状结构合成(CTS)以及绕线程序之后,本发明通过增加输出负载来调整元件时间延迟值,使得记录于反相器的路径延迟值等于或是趋近于该目标路径延迟值。即使元件类型改变之后,元件的设置以及详细绕线的结果在执行时钟树状结构合成(CTS)的程序之后仍然维持不变。
具体来说,在执行时钟树状结构合成(CTS)以及详细绕线的程序时,设计工具选择一种或多种不同且具有特定的输出负载的反相器,例如零(zero)输出负载的反相器元件。然后在执行本发明的路径时间延迟量的平衡方法时,设计工具从元件类型数据库(type database)中选择新的元件类型,该新的元件类型具有相同的面积且具有不同的输出负载。在一实施例中,元件类型数据库(typedatabase)中主要将单一元件再加以衍生扩充出其它类型的元件,而该单一元件与衍生的不同类型元件之间的差异在于输出负载的不同。例如选定一个特定类型的反相器(如输出负载为零),再以此特定类型的反相器为基础,扩充产生多种具有不同输出负载但具有相同面积的反相器且极类似的元件布局。
由于不同类型元件具有不同的输出负载,故可利用对应于该单一元件的时间延迟表来产生出其它类型的元件的时间延迟表,例如输出负载越大,时间延迟量越大。此外,由于原始的元件与更换后的不同类型元件两者具有相同的面积且极类似的元件布局,故可直接以新的类型元件更换原始的元件,而不需更动到原始的元件附近的元件的设置位置,而且不同类型元件之间的差异仅在于输出负载的不同。因此,本发明在执行CTS程序以及绕线程序之后,维持其元件的设置以及详细绕线的结果不变而不需要更动绕线。
当设计工具改变L1级置L5级中一部分的反相器的元件类型之后,设计工具依据元件类型的改变结果来更新verilog档案以及设计交换格式(designexchange format,DEF)档案。然后利用上述档案来执行静态时序分析(STA),以改善时钟偏移量。
根据上述,利用时钟树状结构合成(CTS)工具将额外的元件(例如反相器或是缓冲器(buffer))在执行时钟树状结构合成(CTS)程序时***至根部元件(rootcell)以及若干终点元件(sinks)之间,以调整树状分支(branches)之间记录于元件的路径时间延迟值,以确保时钟树状结构可同步地将时钟信号由根部元件传送至每个终点元件,也即将时钟偏移量最小化。一般而言,在CTS工具完成CTS程序以产生时钟树状结构之后,设计工具将对信号联机执行绕线程序。然后设计工具再次计算时钟树状结构的时钟偏移量,由于时钟树状结构中的每个树状分支之间彼此的路径时间延迟量会变大以及变小,因此,计算所得的时钟偏移量将会比CTS程序期间的时钟偏移量来得大,使得时钟偏移量变差。
本发明的特点在执行CTS程序以及绕线程序之后,通过改变元件的类型来调整(例如微幅调整)时钟偏移量,并且通过元件类型数据库(type database)中不同的元件类型之间具有相同的面积且极类似的元件布局,以维持元件的设置以及详细绕线的结果不变。也即改变或是调整元件类型来平衡(balancing)时钟树状结构的路径时间延迟量,以改善时钟偏移量,从而符合时钟偏移的规格要求,避免重新进行元件的设置以及详细绕线的步骤。
参考图2、图3A-3C以及图4,图4为依据本发明实施例中时钟树状结构的路径时间延迟量的平衡方法流程图,该时钟树状结构用于集成电路设计。本发明的路径时间延迟量的平衡方法,适用于集成电路设计的时钟树状结构中,包括下列步骤:
在步骤S400中,利用CTS工具建立时钟树状结构。
在步骤S402中,利用一设计工具计算从根部元件(R0)至每一终点元件(S1~S16)之间一部份的反相器的路径时间延迟值,其中将记录在终点元件的路径时间延迟值中的最大者定义为目标路径延迟值。
在步骤S404中,从每个终点元件(S1~S16)至根部元件R0的路径中,设计工具将记录于每个终点元件(S1~S16)的路径时间延迟值与邻近的终点元件的路径时间延迟值进行比较,并且将比较所得较高的路径时间延迟值记录于上游的元件,直至所有较高的路径时间延迟值分别记录于反相器(C11~C58)以及根部元件R0为止。
在步骤S406中,从根部元件R0至每个终点元件(S1~S16)的路径中,设计工具将每个反相器的路径时间延迟值与目标路径延迟值进行比较,用于决定是否通过选择元件类型数据库302中的一新元件类型,以更改至新的反相器的元件类型,以取代原始的反相器的元件类型。在步骤S406中,比较每个反相器的路径时间延迟值与目标路径延迟值时,当改变上游的反相器的元件类型之后,在该上游的反相器以下的树状结构中每个反相器以及每个终点元件本身的元件时间延迟量设定为维持不变的值。
在步骤S408中,当比较每个反相器的路径时间延迟值与目标路径延迟值时,若记录在反相器的路径时间延迟值小于目标路径延迟值,将反相器的元件类型由目前的元件类型改变至新的元件类型。
在步骤S410中,设计工具重新计算具有新元件类型的反相器的元件时间延迟量。
在步骤S412中,设计工具将差值DDiff加入至原始的反相器元件类型的路径时间延迟值,以更新原始的元件类型的路径时间延迟值,其中差值DDiff定义为反相器的新元件时间延迟值与原始元件时间延迟值之间的差值。当更新后的路径时间延迟值等于或是趋近于该目标路径延迟值,则表示反相器的元件类型的改变为可接受。相对地,当更新后的路径时间延迟值大于该目标路径延迟值,则忽略改变后的元件类型而仍然使用原来的元件类型。当一反相器的元件类型改变之后,设计工具将差值DDiff加入至树状分支中该反相器下游的反相器所记录的路径时间延迟值。
在步骤S414中,设计工具将差值DDiff加入至该反相器下游的反相器中所记录的路径时间延迟值,以重复地更新记录于下游反相器以及终点元件所记录的路径时间延迟值,以使时钟树状结构的时钟偏移量最小化。
在步骤S416中,当比较每个反相器的路径时间延迟值与目标路径延迟值时,若记录在反相器的路径时间延迟值大于目标路径延迟值,则设计工具使用原始的元件类型,并且返回至步骤S406,将下一个反相器所记录的路径时间延迟值与目标路径延迟值进行比较。
综上所述,虽然本发明已以较佳实施例揭露如上,但其并非用以限制本发明,任何熟习此项技术者,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围应当以后附的申请专利范围所界定的为准。
Claims (20)
1.一种时钟树状结构的路径时间延迟量的平衡方法,在执行时钟树状结构合成以及绕线程序之后,使该时钟树状结构的时钟偏移量最小化,该时钟树状结构包括一根部元件、若干个反相器、若干个终点元件以及该根部元件、所述反相器与所述终点元件之间的若干个信号连接线,其特征在于:该平衡方法包括下列步骤:
建立该时钟树状结构;
计算由该根部元件经过一部分的所述反相器到达每一所述终点元件的若干个路径时间延迟值,其中将记录在所述终点元件的所述路径时间延迟值中最大者定义为一目标路径延迟值;
从每一所述终点元件至该根部元件的路径中,比较每一所述终点元件的该路径时间延迟值与邻近的每一所述终点元件的该路径时间延迟值,并且将比较而产生的该较高路径时间延迟值记录于上游的每一所述反相器,直至所有的所述较高路径时间延迟值分别记录于相对应的每一所述反相器以及该根部元件;
比较每一所述反相器的该路径时间延迟值与该目标路径延迟值,以决定是否通过选择一元件类型数据库中的一新元件类型,以使一反相器的元件类型由原始的该元件类型改变至该新元件类型;以及
依据每一所述反相器的该路径时间延迟值与该目标路径延迟值的比较结果,以更新该反相器下游的所述反相器以及所述终点元件的路径时间延迟值,使得所述路径时间延迟值趋近于该目标路径延迟值,以使该时钟树状结构的时钟偏移量最小化。
2.根据权利要求1所述的平衡方法,其特征在于:当比较每一所述反相器的该路径时间延迟值与该目标路径延迟值时,是从该根部元件至每一所述终点元件的经过路径进行比较。
3.根据权利要求1所述的平衡方法,其特征在于:当比较每一所述反相器的该路径时间延迟值与该目标路径延迟值时,每一所述下游的反相器的元件时间延迟值以及每一所述终点元件的元件时间延迟值维持不变。
4.根据权利要求1所述的平衡方法,其特征在于:该元件类型数据库包括若干个元件类型,且每一所述元件类型分别相对应于不同的元件时间延迟值。
5.根据权利要求4所述的平衡方法,其特征在于:每一所述反相器的该元件类型对应于一输出负载,且该输出负载正比于该元件时间延迟值。
6.根据权利要求1所述的平衡方法,其特征在于:在比较每一所述反相器的该路径时间延迟值与该目标路径延迟值的步骤中,当记录每一所述反相器的路径时间延迟值小于该目标路径延迟值时,将该反相器的该元件类型由原始的该元件类型改变至该新元件类型。
7.根据权利要求6所述的平衡方法,其特征在于:在将该反相器的元件类型由原始的该元件类型改变至该新元件类型的步骤之后,还包含重新计算具有该新元件类型的该反相器的元件时间延迟值。
8.根据权利要求7所述的平衡方法,其特征在于:在重新计算具有该新元件类型的该反相器的元件时间延迟值的步骤之后,还包含将一差值加入至该反相器的路径时间延迟值,以更新该反相器的路径时间延迟值,其中该差值定义为该反相器的新元件时间延迟值与原始元件时间延迟值之间的差异值。
9.根据权利要求7所述的平衡方法,其特征在于:该平衡方法还包括重复地更新记录于下游反相器所记录的元件时间延迟值,以使更新后的路径时间延迟值等于或是趋近于该目标路径延迟值。
10.根据权利要求7所述的平衡方法,其特征在于:该平衡方法还包括更新记录于具有该新元件类型的该反相器的下游反相器的路径时间延迟值。
11.根据权利要求1所述的平衡方法,其特征在于:在比较每个反相器的路径时间延迟值与该目标路径延迟值的步骤中,若记录在该反相器的路径时间延迟值大于该目标路径延迟值,则该反相器使用原始的该元件类型。
12.一种时钟树状结构的路径时间延迟量的平衡方法,在执行时钟树状结构合成以及绕线程序之后,使该时钟树状结构的时钟偏移量最小化,该时钟树状结构包括一根部元件、若干个反相器、若干个终点元件以及该根部元件、所述反相器与所述终点元件之间的若干个信号连接线,其特征在于:该平衡方法包括下列步骤:
计算由该根部元件经过一部分的所述反相器到达每一所述终点元件的若干个路径时间延迟值,其特征在于:将记录在所述终点元件的所述路径时间延迟值中最大者定义为一目标路径延迟值;
比较每一所述终点元件的该路径时间延迟值与邻近的每一所述终点元件的该路径时间延迟值,并且将比较所得较高的路径时间延迟值记录于上游的每一所述反相器,直至所有的所述较高路径时间延迟值分别记录于相对应的每一所述反相器以及该根部元件;
从该根部元件至每一所述终点元件的路径中,比较每一所述反相器的该路径时间延迟值与该目标路径延迟值,以决定是否通过选择一元件类型数据库中的一新元件类型,以使一反相器的元件类型由原始的该元件类型改变至该新元件类型;以及
依据每一所述反相器的该路径时间延迟值与该目标路径延迟值的比较结果,以更新该反相器下游的所述反相器以及所述终点元件的路径时间延迟值,使得所述路径时间延迟值趋近于该目标路径延迟值,以使该时钟树状结构的时钟偏移量最小化。
13.根据权利要求12所述的平衡方法,其特征在于:当比较每一所述反相器的该路径时间延迟值与该目标路径延迟值时,每一所述下游的反相器的元件时间延迟值以及每一所述终点元件的元件时间延迟值维持不变。
14.根据权利要求12所述的平衡方法,其特征在于:该元件类型数据库包括若干个元件类型,且每一所述元件类型分别相对应于不同的元件时间延迟值。
15.根据权利要求12所述的平衡方法,其特征在于:在比较每一所述反相器的该路径时间延迟值与该目标路径延迟值的步骤中,若记录每一所述反相器的路径时间延迟值小于该目标路径延迟值,将该反相器的元件类型由原始的该元件类型改变至该新元件类型。
16.根据权利要求15所述的平衡方法,其特征在于:在将该反相器的元件类型由原始的该元件类型改变至该新元件类型的步骤之后,还包含重新计算具有该新元件类型的该反相器的元件时间延迟值。
17.根据权利要求16所述的平衡方法,其特征在于:在重新计算具有该新元件类型的该反相器的元件时间延迟值的步骤之后,还包含将一差值加入至该反相器的路径时间延迟值,以更新该反相器的路径时间延迟值,其中该差值定义为该反相器的新元件时间延迟值与原始元件时间延迟值之间的差异值。
18.根据权利要求16所述的平衡方法,其特征在于:该平衡方法还包括重复地更新记录于下游反相器所记录的元件时间延迟值,以使更新后的路径时间延迟值等于或是趋近于该目标路径延迟值。
19.根据权利要求16所述的平衡方法,其特征在于:该平衡方法还包括更新记录于具有该新元件类型的该反相器的下游反相器的路径时间延迟值。
20.根据权利要求12所述的平衡方法,其特征在于:在比较每个反相器的路径时间延迟值与目标路径延迟值的步骤中,若记录在该反相器的路径时间延迟值大于该目标路径延迟值,则该反相器使用原始的该元件类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810086129A CN101533420A (zh) | 2008-03-11 | 2008-03-11 | 时钟树状结构中路径时间延迟量的平衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810086129A CN101533420A (zh) | 2008-03-11 | 2008-03-11 | 时钟树状结构中路径时间延迟量的平衡方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101533420A true CN101533420A (zh) | 2009-09-16 |
Family
ID=41104023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810086129A Pending CN101533420A (zh) | 2008-03-11 | 2008-03-11 | 时钟树状结构中路径时间延迟量的平衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101533420A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762911B1 (en) | 2013-05-07 | 2014-06-24 | International Business Machines Corporation | Layout and design system for increasing electric current in CMOS inverters |
CN105493062A (zh) * | 2013-08-30 | 2016-04-13 | 高通股份有限公司 | 可配置的时钟树 |
CN105653748A (zh) * | 2014-11-14 | 2016-06-08 | 京微雅格(北京)科技有限公司 | 一种时钟树资源的分配方法和时钟树架构 |
CN105676944A (zh) * | 2014-11-18 | 2016-06-15 | 龙芯中科技术有限公司 | 时钟网络的开关控制方法、装置及处理器 |
CN111881645A (zh) * | 2020-07-03 | 2020-11-03 | 广芯微电子(广州)股份有限公司 | 一种基于噪声时序的时钟树抗干扰方法及装置 |
CN112818620A (zh) * | 2021-02-23 | 2021-05-18 | 上海芷锐电子科技有限公司 | 一种基于动态非平衡时钟的芯片设计优化***及方法 |
-
2008
- 2008-03-11 CN CN200810086129A patent/CN101533420A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762911B1 (en) | 2013-05-07 | 2014-06-24 | International Business Machines Corporation | Layout and design system for increasing electric current in CMOS inverters |
CN105493062A (zh) * | 2013-08-30 | 2016-04-13 | 高通股份有限公司 | 可配置的时钟树 |
CN105493062B (zh) * | 2013-08-30 | 2018-08-21 | 高通股份有限公司 | 可配置的时钟树 |
CN105653748A (zh) * | 2014-11-14 | 2016-06-08 | 京微雅格(北京)科技有限公司 | 一种时钟树资源的分配方法和时钟树架构 |
CN105653748B (zh) * | 2014-11-14 | 2019-03-08 | 京微雅格(北京)科技有限公司 | 一种时钟树资源的分配方法和时钟树架构 |
CN105676944A (zh) * | 2014-11-18 | 2016-06-15 | 龙芯中科技术有限公司 | 时钟网络的开关控制方法、装置及处理器 |
CN105676944B (zh) * | 2014-11-18 | 2019-03-26 | 龙芯中科技术有限公司 | 时钟网络的开关控制方法、装置及处理器 |
CN111881645A (zh) * | 2020-07-03 | 2020-11-03 | 广芯微电子(广州)股份有限公司 | 一种基于噪声时序的时钟树抗干扰方法及装置 |
CN111881645B (zh) * | 2020-07-03 | 2021-05-04 | 广芯微电子(广州)股份有限公司 | 一种基于噪声时序的时钟树抗干扰方法及装置 |
CN112818620A (zh) * | 2021-02-23 | 2021-05-18 | 上海芷锐电子科技有限公司 | 一种基于动态非平衡时钟的芯片设计优化***及方法 |
CN112818620B (zh) * | 2021-02-23 | 2022-02-18 | 上海芷锐电子科技有限公司 | 一种基于动态非平衡时钟的芯片设计优化***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101471237B1 (ko) | 적응형 전압 스케일링 최적화를 이용하는 집적 회로들을 설계하기 위한 시스템 및 방법 | |
CN101533420A (zh) | 时钟树状结构中路径时间延迟量的平衡方法 | |
US6367060B1 (en) | Method and apparatus for clock tree solution synthesis based on design constraints | |
MX2007000249A (es) | Metodo y aparato para arreglar perturbaciones de tiempo de espera en un diseno de circuito. | |
US20090271750A1 (en) | Timing constraint merging in hierarchical soc designs | |
US20080129362A1 (en) | Semiconductor device and method of designing semiconductor device | |
US6425115B1 (en) | Area efficient delay circuits | |
US7369637B1 (en) | Adaptive sampling rate converter | |
CN113221490A (zh) | 一种芯片间可配置延时链的数据采样方法与*** | |
US20030014729A1 (en) | Database for designing integrated circuit device and method for designing integrated circuit device | |
US7007262B2 (en) | High level synthesis method and apparatus | |
US7254795B2 (en) | Timing convergence, efficient algorithm to automate swapping of standard devices with low threshold-voltage devices | |
JP4320340B2 (ja) | 半導体集積回路の設計方法、および、半導体集積回路 | |
KR100704577B1 (ko) | 타이밍 버지트 설계 방법 | |
US6308305B1 (en) | Method and apparatus for circuit designing of an LSI circuit without error paths | |
US20050251776A1 (en) | Integrated circuit design system | |
US6580299B2 (en) | Digital circuit for, and a method of, synthesizing an input signal | |
US20080066043A1 (en) | Method and system for clock tree generation | |
US6442737B1 (en) | Method of generating an optimal clock buffer set for minimizing clock skew in balanced clock trees | |
US6959396B2 (en) | Method and apparatus for reducing clock skew in an integrated circuit | |
JP2003099495A (ja) | 集積回路の設計システム、集積回路の設計方法およびプログラム | |
TW200925825A (en) | Method of balancing path delay of clock tree in integrated circuit (IC) layout | |
US20040104750A1 (en) | Phase locked loop (PLL) for integrated circuits | |
US20080209368A1 (en) | Layout design method, layout design apparatus, and computer product | |
US7949976B2 (en) | Systematic approach for performing cell replacement in a circuit to meet timing requirements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090916 |