对集成电路产生测试码模式的方法

文档序号:6138852阅读:244来源:国知局
专利名称:对集成电路产生测试码模式的方法
技术领域
本发明涉及一种对集成电路产生测试码模式的方法,特别地涉及一种产生在利用边界扫描系统进行测试中所用的测试码模式的方法。
图19中示出使用一边界扫描系统的集成电路的实例。在图19的集成电路100中,施加到输入端101A-101D的公共数据被通过输入缓冲器102A-102D和边界扫描单元103A-103D输入到内部电路104。内部电路104是一个包括各种逻辑门等电路在内的逻辑电路。来自内部电路104的数据通过边界扫描单元103E-103H和输出缓冲器105A-105D施加到输出端106A-106D。
在该边界扫描系统中,在一块板上组装每块集成电路100之后,可以容易地测试出集成电路100之间的连接状态。该测试可以按如下方式进行。即,当进行测试时,边界扫描单元103A-103H被设置为移位模式。然后,把测试数据施加到一输入端107A上。在边界扫描单元103A-103H的移位操作中,测试数据被通过输入缓冲器108A依次发送。这样,首先在边界扫描单元103E-103H中,在集成电路100的输出端一侧设置该测试数据。
当完成测试数据的设置之后,把一测试时钟施加到边界扫描单元103E-103H。这样该边界扫描单元103E-103H把该测试数据通过输出缓冲器105A-105D施加到输出端106A-106D。该施加到输出端106A-106D的输出数据通过板上的线路到达下一级的集成电路的输入端。在下一级的集成电路中,由输入端所接收的测试数据被存储于相应的边界扫描单元中。在下一级的集成电路象集成电路100一样在移位操作中转移所存储的测试数据并从该输出端串行输出该数据。
当该输出数据与施加到集成电路100上的测试数据相匹配时,可以确信集成电路100与在下一级的在该板上的集成电路之间成功地设置了线路连接。另一方面,如果输出数据与施加到集成电路100上的测试数据不相匹配,则可以确定在集成电路100与在下一级的在板上的集成电路之间的线路连接存在缺陷。在该边界扫描系统中,在把每个集成电路安装在板上之后,不管在集成电路100中的内部电路104的类型是什么都可以容易地测试集成电路之间的连接状态。
在该板上的集成电路之间的缺陷线路可能是固定到地电势的输入端上的集成电路的输入数值,而不管在输出端上的集成电路的输出数值是什么;在固定到电源电势上的输入端的集成电路的输入数值、而不管在输出端上的集成电路的输出数值为何值;等等。因此,容易理解在上述测试中要进行两种类型的测试。也就是说,它判断“全0”的输出是否被正确地发送,以及“全1”的输出是否被正确地发送。
但是,如果对“全1”的输出是否正确发送的判断过程是紧接着在对“全0”的输出是否正确地发送的判断过程之后进行的,则会出现如下问题。即,由于每个边界扫描单元都被设计为最常见的情况,使得其输出数值不能在移位模式中改变,如果“1”在移位操作中输入到边界扫描单元103E-103H中,而“0”输出数值保持在每个边界扫描单元103E-103H中,则当控制过程退出移位模式时,输出缓冲器105A-105D同时反相。在此时,一大电流流过输出缓冲器105A-105D,并且在电源和地中产生噪声。在正常操作中不会发生输出缓冲器105A-105D同时反相的情况。这种噪声不在正常操作中产生,但是它可以由这种大电流产生,并可能产生缺陷测试数据,从而影响正确的测试。
作为一种解决该问题的方法,在日本专利特开平5-129912中描述了一种通过不同的延迟时间使来自边界扫描单元103E-103H的数据延迟的方法。根据该技术,即使来自边界扫描单元103E-103H的测试结果的数据同时改变,每个输出缓冲器105A-105D基于该延迟时间依次把来自边界扫描单元103E-103H的数据发送到输出端106A-106D。结果,没有大电流流过输出缓冲器105A-105D,从而解决了在电源和“地”中产生噪声的问题。
但是,上述传统技术具有下述问题,即为了延迟来自于边界扫描单元103E-103H的数据,应当延迟具有不同延迟时间的插入于边界扫描单元103E-103H和输出缓冲器105A-105D之间的元件。结果,集成电路100的规模变得很大。
本发明用于解决上述问题,其目的在于提供一种对集成电路产生测试码模式的方法,它能够避免由于输出缓冲器的同时改变而产生的噪声并且不增加电路的规模。
为了解决上述问题,本发明一个方面涉及一种产生测试码模式的方法,该方法在来自逻辑电路的m个输出通过扫描触发器和输出缓冲器施加到m个输出端上时,对设置于m个扫描触发器中的集成电路产生测试码模式。该方法包括第一过程,对输出缓冲器的数目进行计数,当m个扫描触发器输出输入模式时,该输出缓冲器的输出值发生改变;第二过程,检查在所有来自于第一过程中计数的输出缓冲器的输出数值改变时产生的噪声量;第三过程,选择在第一过程中检查的输出缓冲器使得在该第二过程中检查的噪声量可以在许可的噪声量范围内;以及第四过程,输出一个通过修改输入模式而获得的模式作为一个测试码模式,使得在第三过程中选择的输出缓冲器的输出数值可以被改变。
本发明的另一个方面涉及一种产生测试码模式的方法,该方法在来自一个逻辑电路的m个输出通过扫描触发器和输出缓冲器施加到m个输出端上时,以及在来自该逻辑电路的n个输出(n为任意自然数)被通过输出缓冲器施加到m个输出端上时,对设置于m个扫描触发器中的集成电路产生测试码模式。该方法包括第一过程,计数输出缓冲器的数目,该输出缓冲器的输出数值在m个扫描触发器输出输入模式时发生改变;第二过程,当所有来自于第一过程中计数的输出缓冲器的输出数值改变时,对所产生的噪声量进行检查,并且当来自该输出缓冲器的n个输出数值改变时,通过把所检查的噪声量加到所产生的噪声量上计算新的噪声量;第三过程,选择在第一过程中检查的输出缓冲器使得在第二过程中检查的噪声量可以在许可的噪声量范围之内;以及第四过程,输出通过修改该输入模式而获得的一个模式作为测试码模式,使得在第三过程中选择的输出缓冲器的输出数值可以被改变。
本发明的又一方面涉及一种产生测试码模式的方法,该方法在来自一个逻辑电路的m个输出通过扫描触发器和输出缓冲器施加到m个输出端上时,对设置于m个扫描触发器中的集成电路产生测试码模式。该方法包括第一过程,对该扫描触发器进行分组,使得当来自属于一个特定组的输出缓冲器的所有输出数值改变时产生的噪声量能够在许可的噪声量范围之内;第二过程,从在该第一过程中产生的组内选择一个组;第三过程,输出一个模式作为测试码模式,其中当n个扫描触发器输出输入模式时,只有属于由第二过程所选择的组内的一个输出缓冲器的一个输出数值发生改变,并且属于在第二过程中没有选中的组的输出缓冲器的输出数值保持不变;以及第四过程,当第三过程完成之后重复对在第二过程中没有选中的组执行第二和第三过程。
通过参照下文中结合附图的本发明的具体描述,上述的以及其它本发明的目的、特点和优点将变得更加明显,其中


如下图1为根据本发明第一实施例的对一个集成电路产生测试码模式的方法的流程图;图2为对集成电路产生一个测试码模式的方法的流程图;图3为用于体现对该集成电路产生一个测试码模式的方法的模拟设备的结构的轮廓的方框图;图4为一个大规模集成电路的结构的轮廓的方块图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式;图5为在该大规模集成电路中的边界扫描单元的结构的轮廓的方框图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式;图6为示出由对该集成电路产生一个测试码模式的方法所处理的测试码模式的一个实例;图7为示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的一个实例;图8为另一个大规模集成电路的结构的轮廓的方块图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式;图9为示出由对该集成电路产生一个测试码模式的方法所处理的测试码模式的另一个实例;图10为示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的另一个实例;
图11为另一个大规模集成电路的结构的轮廓的方块图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式;图12为在该大规模集成电路中的边界扫描单元的结构的轮廓的方框图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式;图13为示出由对该集成电路产生一个测试码模式的方法所处理的测试码模式的另一个实例;图14为示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的另一个实例;图15为示出根据本发明第二实施例对集成电路产生一个测试码模式的方法的流程图;图16为示出对该集成电路产生一个测试码模式的方法的流程图;图17为示出在该集成电路的测试码模式的产生方法中的分组过程;图18示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的一个实例;以及图19示出利用一边界扫描系统的集成电路的结构的轮廓。
下面参照附图描述本发明的实施例。
第一实施例图1为根据本发明第一实施例的对一个集成电路产生测试码模式的方法的流程图。图2为对集成电路产生一个测试码模式的方法的流程图。图3为用于体现对该集成电路产生一个测试码模式的方法的模拟设备的结构的轮廓的方框图。图4为一个大规模集成电路的结构的轮廓的方块图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式。图5为在该大规模集成电路中的边界扫描单元的结构的轮廓的方框图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式。图6为示出由对该集成电路产生一个测试码模式的方法所处理的测试码模式的一个实例。图7为示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的一个实例。图8为另一个大规模集成电路的结构的轮廓的方块图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式。图9为示出由对该集成电路产生一个测试码模式的方法所处理的测试码模式的另一个实例。图10为示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的另一个实例。图11为另一个大规模集成电路的结构的轮廓的方块图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式。图12为在该大规模集成电路中的边界扫描单元的结构的轮廓的方框图,其中采用对该集成电路产生测试码模式的方法所产生的测试码模式。图13为示出由对该集成电路产生一个测试码模式的方法所处理的测试码模式的另一个实例。图14为示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的另一个实例。
在图1和图2中所示的用于实现对一集成电路产生测试码模式的测试码模式产生装置可以是图3中所示的模拟器件。在图3中所示的模拟器件中包括一输入单元1、一存储单元2、一中央处理单元3、一输出单元4、一数据库5。
输入单元1由操作员进行操作,并接收在对大规模集成电路进行测试时所用的测试码模式等等。输出单元4输出由中央处理单元3所产生的测试码模式。
数据库5存储每种类型的大规模集成电路的电路结构。该大规模集成电路是利用测试数据进行测试的。存储于数据库5中的大规模集成电路使用一边界扫描系统。图4中示出一个该边界扫描系统所作用的大规模集成电路。在图4中所示的大规模集成电路10包括输入端11A-11D;一输入端17、输入缓冲器12A-12D、一输入缓冲器18、边界扫描单元13A-13H、一内部电路14、输出缓冲器15A-15D、以及输出端16A-16D。
输入端11A-11D用于输入公用数据。输出端16A-16D用于输出公用数据。输入端17用于输入测试数据。
输入缓冲器12A-12D把施加到输入端11A-11D的数据分别发送到边界扫描13A-13D。输出缓冲器15A-15D把从边界扫描单元13E-13H输出的数据分别发送到输出端16A-16D。
内部电路14是一个包括各种类型的逻辑门的逻辑电路。
边界扫描单元13A-13H把该公用数据发送到内部电路14。另外,当进行测试时,测试数据被设置于该边界扫描单元13A-13H。图5示出边界扫描单元13A-13H的一个实例。图5中所示的边界扫描单元包括一个MODE端21A、一IN端21B、一SDR端21C、一SIN端21D、一CDR端21E、一UDR端21F、一SOT端21G、一0UT端21H、选择器22和23、以及触发器24和25。
选择器22和23在“0”选择信号施加到G端上时输出施加到“0”端的数据,并且在“1”选择信号施加到G端上时输出施加到“1”端的数据。
触发器24和25为D型触发器,当施加到C端上的时钟信号从“0”变为“1”时,该触发器读取施加到D端上的数值,并通过Q端输出该读取的数值。
当施加到IN端21B上的数据被通过利用图5中所示的边界扫描单元从0UT端21H输出时,也就是说,当边界扫描单元13A-13H被用于正常模式下时,MODE端21A的选择信号被设为“0”。这样,施加到IN端21B上的数据被通过选择器22输出到0UT端21H。
当测试数据被设置于边界扫描单元13A-13H中时,也就是说,当边界扫描单元13A-13H被用于移位模式中时,SDR端21C的选择信号被设为“1”。因此,在前一步骤从边界扫描单元施加到SIN端21D上的测试数据被根据施加到CDR端21E上的测试时钟通过选择器23和触发器24输出到SOT端21G。结果,由于测试数据存储于边界扫描单元13A-13H的触发器24中,则它被设置于边界扫描单元13A-13H。
当设置于边界扫描单元13A-13H中的测试数据被输出时,MODE端21A的选择信号被设为“1”。
此后,当UDR端21F的测试时钟改变其数值时,触发器24的测试数据被通过触发器25和选择器22输出到OUT端21H。
中央处理单元3在对一集成电路产生一测试码模式的方法中(即,根据存储于存储单元2中的进程,在图1和图2中所示过程中)对大规模集成电路10产生一测试码模式。中央处理单元3执行图1和图2中所示的初始模式处理(步骤S1)。在步骤S1中,该来自测试数据的初始模式被设置于边界扫描单元13A-13H中。一个初始模式可以是一个不根据输出缓冲器15A-15D的改变而在电源和“地”中产生噪声的模式,或者是一个不影响内部电路14中的数值的模式。也就是说,当输出缓冲器被根据一个初始模式而激活时,如果该输出缓冲器产生噪声,则本发明的特点(即,随着模式的改变而产生的噪声可以被减少)是无效的。上述初始模式被最终存储于边界扫描单元13A-13H的触发器25中。
设置初始模式的方法可以是下列除了移位操作外的其它方法。也就是说,边界扫描单元13A-13H是在正常模式下操作的,并且IN端21B的数值通过选择器23和触发器24存储于触发器25中,而没有使用存储于触发器24中的数值。这样,初始模式可以被设置于边界扫描单元13A-13H。
另一种设置初始模式的方法如下。即,当预先得知通过在相邻的输出缓冲器中设置不同的输出数值可以减少噪声时,则利用一初始模式使得不同数值可以输出到输出缓冲器15A-15D中,把边界扫描单元13A-13H设置为移位模式。利用这种初始模式,通过设置该初始模式使得噪声不能突然性并且有害地产生。
当在步骤S1完成初始模式的设置时,变量k被设置为一个通过从要被首先处理的模式的数目中减去“1”而获得的数值(步骤S2)。即,k=初始模式的数目-1其中变量k表示当前处理的测试码模式的数目。当由中央处理单元3所处理的测试码模式为如图6中所示的模式时,中央处理单元3处理三个测试码模式。具有模式号“0”的第一测试码模式为“0000”。具有模式号“1”的第二测试码模式为“1111”。具有模式号“2”的第三测试码模式为“0101”。
在步骤S2的处理之后,中央处理单元3按下述方式是设置在步骤S2中的变量k(步骤S3)。
k=k+1在步骤S3的处理之后,中央处理单元3判断在步骤S3中的变量k是否大于最后的测试码模式的数目(步骤S4)。如果在步骤S4中变量k大于最后的测试码模式的数目,在中央处理单元3结束该处理过程。
如果变量k等于或小于最后的模式的数目,则中央处理单元3在利用边界扫描单元13A-13H的移位模式进行改变之后设置该测试码模式(步骤S5)。在图6中所示的情况中,具有模式号“1”的测试码模式“1111”在该改变之后被设置为一个测试码模式。
当在S5中的处理过程完成之后,中央处理单元3在利用边界扫描单元13A-13H的移位模式进行改变之前设置该测试码模式(步骤S6)。在图6中所示的情况中,具有模式号“0”的测试码模式“0000”在改变之前被设置为一个测试码模式。
当步骤S6中的处理过程完成之后,中央处理单元3选取输出改变之后的输出端16A-16D(步骤S7)。在图6中所示的情况中,由于在该改变之后的测试码模式为“1111”,并且在该改变之前的测试模式为“0000”,则输出信号发生改变的端子为输出端16A-16D。
在步骤S7的处理过程之后,中央处理单元3把在产生测试模式的方法中所用的变量m设置为m=0(步骤S8)。变量m表示输出信号发生改变的输出端的数目。例如,当该变量为“2”时,第一和第二输出端的数值发生改变。
在步骤S8的处理过程之后,中央处理单元3把该变量设置为m=m+1(步骤S9)。在步骤S9的处理过程之后,中央处理单元3判断是否变量m大于在步骤S7中已经选取并且数值发生改变的输出端的数目(步骤S10)。如果变量m等于或小于在步骤S10中数值发生改变的输出端的数目,则中央处理单元3从在输出缓冲器15A-15D中确定的噪声量中获得当第m个输出端的数值(m为变量)发生改变时产生的噪声量(步骤S11)。在图6中所示的情况中,中央处理单元在输出缓冲器15A-15D的数值从“0”变为“1”,并从“1”变为“0”时,把每个噪声量设为10。
当在步骤S11中的处理过程完成之后,中央处理单元3判断是否在步骤S11中获得的预定噪声量大于对该噪声量的许可数值(步骤S12)。在图6中所示的情况中,中央处理单元3设置为在步骤S12中所用的对于噪声的许可数值“20”。
如果上述噪声量等于或小于许可数值时,则中央处理单元3把控制过程返回到步骤S9。如果在步骤S12中,噪声量大于上述许可数值,则中央处理单元3产生一个测试码模式,其中所改变的是在数值已经发生改变的输出端的第一至第(m-1)个输出端的数值,并通过输出单元4输出该模式(步骤S13)。然后,中央处理单元3把控制过程返回到步骤S6。
如果数值m大于在步骤S10中输出已经发生改变的输出端的数目,则中央处理单元3产生一个测试码模式,其中所改变的是在数值已经发生改变的输出端中的第一至第(m-1)个输出端的数值,并通过输出单元4输出该测试模式(步骤S14),然后,中央处理单元3把控制过程过程返回到步骤S3。
在图6中所示的情况中,在步骤S10至S13的处理过程中,中央处理单元3产生一个测试模式,其中所改变的是在数值已经发生改变的输出端的第一和第二输出端的数值。即,中央处理单元3产生一个测试模式,其中所改变的是作为对具有模式号“0”的图6中所示的测试码模式的一个修正的第一和第二输出端16A和16B的数值,并通过输出单元4输出图7中所示的具有模式号“1-1”的作为一个测试码模式而产生的模式。
在中央处理单元3产生具有模式号“1-1”的测试码模式之后,中央处理单元3类似地在步骤S6至S14中产生具有模式号“1-2”的测试码模式,并且最后在步骤S14中通过输出单元4输出该测试码模式。
然后,中央处理单元3把控制过程返回到步骤S3,并且按类似的方式处理具有模式号“1”和“2”的测试码模式。结果,即使该模式从“0000”变为“1111”时,该测试码模式“1100”插入于模式之间。因此,它可以防止在输出缓冲器同时发生改变时所产生的噪声。另外,由于没有在该电路中添加延迟元件等元件,因此可以避免电路中额外开销。
在图8中的大规模集成电路30可以是存储于数据库5中的大规模集成电路。在图8中,同时也在图4中示出的单元被分配给与图4中所示相同的单元号,并省略对其的具体描述。图8中所示的大规模集成电路30是通过从图4中所示的大规模集成电路中除去边界扫描单元13H而获得的,它把来自内部电路14的数据通过输出缓冲器15D发送到输出端16D。
中央处理单元3为大规模集成电路30产生的测试码模式如下。即,当上述边界扫描单元不在内部电路14与输出缓冲器15D之间插入时,中央处理单元3假设来自输出端16A的输出数值稳定地改变,并且执行图1和2中所示的测试码模式的产生过程。在此时,当中央处理单元3执行测试码模式产生过程时,输出端16A被排除,并且输出缓冲器15D的噪声量在图1和2中所示的过程中从步骤S12的许可数值中除去。
例如,当图9中所示的测试码模式被处理时,与图6中所示的情况相类似,当输出缓冲器15A-15D的输出数值从“0”变为“1”以及当它们从“1”变为“0”时,中央处理单元3在步骤S11中把每个噪声量设置为“10”。另外,中央处理单元3在步骤S12把噪声许可值设置为“20”。在这种情况以及该输出端16A的输出数值连续改变的情况下,输出数值被反相的缓冲器的数目为1。
这样,中央处理单元3在图9中所示的具有模式号“0”的模式“000”与具有模式号“1”的模式“111”之间插入具有模式号“1-1”的模式“100”和具有模式号“1-2”的模式“110”,它们的数值如图10中所示依次改变。另外,中央处理单元3在图9中所示的具有模式号“1”的模式“111”和具有模式号“2”的模式“010”之间插入具有模式号“2-1”的模式“011”,如图10中所示。
这样,即使边界扫描单元不连接到输出端,输出数值被反相的缓冲器的数目被噪声许可值所限,从而防止了在电源和“地”中产生噪声。
图11中所示的大规模集成电路40可以是存储于数据库中的大规模集成电路。图11中所示的大规模集成电路40包括输入端11A-11D、输入缓冲器12A-12D、边界扫描单元13A-13D、输入端17、输入缓冲器18、边界扫描单元41A-41D、一内部电路42、双向缓冲器43A-43D、以及双向端子44A-44D。在图11中,同时也在图4中示出的单元被分配给如图4中相同的号码,并省略对其的具体描述。
当边界扫描单元41A-41D的EN端为“1”时,双向缓冲器43A-43D分别从边界扫描单元41A-41D的OUT端输出数据到双向端子44A-44D。另一方面,当边界扫描单元41A-41D的EN端为“0”时,双向缓冲器43A-43D分别从边界扫描单元41A-41D的双向端子44A-44D向边界扫描单元41A-41D输出数据。
边界扫描单元41A-41D双向地通过双向缓冲器43A-43D向双向端子44A-44D输入输出数据。图12示出边界扫描单元41A-41D的一个实例。图12中所示的边界扫描单元包括一个MODE1端51A,INE端51B,SDR端51C,CDR端51D,UDR端51E,CHIPB端51F,INO端51G,SIN端51H,MODE2端51I,EXTB端51J,OUTI端51K,SOUT端51L,EN端51M,OUT端51N,INIO端51P,选择器52A、52B、52C、52D、52E和52F,触发器53A、53B、53C和53D,以及“与”门54A。
当来自内部电路42的数据利用图12中所示的边界扫描单元输出到双向缓冲器时,MODE1端51A的选择信号被设为“0”。这样,来自INE端51B的一个启动信号被通过选择器52A施加到“与”门54A上。在此时,该“与”门54A根据INE端51B的启动信号和CHIPB端51F的模式信号从EN端51M向双向缓冲器输出“1”。然后,把它施加到INO端51G上。来自内部电路42的数据被通过选择器52C从OUT端51N输出到双向缓冲器。
当来自双向缓冲器43A-43D的数据被输出到内部电路42时,从EN端51M中输出“0”,MODE2端51I的选择信号被设为“0”,并且EXTB端51J的模式信号被设置为“1”。这样,来自该双向缓冲器施加到INIO端51P的数据通过选择器52F和“与”门54B从OUTI端51K输出到内部电路42。
当测试数据被设置为边界扫描单元41A-41D中时,SDR端51C的选择信号被设置为“1”。这样,在前一阶段从边界扫描单元施加到SIN端51H的测试数据被根据施加到CDR端51D的测试时钟,通过选择器52E、触发器53C、选择器52B以及触发器53A输出到SOUT端51L。这样,该测试数据被设置于边界扫描单元中。
当该设置的测试数据被通过双向缓冲器输出到双向端子时,MODE1端51A的选择信号被设置为“1”,并且启动信号“1”被从EN端51M中输出。然后,如果UDR端51E的测试时钟发生改变,触发器53C的测试数据通过触发器53D和选择器52C输出到OUT端51N。
对于大规模集成电路40,中央处理单元3对大规模集成电路40按如下方式产生一测试码模式。即,只有当双向缓冲器43A-43D可以向双向端子44A-44D输出数据时,中央处理单元3才产生如图1和2中所示的测试码模式。
也就是说,中央处理单元3对大规模集成电路40按如下方式产生一测试码模式。当双向缓冲器43A-43D从边界扫描单元41A-41D的OUT端分别向双向端子44A-44D输出数据时,则执行如图1和2中所示的测试码模式产生过程。在此时,当边界扫描单元41A-41D的EN端从“0”变为“1”时,则根据在该改变之前所获得的最后数值执行测试码模式的产生过程。
例如,当执行图13中所示的测试码模式产生过程时,如果模式号从“1”变为“2”,则边界扫描单元41A-41D的EN端从“0”变为“1”。在此时,中央处理单元3开始如图1和图2中所示的处理过程,作为初始模式,该初始模式为当模式号为“1”时由边界扫描单元41A-41D所接收的数值“1111”。也就是说,中央处理单元3在如图14中所示的模式号“1”之后输入模式号“2-1”的“1111”,并对模式号“2-1”进行处理。
这样,中央处理单元3分别在模式号“2-1”之后依次插入如模式号“2-2”和“2-3”所示的“0011”和“0000”。由于在该处理过程之后的处理与图7中所示的相同,在此省略对其的具体描述。在产生最后的模式“0101”之后,当EN端变为“0”以保持双向端子44A-44D中的数值时,存储单元2输入模式号“5-1”的“0101”。
这样,即使利用边界扫描单元41A-41D,输出数值可能反相的缓冲器的数目受到噪声许可值的限制,从而有可能避免在电源和“地”中产生噪声。
第二实施例下面描述本发明的第二实施例。
图15为示出根据本发明第二实施例对集成电路产生一个测试码模式的方法的流程图。图16为示出对该集成电路产生一个测试码模式的方法的流程图。图17为示出在该集成电路的测试码模式的产生方法中的分组过程。图18示出由对该集成电路产生一个测试码模式的方法所产生的测试码模式的一个实例。
由于第二实施例与第一实施例的区别仅在于存储于存储单元2中的程序,因此,在此只针对这一点进行解释。在存储于本实施例的存储单元2中的程序中,中央处理单元3执行如下处理过程。即,中央处理单元3对输出端进行分组(步骤S21)。即使在一组中的所有输出端同时改变,中央处理单元3把从这一改变中产生的噪声量设置在许可数值的范围内。在步骤S21中,中央处理单元3把图4中的输出端16A-16D分组为图17中所示的第一和第二组。
当在步骤S21中的分组处理完成之后,中央处理单元3执行在步骤S22-S26中的处理过程。由于在步骤S22-S26中的处理过程与图1中所示的步骤S1-S5的处理过程相同,从而在此省略对它的具体描述。
当在步骤S26中的处理完成之后,中央处理单元3把表示一个组的变量g设置为一个初值,即,g=0(步骤S27)。然后,中央处理单元3在步骤S27中把变量g设置为g=g+1(步骤S28)。在图17中所示的情况中,在该处理过程的开始时在步骤S28中,变量g为“1”,并且对第一组进行处理。
当在步骤S28中的处理过程完成之后,中央处理单元3判断在步骤S28中的变量g是否大于在步骤S21中所确定的分组的数目(步骤S29)。如果在步骤S29中,变量g小于分组的数目,中央处理单元3把在步骤S26中设置的第g组的模式替换为在该改变之后的某个模式,并且保留第二组的模式(步骤S30)。在图17中所示的情况中,中央处理单元3把具有模式号“1”的第一组的模式“00”替换为模式“11”,并保持第二组的模式“00”,并产生一个如图18中所示的具有模式号“2-1”的测试码模式“0011”。
当在步骤S30中的处理过程完成之后,中央处理单元3把该步骤S30中产生的模式码模式设置为在改变之前设置的模式(步骤S31),并把控制过程返回到步骤S28。在图17中所示的情况中,中央处理单元3在具有模式号“2-1”的测试码模式“1100”之后产生具有模式号“2-2”的模式码模式“1111”,如图18中所示。
在步骤S29中,当变量g变为大于分组的数目时,中央处理单元3把控制返回到步骤S23。在图17中所示的情况中,中央处理单元3产生具有模式号“3-1”的测试码模式“0111”和具有模式号“3-2”的模式码模式“0101”,如图18中所示。
这样,根据本实施例,对每个组设置一个噪声许可值,并且对每个组改变输出数值。结果,在此不需要通常的延迟元件,并减少电路的额外开销,并且可以避免由于输出缓冲器同时改变所产生的噪声。
上文参照附图的具体描述是本发明的第一和第二实施例。但是,具体结构不限于上述实施例,而且本发明还包括在本发明的特征范围之内的在设计方面上的改变。例如在图14中,如果当模式切换时,在双向缓冲器43A-43D的数值发生改变时不存在问题,则不需要插入任何模式号“5-1”。
如上文所述,通过采用根据本发明的结构,通过利用一个许可数值限制输出端上的改变,产生一个测试码模式,并只允许在一个组中的一个输出端发生改变。这样就可以防止在输出缓冲器中由于同时改变所产生的噪声。另外,由于不需要象在现有技术中所用的延迟元件,从而可以避免电路的额外开销。
权利要求
1.一种用于产生测试码模式的方法,该方法在来自逻辑电路的m个输出(m为任意自然数)通过扫描触发器和输出缓冲器施加到m个输出端上时,对设置于m个扫描触发器中的集成电路产生测试码模式,其特征在于,该方法包括第一过程,对输出缓冲器的数目进行计数,当所述m个扫描触发器输出输入模式时,该输出缓冲器的输出值发生改变;第二过程,检查在所有来自于所述第一过程中计数的输出缓冲器的输出数值改变时产生的噪声量;第三过程,选择在所述第一过程中检查的输出缓冲器,使得在所述第二过程中检查的噪声量可以在许可的噪声量范围内;以及第四过程,输出一个通过修改输入模式而获得的模式作为一个测试码模式,使得在所述第三过程中选择的输出缓冲器的输出数值可以被改变。
2.一种用于产生测试码模式的方法,该方法在来自一个逻辑电路的m个输出(m为任意自然数)通过扫描触发器和输出缓冲器施加到m个输出端上时,以及在来自该逻辑电路的n个输出(n为任意自然数)被通过输出缓冲器施加到m个输出端上时,对设置于m个扫描触发器中的集成电路产生测试码模式,其特征在于,该方法包括第一过程,计数输出缓冲器的数目,该输出缓冲器的输出数值在所述m个扫描触发器输出输入模式时发生改变;第二过程,当来自在所述第一过程中计数的输出缓冲器的所有输出数值改变时,对所产生的噪声量进行检查,并且当来自该输出缓冲器的n个输出数值改变时,通过把所检查的噪声量加到所产生的噪声量上计算新的噪声量;第三过程,选择在所述第一过程中检查的输出缓冲器,使得在所述第二过程中检查的噪声量可以在许可的噪声量范围之内;以及第四过程,输出通过修改该输入模式而获得的一个模式作为测试码模式,使得在所述第三过程中选择的输出缓冲器的输出数值可以被改变。
3.根据权利要求1或2所述的方法,其特征在于,当所述第四过程完成之后,所述第二至第四过程在没有在所述第三过程中选择的所述输出缓冲器重复进行。
4.一种用于产生测试码模式的方法,该方法在来自一个逻辑电路的m个输出(m为任意自然数)通过扫描触发器和输出缓冲器施加到m个输出端上时,对设置于m个扫描触发器中的集成电路产生测试码模式,其特征在于,该方法包括第一过程,对所述扫描触发器进行分组,使得当来自属于一个特定组的所述输出缓冲器的所有输出数值改变时产生的噪声量能够在许可的噪声量范围之内;第二过程,从在所述第一过程中产生的组内选择一个组;第三过程,输出一个模式作为测试码模式,其中当所述n个扫描触发器输出输入模式时,只有属于由所述第二过程所选择的组内的一个输出缓冲器的一个输出数值发生改变,并且属于在所述第二过程中没有选中的组的输出缓冲器的输出数值保持不变;以及第四过程,当所述第三过程完成之后重复对在所述第二过程中没有选中的组执行所述第二和第三过程。
全文摘要
一种用于避免由于在输出端的数值同时改变而产生的噪声的方法,其中包括:第一过程,计数当边界扫描单元输出输入模式时输出缓冲器15A-15D的输出值发生改变的输出缓冲器的数目;第二过程,检查所计数的输出缓冲器的输出数值改变时产生的噪声量;第三过程,选择所检查的输出缓冲器使得所检查的噪声量在许可的噪声量范围内;第四过程,输出一个修改而获得的模式作为测试码模式,使得所选择的输出缓冲器的输出数值可以被改变。
文档编号G01R31/3185GK1228539SQ9910282
公开日1999年9月15日 申请日期1999年3月8日 优先权日1998年3月10日
发明者山内尚 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1