实速扫描测试的电路和方法

文档序号:6133703阅读:222来源:国知局

专利名称::实速扫描测试的电路和方法实速扫描测试的电路和方法本发明涉及一种用于运行实速(at-speed)扫描测试的方法和一种用于实速扫描测试的电路。高密度集成电路需要进行高故障覆盖和低测试成本的有效测试。DFT技术中的许多技^都是基于扫描链概念^f。扫描链包含多个存储单元,当应用扫描模式时,这些存储单元被连接为移位寄存器。如果应用非扫描模式,则这些存储单元不被连接为移位寄存器,而是执行其应用功能。这些移位寄存器形成从由测试控制器驱动的输入端到还由该测试控制器读取的输出端的链。这些测试控制器在外部可被实现为自动测试设备(ATE)的部分,或者可被集成到在测试中的电路中。在扫描测试中,数据从输入端被移位至存储单元,以使这些存储单元进入在其中必须测试集成电路的状态。施加测试激励来使芯片执行规定的操作,以验证该集成电路的功能性。此操作的结果作为数据被存储在存储扫描单元中。在此操作之后,这个数据被移位至集成电路的输出端,以将该数据与期望值进行比较。集成电路可以有两个或多个时钟域,每个域都包含电路并且由不同的时钟驱动。这些时钟在相位或频率上有所不同。利用DFT技术,很难检测出由跨越两个时钟域边界的信号引起的故障。公开号为US2003/0084390的专利申请公开了一种对具有这种不同的时钟域的集成电路进行测试的电路。该集成电路包含PLL,该PLL生成频率不同于外部时钟频率的时钟。在该申请中,数个时钟域均由该PLL驱动。在扫描测试期间,由ATE提供的相对慢的时钟执行数据的移位。在捕获序列和启动序列这两个序列内施加测试激励。在启动序列中,一个或多个时钟脉冲被驱动到时钟域来起动改变信号的事件。在捕获序列中,时钟脉冲被驱动来使能接收在启动序列中所触发的信号的电路。对于捕获和启动时钟,提供快速脉冲来施加接近于应用条件的测试条件。由芯片内的PLL和时钟控制器提供捕获和启动时钟。不同的域的时钟脉冲能够具有相同频率或者具有彼此成倍的频率。问题在于,如何指定并且生成以彼此不成倍的不同的施加速度(applicationspeed)运行的时钟域时钟脉冲。本发明的目的是提供一种生成适于用在启动和捕获周期中的实速时钟的电路。本发明的另一目的是提供一种对具有多个时钟域的集成电路进行结构时延测试的方法。通过独立的权利要求的主题实现该目的。本发明的有利的改进方案将由从属权利要求显现出来。根据本发明,提供一种用于对集成电路进行测试来检测时延故障的方法。这些时延故障是由从集成电路的第一模块(block)到集成电路的第二模块的信号通道引起的。如果来自第一模块中的存储单元的信号花费太长时间才能由第二模块的存储单元捕获,则该信号引起误动作,在这种情况下,该误动作就是时延故障。第一和第二模块是通过它们被驱动应用的频率来区分的。在步骤a)中,以参考频率把数据移位到扫描存储单元中。优选地,这些扫描单元在步骤a)之前已进入扫描测试模式。在步骤b)中,以启动测试频率对第一模块施加启动测试时钟脉冲。该启动测试时钟脉冲驱动第一模块的存储单元,并且起动由此第一模块所驱动的信号。在步骤c)中,以捕获测试频率对第二模块施加捕荻测试时钟脉冲。由该捕获测试时钟脉沖激活第二模块中的存储单元。这些存储单元存储被驱动到这些存储单元的输入端的信号。现在对在步骤b)中从第一模块所驱动的信号进行存储。如果信号的传播耗时太长,则在该信号到达之前就发生了所述存储。在这种情况下,已出现了时延故障,并且检测到该时延故障。现在,以步骤a)中的参考频率把数据从扫描存储单元移位到输出端。该输出端能够是由自动测试设备进行读取的集成电路的管脚。在最后的步骤e)中,输出端处的值与期望值进行比较。输出端处的值是由步骤c)的第二模块中的捕获脉冲所捕获的数据。尽管第一和第二模块的施加速度是不同的,但是启动测试频率和捕获测试频率却是相同的。启动测试时钟脉冲的第一边沿与捕获测试时钟脉冲的第一边沿相对彼此延迟一周期,该周期是启动测试频率的倒数。根据穿过从笫一模块到第二模块的信号通道的信号的施加速度要求来指定启动测试频率。因为启动测试时钟脉冲和捕获测试时钟脉冲能够源自相同的时钟,所以这种方案使电路设计变得容易。启动脉冲与捕获脉沖之间的时延与启动测试频率成反比。无需对启动周期与捕获周期之间的相位差进行编程,而能够很容易地对以不同频率运行的模块加以测试。该时钟方案的优点在于,能够依据功能施加速度来指定启动时钟与捕获时钟之间的定时差(timingdifference),并且同时这两个时钟能够以共同频率脉动,该共同频率简化了实速时钟生成的设计。启动测试频率优选地是信号在不引起时延故障的情况下从第一模块中的锁存器传播到第二模块中的锁存器所需时间的倒数的范围。如果启动捕获频率比允许信号从第一模块中的锁存器传播到第二模块中的锁存器的时间的倒数大5至20%,则对集成电路进行有余量的测试,以确保集成电路在如过压或欠压、温度漂移和工艺变化等各种情况下仍然工作。如果参考频率比启动频率和捕获频率低并且由自动测试设备(ATE)提供,则存储单元之间的移位寄存器间的通道不是对时间要求高的,并且易于进行时钟树合成(CTS)。此方案还为实速测试运用了低频ATE,这消除对高端ATE的依赖性并且因此降低了总体测试成本。如果时钟a和时钟b的施加频率(applicationfrequency)彼此不是成倍的,则因为测试频率只取决于第一与第二模块之间的信号的施加速度要求,所以本方法能够很容易地被应用。因为脉冲的相位差是由启动测试频率和捕获测试频率引起的,所以不需要对启动脉冲与捕获脉冲之间的相位差进行编程和控制。在本发明的另一实施方式中,提供一种方法,用于生成测试模式,以对具有由N个不同的频率区分的N个模块的集成电路进行测试。N是大于1的整数。该方法从步骤a)开始生成由NxN个元素组成的空的故障列表。在下一步骤中,计数变量i被设为0。在下一步骤c)中检查,对于元素i是否要求进行时延测试。元素i与模块j中的启动周期和模块k中的捕获周期相对应。通过用i除以N并且将此除法的结果下舍入到下一整数来计算出j。通过从i中减去j乘以N来计算出k。如果要求时延测试,则本方法继续进行步骤e);否则进行步驟g)。在步骤e)中,为模块j的启动测试脉沖和模块k的捕获测试脉冲生成测试模式。该测试模式优选的是自动测试设备运行来测试集成电路的命令列表。由自动测试模式发生器(ATPG)(即辅助生成命令列表的计算机程序)生成该测试模式。在步骤e)中生成的测试模式作为元素i被存储在故障列表中。在下一步骤g)中,检查i是否等于N2-1。如果i等于N2-1,则本方法继续进行步骤i);否则测试结束。在步骤i)中,变量i以l为步长递增,并且本方法继续进行步骤c)。这种方法提供了对时钟域之间所有可能的信号通道的结构测试,由此仅对那些其中可能发生时延故障的时钟域生成测试模式。在步骤e)中生成的测试模式优选的是以下测试模式,即根据本发明的第一实施方式执行用于对集成电路进行测试来检测时延故障的方法的测试模式。步骤c)对模块j和k是否要求时延测试的判定基于使用设计信息。在对集成电路进行设计期间,模块k与模块j之间是否存在信号通道的信息是可得到的。如果存在信号通道,则要求进行时延测试。确定。在对集成电路进行设计期间,指定了信号通道的长度和1^条件。此信息能够用来指定启动测试脉冲的频率,而无需运行特性测试来限定频率和延迟。根据本发明,还提供一种集成电路,该集成电路对多个时钟域妥协,由此域的数目为N,并且每个时钟域以不同的施加速度运行。每个时钟域都包含多个存储单元。该集成电路还对至少一个芯片内的PLL和多个施加时钟驱动器妥协。这些施加时钟驱动器可以是PPL、时4中分配器、延迟电路或緩冲器。实速时钟发生器具有一个连接到一个芯片内的PPL的时钟输入端。控制输入端和N个输出端也被用于该实速时钟发生器。实速时钟发生器要么使所有输出端保持稳定,要么在N个输出端中的两个输出端处驱动时钟脉冲。两个脉冲的相位和频率与实速时钟发生器的时钟输入端的相位和频率相同。驱动PPL的实速时钟使得以超过自动测试设备的极限的启动和捕获频率运行成为可能。该集成电路对至少一个贯穿多个时钟域的扫描通道妥协。时钟域的存储单元被用作扫描通道的移位寄存器。在该集成电路中,具有多个N个时钟复用器,这些时钟复用器中的每一个都驱动一个时钟域。该时钟复用器选择实速时钟发生器的输出端、应用时钟或者移位时钟。实速时钟发生器的N个输出端中的每一个都与不同的时钟复用器连接,并且N个应用时钟中的每一个都与不同的时钟复用器进行连接。该集成电路只需要有限数目的诸如晶体管等的逻辑电路元件来提供时延故障测试。这降低了集成电路的成本和设计的复杂性。因为只须对启动脉冲和捕获脉冲的一个频率进行编程,所以其进一步降低了测试编程的复杂性。如果以连续的时钟周期来驱动实速时钟发生器的两个输出端的时钟脉冲,则第一输出端能够被用来驱动启动测试周期,而第二输出端能够被用来驱动捕获测试周期。如果信号指示,该集成电路处于扫描测试模式,则此信号能够被用来使时钟复用器选择移位时钟并且使存储单元被连接为移位寄存器。这具有以下优点,即能够由移位寄存器将存储单元编程到这个集成电路必须被测试的指定状态。现在将参考附图对本发明的实施方式进行阐述。图1是依照本发明实施方式的对具有N个时钟域的系统进行时延故障测试的流程图。图2示出了依照本发明实施方式的对用于时延故障测试的时钟进行生成和选择的电路的示意框图。图3示出了图2中的时钟发生模块的细节。图4示出了与图2的电路相关联的时钟选择方案。图5示出了两个在其处应用时延故障测试的锁存器。图6是时延故障测试的时序图。图7示出了如何将两个时钟施加到时延故障测试的两个锁存器的四个选项。图8是图7中所示的四个选项的时延故障测试的时序图。图1是依照本发明实施方式的对具有N个时钟域的系统进行时延故障测试的流程图。集成电路由N个模块组成,每个模块以不同的时钟运行。时钟在频率或相位上不同。不同的频率可以是或者也可以不是彼此成倍的。对于具有N个时钟域的集成电路,根据启动时钟和捕获时钟的组合的可能数目,故障能被分为N2个组,这可以需要或者也可以不需要实速断定。例如,对于位于彼此异步的时钟域之间的故障不需要进行时延测试。基于不同的故障组的数目,总共有W种时钟配置。为了生成完整的测试模式集合,在第一步骤101,对故障列表进行初始化,该故障列表由N2个元素组成。这些元素包含测试模式或者不需要测试模式的信息。初始化之后,所有元素都具有指示不需要测试模式的值。此故障列表的元素在启动时钟和捕获时钟被施加到其的模块方面不同。例如,第一元素包含针对由启动时钟驱动的第一模块和由捕获时钟驱动的第二模块的测试模式。第二元素携带针对利用启动时钟测试的第一模块和利用捕获时钟测试的第二模块的测试模式。在步骤102,计数变量i被初始化并且被设置为零。对当前编号为i的元素是否要求进行延迟测试作出判定103。通过用i除以N并且将这个操作的结果下舍入到下一整数来计算出启动周期的时钟域的数目。通过从i中减去启动域的数目乘以七来计算出捕获周期的时钟域数目。例如,如果计数变量i为0,并且域的数目N为7,则启动和时钟域为0。在修改方案中,如果i为10,则启动域的数目为l,并且捕获域的数目为3。如果不要求进行时延测试,则本方法继续进行其中将i递增1的递增步骤108。在递增步骤108之后,此过程继续进行判定103。如果要求时延测试,则为在判定步骤103期间计算出的启动域和捕获域生成ATPG时延测试模式。然后,通过将时延测试模式作为元素i写入故障列表中,完成故障列表的修改105。在随后的步骤106中,检查i是否等于N2-1。在这种情况下,完成了模式生成。否则,此过程继续进行递增步骤108。图2示出了依照本发明的一个实施方式的生成和选择用于进行时延故障测试的时钟的电路的示意框图。该框图示出了实速时钟发生器201、PLL2020至202N、时钟复用器2031至203N和时钟域2041至204N。所描述的模块由参考时钟RefClk、移位时钟ShiftClkl至ShiftClkN和实速时钟AtSpeedClkl至AtSpeedClkN来驱动。参考时钟RefClk被输入到PLL2020至202N,以生成PLL时钟cPLLt至cPLLN。根据其控制输入ClkCfg、AtSpeedMode、ScanMode和Seen,实速时钟发生器201从PLL时钟cPLLt中生成时钟AtSpeedClkl至AtSpeedClkN。控制输入ClkCfg是总线宽度为W的总线。W等于上舍入到21og2(N)的下一个整数。例如,如果N是7,则ClkCfg的总线宽度W为6。时钟复用器2031至203N中的每一个都选择三个时钟中的一个来运行时钟域2041至204N之一。编号为i的时钟复用器接收时4中cPLLi、ShiftClki、AtSpeedClki作为输入,并且将时钟Clki输出到其适当的时钟域204i。选择哪个时钟取决于控制信号AtSpeedMode、ScanMode和Scen。在施加期间,由PLL2020至202N之一生成的时钟以施加速度运4亍时钟域2041至204N。为了将数据移位到扫描链中,低频时钟ShiftClkl至ShiftClkN以在ATE范围内的相对低的速度运行时钟域2041至204N。对于施加启动和捕获阶段,时钟域2041至204N中的两个由其速度接近于施加速度的快速时钟AtSpeedClkl至AtSpeedClkN来驱动。在启动阶段和捕获阶段期间,除了启动域和捕获域以外的域不由时钟驱动。图3示出了图2的实速时钟发生器201的细节。实速时钟发生器201具有由一对ClkCfg解码器301、302和脉沖发生器303组成的模块的N个实例(instance)。在图3中,m为实例的数目,并且m为1与N之间的数。第一ClkCfg解码器301检测,总线ClkCfg的上半部是否具有等于数m减1的值。如果总线ClkCfg的上半部具有等于数m减1的值,则信号Launchm被设置成1;否则其被设置成0。如果ClkCfg总线的下半部等于实例数目m减1,则第二ClkCfg解码器302将信号Capturem设置成l;否则信号Capture迈保持为0。实速时钟发生器301内的N个实例中的一个且仅有一个实例的信号Capturem为1。对于Launchm和Capturem哪一个为1,可以是相同的或者是不同的实例。总线ClkCfg的上半部从元素编号W-1变化到元素编号W/2,而ClkCfg的下半部在元素编号W/2-l与0之间变化。在具有两个时钟域的^:计的例子中,即N-2,ClkCfg-O与Clkl启动和捕获的故障相关联;ClkCfg=1与Clkl启动和Clk2捕获的故障相关联;ClkCfg=2与Clk2启动和Clkl捕获的故障相关联;ClkCfg=3与Clk2启动和捕获的故障相关联。对实速时钟发生器以这种方式进行设计,以致在启动周期中有且仅有一个脉动一次的时钟信号,而其它时钟停止;同样的现象也用于捕获周期。取决于其输入ScenLaunchm、Capturem、AtSpeedMode、ScanMode和PLLt,脉冲发生器303在输出信号AtSpeedClkm生成脉冲。脉冲发生器303由四个"与,,门310、320、331、和334、三个反相器311、321和332、两个触发器排313和323、三个单个触发器315、325和333、两个"异或"门316、326和"或"门330组成。"与"门310的前三个输入端与信号Laumchm、AtSpeedMode和ScanMode连接。"与"门310的第四输入端经过反相器311与Seen连接。"与"门310的输出端与触发器排313的笫一触发器耦合。触发器排313由k级触发器組成。所有k个触发器的时钟输入端都与时钟PLLt连接。触发器3141至304k连成一排,以致触发器1的数据输出端与下一触发器1+1的数据输入端连接。第一触发器3141的输入端与"与"门310的输出端连接,最后一个触发器314k的输出端与触发器315的数据端和"异或"门316的第一输入端连接。触发器315的时钟输入端与时钟PLLt连接,其输出端与"异或"门316的第二输入端连接。"异或"门316的输出端与节点LClk耦合。"与"门320的前三个输入端与信号Capturem、AtSpeedMode和ScanMode连接。"与"门320的第四输入端经过反相器321与信号Seen连接。"与"门320的输出端与触发器排323的第一触发器3241的数据输入端连接。触发器排由k+l个触发器3241至324k+l组成。这些触发器3241至324k+l的时钟输入端与时钟PLLt连接,其输出端与适当的下一触发器的数据输入端连接。最后的触发器324k+l的输出端与触发器325的数据输入端和"异或"门326的第一输入端连接。触发器325的时钟输入端与时钟PLLt连接,而其输出端与"异或"门326的第二输入端连接。"异或"门326的输出端与节点CClk连接。"或"门330的输入端与信号LClk和CClk连接,其输出端与"与"门331的第一输入端连接。"与"门的第二输入端与反相器332的输出端连接。反相器332的输入端与信号Seen连接。"与"门331的输出端与数据锁存器333的数据输入端连接。锁存器333的反相时钟输入端与时钟信号PLLt连接,该时钟信号PLLt的输出端与"与"门334的第一输入端连接。"与"门334的第二输入端与时钟信号PLLt连接。"与"门334的输出端与输出信号AtSpeedClkm耦合。如果ScanMode断开,则信号Seen为低电平,并且如果信号Launchm施加高电平,则"与,,门310的所有四个输入端都能够变为高电平。完成此设置,以由编号为m的实例施加一捕获脉沖周期。在这种情况下,"与,,门310的输出变为高电平,从而在k+1/2个周期之后在节点LClk上产生时钟脉冲。同样地,如果ScanMode断开,并且实例信号Capturem切换到高电平,则在节点CClk上产生时4中脉冲。节点LClk或CClk上的脉冲被输出到与时钟PLLt同步的节点AtSpeedClkm上。图4示出了图2中所示的运行时钟域241至204N之一的时钟复用器2031至203N中的一个的细节。时钟复用器由运行时钟域204m的第一复用器41、第二复用器42和第三复用器43组成。复用器41的第一和第二数据输入端分别与节点ShiftClkm和AtSpeedClkm耦合。复用器41的控制输入端与节点AtSpeedMode连接。复用器42的第一输入端与第一复用器41的输出端连接,其第二数据输入端与节点ShiftClkm连接,并且其控制输入端与节点Scen连接。第三复用器43的第一输入端与节点PLLm连接,笫二输入端与第二复用器42的输出端耦合,并且其控制输入端与节点ScanMode连接。第三复用器43的输出端与运行时钟域204m的节点Clkm连接。表1是时钟复用器的上述功能的综述。表l<table>tableseeoriginaldocumentpage13</column></row><table>图5示出了如4可将两个时钟Clka和Clkb施加到两个时钟域的例子。对于本例,a和b是l与N之间的自然数的元素,并且可以具有不同的值。触发器51属于时钟域a,而触发器52属于时钟域b。触发器51的时钟输入端由时钟信号Clka驱动,而触发器52的时钟输入端由时钟Clkb驱动。在第一触发器51与第二触发器52之间存在逻辑模块53。在时延故障测试中,必须验证,第一触发器51的输出与第二触发器52的输入之间的延迟是不是太大。否则,这会导致时延故障。所述测试通过以下步骤来完成首先,把数据移位到芯片的触发器中,然后,在时钟Clka施加启动脉冲,并且在某一延迟之后施加捕获脉冲Clkb。第二触发器52的输出被移位到集成电路的输出端,并且然后与期望值进行比较。图6是示出了依照本发明的一种实施方式的在具有N个时钟域的系统中从Clka域到Clkb域的移位周期、启动周期和捕获周期的时序图。图6的时序被分为直至L的第一移位阶段、直至L的启动-捕获阶段和第二移位阶段。在所有阶段期间,信号AtSpeedMode和ScanMode都处于高电平,以实现时延故障测试。参考时钟RefClk由外部ATE驱动。由此参考时钟RefClk得到频率更高的PLL时钟cPLLt。在第一移位阶段期间,信号Scen为高电平,从而使得时钟Clka和Clkb能够以移位时钟ShiftClka和ShiftClkb的频率运行。移位时4中ShiftClka和ShiftClkb也可以源自ATE。在L,启动-捕获周期从Scen变为低电平开始。在Scen变为低电平之后,Clka以与PLLt的频率相同的频率在(k+l)个周期之后脉动一次。k是取决于同步级数的整数,所述同步级数为了稳定Scen而被要求,Seen的稳定是高的扇出信号并且比稳定PLL可能需要更长的延迟。Clkb以同样的方式在(k+2)个PLLt周期之后脉动,这通常比Clka的脉冲迟一个PLLt时钟。当Seen变为低电平时,分别在T2和"n时刻开始在时钟AtSpeedClka和AtSpeedClkb处生成连续的脉冲。这两个脉冲在节点Clka驱动启动脉冲,而在节点Clkb驱动捕获脉冲。在T"信号Seen再次变为高电平,以开始第二移位阶段,从而把在Clkb域中在触发器处接收到的数据移位到输出端。在输出端,在捕获周期所接收到的数据与期望值进行比较。图7示出了如何在不同时钟域中将两个时钟施加到两个触发器上来测试时延故障的四个选项。对于每一个选项,都具有笫一触发器51、第二触发器52和第一触发器51的输出端与第二触发器52的输入端之间的逻辑模块53。如果时钟域的数目N等于O,则总线ClkCfg的值能够为0、1、2或3之一。在左上方,ClkCfg为0,a和b都为1,并且启动脉冲和捕获脉冲都由相同的时钟Clkl来驱动,该时钟Clkl与第一触发器51的时钟输入端和第二触发器52的时钟输入端连接。在图7的右上方,在第一触发器51的时钟输入端,启动时钟被施加到时钟Clkl;而捕荻脉冲由时钟Clk2被驱动到第二触发器52。在下半部中,第一触发器51上的启动脉冲由Clk2驱动,而第二触发器52上的捕获时钟由时钟Clkl来驱动。在第四选项中,启动和捕获时钟都由Clk2来驱动。图8是图7中所示的四个选项的时延故障测试的时序图。图8的时序图由第一移位阶段、启动-捕获阶段和第二移位阶段这三阶段组成。第一和第二移位阶段与图6中的移位阶段相同,在此将不再进行详细的说明。对于第一选项,总线ClkCfg为零,因此,启动和捕获时钟由相同的时钟Clkl驱动。在这种情况下,时钟和启动脉沖都被驱动到处于同一时钟域Clkl中的触发器。启动脉冲与捕获脉冲之间的时间周期为t。(即PLL的时钟周期),该PLL在时钟域1的施加频率范围中运行。对于ClkCfg=1,在具有时钟Clkl的第一时钟域中驱动启动脉沖,而在具有时钟Clk2的第二时钟域中驱动捕获脉冲。启动脉冲与捕获脉冲之间的延迟为t!,其与PLL频率相对应。PLL的频率比ClkCfg=0的情况下的频率高。在ClkCfg==0的第一种情况下,捕获事件与启动事件之间的延迟自然等于PLL时钟的周期,所述的PLL时钟在施加频率的范围内。ClkCfg-1时,根据Clk2至Clkl的功能速度的要求对PLLt的频率进行指定,此频率能够与Clk2和Clkl的施加频率都不同。在ClkCfg-l的笫二种情况下,PLL的频率必须与在启动触发器和捕获触发器之间所要测试的时延相对应。因此,PLL可以与时钟域1和时钟域2的施加频率完全不同的频率运行。对于ClkCfg-2,启动时钟由Clk2驱动,而捕获时4f由Clkl驱动。在ClkCfg=3的笫四种情况下,启动脉冲和捕获脉沖都由时4中Clk2驱动,时钟Clk2的频率处于时钟域2的施加频率范围内。本发明提供一种在具有多系统时钟的集成电路(IC)中能够在时钟域内和交叉时钟域地进行时延测试的系统。对于所有时钟域,移位周期都能够以在ATE范围内的共同低频率脉动。此方法并不会使时钟树合成(CTS)变得复杂。本发明的特征还在于以下元素集合1.一种计算机程序产品,其包含用于执行生成测试模式的方法的计算机程序,所述生成测试模式的方法包括以下步骤a)生成具有NxN个元素的空的故障列表,b)将计数变量i设置成零,c)检查模块j中的启动周期和模块k中的捕获周期是否要求进行时延测试,由此通过用i除以N并且将结果下舍入到下一整数来计算出j,并且由此通过从i中减去j乘以N来计算出k,d)根据步骤c),如果要求时延测试,则继续进行步骤e);否则进行步骤g),e)由自动测试模式生成器(ATPG)生成测试模式,该测试模式包含模块j的启动测试脉冲和模块k的捕获测试脉冲,f)将所生成的测试模式作为编号为i的元素存储在故障列表中,g)如果i不等于N2-1,则继续进行步骤i);否则结束,i)i以l为步长递增,并且继续进行步骤c)。2.如项目l所述的计算机程序,其被保存在存储介质上。2.如项目l所述的计算机程序,其被存储在计算机存储器中。3.如项目2所述的计算机程序,其被保存在直接存取存储器中。4.如项目2所述的计算机程序,其在电子载波信号上被传送。5.—种数据存储介质,其保存包含如项目2所述的计算机程序的计算机程序产品。6.—种方法,其中将如项目2所述的计算机程序从电子数据网络下载到与数据网络连接的计算机上。7.根据项目6所述的方法,其中,电子数据网络为因特网。参考编号201实速时钟发生器2020202卜202NPIX2031-203N时钟复用器20"-204N时钟域301判定实体302判定实体303时钟复用器310"与,,门311反相器313触发器排3141-314k触发器315触发器316"异或"门320"与,,门321反相器320"与"门321反相器323触发器排3241-324k+l触发器325触发器326"异或"门330"或"门331"与"门332反相器333触发器334"与"门41复用器42复用器43复用器51触发器1752触发器53逻辑门权利要求1.一种方法,用于对集成电路进行测试,以对由从集成电路的第一模块到集成电路的第二模块的信号通道引起的时延故障进行检测,该第一和第二模块以不同的施加速度运行,所述方法包括以下步骤a)以参考频率将数据移位到扫描存储单元中,b)以启动测试频率对第一模块施加启动测试时钟脉冲,c)以捕获测试频率对第二模块施加捕获测试时钟脉冲,由此启动测试频率与捕获测试频率相同,启动脉冲和捕获脉冲的第一边沿彼此延迟一周期,该周期是启动测试频率的倒数,并且由此根据从第一模块到第二模块的信号通道的施加速度要求指定启动测试频率,d)以参考频率将数据从扫描存储单元移位到输出端,e)将输出端的值与期望值进行比较。2.根据权利要求1所述的方法,其特征在于,启动测试频率处于信号从第一模块中的锁存器传播到第二模块中的锁存器而不产生时延故障的时间的倒数的范围之内。3.根据权利要求2所述的方法,其特征在于,启动频率和捕获频率比信号被允许从第一模块中的锁存器传播到第二模块中的锁存器的时间的倒数大5-20%。4.根据权利要求l-3之一所述的方法,其特征在于,参考频率比启动频率和捕获频率慢并且由自动测试设备(ATE)提供。5.根据权利要求l-4之一所述的方法,其特征在于,第一模块与第二模块的施加频率彼此不是成倍的。6.—种方法,用于生成用于对具有以N个不同的施加频率运行的N个模块的集成电路进行测试的测试模式,N是大于l的整数,所述方式包括以下步骤a)生成具有NxN个元素的空的故障列表,b)将计数变量i设置成零,c)检查模块j中的启动周期和模块k中的捕获周期是否要求进行时延测试,由此通过用i除以N并且将该结果下舍入到下一整数来计算出j,并且由此通过从i中减去j乘以N来计算出k,d)根据步骤c),如果要求时延测试,则继续进行步骤e);否则进行步骤g),e)由自动测试模式生成器(ATPG)生成测试模式,该测试模式包含模块j的启动测试脉冲和模块k的捕获测试脉冲,f)将所生成的测试模式作为编号为i的元素存储在故障列表中,g)如果i不等于N2-1,则继续进行步骤i);否则结束,i)i以l为步长递增,并且继续进行步骤c)。7.根据权利要求6所述的方法,其特征在于,在步骤e)中,生成测试模式,用于执行根据权利要求l-5之一所述的方法。8.根据权利要求6或7所述的方法,其特征在于,在步骤c)中,是否要求进行时延测试的判定在使用设计信息的情况下进行。9.根据权利要求7和8之一所述的方法,其特征在于,在步骤g)试周期之间的延迟都在使用设计信息的情况下来确定。10.—种集成电路,其包括-多个时钟域,域的数目是N,每个时钟域以不同的施加速度运行并且包含多个存储单元,-至少一个芯片内的PLL,-多个N个施加时4中驱动器,其驱动N个应用时钟,-至少一个移位时钟的输入端,-实速时钟发生器,其具有一个与一个芯片内的PLL连接的时钟输入端,具有控制输入端并且具有N个输出端,所述实速时钟发生器要么保持所有输出端稳定,要么在N个输出端中的两个输出端上驱动脉沖,所述两个脉冲的脉冲宽度和频率与其时钟输入端的脉沖宽度和频率相同,-至少一条穿过时钟域的扫描通道,-多个N个时钟复用器,每个时钟复用器通过选择信号应用时钟、实速时钟发生器的输出和移位时钟中的一个来驱动一个时钟域,由此,N个应用时钟中的每一个都与不同的时钟复用器连接,并且实速时钟发生器的N个输出端中的每一个都与不同的时钟复用器连接。11.根据权利要求10所述的集成电路,其特征在于,实速时钟发生器中的两个输出端上的两个时钟脉冲以连续的时钟周期来驱动。12.根据权利要求10或11所述的集成电路,其特征在于,信号指示集成电路是处于扫描测试模式,并且在扫描测试模式中,-时钟复用器选择移位时钟,-并且时钟域中的存储单元被连接为移位寄存器。全文摘要一种集成电路具有N个以不同的施加频率运行的时钟域。提供一种时钟方案,以即使施加频率彼此不是成倍的,也能够对两个时钟域之间的信号通道进行测试。提供一种方法,用于对具有多个时钟域的集成电路进行结构时延测试。文档编号G01R31/28GK101120261SQ200480044879公开日2008年2月6日申请日期2004年12月13日优先权日2004年12月13日发明者Z·S·李申请人:英飞凌科技股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1