IC测试方法及设备转让专利

申请号 : CN200680039372.9

文献号 : CN101297207B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤姆·瓦叶尔斯

申请人 : NXP股份有限公司

摘要 :

移位寄存器电路用于存储用于测试集成电路核心的指令数据。移位寄存器电路包括多个级,每个级包括:串行输入(si)和串行输出(so),以及包括移位寄存器电路的一个并行输出端的并行输出(wir_output)。第一移位寄存器存储元件(32)用于存储从串行输入(si)接收到的信号,并把信号以扫锚链操作模式传输给串行输出(so)。第二并行寄存器存储元件(38)用于存储来自第一移位寄存器存储单元(32)的信号,并把信号以更新操作模式传输给并行输出(wir_output)。该级还包括反馈路径(40),以测试操作模式向第一移位寄存器存储单元(32)提供并行输出(wir_output)的反转版本。该配置保证每个移位寄存器级的测试都使用现有控制线。具体地,反转信号可以计时以通过移位寄存器存储单元和并行寄存器存储单元传播,并且监测输出的最终版本以表明反转信号通过传播所述电路。

权利要求 :

1.一种移位寄存器电路,用于存储用于测试集成电路核心的指令数据,所述移位寄存器电路包括多个级,所述多个级呈链状连接在一起,除了最后一级外,每一级的串行输出(so)与下一级的串行输入(si)相连,每个级包括:串行输入(si)和串行输出(so);

并行输出(wir_output),包括移位寄存器电路的一个并行输出端;

第一移位寄存器存储元件,用于存储从串行输入(si)接收到的信号,并以扫描链操作模式将所述信号提供给串行输出(so);以及第二并行寄存器存储元件,用于存储来自第一移位寄存器存储元件的信号,并以更新操作模式将所述信号提供给并行输出(wir_output),其中,所述级还包括反馈路径(40),用于以测试操作模式向第一移位寄存器存储元件提供并行输出(wir_output)的反转版本,其中,第一移位寄存器存储元件包括第一触发器(32),第二并行寄存器存储元件包括第二触发器(38)。

2.根据权利要求1中所述的移位寄存器电路,其中所述移位寄存器电路包括在用于嵌入式核心测试结构的封装器指令寄存器中。

3.根据权利要求2中所述的移位寄存器电路,其中所述移位寄存器电路包括在用于IEEE STD 1500嵌入式核心测试结构的封装器指令寄存器中。

4.根据权利要求1中所述的移位寄存器电路,其中通过第一多路复用器(30)向第一触发器(32)提供串行输入,所述第一多路复用器(30)由移位使能信号(wir_shift)控制。

5.根据权利要求1中所述的移位寄存器电路,其中通过第二多路复用器(36)向第二触发器(38)提供串行输出(so),所述第二多路复用器(36)由更新使能信号(wir_update)控制,并且所述第二多路复用器(36)让串行输出(so)作为第一输入并让来自第二触发器(38)输出的反馈路径作为第二输入。

6.根据权利要求1中所述的移位寄存器电路,其中将串行输出(so)提供给第三多路复用器(34),所述第三多路复用器(34)由测试使能信号(wir_capture)控制,并且所述第三多路复用器让串行输出(so)作为第一输入并让第二触发器(38)的反转输出作为第二输入。

7.根据权利要求6中所述的移位寄存器电路,其中第三多路复用器(34)的输出提供第一多路复用器(30)的第一输入,串行输入(si)提供第一多路复用器(30)的第二输入。

8.根据权利要求1到7中任一权利要求所述的移位寄存器电路,其中所述级各自共享移位使能(wir_shift)、测试使能(wir_capture)和更新使能(wir_update)控制信号。

9.一种IEEE STD 1500封装器,包括:

封装器指令寄存器(WIR),包括权利要求1到8中任一权利要求所述的移位寄存器电路;

封装器边界寄存器(WBR);以及

封装器旁路寄存器(WBY)。

10.一种集成电路,包括集成电路核心以及根据权利要求9中所述的IEEE STD 1500封装器。

11.一种测试如权利要求1所述的移位寄存器电路的方法,所述移位寄存器用于存储用于测试集成电路核心的指令数据,所述移位寄存器电路包括多个级,所述多个级呈链状连接在一起,除了最后一级外,每一级的串行输出(so)与下一级的串行输入(si)相连,所述方法包括:对每个级的并行寄存器存储元件复位以提供已知输出;

反转已知输出,将反转输出与每个级的串行寄存器存储单元的输入相连;

提供来自移位寄存器的串行输出,并且监测所述串行输出以测试各级;

其中在提供串行输出之前,所述方法还包括:执行更新功能,以将串行存储寄存器存储元件的内容传输给并行寄存器存储元件;重新反转并行寄存器存储元件的输出,并且将反转输出与每一级的串行寄存器存储元件的输入相连。

12.根据权利要求11中所述的方法,还包括执行另外的更新功能,以将串行存储寄存器存储元件的内容传输给并行寄存器存储元件。

13.根据权利要求12中所述的方法,还包括第三次反转并行寄存器存储元件的输出,并且将反转输出与每一级的串行寄存器存储元件的输入相连,并且提供来自所述移位寄存器的另外的串行输出,以及监测所述另外的串行输出以测试所述级。

14.根据权利要求11至13中任一项所述的方法,用于测试核心测试封装器的封装器指令寄存器。

说明书 :

IC测试方法及设备

技术领域

[0001] 本发明概括地涉及半导体集成电路测试,以及具体地涉及一种核心测试方法和设备。

背景技术

[0002] 一种用于半导体集成电路(IC)测试的常见测试技术是扫描测试技术。该技术根本地是在器件封装的引脚使用一种测试模式(术语为“矢量”)并且依赖于器件时钟速度监测特定时间的输出响应。一组测试矢量用于使能够确定测试下的器件行为。这些矢量设计用于允许检测器件中的制造缺陷。
[0003] 随着集成电路中使用晶体管数量的增加,能够重新使用集成电路设计的能力变得越来越重要。一个关于重新使用设计功能(术语为“核心”)的重要问题是无需重构测试方法而能测试这些核心的能力,以便能够实现测试重新使用和设计重新使用。带有多个功能核心的系统上芯片(SoC)电路的测试也越来越成为一种挑战。
[0004] 在解决这些问题以前,成立了IEEE P1500工作组,发展了一种核心解决方案以方便测试集成以及测试重新使用。该标准已经作为IEEESTD 1500被采用,并且提供了一种标准接口和一套限定核心与核心外逻辑之间界限的规则。该接口称为为“封装器”,允许带有最少信号核心的隔离测试,信号必须在系统芯片结构外发送。封装器包括针对核心的每个功能输入和功能输出所谓的“封装器单元”。
[0005] 图1示出了IEEE STD1500封装器的基本布局。核心1由封装器2围绕,后者作为所有外部信号与核心之间的接口。封装器具有位于核心功能输入(FI)/输出(F0)与封装器功能输入/输出之间的封装器边界寄存器(WBR)。核心终端如图4所示,其中一些是功能输入,一些是功能输出。标准规定核心1由单向终端限定。箭头6示意地表示了封装边界寄存器作为外部功能输入和输出与核心功能输入和输出之间的接口。
[0006] 封装器边界寄存器WBR包括一系列单元8,每个单元与核心的单独功能输入或输出相连。这些单元配置进入扫描链,提供所需的测试矢量以控制核心功能输入或者移出核心功能输出上存在的结果。因此WBR担负单元通过向核心功能输入和输出提供选定的测试矢量以实质上实现扫描测试技术。
[0007] 封装器2具有封装器串行输入(WSI)和封装器串行输出(WSO),它们与指令寄存器(称为封装器指令寄存器(WIR)以及封装器边界寄存器(WBR))通信。
[0008] 封装器边界寄存器WBR控制且观察功能核心的端口4。响应于提供给封装器指令寄存器WIR的指令来配置WBR的单元8,并且封装器指令寄存器实质上控制测试过程。
[0009] 具体地,配置WIR和WBR以响应于表示“选择”、“俘获”“移位”以及“更新”命令的控制信号来操作。
[0010] 移位包括靠近测试输出的WBR存储位置中数据的推进(同时也包括WIR或其他寄存器中数据的推进)。因此,移位命令加载具有所需测试矢量的WBR单元。
[0011] 俘获包括将WBR功能输入或输出上存在的数据存储进WBR单元。
[0012] 更新包括使用附加更新存储沅江将数据存储在WBR单元移位存储元件中。
[0013] 转移包括数据向WBR单元移位存储元件中的移动。
[0014] 尽管图1没有示出,封装器接收封装器俘获信号(CaptureWR)、封装器移位信号(ShiftWR)以及更新封装器信号(UpdateWR)形式的信号。此外,封装器由封装器时钟信号(WRCK)、封装器复位信号(WRSTN)以及指令寄存器选择信号(SelectWIR)控制。
[0015] 封装器指令寄存器(WIR)用于将封装器配置于所需操作模式中,由移位至WIR的指令确定。该指令的长度可以在几十或几百位,并且能够限定不同的测试和诊断的操作模式。WIR附加电路(未示出)用于说明所加载的WIR指令,并且向控制与核心互动的WBR提供合适的控制信号。
[0016] 封装器使用与加载指令数据相同的串行输入来加载串行测试矢量,该矢量移位至WBR单元,而SelectWIR信号确定使用哪种操作模式。
[0017] 因此,WIR解码所加载的指令,然后控制封装器边界寄存器WBR执行专用控制。WIR电路接收上述CaptureWR、ShiftWR、UpdateWR、时钟信号WRCK、复位信号WRSTN和SelectWIR等信号。
[0018] 封装器指令寄存器还可以控制封装器旁路寄存器(WBY),旁路寄存器可以操作用于通过封装器串行输入(WSI)至封装器串行输出(WSO)而不与核心发生任何相互作用。这是响应WIR指令。此外,外部测试可以由WIR控制以提供核心的外部可控性和可观测性,并且该测试把封装器边界寄存器WBR与封装器串行输入和输出(WSI和WSO)相连接。这样使得能够实现将客户专用数据加载至WBR单元。
[0019] 封装器指令寄存器从封装器串行控制(WSC)输入中接收其控制输入。
[0020] 上述终端来自串行端口。封装器还可以具有并行端口,如图1所示的并行输入端口PI和并行输出端口P0。
[0021] 本发明具体涉及封装器指令寄存器的测试。通常使用所谓的“移位/阴影(shift/shadow)”寄存器实现WIR。这种类型寄存器的基本结构由串行移位寄存器和并行更新寄存器组成。这两个顺序层的优势是在串行移位寄存器中加载一套新的测试模式条件(测试矢量)的同时,保持并行更新寄存器中测试模式条件(指令数据)的能力。由于寄存器集成为系统上芯片的一部分,因此也必须测试这些寄存器。

发明内容

[0022] 根据本发明,提供了一种移位寄存器电路,用于存储用于测试集成电路核心的指令数据,所述移位寄存器电路包括多个级,每一级包括:
[0023] 串行输入和串行输出;
[0024] 并行输出,包括移位寄存器电路的一个并行输出端;
[0025] 第一移位寄存器存储元件,用于存储从串行输入接收到的信号,并以扫描链操作模式将所述信号提供给串行输出;以及
[0026] 第二并行寄存器存储元件,用于存储来自第一移位寄存器存储元件的信号,并以更新操作模式将所述信号提供给并行输出,
[0027] 其中,所述级还包括反馈路径,用于以测试操作模式向第一移位寄存器存储元件提供并行输出的反转版本(inverted version)。
[0028] 这种配置使得能够使用现有控制线来实现每个移位寄存器级的测试。具体地,可以对反转信号计时以通过移位寄存器存储元件和并行寄存器存储元件传播,并且监测输出的最终反转以表明反转信号已经传播通过电路。
[0029] 该移位寄存器电路可以包括封装器指令寄存器,用于嵌入式核心测试结构,例如封装器指令寄存器用于IEEE STD1500嵌入式核心测试结构。
[0030] 优选地,第一移位寄存器存储元件包括第一触发器(32),而第二并行寄存器存储元件包括第二触发器(38)。
[0031] 每个优选级也包括由移位使能信号、更新使能信号和测试使能信号控制的多路复用器。可以用IEEE STD1500封装器结构的俘获命令实现测试使能信号。
[0032] 优选地,各级呈链状连接在一起,除了最后一级外,每一级的串行输出与下一级的串行输入相连。
[0033] 本发明还提供了一种IEEE STD1500封装器,它包括本发明的封装器指令寄存器、封装器边界寄存器以及封装器旁路寄存器的。
[0034] 本发明还提供了一种集成电路,它包括电路核心和本发明的IEEESTD1500封装器。
[0035] 本发明还提供了一种测试移位寄存器电路的方法,所述移位寄存器电路用于存储用于测试集成电路核心的指令数据,所述移位寄存器电路包括多个级,所述方法包括:
[0036] 对每个级的并行寄存器存储元件复位以提供已知输出;
[0037] 反转已知输出,将反转输出与每个级的串行寄存器存储元件的输入相连;
[0038] 提供来自移位寄存器的串行输出,并且监测所述输出以测试各级。
[0039] 这样提供了一种移位寄存器级的自测方法,所述方法利用已有输入和控制线。
[0040] 该方法还可以包括重新反转并行寄存器存储元件的输出、以及将重新反转的输出与各级串行寄存器存储元件的输入相连。这样,串行寄存器可依次由0和1填充。
[0041] 该方法使能够实现通过所述级传播的1和0的校正监测、并且监测串行扫描通道的校正功能。这样,可针对通过的1和0监测校正的串行扫描链操作。该方法还使得能够实现监测复位操作的校正功能。
[0042] 优选地,该方法用于核心测试封装器的封装器指令寄存器的测试,例如IEEE STD1500封装器。

附图说明

[0043] 现在将参考附图详细描述本发明的示例,其中:
[0044] 图1示出了一种已知的用于集成电路核心的测试电路封装器;
[0045] 图2详细示出了图1中电路的一个封装器边界单元;
[0046] 图3示出了图1中电路的封装器边界寄存器;
[0047] 图4示出了图1中封装器指令寄存器一种可能的片结构(slicearchitecture);
[0048] 图5示出了本发明图1的封装器指令寄存器的片结构;以及
[0049] 图6示出了本发明封装器指令寄存器。

具体实施方式

[0050] 本发明提供了一种使得能够测试移位寄存器的结构。为了使指令寄存器是可测试的,申请人认识到一种可能是将更新寄存器输出反馈给移位寄存器。该寄存器的测试(包括更新寄存器的异步复位)可以使用多种模式,它们顺序地移入或移出寄存器结构。
[0051] 本发明提供了这种反馈路径特定实现,以使得能够实现指令寄存器使用简单的测试顺序。这样使得能够经由州立机械协议控制该结构。
[0052] 在进一步详细描述本发明之前,将给出封装器结构和操作的详细概述。
[0053] 如上所述,封装器边界寄存器形成多个单元,图2示出了一个这种单元20的示例,对应于图1所示单元8的其中一个单元。
[0054] 这个单元可以被配置成为输入单元或者输出单元。对于输入单元hold_inputs/outputs信号是“hold_inputs”,而对于输出单元hold_inputs/outputs信号是“hold_outputs”。
[0055] 这些保持信号控制WBR单元,并且这些保持信号是静态的,用于在核心内部(面向内)测试与核心互连(面向外)测试之间选择。响应于WIR指令的解码生成保持信号,并依赖于选定的测试(或者诊断或者应用)模式来控制所述保持信号。应用模式根本地包括禁用封装器以启用核心的正常功能。
[0056] 单元20接收到串行输入“si”,它是单元测试输入“cti”。对该串行输入计时至串行输出“so”,当移位使能控制线“se”在高位时它是触发器22的单元测试输出“cto”。移位使能控制信号控制多路复用器23。因此移位使能控制线控制信号沿扫描链的移位。注意,移位使能控制线“se”与“shiftWR”指令相关。
[0057] 对于输入单元,为了向核心提供信号,响应于控制线“hold_inputs”上的高位保持信号,触发器22的输出通过多路复用器24提供给单元功能输出“cfo”。它也反馈给多路复用器23,而移位使能线在低位,该信号反馈给触发器22以维持单元功能输出稳定。因此,存储在触发器中的单元测试输入信号保持在单元测试输出上。输入单元也可以观测核心外部环境,并发送至串行输出。
[0058] 对于输出单元,可以在单元功能输入处从核心接收到信号,当hold_outputs信号在低位时,可以将所述信号发送(移位使能在低位)至串行输出。类似地,单元测试输入可以发送至单元功能输出。
[0059] 可以看出,输入单元可以向核心提供测试信号,而输出单元可以从核心接收响应,也可以向核心外电路提供面向外的测试信号。这些功能由保持信号值来控制,所述保持信号值提供了WBR操作的控制形式。
[0060] 图3示出了多个图2所示的单元20串行连接以限定WBR,如图所示它由N个单元形成(编号从0到N-1)。一些单元配置为输入单元(作为核心的输入终端),而其他的配置为输出单元(作为核心的输出终端)。因此图3代表图1所示WBR的完整结构。
[0061] 图4示出了一种执行指令寄存器模块的可能途径,为WIR形成构件块。
[0062] 图4示出了封装器指令寄存器“俘获”、“移位”和“更新”信号以及时钟“wrck”和复位“wrstn”信号。
[0063] 将串行输入“si”提供给多路复用器30的“1”输入,所述多路复用器30由移位信号控制。当移位信号在高位,将该串行输入馈送给第一触发器32,所述第一触发器将输入信号计时至串行输出“so”。这提供了一种串行链操作。
[0064] 将输出也反馈给第二多路复用器34,所述第二多路复用器34实现俘获功能。没有俘获命令时,将输出馈送给多路复用器30的“0”输入。这样维持输出稳定直至下一个高位移位信号为止,该移位信号用下一个串行输入值代替对于多路复用器30的输入。
[0065] 串行输出还提供给第三多路复用器36,这样响应于高位更新信号将输出传输给第二触发器38。在更新信号后,触发器38的输出稳定,因为该输出反馈给多路复用器36的“0”输入。因此,在更新操作后,触发器38的输出稳定,并在触发器32中存储数值。这样限定了封装器指令寄存器(WIR)的输出。
[0066] 用于实现俘获指令的多路复用器34使得能够将外部信号CaptureIn加载在触发器32上。该信号可以来自核心,用于向输出提供诊断信息或状态信息(例如内部BIST的状态),因此为这些信息来源提供外部访问。
[0067] 复位信号对WIR输出进行复位,并且可以在复位操作模式期间执行应用模式(有效地禁用封装器)。
[0068] 可以看出,图4所示电路的功能性可以选择以:
[0069] 使用移位信号并且通过触发器32将串行输入移位至串行输出;
[0070] 在触发器32上加载“外部”信号,所述“外部信号”可以依次发送至触发器38或串行输出;
[0071] 在图4中,触发器32形成部分串行指令寄存器,而触发器38形成部分并行更新寄存器。数据可以并行操作以及于串行操作无关地加载至更新寄存器。因此,测试模式条件可以存储在并行更新寄存器中,而一套新的测试模式条件(例如一个指令)则加载至串行移位寄存器上。
[0072] 图5示出了本发明WIR基本片结构的实现。部件与图4中的相同,但是WIR输出通过反相器40也反馈给多路复用器34的“1”输入。
[0073] 该电路使用俘获信号作为内部测试控制。当俘获信号变为高位时,WIR输出的反转提供给多路复用器30,并且当不存在移位信号输入时依次将所述WIR输出提供触发器32。因此可以使用更新控制信号控制该反转的WIR输出通过该结构传播至WIR输出。因此可以在并行更新寄存器存储元件和串行更新寄存器存储元件之间的反馈路径上提供反相器来改进图4中的电路。
[0074] 图5示出了用于形成封装器指令寄存器的构件块,而图6示出了使用图5的构件块形成的封装器指令寄存器。
[0075] 如图所示,WIR包括图5元件的序列链,其串行输出与下一个串行输入相连。所有单元共享相同的时钟、俘获、移位、更新和复位信号。
[0076] 该寄存器使用WIR串行输入(“si”)端口以及WIR输出的并行设置提供了传统的数据串行加载,它可以包括测试中应用于核心的测试矢量。
[0077] 然而,该结构还允许指令寄存器的测试,可以使用下列测试程序实现:
[0078] 1.复位
[0079] 这包括向wrstn提供合适的复位信号(例如wrstn=0)。其效果是在形成更新寄存器的全部触发器38中存储值0。串行寄存器的触发器32将不会改变,并且会存储任何先前的值。
[0080] 2.保持
[0081] 复位信号结束(因此wrstn=1),WIR输入控制信号(俘获、移位、更新)为0。输出通过多路复用器36的反馈路径保持值0。
[0082] 3.俘获
[0083] 俘获信号变为高位(wir_capture=1),通过多路复用器30(wir_shift=0),在触发器32上加载反转信号。串行寄存器存储所有的1,而并行更新寄存器存储所有的0。
[0084] 4.保持
[0085] WIR输入控制信号(俘获、移位、更新)为0。
[0086] 5.更新
[0087] 通过将更新信号增加至1(wir_update=1),存储在触发器32中的1加载至触发器38。
[0088] 6.保持
[0089] WIR输入控制信号(俘获、移位、更新)为0。
[0090] 7.俘获
[0091] 俘获信号再次变为高位(wir_capture=1),通过多路复用器30(wir_shift=0),在触发器32上加载反转信号。现在,串行寄存器存储所有的0,而并行更新寄存器存储所有的1。
[0092] 8.保持
[0093] WIR输入控制信号(俘获、移位、更新)为0。
[0094] 9.移位响应
[0095] 在该循环期间,使用wir_shift=1沿扫描链移位串行移位寄存器值(所有的0)。监测串行链wir_so的输出,以确保接收到所需链的0。
[0096] 10.复位
[0097] 设置wrstn=0实现了复位,再次用值0更新并行更新寄存器,可以将任何值存储在串行移位寄存器中。该复位操作还检验触发器38是否都能够开关,因为它们都从已知状态1切换到新状态0。
[0098] 11.保持
[0099] 复位信号结束后(wrstn=1),WIR输入控制信号(俘获、移位、更新)为0。
[0100] 12.俘获
[0101] 最终俘获信号(wir_capture=1)用值1更新串行移位寄存器,并行更新寄存器存储所有的0。
[0102] 13.移位响应
[0103] 在该循环期间,使用wir_shift=1沿扫描链移位串行移位寄存器值(所有的1),监测串行链wir_so的输出,以确保接收到所需链的1。
[0104] 在保持阶段期间,如果功能正常,触发器将保持其数据值。
[0105] 可以看出,上述系列步骤提供以下测试:
[0106] 通过俘获和移位多路复用器将0传播通过串行触发器。
[0107] 通过俘获和移位多路复用器将1传播通过串行触发器。
[0108] 通过更新多路复用器将0传播通过更新触发器。
[0109] 通过更新多路复用器将1传播通过更新触发器。
[0110] 传播0通过片之间的串行扫描链连接。
[0111] 传播1通过片之间的串行扫描链连接。
[0112] 校正更新阶段的异步复位,有效地作用于应用模式的测试。
[0113] 所述测试使用两个串行输出序列,寻找所需链的1和0来测试电路,具体用于上文所列的功能方面。
[0114] 本发明参考IEEE STD1500封装器结构进行描述。然而,本发明更普遍地用于具有串行移位寄存器功能和并行更新寄存器功能的指令寄存器,为存储单元之间的反馈路径提供这些功能,以利用较少附加资源提供可测试性。
[0115] 本领域普通技术人员应该理解许多其他改进形式。