校正串扰的方法 【技术领域】
本发明涉及一种用于校正串扰的方法,串扰校正作为集成电路板面设计校正的一部分,是用于在半导体集成电路的板面设计中消除线路之间的串扰。
背景技术
近年来,随着半导体制造技术的小型化,串扰已不能再被忽略。在半导体集成电路中由于相邻布线内信号的传输而引起相邻布线之间的耦合电容会产生串扰。这种现象会引起延迟差异,定时限制违规,或逻辑颠倒这样的功能错误。
因此,在半导体集成电路的集成电路版面设计中,早已需要一种用于校正集成电路版面设计的串扰校正,从而检测串扰的同时,防止由于串扰而引起定时限制违规或逻辑反相。
在传统的校正串扰的方法中,将中继缓冲器插入到受串扰影响的网络中,网络中的布线被分隔开以减小布线之间的耦合电容,从而影响了串扰(例如,称为缓冲器插入,参见专利文献1)。
此外,还可在受串扰影响的布线的一侧或两侧设置固定在恒压的屏蔽线,从而减少了受影响布线地耦合电容(称为屏蔽)。
并且,在某些情况下,可使用以下方法:增加用于驱动受串扰影响的网络的一个单元的电流驱动能力,从而可减少相邻布线的信号传输而引起的串扰影响(称为单元尺寸法),或者使布线绕行以避开串扰出现的位置(称为布线绕行法,参见非专利文献1)。
(专利文献1)
日本专利特许公开号为No.3175653
(非专利文献1)Synopsys公司的“AstroPrimer Introduction to Astro Timing OptimizedLayout Release 2001.2”用户手册,美国Synopsys有限公司,2001年2月,第13到20页。
然而,上述避免串扰的传统方法的问题在于,由于缓冲器或屏蔽线的插入而消耗了集成电路版面资源,或是单元的更新引起了面积的增加,或者电容的增加和使用具有很大电流驱动能力的单元导致功率消耗的增加。至于布线绕行法,在布线绕行中会与其它布线之间产生新的耦合电容,从而引起新的串扰,使时序的收敛设计被恶化。
发明概述
因此,本发明的主要目的是提供一种校正串扰的方法,该方法不需要增加面积和功率的消耗,就可以校正由串扰引起的定时限制违规和功能错误。
为了解决上述的问题,根据本发明,在半导体集成电路的集成电路版面设计中使用以下方案,其中所述半导体集成电路是通过利用单元之间的布线将基本逻辑单元或功能性宏块连接起来而构成的。
作为用于解决问题的第一方案,根据本发明的校正串扰的方法包括:
并行布线长度的第一检测步骤,其中输入平行布线长度可用值的数据和关于串扰的版面设计数据,并根据这两个输入数据来提取并行布线长度违规的信息;
搜索空余区的步骤,其中输入单元面积信息,并在并行布线长度违规信息中包含的违规布线的走线上搜索空余区,同时根据单元面积信息来提取空余区信息;
创建用于缓冲器划分的备用物的步骤,其中将被划分的多个反相器提取出来作为串扰校正的备用物,所述反相器是从违规布线部分的驱动缓冲器或下一级驱动缓冲器被分离出的;
布置和布线的步骤,其中在空余区信息中包含的空余区中对作为用于串扰校正的备用物的反相器进行布置和布线;
并行布线长度的第二检测步骤,其中根据重新布置的反相器来检测并行布线长度的违规。
并行布线长度的可用值数据对应于串扰改变而引起的延迟差异和逻辑颠倒,布线层,布线之间的宽度,和网络的驱动单元的驱动功率,都会引起串扰改变。并行布线长度违规的信息是一个由于串扰而发生问题的违规线路列表,而搜索空余区的步骤是为了搜索是否可以将一个新的单元安排在违规线路的布线上(以下,上述的数据,信息和步骤都表示相同的含义)。
在上述为缓冲器划分而创建被选线路的步骤中,提取出用于串扰校正的备用物,其中在空余区信息包含的空余区中,将违规布线部分的驱动缓冲器或下一级驱动缓冲器划分为将要布置的多个反相器,从而使并行布线部分变短并校正串扰错误。
根据解决问题的第一方案,将超过了并行布线长度可用值的并行布线的驱动缓冲器或下一级驱动缓冲器划分为多个反相器组合,这些反相器组合将被布置在并行布线的线路上。这样,可以避免由于串扰导致延迟差异和逻辑颠倒超出它们各自的可用值。结果,不用增加面积和功率消耗就可校正串扰引起的定时限制违规和功能错误。
作为解决问题的第二方案,根据本发明的校正串扰的方法包括:
对并行布线长度的第一检测步骤,其中输入并行布线长度的可用值数据和关于串扰的版面设计数据,并根据这两个输入数据而提取并行布线长度违规的信息。
搜索空余区的步骤,其中输入单元面积信息,并在并行布线长度违规信息中包含的违规布线的走线上搜索空余区,同时根据单元面积信息来提取空余区信息;
创建用于单元移动的备用物的步骤,其中将被移动到违规布线部分的驱动单元之外的单元和下一级驱动单元提取出来,作为用于校正串扰的备用物;
布置和布线的步骤,其中,在空余区信息中包含的空余区中对作为用于串扰校正的备用物的单元进行布置和布线;
并行布线长度的第二检测步骤,其中根据重新布置的单元而检测并行布线长度的违规情况;
在上述创建用于单元移动的备用物的步骤中,用于串扰校正的备用物被提取出来,其中在空余区信息中包含的空余区中,移动违规布线部分的驱动单元或下一级驱动单元并对其重新布置,将他们的并行布线部分缩短从而校正串扰错误。在此情况下,被移动的单元相对于前一状态布线长度的单元移动距离和相对于后一状态布线长度的单元移动距离之间的比率不大于一个预定值。
根据解决问题的第二方案,通过在并行布线走线上移动超过了并行布线长度可用值的并行布线驱动单元或下一级驱动单元,可以避免由于串扰导致的延迟差异和逻辑颠倒超出它们各自的可用值。结果,不用增加面积和功率消耗就可校正串扰引起的定时限制违规和功能错误。
作为解决问题的第三方案,根据本发明的串扰校正方法包括:
对并行布线长度的第一检测步骤,其中输入并行布线长度的可用值数据和关于串扰的版面设计数据,并根据这两个输入数据而提取并行布线长度违规的信息。
搜索空余区的步骤,其中输入单元面积信息,并在并行布线长度违规信息中包含的违规布线的走线中搜索空余区,同时根据单元面积信息来提取空余区信息;
受影响网络的逻辑合成步骤,其中输入逻辑连接信息,并提取用于串扰校正的备用物,其中根据逻辑连接信息,将包含并行布线长度违规线路的网络部分的逻辑再次合成,从而增加将被布置的单元数目或者改变输出端数以便校正串扰;
布置和布线的步骤,其中,根据用于串扰校正的备用物,在空余区信息中包含的空余区中对单元进行布置和布线;
并行布线长度的第二检测步骤,其中根据新的校正电路而检测并行布线长度的违规情况。
在上述受影响网络逻辑合成的步骤中,通过增加将被布置的单元数目,或者降低输出端数变化引起的转换速率(信号传输时间),可以校正串扰。
根据解决问题的第三方案,通过对超过了可用值的并行布线长度的驱动单元或下一级驱动单元进行逻辑分解,或者通过逻辑再合成而改变输出端数的数目以增加单元数目,可以避免由于串扰导致延迟差异和逻辑颠倒超出它们各自的可用值。结果,不用增加面积和功率消耗就可校正串扰引起的定时限制违规和功能错误。
作为解决问题的第四方案,根据本发明的串扰校正方法包括:
串扰分析步骤,其中输入逻辑连接信息,RC信息,分析限定信息,延迟数据库,和串扰分析数据库,以便根据输入信息等对串扰引起的延迟差异执行延迟计算和定时分析,该串扰是由从一个定时限制窗口的同时传输引起的,并提取出包含产生了串扰的布线的串扰违规信息和定时限制窗口数据;
搜索空余区的步骤,其中输入单元面积信息,并在并行布线长度违规信息中包含的临近产生串扰的位置的布线走线中搜索空余区,同时根据单元面积信息来提取空余区信息;
影响网络和受影响网络的逻辑合成步骤,其中提取用于串扰校正的备用物,其中根据空余区信息和定时限制窗口数据,分解产生了串扰的网络的影响侧和受影响侧的逻辑,将同相的传输颠倒为反相传输或将反相传输颠倒为同相传输,改变延迟变化,从而保持相对定时限制限制的稳定侧;
布置和布线的步骤,其中,根据用于串扰校正的备用物,在空余区信息中包含的空余区中对单元进行布置和布线;
第二串扰分析步骤,其中根据新的校正电路而检测并行布线长度的违规情况。
RC信息是寄生单元的信息。另外,分析限制信息包括时钟设定、定时限制分析的操作模式设定等。定时限制窗口指示信号传输相对于时钟周期的定时限制。产生了串扰的布线表示由于串扰引起定时限制违规的布线。(本文中,上述的信息、定时限制窗口、和布线表示相同的内容)
在上述的影响网络和受影响网络的逻辑合成步骤中,由于产生的串扰所增强(或减弱)的延迟变化被改变,从而保持相对于定时限制限制的稳定侧,抑制串扰的影响。
根据解决该问题的第四方案,对于由于串扰引起的违反定时限制限制??的布线,通过逻辑再合成使信号传输方向反向,从而不会再产生由于串扰引起的延迟变化,或者可将延迟改变为无害的方向。这样,在不增加面积和功率消耗的同时,可以校正串扰引起的时间限制违规和功能错误。
作为解决本问题的第五方案,根据本发明校正串扰的方法包括:
串扰分析步骤,其中输入逻辑连接信息,RC信息,分析限定信息,延迟数据库,和串扰分析数据库,以便根据输入信息等对串扰引起的延迟差异执行延迟计算和定时分析,该串扰是由从一个定时限制窗口的同时传输引起的,并提取出包含定时限制限制违规信息的曲线数据和定时限制窗口数据;
提取将被校正的网络的步骤,从包括在曲线数据中的定时限制限制违规线路上的网络中提取出要被校正的网络,该网与相邻布线之间具有超出预定值的耦合电容;
搜索空余区的步骤,其中输入单元面积信息,并参照单元面积信息,在将被校正的网络的信息中包含的具有耦合电容的布线走线中搜索空余区从而提取空余区信息;
定时限制限制违规线路的逻辑合成步骤,其中提取用于串扰校正的备用物,其中根据空余区信息和定时限制窗口数据,执行逻辑合成,该逻辑合成中,分解相邻布线部分的网络的逻辑或改变其输出端的数目,从而找出相邻布线之间同步的信号传输,在保持违规的情况下,将传输颠倒为同相,在建立违规的情况下,使其为反相;
布置和布线的步骤,其中,根据用于串扰校正的备用物,在空余区信息中包含的空余区中对单元进行布置和布线;
第二串扰分析步骤,其中根据新的校正电路而检测并行布线长度的违规情况。
上述的曲线数据包括定时限制限制违规信息。
根据解决问题的第五方案,对于违反了定时限制限制的线路,通过逻辑再合成使信号传输方向反向或者通过改变输出端数目改变负载。这使得产生串扰延迟变化,其中延迟改变为与定时限制违规相反的方向,从而消除了由于串扰引起的延迟变化到值得定时限制违规。这样,在不增加面积和功率消耗的同时,可以校正由于串扰引起的定时限制限制违规和功能错误。
本发明的前述和其他方面可从下面接合附图的详细说明中变得明显。
【附图说明】
图1示出根据本发明第一实施例用于校正串扰的方法(缓冲器划分)的流程图;
图2A示出在执行根据本发明第一实施例的用于校正串扰的缓冲器划分方法之前的具体例子。图2B示出一网络驱动缓冲器的划分的例子。图2C示出下级驱动缓冲器的划分例子。
图3示出根据本发明第二实施例用于校正串扰的方法(单元移动)的流程图。
图4A示出在执行根据本发明第二实施例的用于校正串扰的单元移动方法之前的具体例子。图4B示出一网络驱动单元移动的例子。图4C示出下级网络驱动单元的移动例子。
图5示出根据本发明第三实施例用于校正串扰的方法(受影响网络逻辑再合成)的流程图。
图6A示出在执行根据本发明第三实施例的用于校正串扰的受影响网络逻辑再合成方法之前的具体例子。图6B示出执行逻辑再合成之后的具体例子。
图7示出根据本发明第四实施例用于校正串扰的方法(影响网络和受影响网络的逻辑再合成)的流程图。
图8A示出在执行根据本发明第四实施例的用于校正串扰的影响网络和受影响网络的逻辑再合成方法之前的具体例子。图8B示出一定时限制窗口。图8C示出执行逻辑合成之后的一具体例子。
图9示出根据本发明第五实施例用于校正串扰的方法(通过逻辑再合成进行定时限制限制违规校正)的流程图。
图10A示出在执行根据本发明第五实施例的用于校正串扰的通过逻辑再合成进行定时限制限制违规校正方法之前的具体例子。图10B示出一备用。图10C示出在执行定时限制限制违规校正之前的定时限制窗口。图10D示出在执行定时限制限制违规校正之后的定时限制窗口。图10E示出在执行定时限制限制违规校正之后的具体例子。
图11A示出根据补充说明在执行缓冲器插入之前的具体例子。图11B示出在执行缓冲器插入之后的一具体例子。
图12A示出根据补充说明在执行屏蔽插入之前的具体例子。图12B示出在执行屏蔽插入之后的具体例子。
图13A示出根据补充说明在执行单元尺寸放大之前的具体例子。图13B示出在执行单元尺寸放大之后的具体例子。
图14A示出根据补充说明在布线绕行之前的具体例子。图14B示出在执行布线绕行之后的具体例子。
在所有这些附图中,相同的单元由相同的附图标记表示。
实施例的详细描述
参照附图,对本发明用于校正串扰的方法的最佳实施例进行描述。
(补充说明)
在说明根据本发明实施例的用于校正串扰的方法之前,为了便于理解先参照图11-14来说明一些基本观点。
假设包括一驱动单元203、布线205和一被驱动单元204的线路为影响网络,它产生串扰影响;相反,假设包括一驱动单元200、布线202和一被驱动单元201的线路为受影响部分,它受到串扰的影响。
首先参照图11,说明通过缓冲器插入来校正串扰的基本粒子。图11A示出一电路版面,它包括受影响网络的一驱动单元200、一被驱动单元201和布线202和影响网的一驱动单元203、一被驱动单元204和布线205以及空余区206和现有的单元207。如图11B所示,当要校正受影响网络时,在受影响网络的布线202上搜索空余区,从而插入具有足够驱动能力的中继器缓冲器208,使串扰的影响变得无害。
这种情况下,由于缓冲器插入增加了版面资源。
下面参照图12说明通过屏蔽校正串扰的基本例子。图12A示出一电路版面,它包括受影响网络的一驱动单元200、一被驱动单元201和布线202和影响网的一驱动单元203、一被驱动单元204和布线205以及耦合电容209。如图12B所示,当要校正受影响网络时,在布线之间搜索可容纳布线的空间,以便提供屏蔽布线210。耦合电容211元低于原始耦合电容209。
在这种情况下,由于插入屏蔽布线使面积增加。
下面参照图13说明通过单元尺寸缩放来校正串扰的基本例子。图13A示出一电路版面,它包括受影响网络的一驱动单元200、一被驱动单元201和布线202和影响网的一驱动单元203、一被驱动单元204和布线205以及耦合电容209。如图13B所示,当要校正受影响网络时,如果有足够的空间,则扩大受影响网络的驱动单元200。这样,受影响网络的转换速度变慢,当影响网和受影响网络同时传输信号时,延迟变化变小。另外,当在受影响网络不工作的情况下影响网传输信号时,受影响网络的驱动单元200的晶体管阻抗变小,从而降低了产生的低频干扰(毛脉冲)。
但是在这种情况下,产生了这样的问题,由于单元升级导致面积增加,且由于使用具有很大电流驱动能力的单元增加了功率消耗。
下面参照图14说明通过布线绕行来校正串扰的基本例子。图14A示出一电路版面,它包括受影响网络的一驱动单元200、一被驱动单元201和布线202和影响网的一驱动单元203、一被驱动单元204和布线205以及耦合电容209。当要校正受影响网络时,搜索布线空间从而使布线按照如图14B所示的受影响网络布线202的方式绕行。这使得可以忽略与影响布线205的耦合。
但是在这种情况下,布线绕行将导致与绕行中的其他布线产生新的耦合电容,从而导致新的串扰,这使得定时限制设计中的收敛性降低。
下面,将对本发明实施例的校正串扰的方法进行说明。
(实施例1)
图1示出根据本发明第一实施例校正串扰的方法(缓冲器划分)的流程图,图2A、2B和2C示出它的具体例子。
在图1中,S1表示并行布线长度的第一检测步骤;S2表示在布线走线上搜索空余区的步骤;S3表示创建用于缓冲器划分的备用物的步骤;S4表示布置和布线的步骤;S5表示并行布线长度的第二检测步骤。附图标记1表示并行布线长度可用值的数据;附图标记2表示版面设计数据;附图标记3表示单元区域信息;附图标记4表示并行布线长度违规信息;附图标记5表示空余区信息;附图标记6表示用于串扰校正的备用物。
在图2A、2B和2C中,附图标记101表示受影响网络的一驱动单元;附图标记102表示一空余区;附图标记103表示一现有的单元;附图标记104表示受影响网络的一下级驱动单元;附图标记105表示相邻布线;附图标记106表示在划分之后的前级反相器;附图标记107表示划分后的后级反相器。
根据本实施例具有上述结构的用于校正串扰的方法,其工作方式如下所述。
参照图1,在并行布线长度的第一检测步骤S1中,参照并行布线长度可用值的输入数据1,根据输入的版面设计数据提取出并行布线长度违规信息4,该信息是具有超出可用值的并行部分的违规布线的列表。并行布线长度可用值数据1是通过利用电路模拟器例如SPICE来模拟由于串扰引起的延迟变化和逻辑颠倒而预先获得的,该串扰的变化与布线层、布线之间的宽度和网络中驱动单元的驱动能力有关。
在步骤S2中,参考输入的版面数据2和输入的单元面积信息3,在走线上搜索空余区,并通过搜索是否可以在包括在并行布线长度违规信息4中的违规布线走线上布置一个新的单元,来提取可用于布置的空余区的信息5。
在创建用于缓冲器划分的备用物的步骤S3中,当在包括在并行布线长度违规信息4中的违规布线部分中的驱动单元或下级驱动单元为一缓冲器时,将该违规布线部分的驱动缓冲器或下级的驱动缓冲器划分为两个反相器组合。然后,提取出用于串扰校正的备用物6,将其作为将布置在布线线路上的变化备用物。通过划分增加的反相器对违规并行布线部分进行划分并缩短了并行布线长度,从而抑制了并行布线长度违规。
在布置和布线步骤S4中,根据用于串扰校正的备用物6对通过划分缓冲器而获得的反相器组合进行重新布置,且将布线连接到单元的输入针。
在并行布线长度的第二检测步骤S5中,检测改变的部分是否导致新的并行布线长度违规。当这种违规出现时,返回布置和布线的步骤S4重复执行。
下面将说明以本发明上述方式工作的校正串扰的方法的具体例子。
参照图2A,在受影响网络附近布置了相邻布线105,根据受影响网络的驱动单元101的驱动能力,相邻布线105的并行布线长度大于在图1所示的并行布线长度可用值数据1中包括的值,因此图2A示出并行布线长度违规的一个例子。在这种情况下,由于通过在布线线路上搜索可布置一个单元的空余区102后发现存在可布置的空余区,因此将受影响网络的驱动单元101或下级驱动单元104划分为可布置的反相器。
在图2B中,将受影响网络的驱动单元101划分为将被布置和布线的两个反相器106和107。
在图2C中,将受影响网络的下级的驱动单元104划分为将被布置和布线的两个反相器106和107。
如上所述,根据本实施例,超出并行布线长度可用值范围的并行布线的驱动缓冲器或下级驱动缓冲器被划分为反相器组合,这些组合被布置在并行布线线路上,从而可防止由于串扰引起延迟变化和逻辑反相超出他们的可用值范围。
(实施例2)
图3示出根据本发明第二实施例用于校正串扰的流程图,图4A、4B和4C示出他们的具体例子。
在图3中,S1、S2、S4和S5表示与图1所示的第一实施例中相似的步骤。S3a表示创建用于单元移动的备用物的步骤。附图标记1-6与图1所示的第一实施例中所指示的单元相同。在图4A、4B和4C中,附图标记101-105表示与第一实施例的附图2A、2B和2C相同的单元。
根据具有本实施例的上述结构的校正串扰的方法,其工作方式如下所述。
参照图3,在并行布线长度的第一检测步骤S1中,参照并行布线长度可用值的输入数据1,提取出并行布线长度违规信息4。
在搜索空余区的步骤S2中,参考输入的版面数据2和输入的单元面积信息3,通过搜索是否可以在包括在并行布线长度违规信息4中的违规布线走线上布置一个新的单元,来提取可用于布置的空余区的信息5。
在创建用于单元移动的备用物的步骤S3a中,当将违规布线部分的驱动单元或下级驱动单元移动到包括在空余区信息5中的被布置的空余区中时,如果被移动单元相对于前级布线长度的单元移动距离和相对于后一状态布线长度的单元移动距离的比值不大于预定值,则执行下面的步骤。换句话说,提取出用于串扰校正的备用物6,其中将违规布线部分的驱动单元或下级驱动单元移动到将被布置的空余区,从而缩短他们的并行布线部分,校正了串扰违规。该单元移动使得违规并行布线部分更短从而抑制了并行布线长度违规。上述的预定值是基于技术、版面设计和电路,它是通过例如SPICE模拟而预先获得的,其中上述预定值抑制了由单元移动导致的前一状态网络和后一状态网络的延迟值的变化。
在布置和布线步骤S4中,根据用于串扰校正的备用物6来移动和布置单元从而将布线连接到单元的输入针。
在并行布线长度的第二检测步骤S5中,检测改变的部分是否导致新的并行布线长度违规。当这种违规出现时,返回布置和布线的步骤S4重复执行。
下面将说明以本发明上述方式工作的校正串扰的方法的具体例子。
参照图4A,在受影响网络附近布置了相邻布线105,根据受影响网络的驱动单元101的驱动能力,相邻布线105的并行布线长度大于在图3所示的并行布线长度可用值数据1中包括的值,因此图4A示出并行布线长度违规的一个例子。在这种情况下,由于通过在布线线路上搜索可布置一个单元的空余区102后发现存在可布置的空余区,因此对受影响网络的驱动单元101或下级驱动单元104进行布置。此时,如果被移动单元相对于前级布线长度的单元移动距离和相对于后一状态布线长度的单元移动距离的比值不大于预定值,则将受影响网络的驱动单元101或下级驱动单元104移动以进行布置。
在图4B中,将受影响网络的驱动单元101向右移动以便进行布置和布线。
在图4C中,将受影响网络的下级的驱动单元104向左移动以便进行布置和布线。
如上所述,根据本实施例,超出并行布线长度可用值范围的并行布线的驱动单元或下级驱动单元被移动到并行布线走线上,从而可防止由于串扰引起延迟变化和逻辑反相超出他们的可用值范围。
(实施例3)
图5示出根据本发明第三实施例用于校正串扰的方法(受影响网络逻辑再合成)的流程图,图6A、6B和6C示出他们的具体例子。
在图5中,S1、S2、S4和S5表示与图1所示的第一实施例中相似的步骤。S3b表示受影响网络逻辑合成的步骤。附图标记1-6与图1所示的第一实施例中所指示的单元相同。附图标记7表示逻辑连接信息。
参照图6A和6B,附图标记111表示受影响网络#1的驱动单元“与”门;附图标记112表示受影响网络#1布线;附图标记113表示受影响网络#2驱动单元;附图标记114表示受影响网络#2的输出端¥1布线;附图标记115表示受影响网络#2的输出端¥2布线;附图标记116表示下级驱动单元的输出端¥1;附图标记117表示下级驱动单元输出端¥2;附图标记118表示影响网络§1驱动单元;附图标记119表示影响网络§1布线;附图标记120表示影响网络§1下级驱动单元;附图标记121表示影响网络§2驱动单元;附图标记122表示影响网络§2布线;附图标记123表示影响网络§2下级驱动单元;附图标记124表示从“与”门111划分出的“与非”门;附图125表示从“与”门111划分出的反相器;附图126表示一缓冲器,驱动单元113被划分到里面作为布线114上的一输出端;附图标记127表示一缓冲器,驱动单元113被划分到里面作为布线115上的一输出端。
根据具有本实施例的上述结构的校正串扰的方法,其工作方式如下所述。
参照图5,在并行布线长度的第一检测步骤S1中,参照并行布线长度可用值的输入数据1,提取出并行布线长度违规信息4。
在搜索空余区的步骤S2中,参考输入的版面数据2和输入的单元面积信息3,通过搜索是否可以在包括在并行布线长度违规信息4中的违规布线走线上布置一个新的单元,来提取可用于布置的空余区的信息5。
在受影响网络逻辑合成的步骤S3b中,根据输入的逻辑连结信息7对包括超出了并行布线长度的布线的网络部分进行逻辑再合成,从而提取出一用于串扰校正的备用物。此时,通过逻辑分解增加了单元的数目,且划分出的单元被布置在空余区中以缩短布线上的并行部分。或者,改变网络的输出端从而降低受影响网络的转换速率(信号传输时间)。这样,可缩短违规并行布线部分从而抑制并行布线长度违规。
在布置和布线步骤S4中,根据用于串扰校正的备用物6来移动和布置单元从而将布线连接到单元的输入针。
在并行布线长度的第二检测步骤S5中,检测改变的部分是否导致新的并行布线长度违规。当这种违规出现时,返回布置和布线的步骤S4重复执行。
下面将说明以本发明上述方式工作的校正串扰的方法的具体例子。
参照图6A,这里有包括受影响网络#1布线112和影响网络§1布线119组成的并行布线、受影响网络#2的输出端¥1布线114和影响网络§1布线119组成的并行布线、受影响网络#2的输出端¥2布线115和影响网络§2布线122组成的并行布线。每个并行布线的长度都大于包括在图5所示的并行布线长度可用值的数据1中的值,图5中示出并行布线长度违规。在这种情况下,在布线走线上搜索可布置单元的空余区。
随后,在图5所示的受影响网络逻辑合成的步骤S3b中所示,将受影响网络#1得驱动单元“与”门111逻辑分解为“与非”门124和反相器125,将受影响网络#2的驱动单元113划分为作为输出端的缓冲器126和缓冲器127,从而将划分的单元布置在空余区中。
如上所述,根据本实施例,通过逻辑再合成将超出并行布线长度可用值范围的并行布线的驱动单元或下级驱动单元逻辑分解,改变了输出端的数目从而增加了违规布线上的单元,这样可防止由于串扰引起延迟变化和逻辑反相超出他们的可用值范围。
(实施例4)
图7示出根据本发明第四实施例用于校正串扰的方法(对影响和受影响网络全部进行逻辑再合成)的流程图,图8A、8B和8C示出他们的具体例子。
在图7中,S2和S4表示与图1所示的第一实施例中相似的步骤。S1a表示第一串扰分析步骤;S3c表示对影响和受影响网络全部进行逻辑合成的步骤;S5a表示第二串扰分析步骤。附图标记2-7与图5所示的第三实施例中所指示的单元相同。附图标记8表示RC信息;附图标记9表示分析限制信息;附图标记10表示延迟数据库;附图标记11表示串扰分析数据库;附图标记12表示定时限制窗口数据;附图标记13表示串扰违规信息。
在附图8A、8B和8C中,与图6A和6B所示的第三实施例中相同的附图标记的说明这里省略。附图标记128和129表示用于逻辑反相的反相器。
根据具有本实施例的上述结构的校正串扰的方法,其工作方式如下所述。
参照图7,在第一串扰分析步骤S1a中,在保持定时限制窗口的同时,根据已经输入的逻辑连结信息7、RC信息8、分析限制信息9、延迟数据库10、串扰分析数据库11,对由于同时传输导致的串扰所引起的延迟变化执行延迟计算和定时限制分析。然后,提取出串扰违规信息13和定时限制窗口数据12,该串扰违规信息13包括在一路径中产生串扰的布线,其中在该路径中由于串扰也产生了定时限制违规。
在搜索空余区的步骤S2中,参考输入的版面数据2和输入的单元面积信息3,搜索是否可以在产生了串扰和随之发生的延迟变化的布线走线上布置一个新的单元,其中该布线走线包括在串扰违规信息13中,然后提取可用于布置的空余区的信息5。
在影响和受影响网络的逻辑合成的步骤S3c中,参考空余区信息5和定时限制窗口数据12,将产生了串扰的布线网络的影响侧和受影响侧的逻辑进行分解,将同步的同相传输转换为反相传输(或反相传输转换为同相传输),改变由于产生的串扰而加速(或减速)的延迟变化,从而相对于定时限制限制保持稳定侧。这样,提取出用于串扰校正的备用物6,从而使串扰影响变得无害。
在布置和布线步骤S4中,根据用于串扰校正的备用物6来移动和布置单元从而将布线连接到单元的输入针。
在第二串扰分析步骤S5a中,检测改变的电路是否导致新的串扰违规。当这种违规出现时,返回布置和布线的步骤S4重复执行。
下面将说明以本发明上述方式工作的校正串扰的方法的具体例子。
在图8A所示的电路中,通过使用逻辑连结信息7、RC信息8、分析限制信息9、延迟数据库10和串扰分析数据库11,在图7中的第一串扰分析步骤S1a中,不考虑由于串扰引起的延迟变化的情况下执行延迟计算,从而分析定时限制,然后提取出定时限制窗口数据。然后假设在具有耦合电容且同时传输的网络间产生由串扰引起的延迟变化,根据串扰对网络执行延迟计算,以便于分析定时限制,且更新定时限制窗口数据(图8B)。重复该更新直到定时限制窗口数据不再变化。
假设图8A受影响网络#2中包括下级驱动单元116的输出端¥1和下级驱动单元117的输出端¥2的路径导致产生违规。则图8B所示的定时限制窗口数据表示影响网络§1的定时限制窗口符合受影响网络#1和#2的定时限制窗口,产生串扰。相反,影响网络§2的定时限制窗口与受影响网络#2的定时限制窗口不相符,不产生串扰。相应的,在串扰分析步骤中,影响网络§1和受影响网络#1,以及影响网络§1和受影响网络#2都是校正的目标,他们都包括在串扰违规信息中。
在图7的搜索空余区的步骤S2中,在影响网络§1布线119和受影响网络#1布线112和受影响网络#2的输出端¥1布线114的路线上搜索空余区,并将结果包括在空余信息5中。
根据空余区信息5和定时限制窗口数据12,在考虑影响网络和受影响网络的逻辑分析步骤S3c中的逻辑分解、逻辑反相或输出端数目变化之后,选择出用于使影响网络§1的逻辑反相的备用物。如图8C的电路所示,在影响网络§1中,缓冲器118改变为反相器128,缓冲器120改变为反相器129。当影响网络的逻辑被反相时,影响网络§1和受影响网络#1以及影响网络§1和受影响网络#2的同步传输从同相传输改变为反相传输。这样,由串扰引起的延迟变化就从减速变为加速,从而改进了产生违规的定时限制。
如上所述,根据本实施例,根据由串扰引起的定时限制限制违规路径,通过逻辑再合成改变了信号传输的定时限制从而使信号传输方向颠倒。或者通过输出端的变化改变了负载。这样可以防止出现串扰延迟变化。如果向更加无害的方向改变,则可以防止由于串扰引起定时限制限制的违规。
(实施例5)
图9示出根据本发明第五实施例用于校正串扰的方法(通过逻辑再合成校正定时限制限制违规)的流程图,图10A、10B、10C、10D和10E示出他们的具体例子。
参照图9,S1b表示提取将要被校正的网络的步骤;S3d表示对定时限制限制违规路径进行逻辑合成的步骤。附图标记14表示曲线数据;附图标记15表示将被校正的网络的信息。由于其他部件与第四实施例的图7中的部件相似,且相同的附图标记表示相同的部件,这里不再赘述。
参照附图10A、10B、10C、10D和10E,附图标记130表示移动以改变输出端位置的缓冲器;附图标记131表示受影响网络#1的输出端¥1布线;附图标记132表示受影响网络#1的下级的输出端¥2布线;附图标记133表示受影响网络#1的下级驱动反相器的输出端¥1;附图标记134表示保持违规;附图标记135表示产生违规;附图标记136表示中继缓冲器;附图标记137表示缩小的中继缓冲器。由于其他部件与图6所示的第三实施例的相同,且相同的附图标记表示相同的部件,因此这里不再赘述。
根据具有本实施例的上述结构的校正串扰的方法,其工作方式如下所述。
参照图9,在第一串扰分析步骤S1a中,在保持定时限制窗口的同时,根据已经输入的逻辑连结信息7、RC信息8、分析限制信息9、延迟数据库10、串扰分析数据库11,对由于同时传输导致的串扰所引起的延迟变化执行延迟计算和定时限制分析。然后,提取出曲线数据14和定时限制窗口数据12,该曲线数据14包括定时限制限制违规路径。
在提取将要被校正的网络的步骤S1b中,根据定时限制限制违规路径上的网络,提取出将要被校正的网络的信息15,该网络在相邻布线之间的耦合电容超出了预定值。该用于耦合电容的预定值是相邻布线的耦合电容与一备用值之间的比值和总布线电容的函数,通过预先对备用值进行模拟可获得一由延迟变化改进的值。
在搜索空余区的步骤S2中,参考输入的版面数据2和输入的单元面积信息3,搜索是否可以在定时限制限制违规路径的布线走线上布置新的单元,该布线走线中相邻布线之间的耦合电容超出了预定值,且它包括在将要被校正的网络的信息15中,然后提取可用于布置的空余区的信息5。
在定时限制限制违规路径的逻辑合成的步骤S3d中,参考空余区信息5和定时限制窗口数据12,执行逻辑合成,将包括相邻布线部分的各网络进行分解或者改变其输出端的数据,从而找到相邻布线之间的信号传输为同步的布线,在保持违规的情况下,将传输转换为同相,而在产生违规的情况下,将其转换为反相。这样,提取出用于串扰校正的备用物6,它由于串扰产生延迟变化加速(或减速)。
在布置和布线步骤S4中,根据用于串扰校正的备用物6来移动和布置单元从而将布线连接到单元的输入针。
在第二串扰分析步骤S5a中,检测改变的电路是否导致新的串扰违规。当这种违规出现时,返回布置和布线的步骤S4重复执行。
下面将说明以本发明上述方式工作的校正串扰的方法的具体例子。
在图10A所示的电路中,这里有包括受影响网络#1布线112和影响网络§1布线119的并行布线以及包括受影响网络#2的输出端¥1布线114和影响网络§1布线119的并行布线。根据在图9的第一串扰分析步骤S1a中已经输入的逻辑连结信息7、RC信息8、分析限制信息9、延迟数据库10、串扰分析数据库11,对由串扰所引起的延迟变化执行延迟计算和定时限制分析。然后,对于所有被分析的路径,提取出图10B所示的曲线数据,对于图10A所示的电路部分,提取出图10C所示的定时限制窗口数据12。
第一串扰分析步骤S1a是这样的,通过不考虑由于串扰引起的延迟变化而执行延迟计算,提取出定时限制窗口数据。随后,假设在具有耦合电容且同步传输的网络之间的出现由串扰引起的延迟变化,则考虑串扰对网络执行延迟计算,分析定时限制并更新定时限制窗口数据12。重复这种更新直到定时限制窗口数据12不变为止。
假设包括图10A的受影响网络#2的下级驱动单元116的输出端¥1和下级驱动单元117输出端¥2的路径导致保持违规。换句话说,在图10B所示的曲线数据中,这些路径包括在区域134中。
在图9的搜索空余区的步骤S2中,在包括影响网络和受影响网络的路径的布线走线上搜索空余区。
在图9所示的提取要进行校正的网络的步骤S1b中,从曲线数据中提取出具有耦合电容的受影响网络#1、受影响网络#2和影响网络§1。此时,指示各网络中信号传输的示线窗口数据12如图10C中所示。影响网络§1和受影响网络#1的信号传输定时限制彼此不符。
在图9所示的搜索空余区的步骤S2中,在包括影响网络§1、受影响网络#1和受影响网络#2的路径的布线走线上搜索空余区,从而将结果包括在空余区信息5中。
根据空余区信息5和定时限制窗口数据12,在影响网络§1的定时限制没问题的情况下,不论影响网络§1的定时限制是否改变,在图9的定时限制限制违规路径逻辑合成步骤S3d中,都将考虑颠倒影响网络§1的逻辑,或者改变输出端的数目。然后,使包括影响网络§1的路径上的中继缓冲器136的单元尺寸减小,从而使中继缓冲器137和“与”门136变为“与非”单元124。另外,受影响网络#2的驱动单元116的输出端¥1被改变为反相器133从而改变受影响网络#1的逻辑。另外,将受影响网络#2驱动单元113移动到130所指示的点,并选择用于改变受影响网络#2的输出端数目的备用物。图10E示出改变后的电路。如图10D所示,这些变化允许影响网络§1和受影响网络#1的信号同时和同相传输,从而产生加速延迟的串扰。
如上所述,对于定时限制限制违规路径,通过逻辑合成改变信号传输定时限制从而改变信号传输的方向或通过输出端的改变而改变负载。这产生串扰延迟变化,其中延迟向与定时限制违规相反的方向改变,从而通过由串扰引起的延迟变化消除了定时限制违规。
如上所述,根据本发明,提供了缓冲器划分、单元移动或逻辑合成定时限制等校正串扰的最佳方法,其中在不增加面积和功率消耗的同时校正了定时限制限制违规和功能错误。
从上面的描述,可以理解本发明的技术方案。