集成电路芯片设计的制作方法

文档序号:6983330阅读:146来源:国知局
专利名称:集成电路芯片设计的制作方法
技术领域
本发明涉及集成电路(IC)芯片的设计,更特别地,涉及具有10,000,000数量级个门的IC芯片的设计。
背景技术
数百万个门的芯片设计要求能够以易于管理和可预知的工艺过程来实现分层结构。确保定时收敛于一个选定目标需要早期定时预算、简化的块布线和定时模型的抽象以及沿一些轴的适当余量。
对于数百万个门的芯片按工艺过程的物理实现的挑战开始于早期的平面规划和分块,且持续于整个设计流程,该整个设计流程通过适当的抽象和近似从所付出的所有劳动中得到最大的好处。特别地,为了达到定时闭合,该过程的每个阶段必须包括充足的余量,以及总体项目必须着眼于向前移进以避免由于花费太多的时间在过早的最优化上而被卡住。由于设计以投片(tapeout)而告终,一些不同的问题必须同时会聚,以及一个有用的概念是渐增地向所希望的目标放松增加的余量。

发明内容
真正的层次结构CAD工具平面能力的改进仍然不能排除对用于顶端设计的层次化流程的需要。“真正的层次化”流程支持复制块的实例,这些实例共享块的每一个逻辑、定时、布线、以及端口位置模型的单一抽象。如果不同的实例不论怎样都必须不再具有单独的模型,则层次结构的大多数优点会丧失。要点是被复制的块实例被用于真正相同的对象以便在块层次上完成的各种设计和分析任务不必重复于每个实例。
真正层次化设计流程的另一个重要特点是通过选择一种方案和算法以便使工具除了最终物理的DRC/LVS(设计规则检查/版图与电路一致性检查)掩模版检查之外不必了解所有展开的数据来遏制复杂性。
特别地,物理布线、寄生提取、以及静态定时分析步骤需要是分开的以便最高层次的操作(run)只使用实例化块的抽象,而无须了解在每个块内的全部晶体管、门、或多边形(polygon)数据库。分治法是真正约束被任何一个操作了解的数据的数量以及确保虚拟存储器的使用和作业运行时间保持合理所必需的。
平面规划与分块(partitioning)设计的分块用于将设计分为易于管理的块,其可得益于一个小组内各个人的并行工作。目的在于允许对于各个块的以及同时发生于最高层次的工作的分开进行。平面印板方法不能提供定时收敛的另一个原因是因为如果最后的定时或布线阻塞于单个大操作,则没有好的途径从并行工作中受益。替代地,分块允许有效地采用多个人和多份许可。一个有益的目的在于在层次化设计中的块和其父块之间寻求“相等的困难(equalized pain)”,以使块大小足够小从而在块层次上的布线和定时闭合的努力与对其父块所需的努力几乎相同。
如果一些块太大以致于它们比其父块难的多,则通过将这些块分割为更小的块以及将这些块的连接复杂性的一部分“推”给其父块来帮助总体项目的闭合。相反地,如果用于布线、提取、或定时的父块作业量太大,则通过组合块或引入层次结构的另一层次来压缩和向下层推出一部分复杂性是值得的。一个用于层次结构的好的度量是“层次化重用因子”,该因子是块实例的数量与块类型的数量的比率。虽然非常依赖于设计,但好的分块应该寻求大约3到4的重用,该重用达到平均值以便一些块被复制许多次而一些唯一的块只有一个实例。
另一个选择分块粒度的有益原则是确保没有单独的操作花费20个小时以上。通过使用层次化的分治法分割和分块以便根据设计小组可用的计算机速度,每个用于布线、提取、和定时的各个人的计算机作业在不到一天中完成,进展可得以保证。工作不能变成无关的,一直到工作完成。再者,由于很多原因,当依赖将花费多天的运行时间才得以完成的任何作业时存在极大的项目风险,因为这些作业可能由于断电或直到太晚时才变得明显的程序错误而永远不会完成。通过块的抽象和分块以便各个操作花费一天或更少时间,向前的进展和有价值的重复以每轮几天的合理周期进行,该周期包括设计者分析结果的时间。
利用当前的工具,发现对于块大小的一个好的经验法则是寻求具有约150K个可被安置的实例或400K个左右的门(二输入端与非门等效标准门)的块。即使一些工具可以支持若干倍于这个大小的块,但对于总体项目这不是最佳的,因为具有1M个门的各个块为所有步骤花费太长的运行时间,而且,即使对于具有大量千兆字节存储器的机器,由于实或虚拟存储器的缺乏,都接近于完全的失败。
端口位置分配是整个平面规划与分块的一部分。由于早期的判断是重要的,一个有力的概念是使用线性“信号速率”度量,该度量在中继器的实际布置之前允许顶层定时。通过假设好的中继器稍后将被插入,平面规划调整可以进行而不受线路电阻电容影响,该影响在没有中继器时与线路长度的平方成正比。对于给定技术和线路宽度以及到相邻线路的间隔,存在中继器之间对于长线路的最佳间隔以及相应沿具有精确定位中继器的线路传输的信号的理想速率。
通过降低理想速率(例如,通过将其截半),设计小组可以选择一个具有充足余量的速率,所述余量用于非理想化中继器位置、由于布线拥塞而产生的非理想化实际线路、以及在沿每个分支的下一个中继器之前的扇出的现实。然后,顶层定时分析可以将降低的信号速率成双地用在每个块驱动的每个输出端口和每个输入端口之间的曼哈顿(x+y)距离处来组合具有父块信号定时的每个块端口的输入到达时间和离开时间。以此方法,顶层定时预算和线路长度可以被驱动以满足设计目标且防止必须跨全部芯片的线路,因为以当前频率这要花费若干时钟周期。
抽象一些设计方法即使在完成平面规划与分块的艰苦工作之后还是落入典型的陷阱中,一个陷阱是随后选择不保持层次结构中父块与子块之间的隔离的分析方法。例如,详尽的电容抽象不应力图组合父块与子块数据以“看到”在上面的或在下面的线路。替代地,较好的是通过精巧设计提取流程以假设最不利的条件确实存在来简化。在每个适当金属层的优选方向上,对于最小电容值,这意味着假设没有线路,以及对于最大电容值,意味着假设以布线间距隔开的线路的“栅格板”。尽管建造金属的硬板模型甚至更具保持性,但由于在布线环境中在最坏情况下的现实是处于布线间距的线路的全密度栅格,所以它是过度行为。
另一个使得层次结构更低效的典型陷阱是对穿过层次化边界的信号的定时处理。如果子块定时依赖于父块定时加多少负荷于一个信号,或者如果父块定时依赖于在它到达输出端口之前多少内部布线被置于线路,则分离的质量丧失。
我们发现通过在每个块的每个输入和输出端口增加一个缓冲器,并将该缓冲器安置于物理上非常接近该端口位置,则层次化的抽象可以被加强。即使缓冲器对于其他原因是不需要的,但父与子网之间的隔离相对于微不足道的面积成本来说是值得的,以通过能够分离父和子块定时而帮助定时收敛。
补充的定时分析在现代0.18微米或更小的技术中,最小间隔的线路高于其宽度,这意味着对临近信号的交叉耦合通常超过线路总电容的50%。同时开关的影响不能被忽视,但寻求每个耦合组合什么时候可在工艺扩散的范围内发生的精确确定也是不现实的。因此,安全和成功的定时收敛需要通过最小和最大值限定延时计算的边界的保守选择而不是无用地去寻找单个的“确切”值。
甚至在作出用于处理交叉耦合的保守选择后,增加另外的余量以考虑到许多其他因素在定时上的影响仍然是重要的,这些其他因素诸如工艺扩散、电介质厚度或介电常数的变化、片上工艺斜度(process tilt)、片上电源电压降的变化、以及提取和晶体管特征化中的错误。继续有界的最小和最大电容值的主题,对于额定值可以增加乘法的余量,产生对于Ceff.min和Ceff.max的如下有效方程Ceff.min=(1-x)*(Cvss.vdd+0*Ccoupling) (1)Ceff.max=(1+x)*(Cvss.vdd+2*Ccoupling) (2)值x可以根据需要被选择,一般在0.05到0.10的范围内,其中所引入的余量实际上是2x。记住,由于许多否则难以明确计算的因素各自是10%的影响,所以此余量是非常必要的。类似乘法的余量也可适于应用于线路寄生电阻以考虑到线路厚度和宽度中的工艺变化以及考虑到由于自热引起的片上局部化温度变化。
用于每个网络的最小和最大电阻和电容允许我们为每个网络计算最小和最大延时,所述延时可以使用.sdf文件回注于定时分析中。在基于寄存器(边沿触发器)的设计中,把每个建立和保持检查看作在接收寄存器确定行程(race)结束的结果。两端都应该被看作对方的互补,其中每一建立检查基于使用经由发射寄存器和组合逻辑直到接收寄存器的最大延时,以及具有最小延时的完全相同的路径被用于保持检查。
此外,被用于这些检查的路径需要包括时钟树,所述时钟树回到时钟分配树的各部分之间的再收敛点,所述时钟分配树馈给发射和接收寄存器。这样,普通的建立和保持检查也可以验证时钟分配树的质量而着重于局部偏移(skew)而不是全局偏移,并且考虑到使用“有用偏移”以及不恶化不利偏移的可能性,其中无论如何对受影响的建立或保持检查都没有什么不同。
这种对时钟树分析的严格和安全的方案允许使用具有受限的平均扇出的高时钟树的更低得多的功率时钟分配方案,而不是有时仅在分配核心时钟上花费三分之一芯片开关电容的更普遍短粗(short-fat)解决方案的过度的方案。
当保持检查确实显示对于所选被加入的余量数量的妨碍时,可以插入延时部件。有时,由于最小和最大延时计算的保守处理,以恰好正确的方法增加延时部件以修复这种保持妨碍而无需过分使建立路径降级可能是巧妙的平衡行为。一个有用的概念是对于具有最大建立余量(在最大延时计算下)的上行流点编写搜索由具有保持妨碍的每个接收寄存器输入端的扇入锥所选择的网络(使用最小延时计算),并将延时缓冲器插入此网络的脚本。通常这意味着保持修复的延时部件必须被插在既不邻近于发射寄存器的输出端也不邻近于接收寄存器的输入端的点,发射寄存器的输出端或接收寄存器的输入端是大多数过于简单化的保持修复算法通常已将延时部件安置的位置。
在随后的定时闭合阶段中,来自块层次静态定时分析操作的实际结果可被用于建立用作顶层静态定时分析操作中的对象的块的模型。当然,被复制的实例只需要单一的用于该块类型的定时模型,该定时模型与该块的定时分析不被其父块中叠置布线的专用于该实例的线路变复杂的选择一致。
此外,由于从输入端口通向接收寄存器的路径、以及从最后的发射寄存器通到输出端口的路径将具有最小和最大延时,所以这两种延时弧(arc)的类型需要被表示在由其父块中的使用所构造的模型中。即使没有商业的流程来自动完成上述过程,也可以编写内部脚本以将这些弧组合成块层次模型以便在父层次上的定时分析可以为所有的建立和保持检查使用该相同的对偶性。
闭合早期增加充足的余量允许设计对于每个块类型及对于顶层只使用少量重复就收敛。通过采用具有每个建立和保持行程的两端的全互补检查的保守设计方式,工艺就能成功而不是冒险受困于只有在硅复原之后才能被发现的未考虑到的耦合或噪声问题。在本文中所讨论的保守延时计算度量还意味着存在可以被预料的优势。
通过选择将延时计算基于最不利的值上,典型的工艺扩散实际上将良好产生在由该最不利模型所预测的定时之上的大部分。并且,由方程(1)和(2)中因数x所建立的额外乘法定时余量还是一个在规定于投片中的“保证”目标与由在环境条件下对已完成分组部分的测试所证实的实际达到的时钟频率之间的附加有利因数(additional upside factor)。


以下对本发明的详细说明将使本发明的这些和其他目的、特征和优点更加显而易见,其中图1是说明传统上遵循集成电路(IC)版图设计的步骤的方框图;图2是说明遵循根据本发明IC版图设计的步骤的方框图;图3是进一步说明根据本发明IC版图设计的方框图;图4是对理解本发明在时钟分配中的改进有用的方框图;图5是对理解本发明在估算交叉耦合电容中的改进有用的图;图6是对理解本发明在估算定时延时中的改进有用的图;图7是说明用于估算定时延时的先有技术的一对图;图8是表示估算定时延时中的一个示例性问题的方框图;图9是表示估算定时延时的典型先有技术方案的一对方框图;图10是表示本发明在估算定时延时中的改进的一对方框图;图11和12是表示本发明在估算定时延时中的应用的方框图;以及图13是对理解本发明的各种设计技术怎样集中于产生最后的产品有用的图。
具体实施例方式
图1表示传统上遵循IC版图设计的步骤。这些步骤包括平面规划110、块合成120、块的初始布局130、确定门尺寸和时钟树建立140、布线150、以及寄生提取和定时分析160。
定时分析一般在工艺的最后被执行,因为所认识到的在进行定时分析之前完成层次化设计的父和子部件设计的需要。例如,父部件看不到子块中线路的负荷(扇出)且父部件和子块的输出端之间的连接可以改变子块的内部定时。
定时分析经常揭示定时问题且对这些问题的解决办法可能经常会是将缓冲器插入各块的输入或输出端。由于可能会导致缓冲器插入、重布线和定时分析的额外重复的线路拥塞,所以这种缓冲器的插入典型地需要线路的重布线和进一步的定时分析。每次重复可能会需要更多缓冲器的插入、线路的额外重布线以及进一步的定时分析。
根据本发明,在定时分析被执行之前,缓冲器被插入到每个块输入端和每个块输出端。优选地,如图2的版图设计过程所示,其中与图1过程中相同的部件具有相同的标号,在初始布局步骤130之后、在确定门尺寸和树建立步骤140之前缓冲器被优选地插入。
更一般地,如图3所示,在如发生于步骤320的将网表分解为层次化块之后以及在如发生于步骤360的定时分析的执行之前的版图设计过程中的某个点,在步骤333缓冲器被插入在IC芯片设计中每个块输入端和每个块输出端。这些缓冲器也许是需要的也许不是。尽管如此这些缓冲器还是被插入。结果,在所有端口的扇入被约束为1且内部反馈路径被从被父部件安置于输出端口上的块隔离。此外,块定时分析被迫看到否则只能被父块定时分析看到的线路对端口的定时影响。
通过隔离在父部件和子块中的线路,定时分析问题被更清晰地分开且需要更少的定时重复。不必要缓冲器的面积成本是微不足道的。
用于集成电路设计的改进的另一个领域是在时钟分配中,特别是对所有寄存器的时钟信号的分配。时钟偏移是时钟在发射和接收寄存器对到达时间的差。在同步设计中,典型的目标是使该偏移尽可能小。一般地,偏移被看作是不利的,因为时钟周期必须被延长(降低性能)以考虑到接收寄存器具有比发射寄存器更早的到达时钟信号的可能性。然而,众所周知,在有限的情形下,如果关键路径的发射寄存器具有比接收寄存器更早的到达时钟则偏移可以是有利的,因为其给予该路径比基本时钟周期更多时间去传播。
当成组的逻辑和寄存器被连接在一起时,时钟偏移的相同原理被应用在更高层次化的层次。这种分组可以是在只有几个对象到数十万的对象的层次上。图4显示两个块(A和B),其中存在从A传送到B的某些数据信号C以及从B传送到A的其他数据信号D。两个块都接收来自父层的时钟,并将它分配给它们的内部寄存器。在不丧失一般性的情况下,考虑所显示的情况,其中时钟分配被调整以给予B一个比在A接收到的时钟迟的时钟。在这种情况下,两个时钟到达时间之间的偏移增加给D信号的有效路径延时,从C信号的有效路径延时中减去。如果C和D具有否则相等的路径长度,则偏移将是不利的。但在一开始的C路径延时(对块内部的延时和块之间连接中的延时求和)长于D路径延时的情况中,则该偏移改进性能。
在层次化设计中,块可以被首先建立及定时分析,且然后其父层时钟分配被调整到传到最长路径的接收块的延时时钟。被增加于每个块对之间的有用延时的量是在该块对中通向时钟延时的块的最长路径与从时钟延时的块离开通往另一块的最长路径之间的差的一半。这样,在时钟延时被增加之后,数据路径随后将具有相等最小周期时间(最大芯片时钟频率)。
如上所述,另一设计技术是通过最小和最大值设定延时计算的边界,而不是无望地搜寻以找到一个单一的“确切”值。这种方案的一个例子是将交叉耦合电容映射为有界的“有效”电容。图5显示在与处于分析下的被干扰(victim)信号相反或相同方向上的扰源(aggressor)开关的可能性。尽管一个快速反向扰源具有3或更多倍于实际额定交叉耦合的有效电容是可能的,但只将有效交叉耦合电容设置为2倍于额定电容也是合理的近似,其仍然比忽略开关的电容乘倍效应保守的多。同样地,尽管一个快速同向扰源在一个缓慢被干扰对象的转变上具有这样一种帮助效果即有效耦合电容实际上应该是负数是可能的,但就将最小有效电容值设置为0是合理的。注意当完全补充定时检查使用最大和最小电容时,其实际上增加消极的考虑以使得最小电容更小。将这些因素应用于所有交叉耦合电容的简化和保守抵消了这样一种现实即许多实际上可能不具有同时进行的开关,这就具有一些扰源可能具有略微更坏的有效电容倍数的可能性,如图5所示。甚至更多严格的详尽的噪声检查工具可被用作最后的步骤。
其他的设计技术涉及定时路径的分析。对于将要在门层次上被分析的定时路径,严格的分析必须跟踪穿过沿时钟和数据线具有按比例扩大和按比例缩小的网络延时注释的网络的路径,以产生将要与接收寄存器的约束对比的更不利情形。对于建立约束,最大延时用于到接收寄存器的时钟路径。对于保持约束,最小延时用于到发射寄存器的时钟路径以及发射寄存器与接收寄存器之间的数据路径,且最大延时用于到接收寄存器的时钟路径(图6)。这比到处只使用额定的延时更加严格,尽管它很少在0.25um设计之前彻底完成,所述0.25um设计中交叉耦合电容更加不严重。但是,单独来说,最大值和最小值同时地使用被众知周知是正确和严格的方案,且某些工具确实支持它用于平面设计。
模型的抽象对于层次化的方法是必需的。抽象(见图7)将一个整个区域的组合逻辑和寄存器(例如,数十万个门)封装到一个省去该块内部细节的块模型(表示其的一个商业化格式叫做“STAMP”模型),并以定时弧代替开始于每个输入端口的路径,所述定时弧是从代表它的建立和保持约束的端口到时钟端口的。同样地,以代表时钟→输出(clk→q)约束的弧代替每条通向输出端口的路径。在图7的先有技术中,这些以弧对路径的代替只使用额定的(或典型的)模型来完成,此模型不允许块模型被用作力图完成图6的更严格的建立和保持检查的父操作中的实例。
本发明解决增强块抽象方法提供在层次化边界的严格最大/最小检查的困难。这是具有重要性的,如先前被商业化工具所选择的一些不正确方案所证实的。这些方案中的一个难点是这不仅仅是跟踪穿过具有单一延时注释的各网络的最大和最小路径的问题。图8说明一种情况,在其中块的时钟端口和内部寄存器之间的路径需要具有由用于产生输入和输出约束的不同延时所注释的它的网络,甚至当所述输入和输出约束在父层次上只被用于检查保持约束。这表明在同时跟踪对于父层的建立/保持检查所需的路径的过程中没有单个网络注释集就足够。先有技术的另一个普遍失误显示于图9中,其中两个单独路径跟踪操作被执行,一个基于用最大延时注释网络而另一个使用以最小延时注释的网络。然而,这种方案还是不足的,因为它不象图6所需的那样单独在数据和时钟路径上组合最大值和最小值。
图10显示对于正确检查实际所需的组合。它表明路径需要被单独地分析以产生两个不同的模型,其中一个被用于父层中的建立检查,另一个被用于父层中的保持检查。再者,实际上存在四个需要作为对这些路径跟踪操作的输入的不同网络延时组合。

由于商业化工具不支持在模型抽象中使用多个被注释的值,在本发明中首先必须做预处理以产生上面表格中四个网络延时的不同组合,并将它们注释到如图10所示的路径跟踪操作中。路径跟踪不需要知道网络延时怎样被预处理,因此无需静态定时工具“知道”数据被预处理成不同于额定电容,路径跟踪就将正确进行。然后,本发明将来自四个单独路径跟踪操作的弧重新组合为两个单独的模型在实现本发明的过程中是必要的,一个单独的模型用在父层操作中以确定建立约束(见图11)以及另一个单独的模型用于父层操作获得保持约束(见图12)。尽管两个不同模型的使用本身不是唯一的,但将来自四个不同路径跟踪操作的弧重新组合为两个单独的模型是本发明的一个区别点。
由于一个简单原因即执行一个晶体管层次的模拟在存储器和运行时间上都是很耗费的,所以模型产生始终是VLSI设计中的一个考虑。即使对于在各个门的层次之上没有其他的层次化的层次的平面设计,在分析过程中逻辑门自己也由定时模型来表示。先有技术根据特定的工作条件提供模型差异,以便不同的模型被用于在最有利或最不利门构成的情况下模拟操作,例如,但是然后认为该模型对于该条件是适合于所有在该条件下的约束检查的。本发明利用将要被检查的约束的类型进一步区别这些模型,并通过组合这些不同模型的弧产生这些模型以获得在父层中的特定约束检查所需的适当模型。
由此,本发明涉及注释数据的预处理和将来自不同路径跟踪操作的弧后处理组合为两个输出模型。所述预处理产生注释的四个集合,一个集合具有全部最小注释、一个集合具有全部最大注释、一个集合具有除了对于时钟网络的最大注释之外的对于数据网络的最小注释、一个集合具有除了对于数据网络的最大注释之外的对于时钟网络的最小注释。为这四个注释集合的每个产生模型,并为各个路径跟踪操作将模型加载到静态定时分析工具中。随后,所产生的弧被重组以建立最终模型,该最终模型只适合于一个类型的约束(保持或建立),但包括了最小/最大注释的所需目标。对于将被用于父层保持约束检查的模型,从时钟输入到数据输出的延时弧取自全部最小模型,但在输入和时钟之间的保持约束取自最小数据最大时钟模型,如图12所示。同样地,对于将被用于建立约束检查的模型,从时钟到输出的延时弧取自全部最大模型,且建立约束弧取自最小时钟最大数据模型,如图11所示。这两个模型对于它们的约束类型是特定的,但所得到的弧正确组合以产生顶层路径被抽象部分的准确表示,并维持分析方法的假设以便层次化方案产生与同时考虑适当的最小/最大数据的严格平面操作完全相同的对于所有寄存器对组合的报告。
按约束类型所产生的模型的差异允许在定时分析过程中对该模型特性的更好控制,并为将被应用于结果的工程判断提供更加坚固的基础。严格的最小/最大检查对于确保定时的正确性是很重要的,且在具有对于相同网络导致最小和最大电容值之间更大差值的更高比例交叉耦合电容的更精巧几何工艺中更加相关。
严格的最小/最大检查围绕着时钟树和数据连接。严格的最小/最大检查允许普通的建立和保持检查同样验证时钟分配树的质量,而着重于局部偏移而不是全局偏移,并考虑到使用“有用偏移”以及不恶化不利偏移的可能性,其中无论如何对受影响的建立或保持检查也没有什么区别。此外,这种对时钟树分析的严格和安全的方案允许使用具有受限的平均扇出的高时钟树的更低得多的功率时钟分配方案,而不是有时仅在分配核心时钟上花费三分之一芯片开关电容的更普遍的短粗(short-fat)解决方案的过度的方案。
检查的完成也意味着较少附加余量需要被加入。在许多先有方案中,因为该过程对于穿过层次化边界的信号不是检查约束的全部正确集合,所以设计者替代地通过增加余量以考虑到没有实际上考虑正确弧的错误来处理该问题。本发明减小所需的余量,籍以增加可能的设计的性能。此外,通过为它们的每个端口的特性产生具有特定于约束的安全余量的模型,在更高层次的层次的总安全余量可被降低,而无需为在任何特定端口的约束牺牲安全余量。这导致在更高层次上更少的被误报为需要被修复的问题的定时路径,并加速定时闭合。
在早期物理实现的阶段,最好对内部块定时和对顶层定时设置高目标(如前面所讨论的,由线性化信号速率所判断的)。随着设计向投片进展,及顶层定时被从被布线和被定时的块得来的实际定时模型所代替,该目标可向最终投片要求的目标放松。由于门尺寸变化、中继器插入、以及保持部件插入都是布线设计中的“中断”,所以它们可能对相邻对象(单元实例)或线路具有定时影响。
目标是通过利用每次修复/重新定时重复搜索以“接触”越来越少的网络和对象来确保收敛。一个好的目标是看到对于每次重复所接触到网络的数量下降4到8倍。即使在每次重复时所搜索到的目标中略微的减少都极大地帮助收敛。
图13显示该原理,其中y轴被度量为关于每一量的最终目标的因子
标准量建立检查 时钟频率保持检查 偏移余量天线检查 容许满载荷实际上,收敛沿这三个轴同时进行。即使前期过程通过根据更严格的标准搜寻以修复问题而稍微多做些“工作”,当项目的邻近线路或对象被碰撞时,这种方案减少这些必须被重做项目的数量。例如,在容许天线满载荷比(一个通过将比率约束在金属线路面积和这些金属线路所连接的多晶硅栅级面积之间来有助于成品率的规则)中的侵害很容易修复,但由于这些修复触及布线,所以这些修复可能中断紧密的建立和保持路径。因此,通过向所需目标同时地和渐增地降低所有目标上的阻碍使得收敛被改进。
如对本领域技术人员显而易见的,在本发明中可以作出大量的修改。
权利要求
1.一种VLSI芯片设计的布线方法,包括步骤将网表分解为层次化块,每个块至少具有一个输入端和一个输出端;在作任何定时分析之前将缓冲器插入到每个块输入端以隔离该块输入;以及在作任何定时分析之前将缓冲器插入到每个块输出端以隔离该块输出。
2.一种VLSI芯片设计的布线方法,包括步骤将网表分解为层次化块;分析在每一块对之间传送的信号的定时;以及将时钟分配调整到被提供给在块对之间具有最长路径的那些块对中的接收块的延时时钟信号。
3.一种VLSI芯片设计的布线方法,包括步骤平面规划;块的合成;块的初始布局;确定门尺寸和时钟树建立;布线;以及寄生提取和定时分析;将缓冲器插入到每个块输入端以隔离该块输入的步骤,该步骤在确定门尺寸和时钟树建立步骤之前执行。
4.权利要求3的方法,进一步包括在执行确定门尺寸和时钟树建立的步骤之前将缓冲器插入到每个块输出端的步骤。
5.一种调整被分配给第一块和第二块的时钟信号定时的方法,其中数据信号通过从所述第一块到所述第二块的第一路径传送,且数据信号通过从所述第二块到所述第一块的第二路径传送,以及通过所述第一路径的时间长于通过所述第二路径的时间,该方法包括步骤将被提供给所述第二块的时钟信号相对于被提供给所述第一块的时钟信号延迟一个量,所述量是所述第一路径和所述第二路径之间差的函数。
6.权利要求5的方法,其中所述时钟信号被延迟一个量,所述量是所述第一路径和所述第二路径之间差的一半的函数。
7.权利要求5的方法,其中所述时钟被延迟一个量,所述量是通过所述第一路径的时间和通过所述第二路径的时间之间差的函数。
8.权利要求5的方法,其中所述时钟被延迟一个量,所述量是通过所述第一路径的时间和通过所述第二路径的时间之间差的一半的函数。
9.一种形成用于定时检查的模型的方法,包括步骤产生四个注释的集合,第一集合具有全部最小注释,第二集合具有全部最大注释,第三集合具有除了对于时钟网络的最大注释之外对于数据网络的最小注释,第四集合具有除了对于时钟网络的最小注释之外对于数据网络的最大注释;对于将被用于父块保持约束检查的模型,从所述第一集合中采用从时钟输入到数据输出的延时弧,以及从所述第三集合中采用输入和时钟输入之间的保持约束;以及对于将被用于建立约束检查的模型,从所述第二集合中采用从时钟输入到数据输出的延时弧,以及从所述第四集合中采用建立约束弧。
全文摘要
本发明提供用于改进集成电路设计的方法,其通过使用版面设计工具、合成、以及定时序分析以避免由于在过早的最优化上花费太多时间而被卡住(图2-13)。由于设计围绕于投片,一些问题必须同时收敛,以及一个有用的概念是向所需目标渐增地放松增加的余量。
文档编号H01L21/82GK1633658SQ02816762
公开日2005年6月29日 申请日期2002年8月29日 优先权日2001年8月29日
发明者T·E·威廉斯, J·费罗, D·托维, L·曾 申请人:英芬能技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1