用于诊断集成电路的方法和装置的制作方法

文档序号:6200510阅读:112来源:国知局
专利名称:用于诊断集成电路的方法和装置的制作方法
技术领域
本发明整体涉及一种用于集成电路故障分析的系统和方法,尤其涉及一种用于定位已经通过扫描链测试识别的集成电路中的故障的系统和方法。
背景技术
现代电路设计在生产完成时结合能够测试集成电路(IC)的方法和硬件。电路设计者称之为面向测试的设计(DFT)或者可测试性设计。当完成IC产品时,IC测试者利用DFT设计处理中包括的方法和硬件应用制造测试。如此,IC测试者验证IC硬件不包括可以防止IC发挥应有作用的缺陷。一种DFT技术利用扫描链。扫描链提供了设置和观察IC中每个触发器的简单方法。为了利用扫描链,设计者增加了被称为扫描使能的特殊信号到IC设计中。当测试处理使扫描使能信号起作用时,设计中的每个触发器都连接至长移位寄存器或者扫描链。一个输入管脚提供到该扫描链的数据,并且一个输出管脚连接至扫描链的输出。使用芯片的时钟信号,预定图案进入触发器链,并且当完成测试时,测试模块读出每个触发器的状态。进入扫描链的图案被称为测试图案。测试完成时的每个触发器的状态通常被称为测试的结果或所得图案。测试系统将从输出管脚移出的结果与理想的“好机器”结果进行比较。好机器结果为当IC正确执行时预期的比特图案(bit pattern,或位组合)。如果对结果图案与好机器图案进行匹配或比较,以所设计的方式执行1C。如果好机器图案不匹配或误比较,IC不以所设计的方式执行,S卩,失败。当IC测试失败时,进行测试的单元报告已经找到IC的问题。IC中扫描链的使用增加了可测试性和观察IC的能力。然而,虽然扫描链诊断方法确定IC何时发生故障,但是当在触发器之间的延迟/缓冲器链内发生故障时,扫描链诊断产生特殊问题。从而,需要一种用于诊断IC中的故障的系统和/或方法,以整体上定位故障,并且更具体地,定位发生在延迟/缓冲器链中的故障。

发明内容
通过本发明的示意性实施例整体上解决或防止了这些和其他问题并且整体上实现了技术优点,该示意性实施例提供用于定位集成电路中的故障的装置及使用其的方法。根据本发明的一个实施例,提供了 一种用于诊断集成电路的装置。该装置包括:多个触发器,被配置成用于测试的扫描链设计;缓冲器链,具有多个缓冲器,所述缓冲器链可通信地连接至多个触发器中的第一触发器。该装置进一步包括:第一诊断单元,可通信地与所述缓冲器链串联连接,并被配置成接收来自所述缓冲器链中的第一中间缓冲器的缓冲器链输出信号、第一输入信号、以及第二输入信号,并且产生指示集成电路的操作状态的诊断信号;以及第二中间缓冲器,被配置成接收诊断信号并且将诊断信号发送至多个触发器中的第二触发器。根据本发明的另一实施例,提供了用于诊断集成电路的装置。该装置包括诊断单元,诊断单元包括连接至第二逻辑运算器的第一逻辑运算器。第一逻辑运算器被配置成接收第一输入信号和第二输入信号,并且作为响应,产生第一逻辑运算符输出信号。第二逻辑运算器被配置成接收第三输入信号和第一逻辑运算符输出信号,并且作为响应,产生表示在集成电路中给定位置处的操作状态的诊断信号。根据本发明的又一方面,提供了一种诊断集成电路的方法。该方法包括:使用扫描链测试图案作为用于测试方法的扫描链设计的一部分测试集成电路;如果测试表明集成电路不像设计的那样执行,则激活集成电路内给定位置处的一个或多个诊断单元。通过使用扫描链测试图案重新测试集成电路、一个或多个诊断单元使集成电路中的操作信号选择性地反相、以及基于集成电路的重新测试识别集成电路中给定位置处的操作状态而使该方法继续。


为了更好地理解本发明及其优点,现在结合附图进行以下描述,其中:图1是根据本发明的实施例的诊断单元的示意图;图2是对应于图1中所示的本发明的诊断单元实施例的真值表;图3是根据本发明的另一实施例的电路中的诊断单元的示意图;图4是根据本发明还有的另一实施例的电路中的诊断单元的示意图;图5是根据本发明还有的又一实施例的电路中的诊断单元的示意图;图6和图7是示出本发明的实施例的操作步骤的高级流程图。
具体实施例方式以下将详细描述当前所示实施例的制造和使用。然而,应该想到,本发明提供可以在多种特定环境中具体化的多种可应用发明思想。所述的特定实施例仅表示制造和使用本发明的特定方式,而不限制本发明的范围。现在参考图1,示出了表示用于诊断集成电路(IC)的系统100的示意图。系统100包括缓冲器111和诊断单元120。缓冲器111包括通常位于电路中的触发器之间的缓冲器类型的逻辑运算器,以将信号驱动到电路中的下一个元件。缓冲器111还可以延迟信号,同时进行其他操作,以保持电路中的元件同步。缓冲器111接收缓冲器链信号101并且将缓冲器链信号101发送到系统中的下一个元件。诊断单元120接收缓冲器链信号101、控制信号102和诊断使能信号103,并且作为响应,诊断单元120发送诊断信号106。控制信号102包括指示诊断单元使缓冲器链信号101反相或不反相的信号。可以从系统中的触发器或原始输入接收控制信号102。将控制信号102绑定到触发器允许当测试图案的一部分进入扫描链时,测试者选择反相。本领域技术人员将认识到,在测试运行或系统不能进行初始扫描链测试的情况下选择测试之前,该值可以被设置。诊断使能信号103包括由用户设置的使能值(或可用值)或非使能值(或不可用值),使得用户可以在需要诊断系统中的故障时使诊断单元120可用或不可用。可选地,诊断使能信号103可以通过测试设备自动设置。诊断单元120包括逻辑运算器,使得当诊断单元120被激活时,诊断信号106将包括为根据图2的诊断单元真值表产生的缓冲器链信号101的反相的值。例如,控制信号102包括反相值,并且诊断使能信号103包括使能信号,诊断信号106将为缓冲器链信号101的反相。根据所示的实施例,诊断单元120进一步包括第一逻辑运算器121和第二逻辑运算器122。第一逻辑运算器121接收控制信号102和诊断使能信号103并且发送第一逻辑运算符信号105。第一逻辑运算器101包括一个或多个逻辑运算器,使得第一逻辑运算器121将根据图2的诊断单元真值表产生第一逻辑运算符信号105。例如,控制信号102包括反相值,并且诊断使能信号103包括使能值,由第一逻辑运算器121产生的第一逻辑运算符信号105将包括反相值。第二逻辑运算器122接收缓冲器链信号101和第一逻辑运算符信号105并且作为响应,产生诊断信号106。第二逻辑运算器122包括一个或多个逻辑运算器,使得第二逻辑运算器122将根据图2的诊断单元真值表产生诊断信号106。本领域技术人员将明白,第一逻辑运算器121和第二逻辑运算器122可以包括具有等效输入、产生等价于图2的诊断单元真值表中所示值的诊断信号106的任何逻辑单元。另外,第一逻辑运算器121和第二逻辑运算器122可以包括单个逻辑元件或多个逻辑元件,只要逻辑操作的结果产生等价结果O在示例性操作实施例中,当诊断使能信号103包括非使能值(disable value)时,诊断单元120允许缓冲器链信号101通过,使得诊断信号106等效于缓冲器链信号101。当诊断使能信号103包括使能信号时,诊断单元120允许用户基于控制信号102使缓冲器链信号106的值反相。如此,用户可以确定IC中已经发生故障的地方。例如,如果扫描链测试已经识别出电路中的故障,则使缓冲器链信号101反相可以识别故障是发生在诊断单元120之前还是之后。如果缓冲器链信号101的反相在随后的扫描链测试中校正了所得图案,则故障被定位在诊断单元120之前。如果反相在随后扫描链测试中不校正所得图案,则故障被定位在诊断单元120之后。现在参考图2,示出了图1的诊断单元120的真值表。当诊断使能信号103包括使能值时,诊断单元120旁路于缓冲器链信号101,即,使缓冲器链信号通过而不改变。类似地,当控制信号102包括非反相值时,诊断单元120旁路缓冲器链信号101。如图2中所示,当诊断单元120旁路缓冲器链信号101时,诊断信号106包括等价于缓冲器链信号101的值。当诊断使能信号103包括使能值,并且控制信号102包括反相值时,诊断单元120使缓冲器链信号101反相,从而诊断信号106包括缓冲器链信号101的反相值。图3的示意图示出了本发明的实施例的系统300,其中,图1的诊断单元120在利用面向测试的扫描链设计(DFT)的大型电路中实现。本领域技术人员将认识到,在此所示和描述的系统300的元件仅为系统300作为其一部分的大型集成电路(IC)中包括的电路元件的一部分。多种附加特征可以被结合作为本发明的一部分,所示的元件用于说明目的并且不限制本发明。系统300包括第一触发器301、第二触发器302、第三触发器303、第一缓冲器310、第二缓冲器311、第三缓冲器312、第一 MUX331、第二 MUX332、第三MUX333、以及诊断单元120。在所示的实施例中,诊断单元120包括第一逻辑运算器121 (诸如图3中所示的AND门)以及第二逻辑运算器122 (诸如图3中所示的XOR门)。本领域技术人员将明白,第一逻辑运算器121和第二逻辑运算器122可以包括一个或多个逻辑运算器的组合,使得所选逻辑运算器产生等价于图2中的诊断单元真值表中描述的诊断信号325。另外,上述实例被提供用于说明目的,以进一步解释本发明的应用并且不以任何方式限制本发明。其他电路元件也可以期望地用于指定应用。第一逻辑运算器121接收包括使能值或非使能值的诊断使能信号327,允许诊断单元120根据诊断使能信号327的状态,在诊断模式下操作或者用作通过元件。第一逻辑运算器121可通信地连接至由第一逻辑运算符信号328表示的第二逻辑运算器122。在所示的实施例中,第一逻辑运算符信号328包括指示第二逻辑运算器122使缓冲器链信号324反相的反相值或非反相值。响应于借助于控制信号326的第一逻辑运算器121的接收以及诊断使能信号327,产生第一逻辑运算符信号328。在所示的实施例中,第二触发器302存储控制信号326。将控制信号326设置到电路中的触发器允许测试者基于初始测试的结果设计包括进一步测试的测试图案。时钟输入(clock into)至由第二触发器302表示的节点中的反相值允许使用初始测试图案以更准确地定位IC中的故障。如果测试图案返回失败的结果图案,则测试图案可以再次被时钟输入至1C,并且被时钟输入至第二触发器302的初始测试图案中的比特值包括反相值,用户或测试设备可以通过激活诊断单元120来更准确地定位故障,而不需要附加输入来控制反相。在所示的实施例中,系统300的电路中的触发器被设计成结合扫描链DFT并且可以以平行负载或串联移位模式操作。当电路处于操作模式时,触发器被配置成并行操作,并且存储在触发器中的值被锁定至系统中的下一个逻辑元件。当电路将要经过测试时,触发器被配置为将值串联移位到触发器中或将值串联移出电路的触发器,从而允许电路在每个触发器处被观察到,即,在扫描链测试处理期间,可能在逻辑元件之前设置每个输入值并且知道每个逻辑元件如何响应该输入。第一 MUX331可通信地连接至第一触发器301,第二 MUX332可通信地连接至第二触发器302,并且第三MUX333可通信地连接至第三触发器303。第一 MUX331接收扫描状态信号341、第一扫描输入信号342a、以及第一数据输入信号343。扫描状态信号341包括指不第一 MUX331包括或不包括IC中的扫描链中的第一触发器301的扫描使能值或扫描非使能值,即,可通信地连接第一触发器301作为序列的一部分,使得图案可以被时钟输入到IC或从IC时钟输出,或者可通信地连接触发器301使得IC可以正常操作。基于扫描状态信号341,每个相应MUX控制扫描链中的相应触发器的包含物。在所不的实施例中,第一扫描输入信号342a包括初级输入,被设置到输入/输出(I/O)管脚,允许系统300将测试图案时钟输入到系统300的触发器。数据输入信号343包括可以被设置于系统300为其一部分的大型IC内的其他元件(未示出)的逻辑信号。第二 MUX332接收扫描状态信号341、第二扫描输入信号342b、以及第二数据输入信号344。第二扫描输入信号342b包括第一触发器301的输出。第二数据输入信号344包括可以被设置于系统300为其一部分的大型IC内的其他元件(未示出)的逻辑信号。第三MUX333接收扫描状态信号341、第三扫描输入信号342c、以及第三缓冲信号329 ο第三扫描输入信号342c包括第二触发器302的输出。如以下详细描述的,第一 MUX331、第二 MUX332和第三MUX333分别允许执行扫描链测试。本领域技术人员将认识到,在此所描述的扫描链DFT系统以简单形式示出,仅用于说明目的,而不用于限制本发明的范围。其他方法和设备可以被用于实现扫描链DFT系统并且可以被本发明所接受。如图3中所示,第一触发器301可通信地连接至第一缓冲器310,第一缓冲器310可通信地连接至第二缓冲器311,并且第二缓冲器311可通信地连接至第二逻辑运算器122,如图3中所示为XOR门。第二逻辑运算器122可通信地连接至第三缓冲器312,并且第三缓冲器312可通信地连接至第三MUX333,使得由第三缓冲器312产生的信号329可以被存储在第三触发器303中。第一缓冲器310、第二缓冲器311、以及第三缓冲器312使第一缓冲器301和第三缓冲器303之间的信号延迟。延迟该信号允许系统300中体现的IC部分与系统300为其一部分的大型IC的其他元件同步。在系统300的操作实施例中,扫描状态信号341最初包括扫描使能值。第一MUX311接收扫描状态信号341,并且作为响应,选择第一扫描输入信号342a通过到第一触发器301。类似地,第二 MUX332和第三MUX333分别接收扫描状态信号341,并且作为响应,分别选择第二扫描输入信号342b和第三扫描输入信号342c通过,以分别到第二触发器302和第三触发器303。从而,当扫描状态信号341包括扫描使能信号时,第一 MUX331、第二 MUX332和第三MUX333分别将每个触发器可通信地串联作为扫描链的一部分。当扫描输入信号342a被设置为测试图案时,每个时钟周期都将一比特测试图案插入扫描链中并且使每个触发器中的比特前进到扫描链中的下一个触发器。例如,时钟输入到第一触发器301的比特值将前进到第二触发器302,并且第二触发器302中的比特值将前进到第三触发器303。类似地,第三触发器303中存储的值将前进到扫描链中的下一个触发器,或者到初始输出或I/O管脚,如信号346所示。如此,测试图案可以被调节到系统300。—旦扫描链测试图案已经被时钟输入到IC的触发器,扫描状态信号341就被设置为非使能值。MUX分别选择数据输入信号通过至每个相应触发器。基于测试参数,系统300被操作预定数量的时钟周期,允许系统在操作模式下进行作用,其中,每个逻辑元件在特定元件之前基于存储在触发器中的值进行操作。由逻辑元件产生的所得比特值被存储在特定元件之后的触发器中。例如,在系统300的正常操作中,当扫描状态信号341被设置为非使能值时,时钟的操作将在第一触发器301中存储的值锁存到第一缓冲器310。在每个连续时钟周期,逻辑元件起作用并且将值锁存至下一个元件,第一缓冲器到第二缓冲器311,然后是第二逻辑运算器122,然后是第三缓冲器312,以及最后到第三触发器303。类似地,存储在第二触发器302中的值以及存储在第三触发器303中的值被锁存至IC (未示出)中的随后兀件中。在预定数量的时钟周期之后,扫描状态信号被再次设定为使能值,如上所述,其可通信地串联系统300的触发器。在每个时钟周期,存储在相应触发器中的比特值前进至串联链中的下一个触发器。在所示的实施例中,当每个比特值被时钟输入至第三触发器303,然后被时钟输出到初始输出(如信号线346所示)时,产生所得图案。
将所得图案与好机器图案(即,如果IC正确运行,IC将产生的所得图案)进行比较。当所得图案与好机器图案匹配时,IC通过扫描链测试。当所得图案与好机器图案不匹配时,IC被识别为有故障。由于每个比特值对应于特定触发器和逻辑元件或逻辑元件的序列,可以通过识别失败比特值、其对应的触发器、以及在触发器之前的逻辑块跟踪故障的位置到特定逻辑块。然而,扫描链测试不能识别逻辑块中的哪个逻辑元件故障。例如,当故障被诊断为存在于诸如由第一缓冲器310、第二缓冲器311、以及第三缓冲器312表示的缓冲器链中时,扫描链方法不能准确地识别缓冲器链中的哪个具体缓冲器故障。在所示的实施例中,如果所得图案与好机器图案不匹配,则识别缓冲器链中的故障,初始测试图案被再次时钟输入至如上所述的扫描链,并且诊断使能信号被设置成使能值。在每个时钟周期,存储在相应触发器中的值顺序穿过进入电路中的下一个元件。例如,在上升时钟沿,触发器301中的值被锁存至第一缓冲器310中,并且触发器302中的值被锁存至诊断单元120中作为控制信号326。如上所述,控制信号326将包括反相值。系统300在操作模式下工作预定数量的时钟周期,并且在图1中的上述处理中,诊断单元120使缓冲器链信号324反相。所得图案被时钟输出并与好机器图案比较。当缓冲器链中的故障发生在第一缓冲器310或者第二缓冲器311中时,诊断单元120进行的反相将校正所得图案。从而,如果所得图案与好机器图案匹配,则在第一缓冲器310或第二缓冲器311中的诊断单元之前发生故障。缓冲器链中的故障发生在第三缓冲器312中时,由诊断单元120进行的反相将不校正所得图案。从而,如果所得图案与好机器图案不匹配,则在第三缓冲器312中的诊断单元120之后发生故障。本领域技术人员将认识到,在每个缓冲器或缓冲器序列之间放置的附加诊断单元允许故障缓冲器的更准确识别。另外,本领域技术人员将认识到,诊断单元的使用可以被扩展成包括沿着集成电路中的任何理想信号路径的使用。现在参考图4,示出了根据本发明另一实施例的系统400。系统400包括第一触发器401、第二触发器402、第一缓冲器410、第二缓冲器411、第三缓冲器412、第一 MUX431、第二 MUX432、以及诊断单元120。在所示的实施例中,诊断单元120包括第一逻辑运算符121,诸如图4中所示的AND门,以及第二逻辑运算器122,诸如图4中所示的XOR门。本领域技术人员将明白,第一逻辑运算器121和第二逻辑运算器122可以包括一个或多个逻辑运算器的组合,使得所选逻辑运算器产生等价于图2的诊断单元真值表中所示的诊断信号429。第一触发器401、第二触发器402、第一 MUX431、以及第二 MUX432表示类似于图3中所示的用于测试处理的设计中使用的扫描链的多个部分。在所示的实施例中,诊断单元120包括第一逻辑运算器121,诸如图4中所示的AND门,以及第二逻辑运算器122,诸如图4中所示的XOR门。本领域技术人员将明白,第一逻辑运算器121和第二逻辑运算器122可以包括一个或多个逻辑运算器的组合,使得所选逻辑运算器产生等价于图2的诊断单元真值表中所描述的诊断信号425。另外,上述实例被提供用于说明目的,以进一步解释本发明的应用并且不意味着以任何方式限制本发明。可以期望地将其他电路元件用于指定应用。第一逻辑运算器121接收包括使能值或非使能值的诊断使能信号427,允许诊断单元120根据诊断使能信号427的状态在诊断模式下操作或用作通过元件。第一逻辑运算器121可通信地连接至由第一逻辑运算符信号428指示的第二逻辑运算器122。在所示的实施例中,第一逻辑运算符信号428包括指示第二逻辑运算器122使缓冲器链信号424反相的反相或非反相值。第一逻辑运算符信号428响应于控制信号426的第一逻辑运算器121的接收以及诊断使能信号427而产生。在可操作实施例中,图4的系统400以类似于图3的系统300的方式操作,然而,控制信号426被设置为允许控制信号独立于测试图案被切换的初级输入或I/O管脚,从而提供给测试者更好的灵活性,同时进行系统400为其一部分的大型IC的测试。图5不出了根据本发明另一实施例的系统500。系统500包括第一触发器501、第二触发器502、第一缓冲器510、第二缓冲器511、第三缓冲器512、第一 MUX531、第二MUX532、第一诊断单元120a、以及第二诊断单元120b。本领域技术人员将认识到,第一触发器501、第二触发器502、第一 MXU531、以及第二 MUX532表示用于类似于图3中所描述的测试处理的设计中的扫描链的多个部分。本领域技术人员还将认识到,所示的元件仅是包括在集成电路中的电路元件的一部分,并且多个附加特征可以被结合作为本发明的一部分;所示的元件仅用于举例的目的并且不意味着限制本发明。在所示的实施例中,第一诊断单元120a包括第一逻辑运算器121a,诸如图5中所示的AND门,以及第二逻辑运算器122a,诸如图5中所示的XOR门。本领域技术人员将明白,第一逻辑运算器121a和第二逻辑运算器122a可以包括一个或多个逻辑运算器的组合,使得所选逻辑运算器产生等价于图2的诊断单元真值表中描述的那些的第一诊断信号524。第二诊断单元12b包括第三逻辑运算器121b,诸如图5中所示的AND门,以及第四逻辑运算器122b,诸如图5中所示的XOR门。本领域技术人员将明白,第三逻辑运算器121b和第四逻辑运算器122b可以包括一个或多个逻辑运算器的组合,使得所选逻辑运算器产生等价于图2的诊断单元真值表中描述的那些的第二诊断信号529。第一触发器501可通信地连接至第一缓冲器510,如信号522所示。第一缓冲器510可通信地连接至第二逻辑运算器122a,如信号523所示,并且第二逻辑运算器122a可通信地连接至第二缓冲器511,如第一诊断信号524所示,使得第一诊断单元120a的第一诊断信号524锁存至第二缓冲器511。第二缓冲器511可通信地连接(如信号525所示)至第四逻辑运算器122b,图5中所示为XOR门。第四逻辑运算器122b可通信地连接至第三缓冲器512,并且第三缓冲器512可通信地连接至第二触发器502。第一逻辑运算器121a接收包括使能值或非使能值的诊断使能信号527,允许第一诊断单元120a根据信号527的状态在诊断模式下操作或者用作通过元件。第一逻辑运算器121a还接收包括可通信地连接至任何初级输入的反相值或非反相值的第一控制信号528。第三逻辑运算器121b接收包括使能值或非使能值的诊断使能信号527,允许第二诊断单元120b根据信号527的状态在诊断模式下操作或用作通过元件。如图5所示,第一诊断单元120a和第二诊断单元120b可以通过诊断使能信号527同时可用。在可选实施例中,第一诊断单元120a和第二诊断单元120b通过独立诊断使能信号可独立地使用。第三逻辑运算器121b还接收包括可通信地连接至任何初级输入的反相值或非反相值的第二控制信号526b ο在可操作实施例中,图5的系统500以类似于图3的系统300的方式操作,如以下所描述的那样变更,然而控制信号526a和526b被设置到初级输入端或I/O管脚,允许控制信号独立于测试图案被切换,从而提供给测试者更好的灵活性,同时进行系统500为其一部分的大型IC的测试。在示例性可操作实施例中,如果缓冲器链不能进行扫描链测试,第一诊断单元120a和第二诊断单元120b可用。当第一和第二诊断单元120a和120b分别可用时,第一和第二诊断单元120a和120b的输出可以分别被控制,使得能够定位IC中的故障。在示例性操作中,第一控制信号526a被设置成反相值,并且第二控制信号526b被设置成非反相值。测试图案被时钟输入到图3的上述系统的触发器,并且系统操作预定数量的周期,第一诊断单元120a使缓冲器链信号523反相,并且第二诊断单元120b旁路缓冲器链信号525。预定数量的时钟周期之后,所得图案被时钟输出关于图3的上述触发器。如果所得图案与好机器图案不匹配,则故障被定位在第一缓冲器510中的第一诊断单元120a之前。如果所得图案继续与好机器图案不匹配,则故障被定位在诊断单元120a之后。第一控制信号526a被设定为非反相值,并且第二控制信号526b被设置成反相值。再次,测试图案被时钟输入至图3的上述系统的触发器,并且系统操作预定数量的时钟周期,第一诊断单元120a旁路于缓冲器链信号523,并且第二诊断单元120b使缓冲器链信号525反相。如果所得图案与好机器图案不匹配,则故障被识别为发生在第三缓冲器512中的第二诊断单元120b之后。如果所得图案与好机器图案匹配,则故障被定位在第二缓冲器511中的第二诊断单元120b之前。从而,使用图5中所示的两个诊断单元允许用户更准确地识别故障的位置。本领域技术人员将认识到,可以根据测试者的特定需要使用多个诊断单元。先前描述的系统通常如图6和图7描述的那样操作。图6和图7示出了描述通过例如图4的系统400执行的逻辑操作步骤的高级流程图,其可以根据实施例实现。如框605所示,当扫描使能信号被应用至系统时处理开始,该系统将系统的所有触发器可通信地连接成长扫描链。接下来,如框610所示,将预先创建的测试图案时钟输入到扫描链。当扫描使能信号不起作用时并且系统被操作预定数量的时钟信号,处理继续,如框615所示。系统的正常操作通过重新启动扫描使能信号并且时钟输出所得图案而继续进行,如框620所示。如框625所示,然后将所得图案与好机器图案进行比较。如果所得图案与好机器图案匹配,则如决策框630所示,处理在YES路径上继续,处理在其结束。如决策框630所示,如果所得图案与好机器图案匹配,则处理在到框635的NO路径上继续,其中,扫描使能信号被施加至系统并且测试图案再次被时钟输入至扫描链。然后,系统将扫描使能信号设置为不可用,并且将诊断使能信号设置为可用,如框640所示。如框645所示,处理继续,其中,反相控制信号被施加至诊断单元。系统被操作,如框650所示,并且在系统的触发器中产生所得图案。接下来,如框655所示(图7),系统重新启动扫描使能信号并且时钟输出所得图案。将所得图案再次与好机器图案进行比较,如框660所示。如果所得图案与好机器图案不匹配,如决策框665所示,系统在到框670的NO路径上继续,其中,故障被识别为发生在诊断单元之后。如果所得图案与好机器图案匹配,如决策框665所示,处理在到框675的YES路径上继续,其中故障被识别为发生在诊断单元之前。本领域技术人员将认识到,由本发明描述的装置和处理将提供诊断和准确定位在与当前测试系统(更显著的是普通自动测试图案生成(ATPG)系统)兼容的延迟/缓冲器链中的故障而不妨碍系统的正常操作的手段。虽然已经详细地描述了本发明及其优点,但是应该明白,在不背离由所附权利要求限定的本发明的精神和范围的情况下,可以做出各种改变、替换和变化。此外,本发明的范围不用于限制在说明书中描述的处理、机器、制造、物质组成、装置、方法和步骤的具体实施例。本领域的技术人员根据本发明的公开内容、现有或后来发展的处理、机器、制造和物质组成、装置、方法或步骤可容易理解,可以根据本公开执行基本上与本文中所描述的对应实施例相同的功能或者基本实现与本文所描述的对应实施例相同的结果。因此,所附权利要求包括在其范围内,诸如处理、机器、制造、物质组成、装置、方法或步骤。
权利要求
1.一种用于诊断集成电路的方法,包括: 使用扫描链测试图案测试所述集成电路; 如果所述测试表明所述集成电路不像设计的那样执行,则激活所述集成电路内的一个或多个位置处的一个或多个诊断单元; 使用所述扫描链测试图案重新测试所述集成电路,所述一个或多个诊断单元使所述集成电路中的操作信号选择性地反相;以及 基于所述集成电路的重新测试识别所述一个或多个位置中的第一位置处的操作状态。
2.根据权利要求1所述的方法,其中,使用扫描链测试图案测试所述集成电路包括: 将扫描使能信号设置成可用,从而将多个触发器可通信地连接成扫描链; 将所述扫描链测试图案时钟输入所述扫描链; 将所述扫描使能信号设置为不可用,从而可通信地连接所述多个触发器用于所述集成电路中的正常操作; 使所述集成电路操作预定数量的时钟周期; 将所述扫描使能信号设置成可用,从而将所述多个触发器可通信地连接成所述扫描链; 从所述扫描链时钟输出第一所得图案; 将所述第一所得图案与理想图案进行比较;以及 如果所述第一所得图案与所述理想图案不同,则识别所述第一所得图案与所述理想图案不同的比特位置。
3.根据权利要求2所述的方法,其中,所述激活一个或多个诊断单元包括: 识别所述一个或多个诊断单元中的具体诊断单元,所述具体诊断单元沿着存储所述扫描链测试图案的比特值的所述集成电路的第一触发器和对应于第一所得图案与理想图案不同的比特位置的所述集成电路的第二触发器之间的信号路径被可通信地连接;以及将所述具体诊断单元的诊断单元使能信号设定为使能状态,从而使所述具体诊断单元工作。
4.根据权利要求1所述的方法,其中,使所述操作信号反相包括: 将所述一个或多个诊断单元的具体诊断单元的诊断控制信号设定为反相状态,从而使得所述诊断单元使所述操作信号反相;以及 使所述集成电路操作预定数量的时钟周期,从而产生重新测试所得图案。
5.根据权利要求2所述的方法,其中,所述识别所述一个或多个位置中的第一位置处的操作状态包括: 如果重新测试所得图案与理想图案不同,则将沿着所述一个或多个诊断单元中的具体诊断单元和对应于所述第一所得图案不同于所述理想图案的比特位置的第一触发器之间的信号路径的第一集成电路元件识别为不像设计的那样操作;以及 如果重新测试所得图案与理想图案相同,则将沿着对应于输送所述第一触发器的所述扫描链测试图案的比特位置的第二触发器和所述一个或多个诊断单元中的具体诊断单元之间的信号路径的第二集成电路元件识别为不像设计的那样操作。
全文摘要
本发明提供了用于诊断集成电路中的故障的系统和方法。在一个实施例中,该装置包括与缓冲器链串联连接的诊断单元。诊断单元包括多个逻辑运算器,当被激活时,使从缓冲器链接收的信号反相。使来自缓冲器链的信号的反相允许诊断单元通过用于测试方法的扫描链设计预先确定包含故障来确定集成电路中的故障的位置。
文档编号G01R31/3185GK103197232SQ20131006460
公开日2013年7月10日 申请日期2010年3月23日 优先权日2009年3月26日
发明者唐健霖, 张简维平, 刘钦洲 申请人:台湾积体电路制造股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1