专利名称:串扰检验方法
技术领域:
本发明涉及一种用于检验由半导体集成电路的布线设计中相邻线路之间的相邻线路之一的信号跃迁造成的串扰的串扰检验方法,所述半导体集成电路是通过经单元间线路连接基本逻辑单元或功能宏模块构成的。
背景技术:
参考图13至17描述现有技术。
串扰是在相邻线路之间产生的,相邻线路之一中的信号改变干扰了另一条相邻线路上的信号的现象。图13A,13B,14A和14B示出了一个实例。
假设由驱动单元C51。线路L51和被驱动单元C52组成的路径是发出串扰影响的攻击方;相反,假设由驱动单元C53。线路L52和被驱动单元C54组成的路径是受到串扰影响的受害方。
图13A示出了不考虑串扰情况下的设计技术。这种情况下,由如电容Cp1或电容Cp2这样的接地电容表示线路L51和L52之间产生的偶合电容。在驱动单元C53驱动具有电容电容Cp2的线路L52的条件下计算驱动单元C53的输出信号波形W53或被驱动单元C54的输入信号波形W54。根据上述两个信号波形计算线路L52的线路延迟Dy1。当设计规则的范围是从约0.25μm到约0.35μm时,串扰的影响较小。因此,即使采用上述设计技术,从延迟的观点来看,与实际操作几乎没有什么差别。
然而,当设计规则变得更小并且线路之间的间隔变得很窄时,情况发生了变化。图13B示出了在线路L51和L52之间的间隔非常窄的情况下发生的串扰。偶合电容不表示为接地电容,而是表示为线路之间的电容,象电容Cp3那样。
如从图13A和13B所示情况之间的比较所清楚看到的,在延迟计算之后获得的驱动单元C53的输出信号波形W53a与输出信号波形W53不同。以同样方式,被驱动单元C54的输入信号波形W54a与输入信号波形W54不同。同样,根据输出信号波形W53a和输入信号波形W54a计算的线路延迟Dy2与线路延迟Dy1不同。
在驱动单元C51和C53的输出信号波形的跃迁方向彼此相同的情况下(例如,在两个跃迁方向从零变到VDD的情况下),由下面建立的不等式(1)到(3)表示这些关系。相反,在跃迁方向彼此不同的情况下,由下面建立的不等式(4)到(6)表示这些关系。在此,信号波形的倾角表示电压从零变到VDD或从VDD变到零期间的信号跃迁时间(即,它不表示上升或下降梯度)。
m53>n53(1)m54>n54(2)Dy1>Dy2 (3)m53<n53(4)m54<n54(5)Dy1<Dy2 (6)其中m53表示输出信号波形W53的倾角;n53表示输出信号波形W53a的倾角;m54表示输入信号波形W54的倾角;n54表示输入信号波形W54a的倾角。
随着偶合电容Cp3变大,通过不等式(1)到(6)获得的差值变大。此外,随着发出串扰影响的攻击方上的信号波形的倾角率η相对于受到串扰影响的受害方变大,该差值也变大。在此,由根据下面的等式(7)计算的值表示信号波形的倾角率η。
η=kvic/kagg (7)其中kvic表示受害方的信号波形的倾角;相反,kagg表示攻击方的信号波形的倾角。
换句话说,信号波形的倾斜率η表示由输出信号波形W53的倾角驱动的输出信号波形W53a的倾角。当设计规则变为0.18μm或0.10μm那样精细时,偶合电容变大。结果是,不等式(1)到(6)中的每一个中表示的右侧和左侧之间的差值变大,以致于在时序设计方面不能忽略该差值。
此外,可能由串扰产生的低频干扰(须状脉冲)引起误操作。图14A示出了在偶合电容被表示为接地电容的情况下,来自驱动单元C51的输出被改变,而来自被驱动单元C53的输出没有任何改变的状态。这种情况下,在驱动单元C51和C53之间没有偶合电容,因此,驱动单元C51和C53彼此独立,于是,来自驱动单元C53的输出中不包括低频干扰。
然而,在图14B所示的存在偶合电容Cp3的情况下,在由驱动单元C51的输出信号波形W51的变化引起的来自驱动单元C53的输出中出现低频干扰G1。当低频干扰G1较大时,低频干扰通过线路L52和被驱动单元C54传播,然后到达连接到被驱动单元C54的触发器FF1。如果在低频干扰到达触发器FF1的时刻将时钟输入到触发器FF1,出现如下所述的错误。就是说,虽然触发器的输出信号波形W55应该固有为零,它被作为从零到VDD转变的信号W55c输出。在此,该逻辑翻转,于是,在下面的路径上引起误操作。
鉴于此,已经建立了能够对付上述环境的技术。该技术之一是在布线期间提取和校正有可能出现串扰的部分的方法。另外,还有一种在布线完成之后验证发生串扰的方法。
首先,参考图15描述在布线完成后提取发生串扰的部分的方法。
在P&R过程的步骤S81中,利用由接地电容表示的线路之间的偶合电容,考虑一个时序来产生布线30。
然后,在RC提取过程的步骤S82中,输入布线30,然后提取具有其中描述的线路电阻和电容元件的RC信息。在RC信息31中描述了偶合电容如同线路间电容。
接下来,根据RC信息31计算构成布线30的单元和线路的延迟时间。利用计算的延迟信息执行时序分析。在进行时序分析时,在单元的每个输入/输出端获得有关信号跃迁时序的信息,作为时序信息32输出。
此后,在噪声分析过程的步骤S84中,首先,根据时序信息32对所有单元检验信号跃迁时序。随后,描绘出产生偶合电容的相邻线路,然后,提取每个相邻线路上的驱动单元。对提取的单元检验时序信息32,然后检验信号跃迁时序。也就是说,检验相邻线路之间的时序窗口是否彼此重叠。如果时序窗口彼此重叠,则输出校正信息。针对上述时序检验和时序窗口之间的重叠来评估所有单元。计算由串扰引起的延迟中的波动,从而执行静态时序验证。结果是,报告不满足该时序条件的路径和抑制该满足的目标的位置,从而找到要校正的部分。
接下来,下面给出在布线阶段找到串扰发生部分的方法。
通常,布线工具包括以与如上所述相同的方式检验由串扰引起的延迟中的波动造成出现时序误差的部分的方法,和通过限制相邻线路之间的并行线路的长度来防止任何串扰的技术。在图16所示的并行线路长度提取过程的步骤S91中,如图17所示,在相邻线路之间具有并行线路长度L61的并行线路被包括在布线40中的情况下,确定并行线路的长度是否为基准值41或更短。如果该长度大于基准值41,则确定在线路上发生了串扰,从而执行布线校正。
如上所述,存在着数种用于检验串扰发生部分的方法。在用于检验串扰发生部分的方法中,考虑布线后的时序,在需要校正的情况下需要实质的工作,从而增加工时的数量。另外,在布线后,即在诸如进行时钟一致之类的时序之后,难以进行校正。
作为替换,在检验发生串扰部分的方法中,在布线期间,利用统一的并行线路长度进行检验,因此,明显增加了发生串扰部分的数量。因此,延长了校正时间,或增加了校正发生串扰的部分的面积。
发明内容
鉴于现有技术中观察到的上述问题,本发明的一个主要目的是提供一种串扰检验方法,该方法可减少处理工时的数量,可抑制面积的增加或电功耗,并可减少缺乏产品的发生率。
从下面的描述中将使根据本发明的其它目的,特征和优点更加明显。
为了解决上述问题,对用于检查由通过单元间线路将基本逻辑单元或功能宏模块彼此连接构成的半导体集成电路中的相邻线路之一上的信号跃迁造成的串扰的串扰检验方法,根据本发明采用下述装置。
作为第一种解决手段,构成根据本发明的串扰检验方法,以便包括如下描述的多个过程并行线路长度提取过程和依据间距的并行线路长度检验过程。在并行线路长度提取过程中,输入布线和依据间距的基准值,以便提取相邻线路之间的并行线路长度。依据间距的基准值包括根据线路间距的不同并行线路长度的限定值。在依据间距的并行线路长度检验过程中,针对并行线路长度提取过程中提取的相邻线路计算线路间距,然后,将相邻线路之间的并行线路长度与依据间距的基准值比较。结果是,如果并行线路长度较大,则确定在线路的一个部分发生串扰。
通过该结构,由于根据相邻线路之间的线路间距(即,依据间距的基准值)来提供并行线路长度的限定值,在现有技术中利用统一并行线路长度的限定值已经连接的部分不用连接。因此,能够抑制不必要的单元插入或单元定尺寸,以便减小处理工时的数量。此外,能够抑制面积或电功耗的增加。
作为第二种解决方案,构成根据本发明的串扰检验方法,以便包括如下所述的多个过程并行线路长度提取过程和依据驱动能力的并行线路长度检验过程。在并行线路长度提取过程输入布线,并进一步根据用于驱动线路的单元的驱动能力输入包括不同并行线路长度的限定值的依据驱动能力的基准值,以便提取相邻线路之间的并行线路长度。此外,在依据驱动能力的并行线路长度检验过程中,针对在并行线路长度提取过程中提取的相邻线路来提取与用于驱动该线路的单元的驱动能力对应的依据驱动能力的基准值,然后,将其与相邻线路之间的并行线路长度进行比较,如果并行线路长度更大,则确定该线路是发生串扰的部分。
具有上述配置的功能如下串扰是一种相对于相邻线路之间的偶合电容,因借助电力充电,或在一条线路上进行电力充电期间,通过另一条线路上的电力放电来抑制电力充电而造成的时序改变或电压波动的现象。结果是,具有较强驱动能力的单元较少被对具有较弱驱动能力的单元外的偶合电容的电力充电或放电影响,从而减少串扰的影响。因此,并行线路长度的限定值可根据驱动能力的幅度而改变。利用这种配置,由于根据用于驱动线路的单元的驱动能力来提供并行线路长度的限定值(即,依据驱动能力的基准值),不对已利用现有技术中的统一并行线路长度的限定值校正的部分进行校正。因此,能够抑制不需要的单元插入或单元尺寸,以减小处理工时的数量。此外,能够抑制面积或能耗的增加。
作为第三种解决方案,构成根据本发明的串扰检验方法,以便包括如下所述的多个过程并行线路长度提取过程,时钟网提取过程和攻击方/受害方确定过程。在并行线路长度提取过程中,输入布线,并进一步输入包括并行线路长度的限定值的基准值,以便提取相邻线路之间的并行线路长度。此外,在时钟网提取过程中,利用网列表和时钟源的一点作为输入来追踪路径,然后,提取时钟网。另外,在攻击/受害确定过程中,相对于提取的网,在网列表中的单元输出端,利用包括信号波形的倾角的倾角信息作为输入,根据单元输出端的信号波形的倾角的幅度,将相邻线路分成受到串扰影响的线路和发出串扰影响的线路,于是,确定该网位于受到串扰影响的一侧。在此,在相邻线路外发出串扰影响的线路被称为“攻击方”;反之,受到串扰影响以致产生延迟波动或低频干扰的线路被称为“受害方”。
利用该配置,注意力在于时钟网验证是否在时钟网中发生串扰。当串扰使时钟网延迟或波动时,整个LSI中包括的偏斜被瓦解,从而增加了误操作的担忧。当发生低频干扰时,在未期望的时序产生时钟,从而引入逻辑误差,以致引入误操作。也就是说,这种关于时钟的设计,需要校正受害方。由于时钟网包括偏斜,不对该时钟网进行校正,但校正与此相邻的网。因此,能够解决市场供应不足,以提高产量。
作为第四种解决方案,构成根据本发明的串扰检验方法,以便包括如下所述的多个过程并行线路长度提取过程,延迟波动计算过程和延迟信息输出过程。在并行线路长度提取过程中,输入布线,并进一步输入包括并行线路长度的限定值的基准值,以便提取相邻线路之间的并行线路长度。此外,在延迟波动计算过程中,输入并行线路长度,并进一步输入延迟波动表,以便进行有关有多少延迟波动与并行线路长度提取过程中提取的并行线路长度相对应。延迟波动表描述了根据用于驱动并行线路的单元的驱动能力,在发生串扰的情况下波动的延迟波动。另外,在延迟信息输出过程中,输出在延迟波动计算过程中计算的延迟波动作为验证时序的延迟波动。
利用该配置,根据并行线路长度计算由串扰波动的延迟波动,然后,根据计算的延迟波动验证该时序,从而找出发生串扰的部分。即使相邻线路之间的并行线路长度较大,也不需要在具有足够时序的部分校正大的并行线路长度,从而减少校正所需的工时的数量。
作为第五种解决方案,构成根据本发明的串扰检验方法,以便包括如下所述的多个过程并行线路长度提取过程,驱动能力确定过程和依据驱动能力的并行线路长度检验过程。在并行线路长度提取过程中,输入布线,并进一步输入包括并行线路长度的限定值的基准值,以便提取相邻线路之间的并行线路长度。此外,在驱动能力确定过程中,输入包括延迟信息的程序库,并进一步输入具有多个驱动能力的标准主单元,从而相对于具有诸如IP模块之类未知驱动能力的目标单元模块,根据有关程序库中的输出信号的波形倾角的信息,计算主单元的依据驱动能力的驱动能力的确定值,然后,计算该目标单元模块的驱动能力的确定值,以便通过比较来确定目标单元模块的驱动能力。在此,主单元表示被登记为诸如反相器或缓存器之类的标准单元并为其准备多个驱动能力的单元。在依据驱动能力的并行线路长度检验过程中,在由目标单元模块驱动相邻线路的情况下,相对于并行线路长度提取过程中提取的相邻线路,根据与驱动能力确定过程中确定的驱动能力对应的并行线路长度的限定值来确定串扰。
具有上述配置的功能如下在从公司外部引进IP模块或单元的情况下,驱动能力的概念与其拥有的公司的概念不同是常见的,此外,引进的IP模块或单元的驱动能力在许多情况下是不清楚的。对于具有未知驱动能力的目标单元模块,确定驱动能力,然后,检验发生串扰的部分。因此,识别实际要校正的部分,于是,在抑制不需要面积增加的同时,可校正布线。
作为第六种解决方案,构成根据本发明的串扰检验方法,以便包括如下所述的多个过程并行线路长度提取过程,边界信息提取过程,分层构筑过程和并行线路长度检验过程。在并行线路长度提取过程中,输入按分层设计的布线,并进一步输入包括并行线路长度的限定值的基准值,以便依据分层提取相邻线路之间的并行线路长度。此外,在边界信息提取过程中,根据每个分层的网列表检验跨层的线路之间的连接关系。另外,在分层构筑过程中,相对于跨层的相邻线路的相同网,通过将该分层中提取的并行线路长度相加来计算跨层的并行线路长度。另外,在并行线路长度检验过程中,将跨层的并行线路长度与预定的基准值进行比较,从而确定发生串扰的部分。
利用该配置,即使采用分层设计,在分层开发状态也能检验并行线路长度,从而减轻串扰的不利影响。
从下面结合附图对本发明所做的描述将使本发明的上述和其它方面变得显而易见。
图1是说明根据本发明的第一实施例,在串扰检验方法中确定布线中发生串扰的部分的过程中,根据线路间距作为比较基准的确定结果,以改变并行线路长度的限定值的技术的流程图;图2A和2B是说明图1的特定实例的示意图;图3是说明根据本发明的第二实施例,在串扰检验方法中确定布线中发生串扰的部分的过程中,根据驱动单元的线路的驱动能力,来改变对并行线路长度的限定的技术的流程图;图4A和4B是说明图3的特定实例的示意图;图5是说明根据本发明的第三实施例,在串扰检验方法中确定布线中发生串扰的部分的过程中,在注意时钟线路的同时检验并行线路长度的技术的流程图;图6A和6B是说明图5的特定实例的示意图;图7是说明根据本发明的第四实施例,在串扰检验方法中确定布线中发生串扰的部分的过程中,根据相邻线路之间的并行线路长度计算延迟波动以便验证时序的方法的流程图;图8A和8B是说明图7的特定实例的示意图;图9是说明根据本发明的第五实施例,在串扰检验方法中确定布线中发生串扰的部分的过程中,针对具有诸如IP之类的未知驱动能力的模块/单元来确定驱动能力,以便限定并行线路长度的方法的流程图;图10是说明图9所示的驱动能力确定过程的详细子过程的流程图;图11是说明根据本发明的第六实施例,在串扰检验方法中确定布线中发生串扰的部分的过程中,针对分层设计检验跨层的彼此相邻的相邻线路之间的并行线路长度的方法的流程图;图12A和12B是说明图11所示的并行线路长度检验方法的特定实例的示意图;图13A和13B是说明串扰现象的示意图;图14A和14B是说明串扰现象的另一个示意图;图15是考虑串扰的常规设计流程图;图16是说明在布线时常规串扰处理方法的流程图;和图17是说明图16的特定实例的示意图。
在所有这些附图中,相同的部分用相同的数字指示。
具体实施例方式
下面参考附图描述根据本发明优选实施例的串扰检验方法。
(第一实施例)下面描述根据本发明第一实施例中的串扰检验方法。
图1是说明在确定布线中发生串扰的部分的过程中,根据线路间距作为比较基准的确定结果,来改变并行线路长度的限定值的技术的流程图;图2A和2B是说明图1的特定实例的示意图。
在图1中,步骤S11表示并行线路长度提取过程;步骤S12表示依据间距的并行线路长度检验过程;参考数字11表示依据间距的基准值;参考数字10表示布线。
在图2A和2B中,参考字符C11至C18表示单元;L11和L12表示相邻线路之间的并行线路长度;T11和T12表示依据间距的并行线路长度的限定值,在依据间距的基准值11中描述了限定值;D11和D12表示线路间距,每个线路间距表示相邻线路的线路中部之间的距离。
在并行线路长度提取过程的步骤S11中,根据布线10和依据间距的基准值11来提取相邻线路之间的并行线路长度。此时,要被参考的并行线路长度的限定值是在依据间距的基准值11中描述的依据间距的并行线路长度之外的最小值。
下面解释依据间距的基准值11。依据间距的基准值11中描述了依据线路间距的不同并行线路长度的限定值。已利用诸如“hspice”之类的电路模拟器预先获得了依据线路间距的并行线路长度的限定值。
下面描述线路间距与并行线路长度的限定值之间的关系。如图2A和2B所示,线路间距D11和线路间距D12之间的关系满足下面的不等式(8)D11<D12(8)这种情况下,并行线路长度的限定值T11和并行线路长度的限定值T12之间的关系满足下面的不等式(9)T11<TD12 (9)随着线路间距变大,相邻线路之间的偶合电容变小。结果是,串扰的影响变小。因此,由于串扰的影响随着变大的线路间距而变小,并行线路长度的限定值变大。
接下来,在依据间距的并行线路长度检验过程的步骤S12中,根据与线路间距对应的并行线路长度的限定值来检验并行线路长度。在图2A和2B所示的实例中,作为与线路间距D11对应的并行线路长度的限定值T11和并行线路长度L11的比较结果,发现并行线路长度L11较大,因此,确定该对相邻线路是发生串扰的部分。接下来,作为与线路间距D12对应的并行线路长度的限定值T12和并行线路长度L12的比较结果,发现并行线路长度L12较短,因此,确定该对相邻线路不是发生串扰的部分。下文中,相对于所有相邻线路执行相同的处理,以便确定该线路是否是发生串扰的部分。在发生串扰的部分,校正布线,在未发生串扰的部分,不校正布线。
如上所述,提供与相邻线路之间的线路间距对应的并行线路长度的限定值,以便与现有技术相比可以更多地减少布线校正部分的数量。在现有技术中,该处理是根据并行线路长度的统一限定值进行的。因此,能够减少处理工时的数量,并进一步抑制面积的增加。此外,通过确定不对在现有技术中已校正的部分进行校正,可防止不必要的单元插入或单元定大小,从而产生抑制电能耗增加的效果。
(第二实施例)下面描述根据本发明第二实施例中的串扰检验方法。
图3是说明在确定布线中发生串扰的部分的过程中,根据驱动单元的线路的驱动能力来改变并行线路长度的限定值的技术的流程图;图4A和4B是说明图3的特定实例的示意图。
在图3中,步骤S21表示并行线路长度提取过程;步骤S22表示依据驱动能力的并行线路长度检验过程;参考数字12表示依据驱动能力的基准值。在图4A和4B中,参考字符C21至C28表示单元;L21表示作为在要由单元C21和C23驱动的相邻线路彼此并行的部分的长度的并行线路长度;L22表示要由单元C25和C25驱动的相邻线路之间的并行线路长度;T21和T22表示依据驱动能力的并行线路长度的限定值,在依据驱动能力的基准值中描述了该限定值。
在并行线路长度提取过程的步骤S21中,根据布线10和依据驱动能力的基准值12来提取相邻线路之间的并行线路长度。此时,在提取中使用的并行线路长度的限定值是在依据驱动能力的基准值12中描述的最小值。
下面解释依据驱动能力的基准值12。依据驱动能力的基准值12中描述了驱动单元的线路的依据驱动能力要检验的并行线路长度的限定值。已利用诸如“hspice”之类的电路模拟器预先获得了依据驱动能力的并行线路长度的限定值。下面描述驱动能力与并行线路长度的限定值之间的关系。单元C21的驱动能力与单元C25的驱动能力之间的关系满足下面的不等式(10)单元C21的驱动能力>单元C25的驱动能力(10)这种情况下,并行线路长度的限定值T21和并行线路长度的限定值T22之间的关系满足下面的不等式(11)T21>TD22 (11)随着驱动能力变强,对相邻线路之间的偶合电容的电充电力和电放电力变强。串扰是一种针对相邻线路之间的偶合电容,因借助电力充电,或在一条线路上进行电力充电期间,通过另一条线路上的电力放电来抑制电力充电而造成的时序改变或电压波动的现象。因此,偶合电容对电力充电或来自比具有较小驱动能力的另一个具有较强驱动能力的电力放电的影响相对不易受到影响,因此减少了串扰的影响。结果是,能够根据驱动能力的幅度改变并行线路长度的限定值。
接下来,在依据驱动能力的并行线路长度检验过程的步骤S22中,根据与线路驱动单元的驱动能力对应的并行线路长度的限定值来检验并行线路长度。在图4A和4B所示的实例中,作为与单元C21的驱动能力对应的并行线路长度的限定值T21和并行线路长度L21的比较结果,发现并行线路长度L21较短,因此,确定该对相邻线路不是发生串扰的部分。接下来,作为与单元C25的驱动能力对应的并行线路长度的限定值T22和并行线路长度L22的比较结果,发现并行线路长度L22较长,因此,确定该对相邻线路是发生串扰的部分。下文中,针对所有相邻线路执行相同的处理,以便确定该线路是否是发生串扰的部分。在发生串扰的部分,校正布线,在未发生串扰的部分,不校正布线。
如上所述,提供与线路驱动单元的驱动能力对应的并行线路长度的限定值,以便与现有技术相比可以更多地减少布线校正部分的数量。在现有技术中,该处理是根据并行线路长度的统一限定值进行的。因此,能够减少处理工时的数量,并进一步抑制面积的增加。此外,通过确定不对在现有技术中已校正的部分进行校正,可防止不必要的单元插入或单元定大小,从而产生抑制电能耗增加的效果。
(第三实施例)下面描述根据本发明第三实施例中的串扰检验方法。
图5是说明在确定布线中发生串扰的部分的过程中,在注意时钟线路的同时检验并行线路长度的技术的流程图;图6A和6B是说明图5的特定实例的示意图。
在图5中,步骤S31表示并行线路长度提取过程;步骤S32表示时钟网提取过程;步骤S33表示攻击方/受害方确定过程;参考数字14网列表;参考数字15表示有关每个单元的信号波形倾角的信息。在图6A和6B中,参考字符C31和C32表示时钟线上的单元;C33和C34表示正常信号线上的单元;K31表示单元C31的输出端的信号波形的倾角;K33表示单元C33的输出端的信号波形的倾角;C35和C36表示另一条时钟线上的单元;C37和C38表示另一条正常信号线上的单元;K35表示单元C35的输出端的信号波形的倾角;K37表示单元C37的输出端的信号波形的倾角。
在并行线路长度提取过程的步骤S31中,根据布线10和基准值13提取相邻线路之间的并行线路长度。在此提取的相邻线路是图6A和6B所示的两条相邻线路。
此后,在时钟网提取过程的步骤S32中,利用作为输入的网列表14和时钟源的一点追踪一条路径,从而提取构成时钟的网。下面假设提取由图6A和6B所示的单元C31驱动的线路和单元C35驱动的线路作为按上述时钟网提取的时钟网进行解释。
此后,在攻击方/受害方确定过程的步骤S33中,利用有关作为输入的信号波形的倾角的信息15,根据在每个单元的输出端的信号波形的倾角,确定在时钟网提取过程的步骤S32中提取的网是否是受害方。在此,信号波形的倾角表示电压从零变到VDD或从VDD变到零的信号跃迁时间。换句话说,信号波形的倾角表示跃迁时间,而不是梯度。此外,攻击方是指发出串扰影响的线路;相反,受害方是指受到串扰影响,以致产生延迟波动或低频干扰的线路。
下面详细描述确定方法。在图6A中,将在单元C31的输出端的信号波形的倾角K31与在单元C33的输出端的信号波形的倾角K33比较。这些信号波形的倾角是倾角信息15中描述的信息,并且在攻击方/受害方确定过程的步骤S33中被读出。在图6A的情况下,信号波形的倾角K31与信号波形的倾角K33之间的关系满足下面的不等式(12)(其中,信号波形的倾角满足跃迁时间,而不是梯度)K31>K33(12)在不等式(12)表示的关系的情况下,由于信号波形的倾角K31较大,确定由单元C31驱动的时钟线是受害方。相反,如图6B所示,建立不等式(13)中表示的关系,则确定由单元C35驱动的时钟线是攻击方。
K35<K37(13)下文中,对于所有相邻线路,通过比较信号波形的倾角幅度来确时钟线是攻击方还是受害方。
最后,确定在时钟网提取过程的步骤S32中已经提取的时钟网是否是受害方。如果有一个作为受害方的时钟网,则输出该时钟网。
在此,解释提取作为受害方的时钟网的意义。当串扰造成时钟网被延迟或波动时,整个LSI中的偏斜(skew)的结合被瓦解,因而可能引入误操作。此外,当发生低频干扰时,在不期望的时序产生时钟,从而产生逻辑错误,以致引入误操作。也就是说,考虑到串扰,由于从质量的观点来看出现了问题,因此需要校正时钟是受害方的设计。
在对时钟网的校正中,由于时钟网与偏斜结合,因此不是校正时钟网,而是校正相邻网。
如上所述,在注意时钟网的同时,通过验证是否在时钟网发生串扰,能够制造市场上缺乏的高可靠性的LSI,以增强产量的服务效果。
(第四实施例)下面描述根据本发明第四实施例中的串扰检验方法。
图7是说明在确定布线中发生串扰的部分的过程中,根据相邻线路之间的并行线路长度计算延迟波动的方法的流程图;图8A和8B分别是说明图7的特定实例的示意图。
在图7中,步骤S41表示并行线路长度提取过程;步骤S42表示延迟波动计算过程;步骤S43表示延迟信息输出过程;参考数字16表示延迟波动的表。在图8A和8B中,参考字符C41到C44表示单元;参考字符L41表示并行线路长度;参考数字16是表示并行线路长度,驱动能力和延迟波动之间的相互关系的表;参考数字17表示根据表16计算的延迟波动。
在并行线路长度提取过程的步骤S41中,根据布线10和基准值13提取相邻线路之间的并行线路长度。在此提取的相邻线路是图8A所示的相邻线路。由单元C41和C43分别驱动的线路在并行线路长度L41彼此相邻。根据来自单元C41和C43的输出信号的波形倾角,确定由单元C41驱动的线路是受害方。
此后,在延迟波动计算过程的步骤S42中,基准延迟波动的表16,根据并行线路长度L41和单元C41的驱动能力来计算由串扰波动的延迟,延迟波动的表16是表示并行线路长度和驱动能力之间的关系的表,按照任意内插算法内插表中的值。
此后,在延迟信息输出过程的步骤S43中,输出延迟波动计算过程的步骤S42中计算的结果作为延迟波动17。在用于指示延迟信息的方法中经常使用标准延迟格式(缩写为“SDF”),因此,用SDF的INCREMENTAL(增量)描述来表示延迟波动17。作为受害方的所有线路经历该延迟信息,于是利用有关作为输入的信号波形的生成了设计的延迟信息。
最后,通过根据延迟信息和未发生串扰时的延迟信息验证时序来规定发生由串扰引起的时序误差的部分。规定之后,针对发生时序误差的部分校正布线,以便能够避免由串扰造成的时序误差。
顺便指出,在本实施例中,虽然在表示并行线路长度和驱动能力之间关系的表中已经给出延迟波动的表16,如果通过加入诸如单元类型,线路间距或线路层之类的信息,使一个表包括了各种值,则能够进行相同的处理。此外,在各种条件下,已利用诸如“hspice”之类的电路模拟器预先准备了延迟波动的表16。
如上所述,根据并行线路长度或类似内容计算由串扰波动的延迟波动,然后验证该时序,以致能够找到发生串扰的部分。利用该技术,即使相邻线路之间的并行线路长度较大,在具有足够时序的部分不需要校正该设计,从而减少了校正工时。
(第五实施例)下面描述根据本发明第五实施例中的串扰检验方法。
图9是说明针对具有诸如知识产权(缩写为“IP”)之类的未知驱动能力的模块/单元,确定驱动能力的流程图,以便在确定布线中发生串扰的部分的过程中限定并行线路长度;图10是说明图9所示驱动能力确定过程的详细细分过程的流程图。
在图9中,步骤S51表示并行线路长度提取过程;步骤S52表示驱动能力确定过程;参考数字18表示延迟程序库。在图10中,步骤S61表示主单元驱动能力确定值生成过程;步骤S62表示目标单元驱动能力确定值计算过程;步骤S63表示目标单元驱动能力确定过程;参考数字19表示主单元;参考数字20表示目标单元。
首先,解释驱动能力。驱动能力是在单元输出级的晶体管结构的模型,其中可驱动容量的最大值根据晶体管的尺寸而改变。因此,通常制造各种具有相同功能而只是驱动能力不同的单元。由于在设计期间不知道该单元用在何处,因此,在要被驱动的容量较小的部分使用具有弱驱动能力的单元;相反,在要被驱动的容量较大的部分使用具有强驱动能力的单元。在此,驱动能力越强,晶体管的尺寸越大,从而增加了单元的面积。
例如,在具有反相器功能的单元的情况下,首先,开发具有基本驱动能力的反相器单元。然后,制备具有相同功能而只是驱动能力不同的数种单元,例如,相对于具有基本驱动能力的反相器单元具有双倍驱动能力的反相器单元,或具有三倍驱动能力的反相器单元。在此,确定基本驱动能力,或在许多情况下根据工艺制备具有数倍驱动能力的单元。如果改变使用的工艺,创作思想也被改变。因此,在从公司外部引入IP模块或单元的情况下,驱动能力的概念通常与其自己公司的概念不同,引入的IP模块或单元的驱动能力在许多情况下是不清楚的。
然而,由于串扰明显取决于驱动相邻线路的单元的驱动能力,对于具有未知驱动能力的模块或单元也需要用于确定驱动能力的装置。因此,下面针对具有未知驱动能力的模块或单元来描述驱动能力确定方法,这是本发明的一个特征。
在并行线路长度提取过程的步骤S51中,根据布线10和基准值13提取相邻线路之间的并行线路长度。
接下来,在驱动能力确定过程的步骤S52中,根据描述单元延迟信息的延迟程序库18计算驱动能力。这样,针对所有的程序库或单元确定驱动能力。在驱动能力确定过程的步骤S52中,由于定义了驱动能力,对于在公司中开发的单元没有出现问题。然而,针对从公司外部引入的IP模块来确定驱动能力是很重要的。因此,将参考图10更详细地描述步骤S52中的驱动能力确定过程。
步骤S52中的驱动能力确定过程包括步骤S61中的主单元驱动能力确定值生成过程,步骤S62中的目标单元驱动能力确定值计算过程,和步骤S63中的目标单元驱动能力确定过程。在主单元驱动能力确定值生成过程的步骤S61中,利用描述有关所有模块或单元和主单元19的延迟信息作为输入来计算主单元驱动能力确定值21。在此,主单元表示在确定具有未知驱动能力的模块或单元的驱动能力时被参考的单元,其中应该希望设置简单的反相器或缓存器。
驱动能力确定值21表示代表驱动能力的值,利用下面的等式(14)计算该驱动能力确定值驱动能力确定值=(输出信号波形的倾角的最大值-输出信号波形的倾角的最小值)/(驱动能力的最大值-驱动能力的最小值)(14)在总的延迟程序库中,用函数或单元的输入信号波形的倾角和在许多情况下由等式(14)中的驱动能力表示的驱动能力的表来表示单元的输出信号波形的倾角。等式(14)中的分子几乎是与驱动能力的强度无关的常数。由于可驱动容量随着驱动能力变强而变大,分母则变大。因此,驱动能力确定值21随着驱动能力变强而变小。
依据主单元的驱动能力计算等式(14)表示的值。结果是,依据驱动能力计算驱动能力确定值21作为差值。随着驱动能力变强,将驱动能力确定值21设置得较小。
接下来,在目标单元驱动能力确定值计算过程的步骤S62中,利用具有未知驱动能力的目标单元20和延迟程序库18作为输入,按照等式(14)以同样的方式计算驱动能力确定值。
随后,在目标单元驱动能力确定过程的步骤S63中,根据驱动能力确定值21和目标单元20的驱动能力来确定目标单元20的驱动能力对应什么。
最后,在依据驱动能力的并行线路长度检验过程的步骤S53中,由于针对所有模块和单元来确定驱动能力,因此,依据驱动能力,按照基准值12来检验相邻线路之间的并行线路长度。在第二实施例中已描述了步骤S53中依据驱动能力的并行线路长度检验过程的细节。在该检验中,在被确定为发生串扰的部分校正布线。
如上所述,虽然不存在不知道公司的设计中的驱动能力的情况,在使用公司外部制备的IP或单元的情况下,如果不知道驱动能力,也可应用根据本发明的驱动能力确定方法,从而确定驱动能力,以便检验发生串扰的部分。因此,能够仅校正确实必须校正的部分,从而防止增加不必要的面积。
顺便指出,虽然已经只按照等式(14)中的驱动能力计算驱动能力确定值,也可用输入信号波形的倾角作为等式的元素。
(第六实施例)下面描述根据本发明第六实施例中的串扰检验方法。
图11是说明在确定布线中发生串扰的部分的过程中,针对分层设计检验彼此跨层相邻的相邻线路之间的并行线路长度的方法的流程图;图12A和12B是说明图11所示的并行线路长度方法的特定实例的示意图。
在图11中,步骤S71表示并行线路长度提取过程;步骤S72表示边界信息提取过程;步骤S73表示分层构筑过程;步骤S74表示并行线路长度检验过程;参考数字22表示包括所有分层的分层网列表。在图12中,参考数字23表示设计的TOP分层;参考数字24表示步骤S61表示TOP分层23下的模块;参考字符P1到P4表示模块24的端子;参考字符N1到N6表示网。
在并行线路长度提取过程的步骤S71中,根据布线10和基准值13提取相邻线路之间的并行线路长度。针对所有分层提取相邻线路之间的并行线路长度。然而,此时,只检验同一分层中的并行线路长度。
此后,在边界信息提取过程的步骤S72中,利用描述作为输入的分层中的所有模块的分层网列表22来提取TOP分层和模块之间的连接信息。
参考图12A和12B说明其细节。模块24存在于TOP分层23中。TOP分层23中的网N1、N3、N4和N6通过模块24的端子P1、P2、P3和P4分别连接到模块24内部的网N2和N5。
在边界信息提取过程的步骤S72中,如表1中所示的格式1建立连接到端子的TOP分层中的模块名称,模块的端子名称,网名和模块内部的网名之间的相互关系。
表1格式1
此后,在分层构筑过程的步骤S37中,计算跨层的相邻线路的分层中的并行线路长度。在并行线路长度提取过程的步骤S71中,假设如表2所示提取并行线路长度。
表2提取结果
首先,按照格式1连网。由于网N1和N3通过端子P1和P2连接到模块24的网N2,网N1,N2和N3被识别为一个网N7。同样,由于TOP分层中的网N4和N6通过端子P3和P4连接到模块24的网N5,网N4,N5和N6被识别为一个网N8。按照网连接标识校正表2中所示的提取结果。表3中示出校正的提取结果表3校正的提取结果
于是,根据校正的提取结果,在从100μm,200μm和300μm的总和得到的600μm的范围内,识别网N7和N8彼此并行。
接下来,在并行线路长度检验过程的步骤S74,应用现有技术和第一至第三实施例中描述的方法提取要被连接的、发生串扰的部分。
如上所述,通过开发分层和检验并行线路长度,即使在分层设计中也能减轻串扰造成的不利影响。
虽然只给出了TOP分层23中只有一个模块24的说明,即使其中有其它模块,可以重复相同的方法,从而执行该处理。此外,如果模块24中包括子模块,在把模块24看作TOP分层的同时执行该处理,然后,应用上述方法执行该处理。此外,虽然已经用与原始名称不同的名称指定了分层开发后的网名,例如,网N7或N8,最好是应该用TOP分层23中的网名N1或N4指定分层开发后的网名。这是因为当用不同的名称指定分层开发后的网名时,网列表中出现的不一致使得以后的布线校正很难进行。
如上所述,根据本发明,能够只校正因串扰引起延迟时间波动或发生低频干扰的、实际需要校正的部分,从而与现有技术相比,减少处理工时并抑制面积的增加或电能耗。另外,只校正实际上很有可能发生串扰的部分,从而减少缺乏产品产生的几率。
从上面的描述中可以清楚地知道本发明提供的内容。
权利要求
1.一种串扰检验方法,包括步骤通过输入布线,并进一步输入依据间距的基准值来提取相邻线路之间的并行线路长度,该依据间距的基准值描述了随线路间距而不同的并行线路长度的限定值;和针对并行线路长度提取步骤中提取的相邻线路来计算线路间距,将相邻线路之间的并行线路长度与依据间距的基准值比较,并由此在并行线路长度较大的情况下发生确定发生串扰的部分。
2.一种串扰检验方法,包括步骤通过输入布线,并进一步输入依据驱动能力的基准值来提取相邻线路之间的并行线路长度,所述依据驱动能力的基准值描述了随驱动线路的单元的驱动能力而不同的并行线路长度的限定值;和针对并行线路长度提取步骤中提取的相邻线路来提取与用于驱动该线路的单元的驱动能力对应的、依据驱动能力的基准值,将相邻线路之间的并行线路长度与该基准值比较,在并行线路长度较大的情况下,确定发生串扰的部分。
3.一种串扰检验方法,包括步骤通过输入布线,并进一步输入描述并行线路长度的限定值的基准值来提取相邻线路之间的并行线路长度;利用网列表和时钟源作为输入来追踪路径,以便提取时钟网;和利用描述在网列表中描述的单元输出端的信号波形的倾角的倾角信息作为输入,针对提取的网,根据单元输出端的信号波形的倾角的幅度,将相邻线路分成受到串扰影响的受害方线路和发出串扰影响的攻击方线路,以便确定该网是否受到了串扰的影响。
4.一种串扰检验方法,包括步骤通过输入布线,并进一步输入描述并行线路长度的限定值的基准值来提取相邻线路之间的并行线路长度;输入并行线路长度,并进一步输入根据用于驱动并行线路的单元的驱动能力,描述在发生串扰的情况下波动的延迟波动的延迟波动表,以便计算在并行线路长度提取过程中提取的并行线路长度与多少延迟波动相对应;和输出在延迟波动计算步骤中计算的延迟波动,作为用于验证时序的延迟信息。
5.一种串扰检验方法,包括步骤通过输入布线,并进一步输入描述并行线路长度的限定值的基准值来提取相邻线路之间的并行线路长度;输入描述延迟信息的程序库,并进一步输入具有多个驱动能力的标准主单元,针对其驱动能力未知的目标单元模块,根据程序库中的输出信号的波形倾角信息计算主单元的依据驱动能力的驱动能力的确定值,随后计算目标单元模块的驱动能力的确定值,以便通过比较来确定目标单元模块的驱动能力;和在由目标单元模块驱动相邻线路的情况下,针对并行线路长度提取步骤中提取的相邻线路,根据与驱动能力确定步骤中确定的驱动能力对应的并行线路长度的限定值来确定串扰。
6.一种串扰检验方法,包括步骤通过输入布线,并进一步输入描述并行线路长度的限定值的基准值,针对分层设计的布线来提取依据分层的相邻线路之间的并行线路长度;在每个分层的网列表中检验跨层的线路之间的连接关系,以便提取边界信息;针对跨层的相邻线路的相同的网,通过计算依据分层提取的并行线路长度的总和,计算跨层的并行线路长度;和比较跨越该分层的并行线路长度和预定的基准值来确定发生串扰的部分。
全文摘要
在并行线路长度提取过程中,输入布线和依据间距的基准值,该依据间距的基准值描述随线路间距而不同的并行线路长度的限定值,从而提取相邻线路之间的并行线路长度。在依据间距的并行线路长度检验过程中,针对并行线路长度提取过程中提取的相邻线路计算线路间距,将相邻线路之间的并行线路长度与依据间距的基准值比较,在并行线路长度较大的情况下确定发生串扰的部分。
文档编号G06F17/50GK1506883SQ20031011959
公开日2004年6月23日 申请日期2003年12月4日 优先权日2002年12月4日
发明者岩西信房 申请人:松下电器产业株式会社