CN1916921A - 半导体集成电路及其设计方法 - Google Patents
半导体集成电路及其设计方法 Download PDFInfo
- Publication number
- CN1916921A CN1916921A CNA2006101540040A CN200610154004A CN1916921A CN 1916921 A CN1916921 A CN 1916921A CN A2006101540040 A CNA2006101540040 A CN A2006101540040A CN 200610154004 A CN200610154004 A CN 200610154004A CN 1916921 A CN1916921 A CN 1916921A
- Authority
- CN
- China
- Prior art keywords
- clock
- circuit
- semiconductor integrated
- integrated circuit
- sic
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/35—Delay-insensitive circuit design, e.g. asynchronous or self-timed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明提供一种半导体集成电路,在该半导体集成电路中,即使存在制造可变性也不可能发生定时错误。包含于第一和第二时钟电路(11和12)中的逻辑单元(16和17)分别由统一尺寸的晶体管形成。即使存在制造可变性,第一时钟电路(11)的延迟时间t1和第二时钟电路(12)的延迟时间t2增加或减少相同的时间量。因此,在第二触发器(15)中不可能发生定时错误。包含于每个时钟单元中的逻辑单元可由具有均匀矩形形状的扩散区的晶体管形成。
Description
本申请为分案申请,其原申请是于2004年4月30日向中国专利局提交的专利申请,申请号为200410035190.7,发明名称为“半导体集成电路及其设计方法”。
发明领域
本发明涉及一种与时钟信号同步操作的半导体集成电路以及设计这种半导体集成电路的方法。
背景技术的说明
在大多数情况下,包括逻辑电路的半导体集成电路与外部输送的时钟信号或在外部输送信号的基础上内部地产生的时钟信号同步地工作。通常,该半导体集成电路包括多个触发器和在输送的时钟信号基础上产生要输送给每个触发器的时钟信号的电路(下面将这种电路称为“时钟电路”)。为了允许该半导体集成电路准确地工作,必须给每个触发器输送适当的时钟信号。此外,为了减少半导体集成电路的功耗,停止向不应该工作的时钟电路输送时钟信号是有效的。相应地,如何构成时钟电路和如何输送时钟信号被认为是设计半导体集成电路的关键。
一般情况下,时钟电路的分析集中在时钟电路的部分,如时钟信号流经的路径(以下称为“时钟路径”)和时钟路径上存在的逻辑单元,并分析包括这些部分的电路树。这个时钟树分析例如计算输送时钟信号到达触发器所需的时间周期。之后,为了使时钟失真(输送的时钟信号到达触发器所需的时间周期之间的差)小于预定容限,例如,在时钟树分析结果的基础上进行用于向/从时钟电路添加或删除缓冲器等以及修改布图结果的工艺。
用于在半导体集成电路内输送时钟信号的各种类型的常规方法都是公知的。在这些常规方法当中,与本发明相似的技术例如在日本专利特许公开公报No.62-190747、4-284020、2000-68380中公开了。具体而言,日本专利特许公开公报No.62-190747公开了一种全闪烁型A/D转换器,其中一位比较器交替地上下布置。日本专利特许公开公报No.4-284020公开了一种具有可变阈值电压的反相器。日本专利特许公开公报No.2000-68380公开了时钟信号经多个布线层的底部运行。
然而,随着可在较低电压下工作的更细小尺寸半导体集成电路的制造的发展,在半导体集成电路内输送时钟信号所需的技术等级变得比以前高了。例如,更精细制造技术的发展已经缩减了形成时钟电路中所包含的逻辑单元的晶体管的尺寸。因而,与常规时钟电路相比,时钟电路的延迟时间趋于更容易受到制造可变性的影响。此外,更精细制造技术的发展已经增加了时钟电路的集成规模,因此进行时钟树分析或改变时钟电路的设计所需要的时间比以前更长了。此外,随着可在较低电压工作的更精细尺寸电路的制造的发展,时钟电路的集成规模变得更大,而时钟电路的延迟时间在时钟电路中包含的逻辑单元的每个级中减少了。因而,在设计时钟电路时,需要设定比常规所需余量更合适的设计余量。近年来,还存在一种考虑到由于随时间退化造成的延迟时间变化而设计的电路。然而,时钟信号是最频繁改变的信号之一,因此需要在已经正确评估由于随时间变化而退化造成的时钟信号的延迟时间变化之后设计半导体集成电路。
发明内容
因此,本发明的目的是提供一种在输送时钟信号上比常规半导体集成电路有利的半导体集成电路以及设计这种半导体集成电路的方法。
本发明具有以下特征以实现上述目的。
本发明的第一方案涉及一种半导体集成电路,在该半导体集成电路中,在时钟电路中包含的逻辑单元由统一尺寸的晶体管形成。此外,在时钟电路中包含的逻辑单元可以由每个具有均匀矩形形状扩散区的晶体管形成。
本发明的第二方案涉及一种半导体集成电路设计方法,在该方法中,使用具有规定特性的逻辑单元设计电路模块中的时钟电路,以便使其在第一工作条件下工作,并且用具有另一规定特性的逻辑单元替换该时钟单元中包含的逻辑单元,从而设计的半导体集成电路包括在替换逻辑单元之后的电路模块,并且在第二工作条件下工作。在这种情况下,替换之前和之后的逻辑单元在输入电容、单元-比(cell-specific)延迟和驱动能力上是彼此相等的。工作条件与阈值电压、电源电压等有关。
本发明的第三方案涉及一种半导体集成电路设计方法,在该方法中,基于在时钟信号的服务寿命中的触发器数量获得每个时钟信号在服务寿命终止时的延迟变化量,获得了要输送给两个存储单元的时钟信号之间的延迟变化量的差异,并根据两个存储单元之间的定时限制进行电路定时调节,其中在该定时限制中,获得的差异已经设定为设计余量。
本发明的第四方案涉及一种半导体集成电路,其包括:触发计数电路,用于计算要输送给每个电路模块的时钟信号的触发数量;和用于输出计算的触发数量的触发计数输出电路。
本发明的第五方案涉及一种半导体集成电路,其包括:触发计数电路,用于计算要输送给每个电路模块的时钟信号的触发数量;和触发调节电路,用于向电路模块输送调节时钟信号,其中该电路模块被输送了触发数量相对低的时钟信号。
本发明的第六方案涉及一种半导体集成电路设计方法,在该方法中,指定一种应该存在一个时钟路径上的逻辑单元,并且确定存在该时钟路径上的逻辑单元是否为指定的类型。此外,可以为不应该存在该时钟路径上的每个相应类型的逻辑单元指定一种应该存在该时钟路径上的逻辑单元。然后,在确定结果基础上,可以使用应该存在该时钟路径上且其类型对应不应该但存在该时钟路径上的逻辑单元的类型的逻辑单元,替换不应该但存在该时钟路径上的逻辑单元。
本发明的第七方案涉及一种半导体集成电路设计方法,在该方法中,获得每个时钟路径的规定特性,和根据两个存储单元之间的定时限制进行电路定时调整,在该定时限制中,已经基于两个时钟路径的特性设置设计余量。基于例如在两个时钟路径之间的逻辑单元的级数的差异、两个时钟路径之间的每种类型的逻辑单元的数量的差异或者存在于两个时钟路径上的布线导体的类型和延迟时间获得该设计余量。
根据第一方案,可以提供一种半导体集成电路,在该半导体集成电路中,即使存在制造可变性,也不可能发生定时错误。当在时钟电路中包括的逻辑单元由每个具有均匀矩形形状扩散区的晶体管形成时,第一方案的效果特别明显。
根据第二方案,即使电路模块的工作条件不同于包括该电路模块的半导体集成电路的工作条件,也可以使时钟信号的阈值电压大小或供给电压大小相等,而不用在已经给其安装电路模块之后重新调整时钟信号的失真。
根据第三方案,可以比常规方法更准确地设置设计余量。因此,可以使电路尺寸减小到小于常规所需电路尺寸,同时考虑了由于晶体管随时间退化造成的时钟信号的延迟时间变化。
根据第四方案,通过获得要输送给每个电路模块的时钟信号的触发数量,与逻辑模拟等相比,可以以高精确度在短时间内获得在实际工作环境下的时钟信号改变的概率。因此,可以通过更准确地考虑由于晶体管随时间退化造成的时钟信号的延迟时间变化而重新设计半导体集成电路,在该半导体集成电路中不可能发生定时错误。
根据第五方案,甚至在半导体集成电路安装到系统中之后,通过调节每个时钟信号的触发数量,仍然可以防止输送随彼此频率不同而改变的时钟信号。一旦输送了这种时钟信号,随时间的退化程度在晶体管之间可能变得不同,因此发生定时错误,导致半导体集成电路的较短的服务寿命。
根据第六方案,可以很容易地检验存在于时钟路径上的逻辑单元具有特殊特性(例如,它们可以抵制工艺变化)。此外,通过为不应该但确实存在时钟路径上的每个相应类型的逻辑单元指定一种应该存在时钟路径上的逻辑单元,并用不应该但确实存在于时钟路径上的逻辑单元代替该指定类型的逻辑单元,可以改变时钟电路,以便只有具有特殊特性的逻辑单元存在时钟路径上。
根据第七方案,即使时钟路径之间的逻辑单元的级数不同,也可以根据时钟路径之间的结构的差异而准确地设置设计余量,由此可以将电路尺寸减小到小于常规所需电路尺寸。
通过下面结合附图对本发明更详细的说明,使本发明的这些和其它目的、特征、方案和优点更明显。
附图简述
图1是表示根据本发明第一实施例的半导体集成电路的结构的示意图;
图2表示晶体管的布图;
图3A是表示触发器的设置余量的示意图;
图3B是表示触发器的保持余量的示意图;
图4A和4B是用于解释由根据本发明第一实施例的半导体集成电路所实现的效果的曲线;
图5A-5C是用于解释由根据本发明第一实施例的变型的半导体集成电路实现的效果的示意图;
图6是表示利用根据本发明第二实施例的设计半导体集成电路的方法设计的半导体集成电路的结构的示意图;
图7是表示根据本发明第二实施例的设计半导体集成电路的方法的流程图;
图8是表示根据本发明第三实施例的设计半导体集成电路的方法的流程图;
图9是表示利用根据本发明第三实施例的设计半导体集成电路的方法设计的时钟电路的示意图;
图10是表示触发数量和晶体管中的延迟时间的变化之间的关系的曲线;
图11是表示根据本发明第四实施例的半导体集成电路的结构图;
图12是表示根据本发明第四实施例的半导体集成电路的另一结构图;
图13是表示根据本发明第五实施例的半导体集成电路的结构图;
图14是表示根据本发明第五实施例的半导体集成电路的触发调节电路的详细结构图;
图15是表示在根据本发明第五实施例的半导体集成电路的触发调节电路中包括的选择器的I/O关系的表;
图16是表示根据本发明第五实施例的半导体集成电路的示例性用途的示意图;
图17是表示根据本发明第六实施例的设计半导体集成电路的方法的流程图;
图18是表示根据本发明第六实施例的变型的设计半导体集成电路的方法的流程图;
图19是表示根据本发明第七实施例的设计半导体集成电路的方法的流程图;
图20是表示利用根据本发明第七实施例的设计半导体集成电路的方法设计的时钟电路的示意图;
图21是表示根据本发明第七实施例的第二变型的设计半导体集成电路的方法的流程图;和
图22是表示利用根据本发明第七实施例的第二变型的设计半导体集成电路的方法设计的时钟电路的示意图。
最佳实施例的说明
下面将参照附图介绍本发明的第一到第七实施例。为了易于理解本发明,考虑到基本电路对理解本发明是很重要的,在被包含于半导体集成电路中的所有电路当中,只关于一些基本电路介绍每个实施例。
(第一实施例)
关于半导体集成电路介绍本发明的第一实施例,其中时钟电路中包含的逻辑单元由统一尺寸的晶体管形成。图1是表示根据本实施例的半导体集成电路的结构的示意图。图1中所示的半导体集成电路包括第一时钟电路11、第二时钟电路12、第一触发器13、组合电路14、和第二触发器15。第一和第二触发器13和15的每个与输送的时钟信号CK同步工作。具体而言,第一时钟电路11在时钟信号CK基础上产生第一时钟信号CK1,第一触发器13与第一时钟信号CK1同步地工作。第二时钟电路12和第二触发器15分别与第一时钟电路11和第一触发器13相似地操作。组合电路14在储存在第一触发器13中的值和储存在图1中未示出的触发器中的值的基础上产生要输送给第二触发器15的数据输入信号。
包含在半导体集成电路中的每个电路包括一个或多个逻辑单元,每个逻辑单元由一个或多个晶体管形成。图2示出了晶体管的布图。从图2中所示的布图看出,晶体管形成在扩散区21和多晶硅区22彼此重叠的位置上。晶体管的特性由例如扩散区21和多晶硅区22彼此重叠的区域的尺寸(即沟道宽度W和沟道长度L)确定。
如图1所示,第一时钟电路11包括逻辑单元16,第二时钟电路12包括逻辑单元17。根据本实施例的半导体集成电路的特征在于分别包含在第一和第二时钟电路11和12中的逻辑单元16和17由具有统一尺寸的晶体管形成。通常,逻辑单元16和17由具有统一沟道宽度W的晶体管形成,但是晶体管可具有统一沟道宽度W和统一沟道长度L。
下面所述的是由根据本实施例的半导体集成电路实现的效果,其中包含在第一和第二时钟电路11和12中的逻辑单元16和17由具有统一沟道宽度W的晶体管形成。在图1中,时钟信号CK的周期为T,第一时钟电路11的延迟时间为t1,第二时钟电路12的延迟时间为t2,则组合电路14的延迟时间以及时钟信号的输入端和数据输出信号的输出端之间的第一触发器13的延迟时间的总和为td,并且第二触发器15的建立时间和保持时间分别为ts和th。在这种情况下,为了使第二触发器15与第二时钟信号CK2同步地正常操作,分别在下列等式(1)和(2)中所示的建立余量Ms和保持余量Mh各要求是等于或大于规定值的正值(见图3A和3B)。
Ms=(t2-t1)+T-td-ts …… (1)
Mh=(t1-t2)+td-th …… (2)
关于包含在半导体集成电路中的晶体管,沟道宽度W的变化量和延迟时间的变化量之间的关系示于图4A和4B中。图4A是表示包含在常规半导体集成电路中的晶体管的这种关系的曲线,而图4B是表示包含在根据本实施例的半导体集成电路中的晶体管的这种关系的曲线。
现在考虑使用常规技术设计和制造具有图1所示结构的半导体集成电路的情况。在以常规技术为基础的半导体集成电路中,包含在时钟电路中的逻辑单元由不具有统一沟道宽度W的晶体管形成。形成包含在时钟电路11中的逻辑单元16的晶体管的沟道宽度的设计值为W1,形成包含在时钟电路12中的逻辑单元17的晶体管的沟道宽度的设计值为W2。在这种情况下,假设W1大于W2。而且,在制造的半导体集成电路中,假设每个晶体管的沟道宽度由于制造可变性而相对于设计值变化ΔW。在这种情况下,包含于第一时钟电路11中的逻辑单元16的制造的晶体管的沟道宽度为(W1+ΔW),而包含于第二时钟电路12中的逻辑单元17的制造的晶体管的沟道宽度为(W2+ΔW)。如果W1大于W2,则由于制造可变性,包含在逻辑单元17中的晶体管的沟道宽度的变化程度大于包含在逻辑单元16中的晶体管的沟道宽度的变化程度。
相应地,在以常规技术为基础的半导体集成电路中,如果存在制造可变性,则第二时钟电路12的延迟时间t2的变化大于第一时钟电路11的延迟时间t1的变化(见图4A)。相应地,如果沟道宽度的实际测量值大于设计值(即如果ΔW为正值),则第二时钟电路12的延迟时间t2的降低大于第一时钟电路11的延迟时间t1的降低。因此,上述关系式(1)中的值(t2-t1)减小,导致第二触发器15中的建立余量不足。另一方面,如果实际沟道宽度小于设计值(即如果ΔW为负值),第二时钟电路12的延迟时间t2的增加大于第一时钟电路11的延迟时间t1的增加。相应地,上述关系式(2)中的值(t1-t2)减小,导致第二触发器15中的保持余量不足。通过这种方式,如果包含于时钟电路中的逻辑单元由不具有统一沟道宽度的晶体管形成,则很容易在第二触发器15中发生由于制造可变性造成的定时错误。
另一方面,在根据本实施例的半导体集成电路中,包含于时钟电路中的逻辑单元由具有统一沟道宽度W的晶体管形成。即,形成包含于第一时钟电路11中的逻辑单元16的晶体管的沟道宽度的设计值W1总是等于形成包含于第二时钟电路12中的逻辑单元17的晶体管的沟道宽度的设计值W2。因而,即使存在制造可变性,第一时钟电路11的延迟时间t1和第二时钟电路12的延迟时间t2增加或减小相同的时间量(见图4B)。因而,即使存在制造可变性,上述关系式(1)中的值(t2-t1)和上述关系式(2)中的值(t1-t2)不偏离设计值,因此在第二触发器15中不可能发生定时错误。
因此,本实施例能提供一种即使存在制造可变性也不可能发生定时错误的半导体集成电路。相同的效果可以由这样的半导体集成电路实现,在该半导体集成电路中,包含于时钟电路中的逻辑单元由具有统一沟道宽度W和统一沟道长度L的晶体管形成。
对根据本实施例,半导体集成电路可引入下列变型。根据本实施例的变型的半导体集成电路的特征在于包含于时钟电路中的逻辑单元由统一尺寸且同时具有均匀矩形形状扩散区23的晶体管形成(见图5A)。
下面参照图5A-5C介绍根据本变型的半导体集成电路的效果。
图5B示出了具有非矩形形状扩散区24的晶体管的布图。如果制造包括图5B所示晶体管的半导体集成电路,如图5C所示,在假设不形成扩散区的区域中,在扩散区24的凹点P周围形成不希望的扩散区25(显示为阴影线区域)(注意顶点P周围360度中的270度构成扩散区24)。不希望的扩散区25可能影响该晶体管的沟道宽度W,这取决于其尺寸和形状,由此影响包括该晶体管的电路的延迟时间。
因而,例如,在包含于第一时钟电路11中的逻辑单元16由具有矩形形状扩散区23的晶体管形成(见图5A)和包含于第二时钟电路12中的逻辑单元17由具有凹点P的扩散区24的晶体管形成(见图5B)的情况下,在制造工艺期间形成的不希望的扩散区25(见图5C)可能影响半导体集成电路,使得第一时钟电路11的延迟时间t1和第二时钟电路12的延迟时间t2与设计值不同。因而,在第一时钟电路11的延迟时间t1和第二时钟电路12的延迟时间t2之间不满足所需暂时关系,因此在第二触发器15中可能发生定时错误等。
另一方面,在根据本变型的半导体集成电路中,包含于时钟电路中的逻辑单元由具有均匀矩形形状扩散区23形成(见图5A)。具有这种特性的扩散区不具有如图5C所示的凹点P,在凹点P周围不形成不希望的扩散区25。相应地,即使存在制造可变性,第一时钟电路11的延迟时间t1和第二时钟电路12的延迟时间t2增加或减小相同的时间量。因此,本变型能提供一种与根据第一实施例的半导体集成电路相比进一步不可能发生定时错误的半导体集成电路。
(第二实施例)
现在关于使用设计成在规定操作条件下操作的电路模块设计半导体集成电路以便在不同于该电路模块的操作条件下操作的设计方法介绍本发明的第二实施例。首先介绍的是使用设计在规定阈值电压下操作的电路模块设计半导体集成电路以便在不同于该电路模块的阈值电压下操作的设计方法(见图6)。图6中所示的半导体集成电路30包括上游时钟电路31、电路模块32、第二下游时钟电路35、和第二触发器36。半导体集成电路30被设计在规定阈值电压(以下称为“第二阈值电压VT2”)下操作。电路模块32包括第一下游时钟电路33和第一触发器34。电路模块32起初被设计成在不同于第二阈值电压VT2的阈值电压(以下称为“第一阈值电压VT1”)下工作。
在图6中,第一和第二触发器34和36各与输送给它的时钟信号CK同步地操作。具体而言,上游时钟电路31和第一下游时钟电路33在时钟信号CK基础上共同产生第一时钟信号CK1,第一触发器34与第一时钟信号CK1同步地工作。第二下游时钟电路35和第二触发器36分别与第一下游时钟电路33和第一触发器34类似地工作。
图7是表示用于设计根据本实施例的半导体集成电路的方法的流程图。在执行图7中所示程序之前,制备用于在时钟电路中使用的被设计成在第一阈值电压V1下操作的逻辑单元(以下称为“第一时钟单元”)和被设计成在第二阈值电压下操作的逻辑单元(以下称为“第二时钟单元”)。在这种情况下,第一和第二时钟电路之间的相同类型的逻辑单元在输入电容、单元-比延迟、和驱动能力上彼此相同。就是说,第一时钟单元的输入电容等于与第一时钟单元相同类型的第二时钟单元的输入电容,第一时钟单元的单元-比延迟等于与第一时钟单元相同类型的第二时钟单元的单元-比延迟,并且第一时钟单元的驱动能力等于与第一时钟单元相同类型的第二时钟单元的驱动能力。注意在第一和第二时钟单元之间相同类型的逻辑单元在尺寸上可以彼此不同。
制备了具有上述特性的第一和第二时钟单元之后,执行图7中所示程序。首先,电路模块32被设计成在第一阈值电压VT1下工作(步骤S101)。在这种情况下,使用第一时钟单元设计包含在电路模块32中的时钟电路(即后来成为第一下游时钟电路33的电路)。例如,电路模块32可以是被设计成智能(IP)芯的电路,使得它可以合并到另一个导体集成电路中。
接着,在步骤S101设计的电路模块32中,该时钟电路中包含的第一时钟单元由与该第一时钟单元相同类型的第二时钟单元代替(步骤S102)。替换逻辑单元之后,该时钟电路变为第一下游时钟电路33。通过这种方式,获得包括第一下游时钟电路33的电路模块32。接着,设计包括在步骤S102获得的电路模块32的另一个导体集成电路,以便完全在第二阈值电压VT2下操作(步骤S103)。
下面介绍通过使用根据本实施例的设计方法设计半导体集成电路30所获得的效果。与本实施例的设计方法不一样,现在考虑当电路模块32被设计成在第一阈值电压VT1下操作时使用没有上述特性的逻辑单元设计包含于电路模块32中的时钟电路的情况。在被设计成包括作为第一下游时钟电路33的上述设计的时钟电路的半导体集成电路30中,由于阈值电压之间的差异产生的时钟失真很容易在第一触发器34和第二触发器36之间发生,其中第一触发器34起初地被设计成在第一阈值电压VT1下操作,第二触发器36被重新设计成在第二阈值电压VT2下操作。因而,为了防止时钟失真,必须重新调整时钟信号的失真,以便为了使在合并电路模块32后的半导体集成电路30中的阈值电压相同而进行电路修改时,不会由于阈值电压的改变(即,从第一阈值电压VT1改变到第二阈值电压VT2)而改变第一下游时钟电路33的延迟时间t1。
另一方面,在本实施例的设计方法中,如上所述,如果它们的类型相同,则包含于第一下游时钟电路33中的第一时钟单元和包含于第二下游时钟电路35中的第二时钟单元具有相同的输入电容、相同的单元-比延迟和相同的驱动能力。相应地,第一下游时钟电路33的延迟时间t1在阈值电压改变之前和之后都不改变。因此,在第一和第二触发器34和36之间不会发生等于或大于其设计值的时钟失真。这样,在根据本实施例的半导体集成电路的设计方法中,可以在不重新调整在并入了电路模块的半导体集成电路中的时钟信号失真的情况下使时钟信号的阈值电压相等。
到目前为止,关于使用被设计成在规定的阈值电压下操作的电路模块设计在不同于该电路模块的阈值电压下工作的半导体集成电路的方法已经介绍了本实施例。此外,类似于上述方法的设计方法也适用于这种情况,即电路模块和包括该电路模块的半导体集成电路在操作条件,例如,除阈值电压外电源电压彼此不同。例如,为了使用被设计成在第一电源电压V1下操作的电路模块设计适于在第二电源电压V2下操作的半导体集成电路,在使被设计成在第一电源电压V1下操作的第一时钟单元和被设计成在第二电源电压V2下操作的第二时钟单元在输入电容、单元-比延迟和驱动能力上相同之后,可执行类似于图7中所示的程序。在这种设计方法中,即使电路模块和并入该电路模块的半导体集成电路在电源电压上彼此不同,也可以不重新调整在并入了电路模块的半导体集成电路中的时钟信号的失真的情况下使时钟信号的电源电压相同。
(第三实施例)
现在关于用于设计半导体集成电路的方法介绍本发明的实施例,其中该设计方法考虑了由于晶体管随时间的退化在时钟信号的延迟时间中的变化。一般情况下,晶体管的退化取决于给其施加规定信号电压的时间周期的长度。相应地,由晶体管形成的电路的延迟时间随时间的推移而增加。在大多数情况下,时钟信号处于高电平的时间周期的长度与该信号处于低电平的时间周期的长度相同。因而,通过计算时钟信号改变到规定值的次数(以下称为“触发次数”),可以计算时钟信号处于规定值的时间周期的长度,由此可以预先评估在计算的这种时间周期的长度基础上发生了多少退化。
图8是表示根据本实施例的用于设计半导体集成电路的方法的流程图。在完成逻辑电平设计之后和定时调整之前,在半导体集成电路上执行图8中所示的程序。在图8的程序中,首先,确定要设计的半导体集成电路的服务寿命(步骤S201)。基于半导体集成电路的规格和工作条件将服务寿命确定为一个值,例如三年,十年等。
要设计的半导体集成电路包括多个触发器。因此,然后为输送给触发器的每个时钟信号计算在步骤S201中确定的在服务寿命中的触发次数(步骤S202)。例如通过下列关系式(3)计算要输送给触发器FX的时钟信号的触发次数TC。
TC=TX×FR×α ……(3)
在上述关系式(3)中,TX表示在步骤S201确定的服务寿命,FR表示输送的时钟信号CK的频率,α表示在时钟信号CK改变时要输送给触发器FX的时钟信号的改变概率(以下称为“触发概率”)。基于半导体集成电路的规格和工作条件计算或评估触发概率α。触发概率还可以通过例如逻辑模拟来获得。
注意,当获得时钟信号的触发数量时,只在从低电平向高电平的方向或只在相反方向的时钟信号的改变可以计算为一个触发。或者,在每个方向的时钟信号的改变可以计算为一个触发。例如,在下面的说明中,将在从低电平向高电平的方向的时钟信号的改变计算为一个触发。
接着,对于要输送给触发器的每个时钟信号,在步骤S202获得的触发数量的基础上计算在服务寿命届满时的延迟变化量(步骤S203)。如果时钟信号处于低电平的时间周期长度与时钟信号处于高电平的时间周期长度相同,则可以在晶体管的特性(见图10,将在后面介绍)基础上,获取包含在输入时钟信号的逻辑单元中的晶体管的在触发数量和该时钟信号的延迟时间改变速率之间的关系。因而,在步骤S203,可以在步骤S202获得的触发数量以及为每个晶体管获得的该触发数量和延迟变化速率之间的关系的基础上获得在服务寿命届满时的延迟改变量。
接着,从要设计的半导体集成电路依次选择多对触发器,并对于每对触发器,获取在获得的要输送给一个触发器的时钟信号延迟改变量和获得的要输送给另一触发器的时钟信号延迟改变量之间的差值(步骤S204)。然后,将获得的延迟改变量的差值设定为用于在被选择的触发器对之间的定时限制中容纳由于随时间退化造成的延迟时间改变的设计余量(步骤S205)。注意,在步骤S204和S205,可以只为分配了定时限制的一对/多对触发器获取延迟改变量的差值,并且获得的差值可以在定时限制中设定。
接下来,利用上述方式根据已经在其中设定设计余量的定时限制在给触发器输送时钟信号和数据输入信号的电路上进行定时调整(步骤S206)。在步骤S206,例如,进行用于对/从时钟电路添加或删除缓冲器等的处理、用于重新设计产生数据输入信号的电路的处理、和/或用于修改布图结果的处理,使时钟失真小于规定容限。
接着,为图8的程序应用到包括图9中所示时钟电路的半导体集成电路的情况提供详细说明。图9中所示的时钟电路包括第一时钟电路41、第一触发器42、第二时钟电路43、和第二触发器44。第一和第二触发器42和44的每个与输送给它的时钟信号CK同步操作。具体地说,第一时钟电路41包括两个缓冲器,并在时钟信号CK基础上产生第一时钟信号CK1,该第一时钟信号CK1以与时钟信号CK的变化频率相同的频率进行改变。第一触发器42与时钟信号CK1同步工作。第二时钟电路43包括与(AND)门45和缓冲器。第二时钟电路43在时钟信号CK基础上产生第二时钟信号CK2,该第二时钟信号CK2以低于时钟信号CK的变化频率的频率进行改变。第二触发器44与第二时钟信号CK2同步工作。给AND门45输送时钟信号CK和时钟使能信号CEN。在下面的说明中,时钟信号CK的频率为100MHz,时钟使能信号CEN以时钟信号CK的每十个周期之一的比率变为高电平。
包括图9中所示时钟电路的半导体集成电路的服务寿命例如确定为十年(图8的步骤S201)。十年对应约3.15×108秒。相应地,通过下述关系式(4)获得在使用十年中第一时钟信号CK的触发数量TC1为3.15×1016。第二时钟信号CK2的触发概率α为十分之一,因此通过下述关系式(5)获得在十年使用中第二时钟信号CK2的触发数量TC2为3.15×1015(步骤S202)。
TC1(3.15×108)×(100×106)×1=3.15×1016…(4)
TC2(3.15×108)×(100×106)×1/10=3.15×1015…(5)
在形成包含于图9中所示时钟电路的逻辑单元的晶体管中,如图10所示,延迟时间可根据输入信号的触发数量而改变。在图10中,水平轴表示输入信号的触发数量,垂直轴表示延迟时间变化率。由于在十年使用中第一时钟信号CK1的触发数量TC1为3.15×1016,如图10所示,因此在使用十年之后第一时钟信号CK1的延迟改变率为5%。另一方面,在十年使用中第二时钟信号CK2的触发数量TC2为3.15×1015,因此,如图10所示,在使用十年之后第二时钟信号CK2的延迟变化率为2%。就是说,在十年服务寿命届满之后,第一时钟信号CK1的延迟时间t1从初始延迟时间增加了5%,而第二时钟信号CK2的延迟时间t2从初始延迟时间增加2%(步骤S203)。相应地,第一时钟信号CK1的延迟变化量和第二时钟信号CK2的延迟变化量之间的差值变为3%(步骤S204)。
相应地,获得的延迟变量的差值3%设定为在第一和第二触发器42和44之间的定时限制中用于容纳由于随时间的退化引起的延迟时间变化的设计余量(步骤S205)。然后,根据已经设定3%设计余量的定时限制在给第一和第二触发器42和44输送时钟信号和数据输入信号的电路上进行定时调整(步骤S206)。
下面说明的是通过使用根据本实施例的设计方法设计包括图9中所示时钟电路的半导体集成电路所实现的效果。在常规方法中,当用于容纳由于随时间的退化造成的延迟时间变化的设计余量在触发器之间的定时限制中设定时,为输送给该触发器的每个时钟信号设定延迟变化量的最差情况值。相应地,在第一和第二触发器42和44之间的定时限制中,从在第一时钟信号CK1的延迟时间t1的变化率5%和第二时钟信号CK2的延迟时间t2的变化率2%当中选自的最差情况值5%设定为设计余量。
另一方面,在根据本实施例的设计方法中,作为用于容纳由于随时间的退化引起的延迟时间变化的设计余量,在触发器之间的定时限制中设置在输送给触发器的时钟信号的延迟变化量之间的差值。因此,在第一和第二触发器42和44之间的定时限制中,与在第一时钟信号CK1的延迟时间t1的变化率5%和第二时钟信号CK2的延迟时间t2的变化率2%之间的差值相对应的值3%设定为设计余量。
在实际半导体集成电路中,当在10年服务寿命届满之后第一时钟信号CK1的延迟时间t1增加5%时,第二时钟信号CK2的延迟时间t2也增加2%。相应地,在与第一时钟信号CK1同步操作的第一触发器42和与第二时钟信号CK2同步操作的第二触发器44之间的定时限制中,将延迟变化量之间的差值(即3%)而不是选自延迟变化量当中的最差情况值(5%)设定为用于容纳由于随时间退化引起的延迟时间变化的设计余量已足够。通过使用延迟变化量之间的差值设计半导体集成电路,其中该差值已经设置为用于容纳因随时间退化引起的延迟时间变化的设计余量,可以确保设计的半导体集成电路在其服务寿命内正常工作。
相应地,在根据本实施例的半导体集成电路的设计方法中,与常规方法相比可以更准确地设置设计余量。因此,可以将电路尺寸减小到小于常规所需电路尺寸,同时考虑了由于晶体管的随时间退化引起的时钟信号的延迟变化。
(第四实施例)
关于具有计算时钟信号的触发数量的功能的半导体集成电路介绍本发明的第四实施例。图11是表示根据本实施例的半导体集成电路的结构的示意图。图11中所示的半导体集成电路包括上游时钟电路51、第一到第三下游时钟电路52a-52c、第一到第三电路模块53a-53c、第一到第三触发计数电路54a-54c、解码器55、和第一到第三触发计数储存寄存器56a到56c。第一到第三电路模块53a-53c中的每一个与输送给它的时钟信号CK同步工作。具体而言,上游时钟电路51和第一下游时钟电路52a在时钟信号CK基础上共同产生第一时钟信号CK1,第一电路模块53a与第一时钟信号CK1同步操作。第二和第三下游时钟电路52b和52c以及第二和第三电路模块53b和53c分别与第一下游时钟电路52a和第一电路模块53a相类似地工作。
第一到第三触发计数电路54a-54c分别计算第一到第三时钟信号CK1-CK3的触发数量。这里,时钟信号从低电平向高电平的改变计作一个触发。解码器55对编码信号CODE进行解码,并向第一到第三触发计数储存寄存器56a-56c输出使能信号EN1-EN3。在接收到使能信号EN1-EN3中的相应信号之后,第一到第三触发计数储存寄存器56a-56c的每个分别从第一到第三触发计数电路54a-54c读取触发计数TC1、TC2和TC3中的相应触发计数,并在其中储存读取的触发计数。根据数据总线DBUS的定时规格,将储存的触发计数从它们各自储存寄存器输出。
通过数据总线BDUS输出的触发计数被输出到半导体集成电路的外部。因此,在触发计数输出模式中,数据总线DBUS连接到例如半导体集成电路的外部输入/输出(I/O)端子(未示出)。或者,通过数据总线DBUS输出的触发计数可以暂时储存在连接到数据总线DBUS的寄存器中,并且可以经该寄存器输出到半导体集成电路的外部。通过这种方式,由第一到第三触发计数电路54a-54c计算的触发计数TC1-TC3经解码器55、第一到第三触发计数储存寄存器56a-56c和数据总线DBUS的操作被输出到半导体集成电路的外部。
图12是表示根据本实施例的半导体集成电路的另一结构的示意图。图12中所示的半导体集成电路包括上游时钟电路51、第一到第三下游时钟电路52a-52c、第一到第三电路模块53a-53c、第一到第三触发计数电路54a-54c、解码器55、选择器57、和触发计数储存寄存器58。在图12所示的元件当中,与图11中所示相同的元件用相同的参考标记表示,并且省略了其说明。基于从解码器55输出的使能信号EN1到EN3,选择器57从第一到第三触发计数电路54a-54c中的其中一个读取触发计数,并输出读取的触发计数。触发计数储存寄存器58将从选择器57输出的触发计数储存在其中,并根据数据总线DBUS的定时规格输出储存的触发计数。
下面介绍由根据本实施例的具有图11或12所示结构的半导体集成电路所实现的效果。根据本实施例的半导体集成电路安装在例如系统的评估台(evaluation board)上。该评估台在系统的实际操作环境下执行实际应用软件。这允许评估台再现系统的实际操作。
如上所述,本实施例的半导体集成电路具有计算要输送给每个电路模块的时钟信号的触发数量和向半导体集成电路外部输出计算的触发数量的功能。因此,当评估台用于再现系统操作时,通过获得要输送给每个电路模块的时钟信号的触发数量,与逻辑模拟等相比,可以以高精确度在短时间内获得在实际操作环境下的时钟信号的变化概率(即触发概率α)。
如在第三实施例中已经说明的,通过确定半导体集成电路的服务寿命和获得经过半导体集成电路的时钟信号的触发概率α,可以获得在服务寿命届满时时钟电路的延迟变化量。因此,当设计一种具有类似于本实施例的半导体集成电路的功能的新半导体集成电路时,作为本实施例的半导体集成电路的改进形式(或作为基于评估电路的设计目标电路)时,可以考虑获得的延迟变化量来设计时钟电路。因此,可以通过更准确地考虑因晶体管的随时间退化引起的时钟信号的延迟时间变化来重新设计一种不可能发生定时错误的半导体集成电路。
(第五实施例)
下面关于具有调节时钟信号的触发数量的功能的半导体集成电路介绍本发明的第五实施例。图13是表示根据本实施例的半导体集成电路的结构图。图13中所示的半导体集成电路包括上游时钟电路51、第一到第三下游时钟电路52a-52c、第一到第三电路模块53a-53c、第一到第三触发计数电路54a-54c、和触发调整电路59。在图13所示的元件当中,与图11中所示相同的元件用相同的参考标记表示,并且省略了其说明。
触发调整电路59接收分别从第一到第三下游时钟电路52a-52c输出的第一到第三时钟信号CK1-CK3、调整时钟信号CK0、模式选择信号MODE以及分别由第一到第三触发计数电路54a-54c计算的触发计数TC1-TC3。触发调整电路59在这些输入信号基础上产生要分别输送给第一到第三电路模块53a-53c的时钟信号ck1-ck3。
图14是表示触发调整电路59的详细结构图。触发调整电路59包括比较电路61和第一到第三选择器62a-62c。比较电路61在触发计数TC1-TC3基础上为第一到第三选择器62a-62c获得选择信号S1-S3。具体而言,在每个触发计数TC1-TC3的最大可能值为M的情况下,当第i个触发计数TCi为最大值M时(其中i是从1到3的整数),比较电路61给第i个选择器62j输送高电平选择信号Si(其中如果i=1,则j=a;如果i=2,则j=b;如果i=3,则j=c),从而达到高电平,否则,低电平选择信号提供给第i个选择器62j。
如从图15中看出的,第一选择器62a在模式选择信号MODE和选择信号S1基础上输出第一时钟信号CK1、调整时钟CK0、和低电平固定值中的任何一个。具体而言,如果模式选择信号MODE是低电平(即该信号表示正常工作模式),则第一选择器62a输出第一时钟信号CK1。如果模式选择信号MODE处于高电平(即该信号表示调整模式)和选择信号S1处于低电平,则第一选择器62a输出调整时钟CK0。如果模式选择信号MODE和选择信号S1都处于高电平,则第一选择器62a输出低电平固定值。第二和第三选择器62b和62c与第一选择器62a相类似地工作。
当处于正常操作模式时,如此构成的触发调整电路59分别向第一到第三电路模块53a-53c输出第一到第三时钟信号CK1-CK3。当处于调整模式时,触发调节电路59从第一到第三电路模块53a-53c选择要给其输送相对低的触发数量的时钟信号的电路模块,并向该选择电路模块输出调整时钟信号CK0。
图16是表示根据本实施例的半导体集成电路的典型用途的示意图。在图16中,给半导体集成电路70输送由晶体振荡器71和时钟发生电路72产生的时钟信号CK。给与(AND)门73输送时钟信号CK和模式选择信号MODE。时钟信号CK和模式选择信号MODE的逻辑乘积变为调整时钟信号CK0。注意时钟发生电路72和AND门73可设置在半导体集成电路70中。
模式选择信号MODE由包含在系统中的硬件或软件设置,以便在系统正常操作期间处于低电平。当该系统不处于正常操作时,例如当该系统处于待命或再充电状态时,设置模式选择信号以便处于高电平。当模式选择信号MODE在低电平时,调整时钟信号CK0固定在低电平,包含于触发调整电路59中的第一到第三选择器62a-62c(图14)分别选择和输出第一到第三时钟信号CK1-CK3。在这种情况下,第一到第三电路模块53a-53c(图13)分别与第一到第三时钟信号CK1-CK3同步地操作。
另一方面,当模式选择信号MODE处于高电平时,调整时钟信号CK0按照与时钟信号CK相似的方式变化,并且第一到第三选择器62a-62c输出调节时钟信号CK0或固定值(在低电平)。触发调整电路59给已经被输送了时钟信号TCi的电路模块53j输送调整时钟信号CK0,其中触发计数TCi不处于其最大可能值M(其中如果i=1,则j=a,如果i=2,则j=b;如果i=3,则j=c)。相应地,通过适当设置模式选择信号MODE以便使其处于高电平,可以使分别输送给第一到第三电路模块53a-53c的时钟信号ck1到ck3的触发计数TC1-TC3接近它们的各自可能最大值M。
形成包含于第一到第三电路模块53a-53c的每个中的逻辑单元的晶体管根据输送给该电路模块的时钟信号的触发计数TCi进行退化。因此,如果分别输送给第一到第三电路模块53a-53c的时钟信号ck1到ck3的触发计数TC1-TC3彼此接近,则包含在第一到第三电路模块53a-53c中的电路的延迟时间以相互类似的方式随着时间的流逝而变化。
相应地,通过适当地设置模式选择信号MODE使其处于高电平,可以使包含于第一到第三电路模块53a-53c中的电路的延迟时间以彼此类似的方式随着时间的流逝而变化。因此,即使在将半导体集成电路安装到系统中之后,通过调整每个时钟信号的触发数量,可以实现防止随着彼此不同的频率变化的时钟信号被输送的效果。一旦输送了这种时钟信号,随时间的退化程度将变得在晶体管之间不同,因此发生定时错误,导致半导体集成电路的服务寿命更短。通过在电路模块与电路模块基础上终止输送时钟信号,在具有减小功耗功能的半导体集成电路中上述效果特别明显。
(第六实施例)
关于用于检验或改变包含在半导体集成电路中的时钟电路的方法介绍本发明的第六实施例。图17是表示根据本实施例的用于设计半导体集成电路的方法的流程图。在完成逻辑电平设计之后和定时调整之前,在半导体集成电路上执行图17中所示的程序。
在图17所示的程序中,首先,从可在设计半导体集成电路中使用的逻辑单元的所有类型中指定应该存在于时钟路径上的逻辑单元的类型(步骤S301)。下面将在步骤S301中指定的类型的逻辑单元称为“时钟单元”,而将其它类型的逻辑单元称为“非时钟单元”。注意在步骤S301,在所有逻辑单元中,只有可以抵制处理变化的逻辑单元被选择地指定为时钟单元。然后,对于每种类型的非时钟单元,指定一种逻辑上等效于该非时钟单元的时钟单元(步骤S302)。
接着,从要设计的半导体集成电路抽取所有时钟路径(步骤S303)。然后,对于存在于抽取的时钟路径上的每个逻辑单元,确定该逻辑单元是时钟单元还是非时钟单元(步骤S304)。然后,为在步骤S304中确定为非时钟单元的每个逻辑单元获得各种类型信息(步骤305)。在步骤S305中获得的信息在后续设计步骤中作为参考。之后,用在步骤S302中为逻辑单元的每种对应类型指定的时钟单元代替在步骤S304中被确定为非时钟单元的每个逻辑单元(步骤306)。
因此,在根据本实施例的半导体集成电路的设计方法中,可以改变包含于半导体集成电路中的时钟电路,以便只有具有特殊特性的逻辑单元(例如能抵抗处理变化的逻辑单元)位于时钟路径上。
图18中所示的流程图可以通过从图17所示流程图中除去步骤S302和S306而获得。根据图18中所示的程序,可以很容易地检验存在于时钟路径上的逻辑单元具有特殊特性(例如它们能抵抗处理变化)。
(第七实施例)
关于考虑到时钟路径的特性的用于设计时钟电路的方法介绍本发明的第七实施例。首先介绍的是考虑到时钟路径之间的逻辑单元的级数差别的用于设计时钟电路的方法。图19是表示根据本实施例的用于设计半导体集成电路的方法的流程图。在完成逻辑电平设计之后和定时调整之前,在半导体集成电路上执行图19中所示的程序。
在图19所示的程序中,首先,从要设计的半导体集成电路抽取到所有触发器的时钟路径(步骤S401)。然后,作为时钟路径的特性,获得存在于每个抽取的时钟路径上的逻辑单元的级数(步骤S402)。之后,从要设计的半导体集成电路中依次选择多对触发器,并为每对触发器,获得存在该对触发器之间的时钟路径上的逻辑单元的级数差值(步骤S403)。
接着,在选择的触发器对的每对之间的定时限制中,设置对应获得的差值的时间周期为用于容纳时钟路径之间的差值的设计余量(步骤S404)。在步骤S404,例如,与在步骤S403获得的差值成比例的时间周期或通过给获得的差值应用规定的函数而获得的时间周期可设定为设计余量。注意在步骤S403和S404,时钟路径之间的逻辑单元的级数差值可以只在已经被分配了定时限制的每对触发器之间获得,并且对应获得的差值的时间周期可在定时限制中设置。
接着,根据按照上述方式设置设计余量的定时限制,在给触发器输送时钟信号和数据输入信号的电路上执行定时调整(步骤S405)。在步骤S405,为了使时钟失真小于规定容限,例如,执行用于给/从时钟电路添加或删除缓冲器的程序、用于重新设计产生数据输入信号的电路的程序以及用于修改布置结果的程序。
接着,详细介绍图19中所示的程序应用于包括图20中所示的时钟电路的半导体集成电路的情形。图20中所示的时钟电路包括第一时钟电路81、第一触发器82、第二时钟电路83、和第二触发器84。第一和第二触发器82和84各与输送给它的时钟信号CK同步地操作。具体而言,第一时钟电路81在时钟信号CK基础上产生第一时钟信号CK1,第一触发器82与第一时钟信号CK1同步操作。第二时钟电路83和第二触发器84分别与第一时钟电路81和第一触发器82类似地操作。
下面将从时钟信号CK的输送源经第一时钟电路81到第一触发器82的路径称为“第一时钟路径”,从时钟信号CK的输送源经第二时钟电路83到第二触发器84的路径称为“第二时钟路径”。如图20所示,在第一时钟路径上存在四个逻辑单元,在第二时钟路径上存在五个逻辑单元。注意在图20中,分配了逻辑单元的字母如A、B、C和D,表示逻辑单元的类型。
存在于第一时钟路径上的逻辑单元的级数为四,存在于第二时钟路径上的逻辑单元的级数为五(步骤S402)。相应地,第一时钟路径和第二时钟路径之间的逻辑单元的级数差为一(步骤S403)。假设为每个级的差设置50皮秒(psec)的设计余量,则这种情况下设置的设计余量为50psec。相应地,在第一和第二触发器82和84之间的定时限制中,设置获得的50psec的值,作为用于容纳时钟路径之间的差值的设计余量(步骤S404)。接着,根据已经设置50psec设计余量的定时限制,在用于给第一和第二触发器82和84输送时钟信号和数据输入信号的时钟电路上进行定时调整(步骤S405)。
下面介绍使用根据本实施例的设计方法设计包括图20所示时钟电路的半导体集成电路所实现的效果。通常,在触发器之间的定时限制中设置用于容纳存在于时钟路径上的逻辑单元级数的设计余量是不知道的。一般情况下,如果在时钟路径之间的逻辑单元级数上存在差异,则时钟路径彼此不同产生延迟时间。因而,制造半导体集成电路,使得在时钟路径之间可能发生延迟时间的变化。因此,在通过常规方法制造的半导体集成电路中很容易发生由于制造可变性造成的定时错误。
另一方面,在根据本实施例的设计方法中,在触发器之间的定时限制中设置用于容纳存在于时钟路径上的逻辑单元的级数的设计余量。因而,即使在时钟路径之间的逻辑单元级数上存在差异,这将导致时钟路径之间的延迟时间不同,但是设置的设计余量容纳了延迟时间的差异。因此,制造半导体集成电路使得在时钟路径之间不可能发生延迟变化。这样,根据本实施例的半导体集成电路的设计方法提供不可能发生定时错误的半导体集成电路。
为根据本实施例的半导体集成电路的设计方法提供下列变型。本发明的第一变型使用为每个逻辑单元类型获得的存在于时钟路径上的逻辑单元的数量作为时钟路径的特性。为了执行根据第一变型的设计方法,在图19中的步骤S402,对于逻辑单元的每个类型,存在于时钟路径上的逻辑单元数量而不是逻辑元件的级数可以获得作为时钟路径的特性;在步骤S403,对于逻辑单元每个类型,可以获得时钟路径之间的逻辑单元的数量差值;在步骤S404,对应获得的差值的时间周期可以设置为设计余量。
现在详细介绍根据第一变型的方法应用于包括图20中所示时钟电路的半导体集成电路的情况。在第一时钟路径上,对于类型A、B、C和D中的每种,存在一个逻辑单元,而在第二时钟路径上,有三个类型A的逻辑单元,一个类型B的逻辑单元,和一个类型D的逻辑单元。因而,逻辑单元的数量差对于类型A为2,对于类型C为1。如果每个逻辑单元的设计余量对于类型A为1.0%,对于类型B为1.1%,对于类型C为1.2%,和对于类型D为1.3%,则通过以下关系式(6)获得整个时钟电路的设计余量MG为3.2%,
MG=1.0×2+1.2×1=3.2 …… (6)。
因而,根据3.2%的获得值设置为用于容纳时钟路径之间的差异的设计余量的定时限制,在用于给第一和第二触发器82和84输送信号的电路上进行定时调整。
本实施例的第二变型使用存在于时钟路径上的布线导体的类型和延迟时间作为时钟路径的特性。图21是表示根据本实施例的第二变型用于设计半导体集成电路的方法的流程图。在图21的流程中,步骤S401和S405与图19流程中所示的步骤相同。
在图21中所示的程序中,抽取时钟路径之后(步骤S401),获得每个抽取时钟路径的布线导体的类型作为时钟路径特性(步骤S412)。然后,从要设计的半导体集成电路中依次选择多对触发器,并对于每对触发器,为存在于到一个触发器的时钟路径上的一组布线导体和到存在于另一触发器的时钟路径上的一组布线导体的每个获得由下列关系式(7)定义的系数余量mg,由此获得两个系数余量的总和MGS(步骤S413)。
mg=∑(di×mi) …(7)
在上述关系式(7)中,di和mi分别是位于时钟路径上的第i个布线导体的延迟时间和布线余量,标记∑表示为时钟路径获得的延迟时间和布线余量的乘积的求和。布线余量mi是根据布线导体的类型来确定的,例如,对于单宽度布线导体为0.8,对于双宽度布线导体为0.4,对于三宽度布线导体为0.1,等等。
接着,在步骤S413选择的的每对触发器之间的定时限制中,设置系数余量的获得的和MGS为用于容纳时钟路径之间的差异的设计余量(步骤S414),然后进行定时调整(步骤S405)。
现在详细介绍根据第二变型的方法应用于包括图22中所示时钟电路的半导体集成电路的情况。图22是表示图20中所示的时钟电路以及每个时钟路径上的布线导体的延迟时间和宽度的示意图。在图22中,给每个布线导体添加的标记d**(*表示数字字符)表示布线导体的延迟时间,标记W1-W3分别表示单宽度布线导体、双宽度布线导体和三宽度布线导体(步骤S412)。
如果如上述示例确定布线余量mi,即对于单宽度布线导体为0.8,对于双宽度布线导体为0.4,对于三宽度布线导体为0.1,则分别由下列关系式(8)和(9)获得对于第一时钟路径的系数余量mg1和对于第二时钟路径的系数余量mg2,并且由下列关系式(10)获得系数余量mg1和mg2的总和MGS(步骤S413)。
mg1=(d11+d12)×0.1+d13×0.4+(d14+d15)×0.8 …… (8)
mg2=(d21+d22)×0.1+(d23+d24)×0.4+(d25+d26)×0.8 …… (9)
MGS=(d11+d12+d21+d22)×0.1+(d13+d23+d24)×0.4+(d14+d15+d25+d26)×0.8……(10)
相应地,根据由上述关系式(10)获得的值设置为用于容纳时钟路径之间的差异的设计余量的定时限制,在用于给第一和第二触发器82和84输送时钟信号和数据输入信号的电路上进行定时调整。
除了前面的说明外,位于时钟路径上的布线导体之间的间距或者在布线导体或布线层上存在或不存在屏蔽可以考虑作为时钟路径的特性。此外,关于在时钟路径的获得特性基础上如何获得设计余量是可选的。根据上述变型的其中一个用于设计半导体集成电路的方法实现了类似于由结合图19所述的设计方法实现的效果。
本发明提供一种半导体集成电路及其设计方法,其在输送时钟信号上具有比常规半导体集成电路和常规设计方法有利的特性,因此可应用于各种类型的半导体集成电路,例如主要由逻辑电路形成的半导体集成电路、包括逻辑电路和存储电路的半导体集成电路等,以及用于设计这种半导体集成电路的方法。
虽然已经详细介绍了本发明,但是前面的说明都是示意性的而非限制性的。应该理解在不脱离本发明的范围的情况下可以设计各种其它修改和变型。
Claims (7)
1、一种用于设计与时钟信号同步操作的半导体集成电路的半导体集成电路设计方法,该方法包括步骤:
为要输送给在半导体集成电路中包含的存储单元的每个时钟信号获取在规定服务寿命内的触发数目;
基于获得的触发数目,为所述每个时钟信号获取在服务寿命届满时的延迟变化量;
获取在要输送给第一存储单元的时钟信号和要输送给第二存储单元的时钟信号之间的延迟变化量的差值;
在该第一和第二存储单元之间的定时限制中,将获取的差值设置为用于容纳由于随时间退化造成的延迟时间变化的设计余量;和
根据该已经设置设计余量的定时限制,在用于给该第一和第二存储单元输送信号的电路上进行定时调整。
2、一种与时钟信号同步操作的半导体集成电路,该半导体集成电路包括:
多个电路模块;
时钟电路,用于基于输送给它的时钟信号,产生要输送给该多个电路模块中的每一个的时钟信号;
触发计数电路,用于计算要输送给该多个电路模块中的每一个的时钟信号的触发数量;和
触发计数输出电路,用于输出该触发数量。
3、一种与时钟信号同步操作的半导体集成电路,该半导体集成电路包括:
多个电路模块;
时钟电路,用于基于输送给它的时钟信号,产生要输送给该多个电路模块中的每一个的时钟信号;
触发计数电路,用于计算要输送给该多个电路模块中的每一个的时钟信号的触发数量;和
触发调整电路,用于给一个电路模块输送调整时钟信号,其中给该电路模块输送触发数量相对低的时钟信号,该调整时钟信号不同于输送给该时钟电路的时钟信号。
4、一种用于设计与时钟信号同步操作的半导体集成电路的半导体集成电路设计方法,该方法包括步骤:
获取输送到包含在半导体集成电路中的存储单元的每个时钟路径的规定特性;
基于输送到第一存储单元的第一时钟路径的所述规定特性和输送到第二存储单元的第二时钟路径的规定特性以规定的方式获取设计余量;
在该第一和第二存储单元之间的定时限制中,将获取的设计余量设置为用于容纳时钟路径之间的差值的设计余量;和
根据该已经设置获取的设计余量的定时限制,在用于给该第一和第二存储单元输送信号的电路上进行定时调整。
5、根据权利要求4的半导体集成电路设计方法,其中:
所述规定特性包括存在时钟路径上的逻辑单元的级数;和
获取设计余量的步骤基于在第一和第二时钟路径之间的每种逻辑单元的级数差获取设计余量。
6、根据权利要求4的半导体集成电路设计方法,其中:
所述规定特性包括存在时钟路径上的每个类型的逻辑单元的数量;和
获取设计余量的步骤基于在第一和第二时钟路径之间的每种类型的逻辑单元的数量差获取设计余量。
7、根据权利要求4的半导体集成电路设计方法,其中:
所述规定特性包括存在时钟路径上的布线导体的类型;和
获得设计余量的步骤基于存在第一时钟路径上的布线导体的类型和延迟时间以及存在第二时钟路径上的布线导体的类型和延迟时间获取设计余量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP322171/2003 | 2003-09-12 | ||
JP2003322171A JP2005093563A (ja) | 2003-09-12 | 2003-09-12 | 半導体集積回路およびその設計方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100351907A Division CN1595638A (zh) | 2003-09-12 | 2004-04-30 | 半导体集成电路及其设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1916921A true CN1916921A (zh) | 2007-02-21 |
Family
ID=34269982
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100351907A Pending CN1595638A (zh) | 2003-09-12 | 2004-04-30 | 半导体集成电路及其设计方法 |
CNA2006101540055A Pending CN1916922A (zh) | 2003-09-12 | 2004-04-30 | 半导体集成电路及其设计方法 |
CNA2006101540040A Pending CN1916921A (zh) | 2003-09-12 | 2004-04-30 | 半导体集成电路及其设计方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100351907A Pending CN1595638A (zh) | 2003-09-12 | 2004-04-30 | 半导体集成电路及其设计方法 |
CNA2006101540055A Pending CN1916922A (zh) | 2003-09-12 | 2004-04-30 | 半导体集成电路及其设计方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US20050060676A1 (zh) |
JP (1) | JP2005093563A (zh) |
CN (3) | CN1595638A (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352787A (ja) * | 2004-06-10 | 2005-12-22 | Matsushita Electric Ind Co Ltd | タイミング解析方法およびタイミング解析装置 |
US7188325B1 (en) * | 2004-10-04 | 2007-03-06 | Advanced Micro Devices, Inc. | Method for selecting transistor threshold voltages in an integrated circuit |
JP2006155056A (ja) * | 2004-11-26 | 2006-06-15 | Fujitsu Ltd | タイミングエラー修正方法 |
JP4630718B2 (ja) * | 2005-04-13 | 2011-02-09 | 株式会社東芝 | クロック配線装置及びクロック配線方法 |
US7398485B2 (en) * | 2006-04-11 | 2008-07-08 | International Business Machines Corporation | Yield optimization in router for systematic defects |
JP4953716B2 (ja) * | 2006-07-25 | 2012-06-13 | パナソニック株式会社 | 半導体集積回路およびその関連技術 |
JP4955484B2 (ja) * | 2007-08-24 | 2012-06-20 | ルネサスエレクトロニクス株式会社 | 回路設計装置、回路設計方法、及び、回路設計プログラム |
JP4901702B2 (ja) * | 2007-11-27 | 2012-03-21 | 株式会社東芝 | 回路設計方法 |
US8418102B2 (en) * | 2008-04-29 | 2013-04-09 | Lsi Corporation | Optimization of library slew ratio based circuit |
KR20130087302A (ko) * | 2012-01-27 | 2013-08-06 | 삼성전자주식회사 | 반도체 집적 회로와 이를 포함하는 장치의 동작 방법 |
JP5883676B2 (ja) * | 2012-02-22 | 2016-03-15 | ルネサスエレクトロニクス株式会社 | Lsi設計方法 |
CN108809292B (zh) * | 2017-05-02 | 2022-01-04 | 中国科学院微电子研究所 | 一种亚阈值电路的优化方法及系统 |
CN112115667B (zh) * | 2020-08-05 | 2024-07-12 | 深圳市紫光同创电子有限公司 | Fpga布局方法、装置、电子设备和计算机可读介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475830A (en) * | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
US5980092A (en) * | 1996-11-19 | 1999-11-09 | Unisys Corporation | Method and apparatus for optimizing a gated clock structure using a standard optimization tool |
JPH11142477A (ja) * | 1997-11-06 | 1999-05-28 | Fujitsu Ltd | 半導体集積回路 |
US6457167B1 (en) * | 1998-03-31 | 2002-09-24 | Kabushiki Kaisha Toshiba | Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program |
JP2002026134A (ja) * | 2000-07-12 | 2002-01-25 | Seiko Epson Corp | 半導体集積回路の製造方法及びこの方法により製造した半導体集積回路 |
KR100499626B1 (ko) * | 2000-12-18 | 2005-07-07 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
JP2002185309A (ja) * | 2000-12-18 | 2002-06-28 | Hitachi Ltd | データ保持回路および半導体装置並びに半導体装置の設計方法 |
US6550045B1 (en) * | 2001-11-20 | 2003-04-15 | Lsi Logic Corporation | Changing clock delays in an integrated circuit for skew optimization |
US7096442B2 (en) * | 2003-07-10 | 2006-08-22 | Lsi Logic Corporation | Optimizing IC clock structures by minimizing clock uncertainty |
US7003746B2 (en) * | 2003-10-14 | 2006-02-21 | Hyduke Stanley M | Method and apparatus for accelerating the verification of application specific integrated circuit designs |
-
2003
- 2003-09-12 JP JP2003322171A patent/JP2005093563A/ja active Pending
-
2004
- 2004-04-06 US US10/817,959 patent/US20050060676A1/en not_active Abandoned
- 2004-04-30 CN CNA2004100351907A patent/CN1595638A/zh active Pending
- 2004-04-30 CN CNA2006101540055A patent/CN1916922A/zh active Pending
- 2004-04-30 CN CNA2006101540040A patent/CN1916921A/zh active Pending
-
2006
- 2006-07-10 US US11/482,851 patent/US20060253822A1/en not_active Abandoned
- 2006-07-10 US US11/482,852 patent/US20060253823A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20050060676A1 (en) | 2005-03-17 |
JP2005093563A (ja) | 2005-04-07 |
US20060253823A1 (en) | 2006-11-09 |
CN1595638A (zh) | 2005-03-16 |
US20060253822A1 (en) | 2006-11-09 |
CN1916922A (zh) | 2007-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1916921A (zh) | 半导体集成电路及其设计方法 | |
US9310831B2 (en) | Multi-mode multi-corner clocktree synthesis | |
CN1151548C (zh) | 集成电路装置的合格率估算方法 | |
CN1271705C (zh) | 半导体集成电路的设计方法 | |
CN1917371A (zh) | 用于优化可编程逻辑器件性能的装置和方法 | |
US8661374B2 (en) | Placement aware clock gate cloning and fanout optimization | |
CN1377519A (zh) | 自动补偿扩频时钟发生器的方法与装置 | |
US8423930B2 (en) | Area and power saving standard cell methodology | |
CN1779686A (zh) | 确定缓冲器插入的方法和系统 | |
CN1309045C (zh) | 半导体集成电路及其设计方法 | |
CN101053158A (zh) | 可重构半导体集成电路及其处理分配方法 | |
CN1501293A (zh) | 用于产生数字电路的电路说明的高级综合方法 | |
US8650514B2 (en) | Rescaling | |
CN110232213A (zh) | 基于FinFET结构的高速标准单元库版图设计方法 | |
JP2008112318A (ja) | 半導体集積回路の消費電力最適化方法及び半導体設計装置 | |
CN1894692A (zh) | 基于模板的领域特定的可重构逻辑 | |
CN1199243A (zh) | 模块合成装置及模块合成方法 | |
CN1667829A (zh) | 半导体集成电路及其修改方法 | |
CN1308792C (zh) | 选通时钟产生电路 | |
US6938232B2 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
US11368158B2 (en) | Methods for handling integrated circuit dies with defects | |
CN1760879A (zh) | 可编程核版图自动生成方法 | |
CN1710508A (zh) | 时钟调节装置及其方法 | |
TWI351769B (en) | Integrated circuit with signal skew adjusting cell | |
CN1114951C (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20070221 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |