CN104321655B - 能够生成用于扫描测试的测试模式控制信号的集成电路 - Google Patents
能够生成用于扫描测试的测试模式控制信号的集成电路 Download PDFInfo
- Publication number
- CN104321655B CN104321655B CN201380022743.2A CN201380022743A CN104321655B CN 104321655 B CN104321655 B CN 104321655B CN 201380022743 A CN201380022743 A CN 201380022743A CN 104321655 B CN104321655 B CN 104321655B
- Authority
- CN
- China
- Prior art keywords
- count status
- test pattern
- counter
- pattern
- shift
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318555—Control logic
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318569—Error indication, logging circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318594—Timing aspects
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
提供能够生成用于通过(例如集成电路中的)扫描链进行扫描测试的测试模式控制信号的方法和集成电路的各种实施例。该集成电路包括测试图案检测块(202)、计数器电路(204)和控制电路(206)。该测试图案检测块经配置以接收检测图案(208),并基于该检测图案检测对应于测试图案的移位阶段的第一图案和对应于测试图案的捕捉阶段的第二图案,并基于该图案的检测而生成触发信号。控制电路基于计数状态生成并控制测试模式控制信号。计数器电路经配置以基于所检测的图案,生成对应于移位阶段、捕捉阶段和时钟信号(209)中的一种的一个或更多个计数状态。
Description
技术领域
本发明涉及集成电路的扫描控制。
背景技术
根据示例方案,所制造的电路被测试,以便验证所制造电路内的逻辑门的输入端或输出端未由于不可预见情况(例如,诸如短路)在操作期间被卡(或保持)在固定值(例如,逻辑0或逻辑1)。为了减轻上述问题,所制造的电路要经受扫描测试。扫描测试在包括组合部件和时序部件的集成电路上执行。时序部件可以包括一个或更多个存储元件(例如,触发器)的序列。在扫描测试期间,构成集成电路的时序部件的存储元件被耦合或连接成扫描链,并且测试矢量通过在集成电路上提供的一个或更多个输入测试引脚传送到扫描链。集成电路被置于评估模式(例如,捕捉阶段),以便一个或更多个存储元件的一个或更多个输入和状态被评估,并且在评估模式中获得的对应响应矢量通过一个或更多个输出测试引脚被移出。响应矢量中的比特值与预期的输出进行比较,以便确定集成电路中的故障状况。
发明内容
在此公开能够生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的若干示例方法和集成电路。该集成电路包括测试图案检测块,计数器电路和控制电路。该测试图案检测块经配置以接收检测图案并基于检测图案检测对应于测试图案的移位阶段的第一图案和对应于测试图案的捕捉阶段的第二图案。该测试图案检测块还经配置以基于第一和第二图案中的至少一个图案的检测生成触发信号。计数器电路经配置以基于所检测的图案生成(1)对应于移位阶段和时钟信号的一个或更多个计数状态,和(2)对应于捕捉阶段和时钟信号的一个或更多个计数状态。控制电路与测试图案检测块耦合,并经配 置以接收触发信号并基于对应于移位阶段的一个或更多个计数状态和对应于捕捉阶段的一个或更多个计数状态生成和控制测试模式控制信号。
该控制电路经进一步配置以执行(1)和(2)中的至少一个,其中(1)如果计数状态是移位开始计数状态和捕捉结束计数状态中的一个,则断言测试模式控制信号,以及(2)如果计数状态是捕捉开始计数状态和移位结束计数状态中的一个,则去断言该测试模式控制信号。该计数器电路包括寄存器块和一个或更多个计数器。该寄存器块经配置以存储移位开始计数状态、捕捉开始计数状态、移位结束计数状态和捕捉结束计数状态中的至少一个。与寄存器块耦合的一个或更多个计数器经配置以生成对应于移位阶段的从移位开始计数状态到移位结束计数状态的一个或更多个计数状态,并生成对应于捕捉阶段的从捕捉开始计数状态到捕捉结束计数状态的一个或更多个计数状态。
此外,在一个实施例中,提供能够生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的集成电路。集成电路包括测试图案检测块,计数器电路和控制电路。测试图案检测块经配置以接收检测图案,基于该检测图案检测对应于该测试图案的第一移位阶段的图案,并基于该测试图案生成触发信号。计数器电路包括图案计数器和一个或更多个计数器。图案计数器经配置在检测到第一移位阶段时被触发,并生成一个或更多个计数状态,所述一个或更多个计数状态对应于从对应于第一移位阶段和随后移位阶段中的一个的移位开始计数状态到对应于捕捉阶段的捕捉结束计数状态之间的预定数目的转换。该一个或更多个计数器经配置以生成对应于随后移位阶段和捕捉阶段的计数状态。控制电路与计数器电路和测试图案检测块耦合,并经配置以接收触发信号和基于对应于第一移位阶段的一个或更多个计数状态和对应于一个或更多个随后移位阶段和一个或更多个捕捉阶段的计数状态,生成和控制测试模式控制信号。
此外,在一个实施例中,提供生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的方法。该方法包括检测对应于测试图案的移位阶段的第一图案或对应于移位阶段的第一图案和对应于测试图案的捕捉阶段的第二图案中的一个图案。对应于移位阶段和捕 捉阶段中的每个的一个或更多个计数状态在图案检测时通过计数器电路生成。对应于移位阶段的一个或更多个计数状态包括移位开始计数状态与移位结束计数状态之间的计数状态。该移位开始计数状态与对应于移位阶段的时钟信号的周期数关联。对应于捕捉阶段的一个或更多个计数状态包括在捕捉开始计数状态与捕捉结束计数状态之间的计数状态,该捕捉开始计数状态与对应于捕捉阶段的时钟信号的周期数关联。该测试模式控制信号基于对应于移位阶段的一个或更多个计数状态和对应于捕捉阶段的一个或更多个计数状态生成并随后被控制。
附图说明
图1A示出根据一个实施例的用于实施所公开的技术的各个实施例的示例环境的框图;
图1B示出根据一个实施例的时钟信号、测试模式控制信号、扫描数据输入信号和扫描数据输出信号的示例波形;
图2示出根据一个实施例的能够生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的示例集成电路;
图3A示出根据一个实施例的能够生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的第一示例集成电路;
图3B示出根据一个实施例的图3A的集成电路操作的过程流的示例表示;
图4A示出根据一个实施例的能够生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的第二示例集成电路;
图4B示出根据一个实施例的图4A的集成电路操作的过程流的示例表示;
图5A示出根据一个实施例的能够生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的第三示例集成电路;
图5B示出根据一个实施例的图5A的集成电路操作的过程流的示例表示;
图6示出根据另一个实施例的图5A的集成电路操作的过程流的示例表示;
图7A示出根据一个实施例的示例集成电路,其包括能够在扫描 测试期间控制移位阶段的一组触发器;
图7B示出根据一个实施例的图7A的集成电路操作的过程流的示例表示;以及
图8示出根据一个实施例的生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的方法的流程图。
除非特别声明,在描述中所涉及的附图不被理解为按比例绘制,并且这类附图本质上仅是示例。
具体实施方式
根据示例方案,在集成电路扫描测试期间,一个或更多个测试矢量被发送到与该集成电路关联的扫描链中。一个或更多个测试矢量通过一组引脚从测试仪以一个或更多个测试图案的形式被发送。该组引脚包括扫描数据输入引脚、扫描数据输出引脚、时钟信号引脚和扫描使能引脚。该扫描数据输入引脚和扫描数据输出引脚同时起作用,使得在对应于前面图案的扫描数据输出信号从扫描链被送出时,对应于新测试图案的扫描数据输入信号被发送到该扫描链中。该扫描使引脚能够在扫描测试期间提供移位阶段(在该阶段扫描使引脚能够被断言)与捕捉阶段(在该阶段扫描使引脚能够被去断言)之间的区别。在移位阶段期间,以测试图案形式的扫描数据通过使用时钟信号被移入和移出扫描链,以及在捕捉阶段期间,集成电路对扫描数据的响应通过使用功能时钟在该扫描链中被捕捉。对于扫描链中的给定数量的存储元件和时钟信号的给定时钟序列,测试模式使能信号(例如,与扫描使能引脚关联的扫描使能信号)与时钟信号的时钟周期数量具有固定的关系。因此,扫描使能引脚的断言和去断言对于给定类型的给定自动测试图案生成(ATPG)运行中的各种图案是规范的。
结果,来自测试仪和扫描使能引脚的每个周期基础上的测试模式控制信号的动态控制是无关紧要的。在减少的引脚数量测试中,其中集成电路必须通过一小组引脚测试,该集成电路向测试仪提供受限的引脚,并且一些功能输入端和输出端被呈现为不可用。而且,根据测试图案,在移位操作结束后和在捕捉操作期间,扫描数据输入引脚和扫描数据输出引脚的状态保持不变,或还可以在移位操作结束与捕捉 操作结束期间改变。此外,专用装置级引脚(例如扫描使能引脚)在扫描测试期间必须从测试仪驱动(例如,受控),从而导致资源不必要的消耗。而且,测试仪的输入/输出信道速率可以限制扫描使能引脚可以被控制的速度,以及测试图案可以被移入和移出集成电路的速度。在基于事件驱动的直接存储器访问测试仪架构的情况下,移位阶段(例如,扫描数据使用时钟信号移入和移出扫描链)与捕捉阶段(例如,使用功能时钟在扫描链中捕捉的集成电路响应)之间的切换产生移入扫描链的最后数据与测试模式控制信号的去断言之间以及捕捉时钟的最后应用与测试模式控制信号的断言之间的死循环。基于事件驱动的直接存储器访问测试仪架构利用附加循环以从移位阶段切换到捕捉阶段以及同样从捕捉阶段切换到移位阶段。不过,所公开的技术的各个实施例提供能够(1)生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号和(2)克服这些和其他障碍并提供附加好处的方法和集成电路。
下列描述和附图呈现在各个不同实施例中可以实践或以其他方式实施的所公开的技术。不过,需要指出,所公开的技术的范围并不局限于本文公开的任一个实施例或所有实施例。实际上,可以去除、替换、补充或改变所公开的实施例的装置、特征、操作、过程、特性或其它特质中的一个或更多个。
图1A示出用于实施各个示例实施例的环境。如图1A所示,测试仪(102)通过多个通信路径(例如,(112)、(114)、(116)、(118)和(120))与集成电路(104)关联或与其耦合。需要指出,集成电路(104)可以是片上系统(SoC)。集成电路(104)包括解压缩器(106)、扫描链(108)和压缩器(110)。扫描链(108)包括一个或更多个存储元件(例如,触发器)。在移入一个或更多个测试矢量和移出一个或更多个响应矢量期间,该一个或更多个存储元件可以耦合或连接为移位寄存器。在扫描测试期间,测试仪(102)在输入路径(112)上以压缩形式向解压缩器(106)提供一个或更多个测试矢量,并在输出路径(114)上从压缩器(110)接收压缩形式的一个或更多个响应矢量,所述一个或更多个响应矢量表示捕捉的扫描测试结果。所述一个或更多个响应矢量包含在测试矢量移入完成时或之 后(例如,在捕捉阶段期间)的待测试集成电路(104)的组合逻辑的评估结果(例如,响应位)。测试仪(102)可以将一个或更多个响应矢量中的比特值与一个或更多个期望值比较,以便确定集成电路(104)中的故障。测试仪(102)在路径(116)上向集成电路(104)提供测试模式控制信号和通过路径(118)向集成电路(104)提供一个或更多个时钟,在扫描测试期间,该一个或更多个时钟协调集成电路(104)的操作。测试仪(102)还可以提供配置数据以指定一个或更多个时钟的配置,其中所述配置数据可用于通过输出路径(120)在集成电路(104)中生成控制信号。
解压缩器(106)经配置解压缩在路径(112)上接收的一个或更多个测试矢量并以未压缩形式向扫描链(108)提供一个或更多个测试矢量。压缩器(110)经配置以压缩响应矢量并通过输出路径(120)向测试仪(102)提供相应压缩的一个或更多个响应矢量。解压缩器(106)和压缩器(110)可基于组合和/或时序逻辑电路使用各种方案进行实施。集成电路(104)缺乏解压缩器(106)和压缩器(110),并且测试仪(102)经配置直接驱动扫描链(108)。集成电路(104)可以包含各种附加元件(例如,诸如组合逻辑元件和相应电路系统(例如,测试控制器))以便在内部生成可在扫描测试期间涉及的操作协调期间使用的各种时钟和控制信号。
时钟信号可以基于从测试仪(102)接收的时钟信号生成。需要指出,路径(112)和(120)可以包含/表示多个信号线(例如,多个信号线的每个信号线在一定时间传送单比特位),因此,集成电路(104)可以包含连接到多个信号线或与其耦合的对应数量的引脚。在示例方案中,一个或更多个测试图案从测试仪(102)通过一组引脚被施加到集成电路(104)中,该组引脚可以被实施以使集成电路(104)经受扫描测试。该组引脚包括扫描数据输入引脚、扫描数据输出引脚和时钟信号引脚。该组引脚可用于生成和传送控制信号,该控制信号可在扫描测试期间涉及的操作协调期间使用。在扫描测试期间生成的各种控制信号在图1B中示出。
图1B示出根据一个实施例的时钟信号(122)、测试模式控制信号(124)、扫描数据输入信号(126)和扫描数据输出信号(128)的 示例波形。扫描数据输入信号(126)和扫描数据输出信号(128)被同时实施,以确保在对应于前面测试图案的扫描数据输出信号(128)被移出扫描链(108)时,新测试图案同时被移入扫描链(108)。需要指出,术语“测试模式控制信号”被解释为是指用于在扫描测试期间控制测试图案的移位阶段和捕捉阶段通过所公开的技术的集成电路在内部生成的信号,和/或用于配置各种内部寄存器的信号,所述各种内部寄存器控制时钟和/或用于控制扫描链的输入和输出以用于扫描链的选择性操作。测试模式控制信号(124)的示例可以包括,但不限于,用于在扫描测试期间控制测试图案的移位阶段和捕捉阶段的扫描使能信号,以及加载使能信号,其用于配置用于控制每个扫描链的时钟和/或控制每个扫描链的输入和输出的各种内部寄存器,以用于扫描链(108)的选择性操作从而改善可控性和启用观测。扫描使能信号在移位阶段和捕捉阶段期间具有用于每个测试图案的固定行为,以及加载使能信号在扫描测试期间在向扫描链(108)施加一个或更多个测试图案期间,启用内部寄存器的加载用于各种控制,并作为移位操作的一部分为一个或更多个测试图案操作固定周期数。测试模式控制信号(124)提供集成电路(例如,集成电路(104))中移位阶段(例如,在其期间测试模式控制信号(124)被断言的移位阶段(130)和(134))与捕捉阶段(例如,在其期间测试模式控制信号(124)被去断言的(132))之间的区别,并且还帮助控制施加断言测试模式控制信号或去断言测试模式控制到扫描链(108)。
在移位阶段期间(例如,移位阶段(130)和(134)),测试图案被加载到扫描链(108)中,并且测试响应从扫描链(108)被卸载。在构成扫描链(108)的存储元件的正常操作模式期间,通过响应于在移位阶段期间加载的测试图案的扫描链(108)生成的一个或更多个响应矢量在捕捉阶段(例如,(132))期间被捕捉。如图1B所示,对于扫描链中的给定数量的触发器和给定的测试图案,在扫描使能信号上的测试模式控制信号(124)与时钟信号(122)的时钟周期数具有固定的关系。虽然在图1B中示出波形表示一个捕捉时钟(例如,在捕捉阶段(132)中),多个捕捉时钟可以被包括用于各种测试图案类型,例如堵塞故障ATPG图案可以包括一个捕捉时钟,转换故障 ATPG图案可以包括两个捕捉时钟,以及时序ATPG图案可以包括更多个捕捉时钟。测试模式控制信号(124)还可以改变例如在推出捕捉转换故障ATPG图案的两个捕捉时钟之前的状态,在第一捕捉时钟与第二捕捉时钟之间的状态,以及以各种其他方式改变用于各种测试图案类型的连续捕捉时钟之间的状态(即,可以被去断言)。
图2示出根据一个实施例的能够生成用于通过集成电路(200)中的扫描链进行扫描测试的测试模式控制信号的第一示例集成电路(200)。集成电路(200)包括测试图案检测块(202)、计数器电路(204)和控制电路(206)。测试图案检测块(202)经配置以接收检测图案(208)。控制电路(206)和计数器电路(204)通过时钟信号(209)操作。在移位阶段和捕捉阶段期间,从测试仪(例如,图1A的测试仪(102))接收时钟信号(209)(例如,图1B的时钟信号(122))。时钟信号(209)在捕捉阶段期间,通过使用例如锁相环(例如,在集成电路(200)中或除此以外在与集成电路(200)通信耦合的装置装置中)在内部生成。检测图案(208)包括表示测试图案的移位阶段的开始和/或测试图案的捕捉阶段的开始的信息。例如,图案8'hAA可以指示移位阶段的开始,以及图案8'h55可以指示捕捉阶段的开始。测试图案检测块(202)经配置以基于检测图案(208),检测对应于测试图案的移位阶段的开始的第一图案(例如,8'hAA)和对应于测试图案的捕捉阶段的开始的第二图案(例如,8'h55)。该测试图案包括测试矢量和指示时钟信号(209)的时钟周期数的信息,所述时钟信号对应于扫描测试期间的每个移位阶段和每个捕捉阶段。测试图案检测块(202)基于在集成电路(200)的扫描数据输入引脚的比特组合,检测第一图案和第二图案。
测试图案检测块(202)可以利用单检测图案来检测整个测试图案集的移位阶段的开始和捕捉阶段的开始。测试图案(208)可以通过可变数目的输入信道被发送到测试图案检测块(202)。例如,图案AA可以作为01010101通过例如一个周期八比特总线、两个周期四比特总线(例如,在一个周期中的0101、以及在随后的周期中的0101)、四个周期两比特总线(例如,四个周期中的每个周期中的01)以及八个周期一比特总线发送。
在一个实施例中,如本文所述,测试图案检测块(202)、计数器电路(204)和控制电路(206)中的一个或更多个可以体现为专门经配置执行若干操作或其组合的专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一个实施例中,测试图案检测块(202)、计数器电路(204)和控制电路(206)中的一个或更多个还可以包括存储器装置(例如,高速缓存器)、计时装置(例如,实时时钟(RTC))、可配置逻辑块(CLB)阵列、可编程输入/输出块(IOB)阵列和/或附加电路系统或数据传输信道。CLB和IOB可以通过可编程互连结构彼此互连或耦合。
在一个实施例中,测试图案检测块(202)、计数器电路(204)和控制电路(206)中的一个或更多个可以通过将配置数据流(例如,比特流)加载到与存储器装置关联的内部配置存储器单元中来进行编程,其中这种配置数据可以包括各种配置的限定。配置数据还可以从外部存储器(例如,可编程只读存储器(PROM))读取或通过外部装置写入到集成电路(200)中。接着,个别存储器单元的集体状态确定FPGA的功能。图2的集成电路(200)的示例电路实施方式在图3A中示出。
图3A示出根据一个实施例的能够生成用于通过集成电路(300)中的扫描链进行扫描测试的测试模式控制信号的第一示例集成电路(300)。该测试模式控制信号的示例包括,但不限于,扫描使能信号和加载使能信号。集成电路(300)包括测试图案检测块(302)、计数器电路(304)和控制电路(306)。测试图案检测块(302)、计数器电路(304)和控制电路(306)基本类似于图2的测试图案检测块(202)、计数器电路(204)和控制电路(206)。测试图案检测块(302)经配置以接收检测图案(308)。检测图案(308)包括表示测试图案的移位阶段的开始和/或该测试图案的捕捉阶段的开始的信息。测试图案可以包括测试矢量和指示在扫描测试期间对应于一个或更多个移位阶段和一个或更多个捕捉阶段的时钟信号(309)的时钟周期数的信息,以及指示在扫描测试期间对应于一个或更多个移位阶段的时钟信号(309)的时钟周期数的信息。
当测试图案指示对应于一个或更多个移位阶段和一个或更多个捕 捉阶段的时钟信号(309)的时钟周期数时,移位阶段和捕捉阶段通过扫描使能信号区分。当该测试图案单独指示一个或更多个移位阶段时,移位阶段通过加载使能信号识别。指示一个或更多个捕捉阶段和移位阶段的测试图案和单独指示一个或更多个移位阶段的测试图案通过使用匹配的测试模式控制以优先的次序进行选择。在移位阶段和捕捉阶段期间,从测试仪(例如,图1A的(102))接收时钟信号(309)(例如,图1B的时钟信号(122))。时钟信号(309)可以在捕捉阶段期间,使用例如锁相环(例如,在集成电路(300)中或以其他方式在与集成电路(300)通信耦合的装置中)在内部生成。测试图案检测块(302)还经配置以基于检测图案(308),检测对应于测试图案的移位阶段的开始的第一图案(例如,8'hAA)和对应于该测试图案的捕捉阶段的开始的第二图案(例如,8'h55)。
测试图案检测块(302)基于在扫描数据输入引脚的比特组合检测第一图案和第二图案。测试图案检测块(302)包括第一测试图案块(310),其经配置以检测对应于测试图案的移位阶段的第一图案,以及第二测试图案块(312),其经配置以检测对应于该测试图案的捕捉阶段的第二图案。测试图案检测块(302)经配置以基于第一图案和第二图案的检测生成触发信号(例如,(314)和(316))。第一测试图案块(310)检测第一图案(例如,诸如8'hAA),其指示移位阶段的开始并生成触发信号(314),以及第二测试图案块(312)检测第二图案(例如,诸如8'h55),其指示捕捉阶段的开始并生成触发信号(316)。
触发信号(例如,(314)和(316))被传送到控制电路(306),其进而通过控制电路(306)触发计数器电路(304)。计数器电路(304)经配置以基于所检测的图案生成一个或更多个计数状态。计数器电路(304)生成对应于移位阶段和时钟信号(309)的一个或更多个计数状态,以及对应于捕捉阶段和时钟信号(309)的一个或更多个计数状态。计数器电路(304)包括寄存器块(318)、第一计数器(320)和第二计数器(321)。寄存器块(318)包括经配置以通过时钟信号(309)和复位信号(319)操作的一个或更多个寄存器。寄存器块(318)经配置以存储移位开始计数状态、捕捉开始计数状态、移位结束计数状 态和捕捉结束计数状态中的至少一个。
移位开始计数状态与移位结束计数状态之间的持续时间对应于用于移位阶段的测试模式控制信号保持被断言的持续时间,并且也对应于扫描测试期间移位操作必须被执行的时钟信号(309)的周期数。该持续时间可以对应于根据持续时间扫描链的最大长度。捕捉开始计数状态与捕捉结束计数状态之间的持续时间对应于捕捉阶段的测试模式控制信号保持被去断言的持续时间,也对应于扫描测试期间捕捉操作必须被执行的时钟信号(309)的周期数。集成电路(300)还包括与寄存器块(318)通信关联或耦合的测试接口((323)),并且测试接口((323))经配置以控制寄存器块(318),并基于测试图案改变移位开始计数状态、捕捉开始计数状态、移位结束计数状态和捕捉结束计数中的至少一个。测试接口((323))的示例包括,但不限于,联合测试行动组(JTAG)接口和嵌入式内核测试接口。第一计数器(320)和第二计数器(321)与寄存器块(318)耦合。测试仪的时钟信号(309)被第一计数器(320)和第二计数器(321)用于移位和捕捉操作。可供选择地,测试仪的时钟信号(309)被用于第一计数器(320)对移位操作计时,以及高速内部生成的时钟信号(例如,使用锁相环生成的)被用于第二计数器(321)对捕捉运行计时。
第一计数器(320)经配置以生成一个或更多个计数状态,其对应于从移位开始计数状态到移位结束计数状态(例如,零计数)的移位阶段。第二计数器(321)经配置以生成一个或更多个计数状态,其对应于从捕捉开始计数状态到捕捉结束计数状态(例如,零计数)的捕捉阶段。第一计数器(320)和第二计数器(321)可以包括减计数器。减计数器可以包括,但不限于,八比特减计数器。控制电路(306)与测试图案检测块(302)耦合,以便被安置,从而从测试图案检测块(302)接收一个或更多个触发信号(例如,(314)和(316))。控制电路(306)与计数器电路(304)耦合,使得包括移位结束计数状态或捕捉结束计数状态的一个或更多个计数状态被馈入控制电路(306),以便触发控制电路(306)。控制电路(306)包括一个或更多个选择块(例如,选择块(322)和(324))以及一个或更多个触发器(例如,D类触发器(326)、(328)、(330)和(332))。
选择块的示例包括但不限于多路复用器。一个或更多个选择块(例如,(322)和(324))中的每个选择块经配置以从测试图案检测块(302)接收触发信号(例如,(314)和(316))以及从计数器电路(304)接收对应于一个或更多个计数状态的信号(((315))和((317)))。在一个实施例中,第一选择块(322)经配置以接收对应于第一计数器(320)的移位结束计数状态的信号((315))并在接收到信号((315))时或随后被去激活,并且第二选择块(324)经配置以接收对应于第二计数器(321)的捕捉结束计数状态的信号((317))并在接收到信号((317))时或随后被去激活。
在一个实施例中,每个触发器(例如,触发器(326)、(328)、(330)和(332))通过时钟信号(309)和复位信号(319)操作。在接收到触发信号(例如,触发信号(314)和(316))时或随后,每个选择块(例如,选择块(322)和(324))触发一个或更多个触发器(例如,触发器(326)、(328)、(330)和(332)),以生成一个或更多个计数使能信号(例如,信号(340)和(342)),以便通过计数器电路(304)触发一个或更多个计数状态的生成。控制电路(306)经配置以基于对应于移位阶段的一个或更多个计数状态和对应于捕捉阶段的一个或更多个计数状态,生成和控制测试模式控制信号。如果计数状态是移位开始计数状态和捕捉结束计数状态中的一个,控制电路(306)经配置以执行测试模式控制信号的断言。
控制电路(306)经配置以生成使能同步信号(344),基于该使能同步信号(344),断言的测试模式控制信号通过扫描使能生成逻辑生成。如果计数状态是捕捉开始计数状态和移位结束计数状态中的一个,控制电路(306)还经配置以执行测试模式控制信号的去断言。控制电路(306)经配置以生成使能同步捕捉信号(346),基于该使能同步捕捉信号(346),去断言的测试模式控制信号通过扫描使能生成逻辑生成。
图3B示出根据一个实施例的图3A的集成电路(300)操作的过程流的示例表示。在图3B中,集成电路(300)的扫描测试的多个状态由块(350)-(356)表示。多个操作状态包括,但不限于,初始化状态(350)、空闲状态(352)、移位操作(354)和捕捉操作(356)。 在一个实施例中,在初始化状态(350)期间,集成电路(300)的操作(或扫描测试)被初始化。在空闲状态(352)期间,在移位阶段或捕捉阶段的开始之前,在扫描测试中发生一个或更多个等待周期。在测试图案检测块(302)检测到(例如,请参阅(360))对应于测试图案(308)的移位阶段的第一图案时或随后,移位操作开始(例如,请参阅(356))。在移位操作(356)期间,控制电路(306)经配置以生成计数使能信号(340)从而触发计数器电路(304),并且还经配置以生成使能同步信号(344)和基于使能同步信号(344)的断言的测试模式控制信号。在计数器电路(304)被触发时,计数器电路(304)生成对应于移位阶段的一个或更多个计数状态。需要指出,在通过计数器电路(304)生成的一个或更多个计数状态的持续时间内,该测试模式控制信号保持断言。第一计数器(320)在对应于测试图案(308)的移位阶段的图案的检测时或随后被触发,并且第一计数器(320)开始生成一个或更多个计数状态(例如,在每个时钟周期,开始递减从移位开始计数状态到移位结束计数状态的计数状态)。
第一计数器(320)改变计数状态(例如,通过从移位开始计数状态减计数)直到第一计数器(320)的计数状态达到移位结束计数状态(例如,零计数)。在第一计数器(320)的计数状态达到移位结束计数状态时或随后,移位操作(356)结束(如(362)所示),并且集成电路(300)的扫描测试恢复到空闲状态(352)。在测试图案检测块(302)检测到(如(364)所示)对应于测试图案的捕捉阶段的第二图案时或随后,在(354),捕捉开始开始,并且控制电路(306)生成计数使能信号(342)以触发计数器电路(304),并且还生成使能同步捕捉信号(346),以及基于使能同步捕捉信号(346)生成去断言的测试模式控制信号。在被触发时或随后,计数器电路(304)生成对应于捕捉阶段的计数状态。在对应于捕捉阶段的一个或更多个计数状态的持续时间内,该测试模式控制信号保持去断言。第二计数器(321)被计数使能信号(342)触发,并且在触发第二计数器(321)时或随后,生成一个或更多个计数状态(例如,在每个时钟周期,递减从捕捉开始计数状态到捕捉结束计数状态的计数状态)。
第二计数器(321)改变其计数状态(例如,通过从捕捉开始计数 状态减计数)直到第二计数器(321)的计数状态达到捕捉结束计数状态(例如,零计数)。在达到捕捉结束计数状态时或随后,捕捉操作(354)结束(如(366)所示),并且集成电路(300)恢复到空闲状态(352)。在某些实施例中,计数器电路(304)可以包括单个计数器,其用于执行本文参照图3A描述的第一计数器(320)和第二计数器(321)的单独或组合功能。
在某些实施例中,所公开的技术的集成电路可以包括一个或更多个等待计数器,其经配置以在移位阶段和捕捉阶段之前生成一个或更多个等待周期,以便启用特定周期数的通道,例如,用于扫描使能信号生成逻辑,使其在后续移位阶段开始前稳定,用于内部时钟控制器逻辑初始化并获得状态,在该状态,内部生成的全速捕捉脉冲在后续捕捉阶段开始前是可用的。而且,某些测试图案可以实施不同数量的全速捕捉脉冲;例如,测试图案(例如,阻塞故障图案)可以实施一个全速捕捉脉冲,并且测试图案(例如,标准转换延迟故障和路径延迟故障图案)可以实施两个全速捕捉脉冲。后一类的某些测试图案具有大于两个的“时序深度”,其中需要多于两个的全速捕捉脉冲。所公开的技术的集成电路允许提供可变数量的全速捕捉脉冲。在一个实施例中,集成电路包括一个或更多个等待计数器,其经配置以提供固定数量的全速捕捉脉冲。在一个或更多个实施例中,测试图案检测块可以代替等待计数器,以基于图案检测值提供可变数量的全速捕捉脉冲。包括等待计数器的示例集成电路在图4A-4B中描述。
图4A示出根据一个实施例的能够生成用于通过集成电路(400)中的扫描链进行扫描测试的测试模式控制信号的第二示例集成电路(400)。集成电路(400)包括测试图案检测块(402)、计数器电路(404)和控制电路(406)。测试图案检测块(402)经配置以接收检测图案(408)。检测图案(408)基本类似于图3A的检测图案(308)。从测试仪(例如,图1A的测试仪(102))接收(例如,图1B的)时钟信号(410)。时钟信号(410)可以通过使用例如锁相环(例如,在集成电路(400)中或以其他方式在与集成电路(400)通信耦合的装置中)在集成电路(300)中在内部生成。测试图案检测块(402)经配置以检测对应于测试图案的移位阶段的开始的图案(例如, 8'hAA)。该测试图案基本类似于本文参照图3A描述的测试图案。测试图案检测块(402)基于在扫描数据输入引脚的比特组合检测图案。
测试图案检测块(402)经配置以基于所述图案的检测生成触发信号(例如,(412))。触发信号((412))被传送到控制电路(406),以便进而通过控制电路(406)触发计数器电路(404)。计数器电路(404)经配置以基于所检测的移位图案生成一个或更多个计数状态。在一个实施例中,计数器电路(404)生成对应于移位阶段和时钟信号(410)的一个或更多个计数状态,以及对应于捕捉阶段和时钟信号(410)的一个或更多个计数状态,以准备其控制通过扫描使能信号提供的测试图案。在另一个实施例中,计数器电路(404)生成对应于移位阶段和时钟信号(410)的一个或更多个计数状态,以准备其控制通过加载使能信号提供的测试图案。计数器电路(404)包括寄存器块(414)、第一计数器(416)、第二计数器(418)和等待计数器(420)。为了说明的目的,具体实施方式指的是等待计数器;但是需要指出,本文公开的方法和集成电路的范围并不局限于等待计数器的实施方式,而是可以扩展到包括多于一个等待计数器的组合。
寄存器块(414)包括通过时钟信号(410)和复位信号(419)操作的一个或更多个寄存器。而且,第一计数器(416)、第二计数器(418)和等待计数器(420)中的每个通过时钟信号(410)和复位信号(419)操作。寄存器块(414)经配置以存储移位开始计数状态、捕捉开始计数状态、移位结束计数状态、捕捉结束计数状态和指示等待周期数量的预定计数状态值中的至少一个。移位开始计数状态与移位结束计数状态之间的持续时间对应于移位阶段的测试模式控制信号保持断言的持续时间,并且捕捉开始计数状态与捕捉结束计数状态之间的持续时间对应于捕捉阶段的测试模式控制信号保持去断言的持续时间。移位开始计数状态可以对应于根据持续时间扫描链的最大长度。捕捉开始计数状态对应于捕捉阶段的测试模式控制信号保持去断言的持续时间。集成电路(400)还包括与寄存器块(414)通信关联或耦合的测试接口((421)),以便被安置,从而控制寄存器块(414),并基于测试图案改变移位开始计数状态、捕捉开始计数状态、移位结束计数状态和捕捉结束计数状态中的至少一个。测试接口((421))的示 例包括但不限于JTAG接口和嵌入式内核测试接口。
第一计数器(416)和第二计数器418与寄存器块(414)耦合。测试仪(例如,图1A的测试仪(102))的时钟信号(410)用于第一计数器(416)和第二计数器418对移位和捕捉操作计时。可供选择地,在一个实施例中,测试仪的时钟信号(410)被用于第一计数器(416)对移位操作计时,并且高速内部生成的时钟信号(例如,使用锁相环生成的)被用于第二计数器(418)对捕捉操作计时。
第一计数器(416)经配置以生成一个或更多个计数状态,其对应于从移位开始计数状态到移位结束计数状态(例如,零计数)的移位阶段。在检测到对应于移位阶段开始的图案时或随后,第一计数器(416)基于检测图案(408)生成一个或更多个计数状态。第二计数器418经配置以生成一个或更多个计数状态,其对应于从捕捉开始计数状态到捕捉结束计数状态(例如,零计数)的捕捉阶段。第一计数器(416)和第二计数器418可以包括减计数器。减计数器可以包括但不限于八比特减计数器。第一计数器(416)与等待计数器(420)耦合,使得等待计数器(420)被对应于移位结束计数状态(例如,请参阅信号(413))的信号触发,以便在捕捉阶段之前生成对应于一个或更多个等待周期的计数状态。等待计数器(420)被耦合到寄存器块(414),以检索寄存器块(414)的预定计数状态值,指示等待周期数量的预定计数状态值在等待计数器(420)致动时生成。指示等待周期数的信息被包括在检测图案中。在这类实施例中,检测图案可以包括指示等待周期数的第一组图案和指示捕捉阶段的开始的第二组图案。在一个或更多个等待周期完成时或随后,等待计数器(420)触发控制电路(406)(例如,请参阅信号(415))以进而触发第二计数器418,从而生成对应于捕捉阶段的一个或更多个计数状态。第二计数器418生成从捕捉开始计数状态到捕捉结束计数状态(例如,零计数)的一个或更多个计数状态。
控制电路(406)与测试图案检测块(402)耦合,以便被安置,从而在检测到对应于移位阶段的开始的图案(例如,8'hAA)时或随后从测试图案检测块(402)接收触发信号(例如,(412))。控制电路(406)包括一个或更多个选择块(例如,选择块(422)、(424) 和(425))以及一个或更多个触发器(例如,D类触发器(426)、(428)、(430)和(432))。选择块(例如,选择块(422)、(424)和(425))的示例可以包括但不限于多路复用器。选择块(422)经配置以接收来自测试图案检测块(402)的触发信号(412)和对应于第一计数器(416)的一个或更多个计数状态的信号(413)。
每个触发器(例如,触发器(426)、(428)、(430)和(432))通过时钟信号(410)和复位信号(419)操作。在接收到触发信号(412)时或随后,第一选择块(422)触发触发器(426)和(428)。在被触发时或随后,触发器(426)和(428)一致操作,以生成使能信号(436)以及使能同步信号(438),其中所述使能信号(436)触发第一计数器(416)以生成对应于移位阶段的一个或更多个计数状态,所述使能同步信号(438)可用于通过测试模式控制信号生成逻辑生成断言的测试模式控制信号。在接收到移位结束计数状态(例如,请参阅(413))时或随后,在选择块(422),触发器(例如,触发器(426)、(428)、(430)和(432))被去断言,使能同步信号(438)获得低电平,并由此,测试模式控制信号被去断言。第二选择块(424)接收使能同步信号(438)和对应于等待计数器(420)的一个或更多个计数状态的信号(415)。在使能同步信号(438)获得指示移位阶段的结束的低电平(例如当使能同步信号(438)例如从逻辑1转换到逻辑0时)时或随后,第二选择块(424)触发触发器(430),以生成计数使能信号(442),其触发第二计数器418以便生成一个或更多个计数状态。
在被触发时或随后,第二计数器418生成从捕捉开始计数状态开始到捕捉结束计数状态的一个或更多个计数状态(例如,在每个时钟周期,递减从捕捉开始计数状态到捕捉结束计数状态的计数状态)。而且,第三选择块(425)接收使能信号(442)和对应于第二计数器418的一个或更多个计数状态(例如,请参阅(417))的信号。在接收到使能信号(442)和对应于来自第二计数器418的一个或更多个计数状态的信号(417)时或随后,第三选择块(425)触发触发器(432),以生成使能同步捕捉信号(444),其用于通过测试模式控制信号生成逻辑生成去断言的测试模式控制信号。在接收到对应于捕捉结束计数状态的信号(417)时或随后,第三选择块(425)去激活触发器(432), 并因此,使能同步捕捉信号(444)获得导致测试模式控制信号去断言的低电平。
图4B示出根据实施例的图4A的集成电路(400)操作的过程流的示例表示。在图4B中,集成电路(400)的扫描测试的多个状态由块(450)-(458)表示。多个操作状态包括但不限于初始化状态(450)、空闲状态(452)、移位操作(456)、准备捕捉操作(456)和捕捉操作(456)。在一个实施例中,在初始化状态(450)期间,集成电路(400)的扫描测试通过从测试仪(例如,图1A的测试仪(102))接收时钟信号(410)被初始化。在空闲状态(452)期间,在移位阶段或捕捉阶段的开始之前,扫描测试中存在一个或更多个等待周期。在测试图案检测块(402)检测到(例如,请参阅(460))对应于测试图案的移位阶段的图案时或随后,移位操作开始(例如,请参阅(454))。在移位操作(454)期间,计数器电路(404)开始生成对应于移位阶段的计数状态。
控制电路(406)生成计数使能信号(436)以便触发计数器电路404,并且控制电路(406)还生成使能同步信号(438)和基于使能同步信号(438)的断言的测试模式控制信号。第一计数器(416)在检测到对应于测试图案的移位阶段的图案时或随后被触发,并且在第一计数器(416)被触发时,第一计数器(416)检索寄存器块(414)的移位开始计数状态,并生成对应于该移位阶段的一个或更多个计数状态(例如,在每个时钟周期,第一计数器(416)递减从移位开始计数状态到移位结束计数状态的计数状态)。一个或更多个计数状态从移位开始计数状态的开始生成。需要指出,在通过第一计数器416生成的一个或更多个计数状态的持续时间内,该测试模式控制信号保持断言。
第一计数器(416)改变其计数状态(例如,通过从移位开始计数状态减计数)直到第一计数器(416)的计数状态达到移位结束计数状态(例如,零计数)。在第一计数器(416)的计数状态达到移位结束计数状态(例如,请参阅图4A中的信号(413))时或随后,移位操作(454)结束(如(462)所示),测试模式控制信号被去断言,并且集成电路(400)执行准备捕捉操作(如(456)所示)。在准备捕 捉操作(456)期间,等待计数器(420)被触发。在被触发时或随后,等待计数器(420)生成对应于一个或更多个等待周期的一个或更多个计数状态。在完成一个或更多个等待周期(例如,请参阅图4A中的信号(415))时或随后,第二计数器418被触发,并且捕捉运行(如(458)所示)在(466)处开始。
在捕捉操作(458)期间,第二计数器418从寄存器块(414)检索捕捉开始计数状态,并生成对应于捕捉阶段的一个或更多个计数状态(例如,在每个时钟周期,递减从捕捉开始计数状态到捕捉结束计数状态的计数状态)。控制电路(406)生成计数使能信号(442)触发计数器电路(404),并且还生成使能同步捕捉信号(444)和基于使能同步捕捉信号(444)的去断言的测试模式控制信号。第二计数器418改变计数状态(例如,通过从捕捉开始计数状态减计数)直到第二计数器418的计数状态达到捕捉结束计数状态。在第二计数器418的计数状态达到捕捉结束计数状态时或随后,捕捉操作结束(如466所示),并且集成电路(400)恢复到空闲状态(452)。所公开的技术的集成电路可以经配置以基于检测对应于第一移位阶段图案操作,并且针对后续移位阶段和捕捉阶段,该集成电路可以基于通过各个计数器生成的计数状态迭代操作,并且这类集成电路在图5A到图6中进一步描述。
图5A示出根据一个实施例的能够生成用于通过集成电路(500)中的扫描链进行扫描测试的测试模式控制信号的第三示例集成电路(500)。集成电路(500)包括测试图案检测块(502)、计数器电路(504)和控制电路(506)。测试图案检测块(502)经配置以接收检测图案(508)。检测图案(508)基本类似于图3A的检测图案(308)。从测试仪(例如,图1A的测试仪(102))接收时钟信号510(例如,图1B的时钟信号122)。时钟信号(510)可以在捕捉阶段期间,通过使用例如锁相环(例如,在集成电路(500)中或以其他方式在与集成电路(500)通信耦合的装置中)在内部生成。测试图案检测块(502)经配置以检测对应于测试图案的第一移位阶段的开始的图案(例如,8'hAA)。该测试图案基本类似于本文参照图3A描述的测试图案。测试图案检测块(502)基于在扫描数据输入引脚的比特组合检测图案。
测试图案检测块(502)对图案的检测触发控制电路(506),这进而触发计数器电路(504)。在被触发时或随后,计数器电路(504)经配置以生成一个或更多个计数状态。计数器电路(504)经配置以生成对应于移位阶段和时钟信号(510)的一个或更多个计数状态,以及对应于捕捉阶段和时钟信号(510)或内部生成时钟信号的一个或更多个计数状态。计数器电路(504)包括寄存器块(514)、第一计数器(516)、第二计数器(518)、第一等待计数器(520)和第二等待计数器(522)。在一个实施例中,寄存器块(514)、第一计数器(516)、第二计数器(518)、第一等待计数器(520)和第二计数器(522)中的每个通过时钟信号(510)和复位信号(519)操作。为了说明的目的,具体实施方式指的是等待计数器;但是需要指出,本文公开的方法和集成电路的范围并不局限于等待计数器的实施,而是其范围可以扩展到包括多于一个等待计数器的组合。
寄存器块(514)包括一个或更多个寄存器。寄存器块(514)经配置以存储移位开始计数状态、捕捉开始计数状态、移位结束计数状态、捕捉结束计数状态和指示等待周期数量和持续时间的预定计数状态值中的至少一个。移位开始计数状态与移位结束计数状态之间的持续时间对应于移位阶段的测试模式控制信号保持断言的持续时间。该持续时间可以对应于根据持续时间扫描链的最大长度。捕捉开始计数状态与捕捉结束计数状态之间的持续时间对应于捕捉阶段的测试模式控制信号保持去断言的持续时间。集成电路(500)还包括与寄存器块(514)通信关联或耦合的测试接口(521),并且测试接口(521)经配置以控制寄存器块(514),并基于测试图案改变移位开始计数状态、捕捉开始计数状态、移位结束计数状态和捕捉结束计数中的至少一个。测试接口(521)的示例包括但不限于JTAG接口和嵌入式内核测试接口。
第一计数器(516)和第二计数器(518)与寄存器块(514)耦合,以便分别从该寄存器块中检索移位开始计数状态和捕捉开始计数状态。测试仪的时钟信号(510)被第一计数器(516)和第二计数器(518)用于移位和捕捉操作。可供选择地,在一个实施例中,测试仪的时钟信号(510)被用于第一计数器(516)对移位操作计时,以及高速内 部生成的时钟信号(例如,使用锁相环生成的)被用于第二计数器(518)对捕捉运行计时。
第一计数器(516)经配置以生成一个或更多个计数状态,其对应于从移位开始计数状态到移位结束计数状态(例如,零计数)的移位阶段。在检测到对应于测试图案的第一移位阶段的开始的图案时或随后以及测试图案的捕捉阶段的结束时或随后,第一计数器(516)生成一个或更多个计数状态。第二计数器(518)经配置以生成对应于测试图案的一个或更多个捕捉阶段的一个或更多个计数状态。第二计数器(518)经配置以生成从捕捉开始计数状态到捕捉结束计数状态(例如,零计数)的一个或更多个计数状态。第一计数器(516)和第二计数器(518)可以包括减计数器。该减计数器可以包括但不限于八比特减计数器。
第一等待计数器(520)经配置以在移位阶段的开始前,生成对应于一个或更多个等待周期的一个或更多个计数状态。第二等待计数器(522)经配置以在捕捉阶段的开始前,生成对应于一个或更多个等待周期的一个或更多个计数状态。第一等待计数器(520)和第二等待计数器(522)与寄存器块(514)耦合,并经配置以在被触发时、被触发前或被触发后,从寄存器块(514)检索指示等待周期的数量和持续时间的预定计数状态值。寄存器块(514)可以为第一等待计数器(520)和第二等待计数器(522)存储不同的计数状态值。集成电路(500)附加包括图案计数器529,其经配置以生成一个或更多个计数状态,所述一个或更多个计数状态对应于从对应于测试图案的移位阶段的移位开始计数状态到对应于测试图案的捕捉阶段的捕捉结束计数状态的预定数量的转换。该预定数量的转换指示在扫描测试期间施加到扫描链的预定数量的测试图案。图案计数器529对施加到扫描链的测试图案的数量计数。每个测试图案可以包括移位阶段和捕捉阶段。寄存器块(514)存储图案计数器529的初始计数状态,其指示在扫描测试期间通过扫描链可施加的最大测试图案数。图案计数器529寄存器块(514)检索初始计数状态,并生成从初始计数状态开始的一个或更多个计数状态。
第一等待计数器(520)与控制电路(506)耦合,使得第一等待 计数器(520)在检测到对应于测试图案的第一移位阶段的图案时或随后被触发。在被触发时或随后,第一等待计数器(520)生成对应于一个或更多个等待周期的一个或更多个计数状态。在完成一个或更多个等待周期(例如,请参阅(513))时或随后,第一等待计数器(520)触发第一计数器(516),以生成对应于移位阶段的一个或更多个计数状态。在被触发时或随后,第一计数器(516)寄存器块(514)检索移位开始计数状态,并例如通过从移位开始计数状态开始并继续到移位结束计数状态(例如,请参照(515))(例如,零计数),生成对应于该移位阶段的一个或更多个计数状态。第一计数器(516)的移位结束计数状态(例如,请参阅(515))触发第二等待计数器(522),以在捕捉阶段之前,生成一个或更多个等待周期。
在完成第二等待计数器(522)的一个或更多个等待周期(例如,请参阅(517))时或随后,第二计数器(518)被触发。在被触发时或随后,第二计数器(518)生成对应于捕捉阶段的一个或更多个计数状态。第二计数器(518)生成从捕捉开始计数状态开始并继续到捕捉结束计数状态(例如,零计数)的计数状态。第二计数器(518)的捕捉结束计数状态(例如,请参阅(523))导致被初始化到初始计数值的图案计数器529的触发,该初始计数值指示从对应于测试图案的移位阶段的移位开始计数状态到对应于测试图案的捕捉阶段的捕捉结束计数状态的预定数量的允许转换。在被触发时或随后,图案计数器(521)改变一个计数状态。计数状态的改变可以是递减。在完成图案计数器529的计数状态(例如,请参阅(546))改变时或随后,第一计数器(516)被再次触发,以生成对应于后续移位阶段的一个或更多个计数状态。图案计数器529经配置以触发第一计数器(516),用于从对应于测试图案的移位阶段的移位开始计数状态到对应于测试图案的捕捉阶段的捕捉结束计数状态的预定数量的转换。在一个实施例中,在完成预定数量的转换时或随后,测试图案块502被触发(例如,请参阅(549)),以便检测后续移位阶段。
测试图案检测块(502)与控制电路(506)耦合,并经配置以在检测到对应于测试图案的第一移位阶段的开始的图案时或随后,触发控制电路(506),进而触发计数器电路(504)。控制电路(506)包 括一个或更多个选择块(例如,选择块(524)、(525)、(526)和(527))以及一个或更多个触发器(例如,D类触发器(528)、(530)、(532)和(534))。触发器(例如,触发器(528)、(530)、(532)和(534))通过时钟信号(510)和复位信号(519)操作。第一选择块(524)经配置以接收来自测试图案检测块(502)的触发信号(512)和第一等待计数器(520)的一个或更多个计数状态(例如,请参阅(513))。在接收到触发信号(512)时或随后,第一选择块(524)触发触发器(528)以生成使能信号(538),使能信号(538)触发第一等待计数器(520)以在第一移位阶段之前,生成对应于一个或更多个等待周期的一个或更多个计数状态。一个或更多个等待周期(例如,请参阅(513))的完成触发第一计数器(516)。在被触发时或随后,第一计数器(516)例如通过从移位开始计数状态开始并继续到移位结束计数状态(例如,请参照(515)),生成对应于第一移位阶段的一个或更多个计数状态。
而且,第一计数器(516)的触发进而触发第二选择块(525),这触发触发器(530)以生成使能同步信号(540),并且断言的测试模式控制信号通过测试模式控制信号生成逻辑基于使能同步信号(540)生成。第一计数器(516)的移位结束计数状态(例如,请参阅(515))去激活第二选择块(525),这进而促使使能同步信号(540)获得导致测试模式控制信号去断言的低状态(例如,通过从逻辑1转换到逻辑0)。第三选择块(526)经配置以接收使能同步信号(540)以及第二等待计数器(522)的一个或更多个计数状态(例如,请参阅(517))。在使能同步信号(540)从逻辑1变化到逻辑0时或随后,第三选择块(526)被触发。在被触发时或随后,第三选择块(526)进而触发触发器(532)以生成使能捕捉信号(542)。使能捕捉信号(542)触发第二等待计数器(522),以在捕捉阶段之前,生成对应于一个或更多个等待周期的一个或更多个计数状态。
第二等待计数器(522)的一个或更多个等待周期(例如,请参阅(517))的完成触发第二计数器(518)。在被触发时或随后,第二计数器(518)生成对应于捕捉阶段的一个或更多个计数状态。而且,第二计数器(518)的一个或更多个计数状态(例如,请参阅(523)) 导致第四选择块(527)的触发,以便进而触发触发器(534)以生成使能同步捕捉信号(544)。去断言的测试模式控制信号通过测试模式控制信号生成逻辑基于使能同步捕捉信号(544)生成。第二计数器(518)的捕捉结束计数状态(例如,请参阅(523))去激活选择块(527),其进而去激活触发器(534)并触发第一等待计数器(520),以在后续移位阶段之前,生成一个或更多个等待周期。捕捉结束计数状态触发图案计数器529,其使集成电路(500)能够以循环的方式操作预定数量的转换。
图5B示出根据一个实施例的图5A的集成电路(500)操作的过程流的示例表示。在图5B中,集成电路(500)的扫描测试的多个状态由块(550)-(562)表示。多个操作状态包括但不限于初始化状态(550)、空闲状态(552)、准备移位操作(554)、移位操作(556)、准备捕捉操作(558)、捕捉允许(560)和测试图案计数操作(562)。在一个实施例中,在初始化状态(550)期间,集成电路(500)的操作通过从测试仪(例如,图1A的(102))接收时钟信号(510)被初始化。在空闲状态(552)期间,在检测到第一移位阶段之前,存在一个或更多个等待周期。在测试图案检测块(502)检测对应于测试图案的第一移位阶段的图案(例如,请参阅(564))时或随后,集成电路(500)准备移位(例如,请参阅(554))。
在准备移位操作(554)期间,第一等待计数器(520)被触发,以生成一个或更多个等待周期。在完成一个或更多个等待周期时或随后,移位操作开始(例如,请参阅(556))。在移位操作(556)期间,第一计数器(516)被触发生成对应于第一移位阶段的一个或更多个计数状态(例如,以在每个时钟周期,递减从移位开始计数状态到移位结束计数状态的计数状态),并且生成断言测试模式控制信号,如图5A所示。在通过第一计数器(516)生成的一个或更多个计数状态的持续时间内,该测试模式控制信号保持断言。在第一计数器(516)的计数状态达到移位结束计数状态时或随后,移位操作结束(如(568)所示)。在(558),捕捉操作的准备被执行,以便准备捕捉阶段。捕捉运行的准备(558)还包括通过第二等待计数器(522)生成一个或更多个等待周期。
在完成一个或更多个等待周期时或随后,捕捉操作开始(例如,请参阅(570))。在(560),通过触发第二计数器(518),捕捉操作被执行,如本文在前面参照图5A所解释的。而且,在捕捉操作期间(例如,请参阅(560)),生成去断言的测试模式控制信号。在生成捕捉结束计数状态时或随后,捕捉操作(560)结束(例如,请参阅(574))。在第二计数器(518)的计数状态达到捕捉结束计数状态时或随后,图案计数器529的计数状态改变(例如,请参阅(562))一个计数状态。如果图案计数器529不保持对应于预定数量的转换的最小计数状态(例如,零计数),操作(554)、(556)、(558)和(560)被执行预定数量的转换。在完成预定数量的转换(例如,请参阅574)时或随后,该过程在(550)被再次初始化。
图6示出根据另一个实施例的图5A的集成电路(500)操作的过程流的示例表示。在图6中,集成电路(500)的扫描测试的多个状态由块(650)-(656)表示。多个操作状态包括但不限于初始化状态(650)、空闲状态(652)、测试图案计数操作(654)和迭代移位到捕捉操作(656)。在一个实施例中,在初始化状态(650)期间,集成电路(500)的扫描测试通过从测试仪(例如,图1A的(102))接收时钟信号(510)被初始化。在空闲状态(652)期间,在检测到第一移位阶段之前,存在一个或更多个等待周期。
在测试图案检测块(502)检测到(例如,请参阅(658))对应于测试图案的第一移位阶段的图案时或随后,图案计数器改变计数状态(例如,请参阅(654))一个计数状态,其指示一个测试图案的施加(例如,包括一个移位阶段和一个捕捉阶段的测试图案)。在图案计数器的计数状态改变一个计数状态时或随后,移位和捕捉操作被执行(例如,请参阅(656)),如本文参照图5A所述。通过在每次这类转换结束处将图案计数器的计数状态改变一个计数状态,从对应于测试图案的第一移位阶段和后续移位阶段中的一个移位阶段的移位开始计数状态到对应于测试图案(如(656)所示)的捕捉阶段的捕捉结束计数状态的转换被迭代执行预定数量的转换(例如,预定数量的测试图案)。
扫描测试可以包括操作STUMPS结构(Self-Test Using MISR and PRPGStructures即使用MISR和PRPG结构的自测试,其中MISR是multiple input signatureregister即多输入特征寄存器,以及PRPG是pseudo-random pattern generator即伪随机图案发生器)。在一个实施例中,为了减少扫描测试期间的测试时间,扫描压缩可用于增加内部STUMPS的数量,同时减少STUMPS的长度,增加内部移位频率和减少移位阶段与捕捉阶段之间的空闲时间。在另一个实施例中,一个或更多个内部STUMPS可以通过组合扫描压缩逻辑和/或时序扫描压缩逻辑驱动。组合扫描压缩逻辑和/或时序扫描压缩逻辑驱动的一个或更多个内部STUMPS可以包括可选的MISR和PRPG元件。此外,在一个实施例中,一个或更多个触发器可以被置于扫描输入引脚和扫描输出引脚上,以便支持更高频率的扫描移位操作。除了在扫描使能信号的控制下将测试图案驱动到扫描链中以外,相同组的触发器还可以用于在加载使能信号的控制下,将替换的图案驱动到用于时钟和扫描控制的内部寄存器中,并且还可以用于驱动检测图案用于检测移位阶段的开始。
在扫描输入引脚处的触发器可以在移位阶段结束时被初始化,并且该触发器中的测试图案可以在将当前测试图案传递出扫描链并准备向该扫描链施加后续测试图案期间使用。在该触发器中的测试图案必须在两个连续移位操作之间被保留。不过,指示移位阶段的开始的检测图案可以在两个测试图案之间出现。在此情况下,在该触发器中的测试图案被干扰,从而破坏该测试图案。为了减轻上面提到的问题,在前面的扫描测试周期期间被移到触发器的输入端的测试图案在后续测试周期期间被保留和再使用。在一个实施例中,检测图案和测试图案通过不同组的触发器传递,并且预定的延迟图案的检测和移位阶段的初始化之后被引入,以保留和再使用以前存储的测试图案。结果,在该检测图案施加期间,该检测图案的施加不干扰触发器的状态。包括触发器的示例集成电路在图7A中描述。
图7A示出根据一个实施例的示例集成电路(700),其包括能够在扫描测试期间控制移位阶段的一个或更多个触发器。集成电路(700)包括第一组触发器(702)和第二组触发器(704)、测试图案检测块(706)、STUMP(708)、第一选择块(710),以及第二选择块(712)。测试图案检测块(706)可以基本类似于和图2的测试图案检测块(202),并且可以如本文参照图3A、4A和5A所描述的各种方式实施。
第一组触发器(702)通过第一时钟信号(714)操作,以及第二组触发器通过第二时钟信号(716)操作。第一选择块(710)经配置以接收检测图案(718),以及第二选择块(712)经配置以接收测试图案(717)。在一个实施例中,第一选择块(710)和第二选择块(712)中的每个经配置以接收使能信号和使能同步信号(719)的组合,并在接收到该使能信号和使能同步信号(719)的组合时被触发。使能信号和使能同步信号(719)的组合可以通过基本类似于图2的控制电路(206)的控制电路生成。第一选择块(710)确保测试模式控制信号在移位阶段的开始之前被断言高。从测试仪(例如,图1A的(102))接收第一时钟信号(714)(例如,图1B的时钟信号(122))。测试图案检测块(706)经配置以通过第一组触发器(702)接收检测图案(718),以便基于检测图案(718)检测对应于测试图案(717)的第一移位阶段的开始的图案。第一组触发器(702)在接收到检测图案(718)之后和在测试图案检测块(706)检测到对应于移位阶段的图案时生成第一预定延迟。
第二选择块(712)控制测试图案(717)通过第二组触发器(704)移入STUMP(708)中。第二组触发器(704)将对应于先前移位阶段的测试图案存储第二预定延迟时间,并在完成第二预定延迟时使能该移位阶段的初始化。在接收到使能信号和使能同步信号(718)时或随后,第二选择块(712)通过第二组触发器(704)将测试图案(717)传送到STUMP(708)中。将测试图案(717)传送到STUMP(708)中的第二预定延迟从而确保在移位操作的开始之前,测试模式控制信号被断言高。图7A的集成电路(700)的操作在此参照7B描述。
图7B示出根据一个实施例的图7A的集成电路(700)操作的过程流的示例表示。在图7B中,多个操作状态由块(720)-(726)表示。多个操作状态包括但不限于选择(720)、准备移位(722)、移位操作(724)和捕捉操作(726)。在一个实施例中,在选择(720)期间,第一组触发器(702)或STUMP(706)中的一个被选择用于接 收时钟信号。在选择第一组触发器(702)时或随后,包括指示移位阶段的信息的检测图案(718)在通过第一组管线触发器(702)生成的第一预定延迟之后被移入测试图案检测块(706)中,并且对应于移位阶段的图案基于检测图案(718)被检测(例如,请参阅(728))。在检测到图案时或随后(例如,请参阅(722)),移位操作的准备开始,并且第二预定延迟通过第二组管线触发器(704)被引入。在完成第二预定延迟时或随后,STUMP(706)被选择(请参阅(720)),并且第二组触发器(704)将测试图案(717)传送到STUMP(706)中,以初始化后续移位阶段(例如,请参阅730)。在(724),移位操作被执行,紧随其后的是在(726)的捕捉操作。移位操作和捕捉操作如同本文参照图3A到5B所描述的。
图8示出根据一个实施例的生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的方法(800)的流程图。测试模式控制信号可以包括,但不限于,控制测试图案的移位阶段和捕捉阶段的扫描使能信号,以及加载使能信号,其用于控制到集成电路内的扫描链(例如,图1A的扫描链(108))的时钟并且控制扫描链的输入端和输出端以用于该扫描链的选择性运行。方法(800)开始于操作(802)。在操作(802),基于检测图案,执行对应于测试图案的移位阶段的第一图案的检测(例如,使用图2的测试图案检测块(202))或执行对应于测试图案的移位阶段的第一图案的检测和对应于测试图案的捕捉阶段的第二图案的检测(例如,使用图2的测试图案检测块(202))。在一个实施例中,第一图案(例如,8'hAA)和第二图案(例如,8'h55)在检测图案中被检测。检测图案包括指示测试图案的移位阶段的开始和/或测试图案的捕捉阶段的开始的信息。测试图案包括测试矢量和指示时钟信号的时钟周期数的信息,所述时钟信号对应于扫描测试期间的每个移位阶段和每个捕捉阶段。在一个实施例中,在操作(804),在检测到第一和第二图案中的至少一个图案时或随后,对应于移位阶段的一个或更多个计数状态或对应于捕捉阶段的一个或更多个计数状态通过计数器电路(例如,图3A的计数器电路(304)、图4A的(404)、图5A的(504))生成(例如,使用本文参照图3A、4A和5A描述的一个或更多个计数器)。
对应于移位阶段的一个或更多个计数状态在检测到第一图案时或随后生成,并且对应于捕捉阶段的一个或更多个计数状态在检测到第二图案时或随后生成。对应于移位阶段的一个或更多个计数状态包括移位开始计数状态与移位结束计数状态之间的计数状态。移位开始计数状态与移位结束计数状态之间的持续时间与对应于移位阶段的时钟信号的周期数关联。对应于捕捉阶段的一个或更多个计数状态包括捕捉开始计数状态与捕捉结束计数状态之间的计数状态。捕捉开始计数状态与捕捉结束计数状态之间的持续时间与对应于捕捉阶段的时钟信号的周期数关联。在一个实施例中,在操作(806)中,测试模式控制信号基于对应于移位阶段的一个或更多个计数状态和对应于捕捉阶段的一个或更多个计数状态生成并随后被控制。测试模式控制信号的生成和控制在本文参照图3A-7B进行描述。
在一个实施例中,在检测到对应于移位阶段的图案时,第一计数器的计数状态生成为移位开始计数状态。如果第一计数器的计数状态是第一预定计数状态,测试模式控制信号被断言。在扫描测试的移位阶段期间,第一计数器的计数状态从移位开始计数状态改变到移位结束计数状态。如果第一计数器的计数状态被改变到移位结束计数状态,则测试模式控制信号被去断言。如果第一计数器的计数状态是移位结束计数状态,计数器电路的等待计数器的一个或更多个计数状态对应于一个或更多个等待周期生成。在一个或更多个等待周期结束后,计数器电路的第二计数器的计数状态生成为捕捉开始计数状态。在捕捉阶段期间,第二计数器的计数状态从捕捉开始计数状态改变到捕捉结束计数状态,并且这个实施例在本文参照图4A-4B进行描述。
在一个实施例中,对于对应于从对应于测试图案的移位阶段的移位开始计数状态到对应于测试图案的捕捉阶段的捕捉结束计数状态之间的预定数量的转换的一个或更多个计数状态,对应于第一等待周期的第一等待计数器的一个或更多个计数状态在检测到对应于第一移位阶段的图案和图案计数器的计数状态改变一个计数状态中的一个时生成。在第一等待周期结束后,计数器电路的第一计数器的计数状态生成为移位开始计数状态。如果第一计数器的计数状态是移位开始计数状态,则测试模式控制信号被断言。第一计数器的计数状态从移位开 始计数状态改变到移位结束计数状态。如果第一计数器的计数状态被改变到移位结束计数状态,则测试模式控制信号被去断言。如果第一计数器的计数状态是移位结束计数状态,则生成对应于第二等待周期的第二等待计数器的一个或更多个计数状态。在第二等待周期结束后,计数器电路的第二计数器的计数状态生成为捕捉开始计数状态。在扫描测试的捕捉阶段期间,第二计数器的计数状态从捕捉开始计数状态改变到捕捉结束计数状态。对应于从对应于测试图案的移位阶段的移位开始计数状态到对应于测试图案的捕捉阶段的捕捉结束计数状态之间的预定数量的转换的计数器电路的图案计数器的一个或更多个计数状态改变一个计数状态,并且这个实施例在本文参照图5A-5B进行描述。
此外,在一个实施例中,对于对应于从对应于测试图案的第一移位阶段和后续移位阶段中的一个移位阶段的移位开始计数状态到对应于测试图案的捕捉阶段的捕捉结束计数状态之间的预定数量的转换的一个或更多个计数状态,在检测到第一移位阶段和先前捕捉阶段结束中的一个时,计数器电路的图案计数器的一个或更多个计数状态改变一个计数状态。在将图案计数器的一个或更多个计数状态改变一个计数状态时,计数器电路的第一计数器的计数状态生成为移位开始计数状态。如果第一计数器的计数状态是移位开始计数状态,则测试模式控制信号被断言。在扫描测试的移位阶段期间,第一计数器的计数状态从移位开始计数状态改变到移位结束计数状态。如果第一计数器的计数状态被改变到移位结束计数状态,则测试模式控制信号被去断言。在扫描测试的捕捉阶段期间,计数器电路的第二计数器的计数状态从捕捉开始计数状态改变到捕捉结束计数状态,并且这个实施例在本文参照图6进行描述。
本文公开的一个或更多个示例实施例的优点包括在集成电路内附加电路的使用,以用于在施加扫描图案期间,内部扫描使能生成和控制。所公开的技术通过释放引脚使能较高的多点测试,并消除在集成电路与基于事件驱动直接存储器存取架构的测试仪之间的数据传递期间,使一个或更多个测试仪受控引脚和测试数据同步的死循环的需要。所公开的技术不仅具有基于事件驱动的直接存储器存取测试仪架构的 好处,而且所有功能基于数据传递的测试仪使用利用直接存储器存取架构刷新的存储器。
通过使用基于硬件电路系统(例如,基于互补金属氧化物半导体(CMOS)的逻辑线路)的逻辑,和/或硬件和软件(例如,体现在机器可读介质中)的任何组合,各个装置、模块、分析器发生器等可以被实现和操作。例如,各种电气结构可以通过使用晶体管、逻辑门、和电气电路(例如,ASIC电路系统和/或数字信号处理器(DSP)电路系统)体现。而且,在各个实施例中离散和单独描述的和示出的电路可以与其他系统、模块组合或集成。
本领域的技术人员应当明白,在本发明权利要求保护的范围内,可以对上述示例实施例做出修改,并且许多其他的实施例也是可能的。
Claims (20)
1.一种经配置以生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的集成电路,所述集成电路包括:
测试图案检测块,其经配置以:
接收检测图案;
基于所述检测图案,执行对应于测试图案的移位阶段的第一图案的检测和对应于所述测试图案的捕捉阶段的第二图案的检测;并且
基于检测到所述第一图案和所述第二图案中的至少一个而生成触发信号;
控制电路,其耦合到所述测试图案检测块,所述控制电路经配置以接收所述触发信号并基于对应于所述移位阶段的一个或更多个计数状态和对应于所述捕捉阶段的一个或更多个计数状态生成所述测试模式控制信号并控制所述测试模式控制信号;以及
计数器电路,其耦合到所述控制电路,所述计数器电路经配置以基于所述第一图案和所述第二图案中的至少一个图案,生成对应于所述移位阶段和时钟信号的一个或更多个计数状态以及对应于所述捕捉阶段和所述时钟信号的一个或更多个计数状态。
2.根据权利要求1所述的集成电路,其中所述控制电路经进一步配置以执行下列中的至少一个:
在所述计数器电路的计数状态是移位开始计数状态和捕捉结束计数状态中的一种状态时,断言所述测试模式控制信号;以及
在所述计数状态是捕捉开始计数状态和移位结束计数状态中的一种状态时,去断言所述测试模式控制信号。
3.根据权利要求2所述的集成电路,其中所述计数器电路包括:
耦合到所述控制电路的寄存器块,所述寄存器块经配置以存储所述移位开始计数状态、所述移位结束计数状态、所述捕捉开始计数状态以及所述捕捉结束计数状态中的至少一个。
4.根据权利要求3所述的集成电路,其中所述计数器电路进一步包括:
与所述寄存器块耦合的一个或更多个计数器,其经配置以:
生成对应于从所述移位开始计数状态到所述移位结束计数状态的所述移位阶段的所述一个或更多个计数状态;以及
生成对应于从所述捕捉开始计数状态到所述捕捉结束计数状态的所述捕捉阶段的所述一个或更多个计数状态。
5.根据权利要求3所述的集成电路,其中所述计数器电路进一步包括:
第一计数器,其经配置以生成从所述移位开始计数状态到所述移位结束计数状态的一个或更多个计数状态;
第二计数器,其经配置以生成从所述捕捉开始计数状态到所述捕捉结束计数状态的所述一个或更多个计数状态;以及
一个或更多个计数器,其经配置以生成对应于在所述移位阶段的开始前的一个或更多个等待周期的一个或更多个计数状态,以及生成对应于在所述捕捉阶段的开始前的一个或更多个等待周期的一个或更多个计数状态。
6.根据权利要求5所述的集成电路,其中所述计数器电路进一步包括图案计数器,其经配置以生成一个或更多个计数状态,所述一个或更多个计数状态对应于从对应于所述测试图案的所述移位阶段的所述移位开始计数状态到对应于所述测试图案的所述捕捉阶段的所述捕捉结束计数状态的预定数量的转换。
7.根据权利要求1所述的集成电路,其进一步包括:
第一组触发器,其与所述测试图案检测块耦合,所述第一组触发器经配置以在检测到对应于所述移位阶段的所述第一图案时生成第一预定延迟;以及
第二组触发器,其与所述扫描链耦合,所述第二组触发器用于将对应于先前移位阶段的测试图案存储第二预定延迟时间,并使得在完成所述第二预定延迟时使能所述移位阶段的初始化。
8.根据权利要求3所述的集成电路,其进一步包括与所述寄存器块通信关联或耦合的测试接口,所述测试接口控制所述寄存器块,并基于所述测试图案改变所述移位开始计数状态、所述捕捉开始计数状态、所述移位结束计数状态和所述捕捉结束计数中的至少一个。
9.根据权利要求1所述的集成电路,其中所述测试模式控制信号包括用于控制所述测试图案的所述移位阶段和所述捕捉阶段的扫描使能信号和用于控制所述扫描链的操作的加载使能信号中的一个。
10.一种经配置以生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的集成电路,所述集成电路包括:
测试图案检测块,其经配置以:
接收检测图案;
基于所述检测图案,执行对应于测试图案的第一移位阶段的图案的检测;并且
基于检测到所述图案,生成触发信号;
控制电路,其耦合到所述测试图案检测块,所述控制电路经配置以接收所述触发信号并基于对应于所述第一移位阶段的一个或更多个计数状态和对应于后续移位阶段和捕捉阶段的一个或更多个计数状态而生成所述测试模式控制信号并控制所述测试模式控制信号;以及
计数器电路,其耦合到所述控制电路,所述计数器电路包括:
图案计数器,其经配置以在检测到所述第一移位阶段时被触发,所述图案计数器经配置以生成一个或更多个计数状态,所述一个或更多个计数状态对应于从对应于所述测试图案的所述第一移位阶段和后续移位阶段中的一个移位阶段的移位开始计数状态到对应于所述测试图案的捕捉阶段的捕捉结束计数状态的预定数量的转换,以及
一个或更多个计数器,其与所述图案计数器耦合,所述一个或更多个计数器经配置以生成对应于所述第一移位阶段、所述后续移位阶段和所述捕捉阶段的一个或更多个计数状态。
11.根据权利要求10所述的集成电路,其中所述控制电路经进一步配置以执行下列中的至少一个:
在所述计数器电路的计数状态是所述移位开始计数状态和所述捕捉结束计数状态中的一种状态时,断言所述测试模式控制信号;以及
在所述计数状态是捕捉开始计数状态和移位结束计数状态中的一种状态时,去断言所述测试模式控制信号。
12.根据权利要求10所述的集成电路,其中所述计数器电路包括:
寄存器块,其经配置以存储所述移位开始计数状态、所述捕捉开始计数状态、所述移位结束计数状态和所述捕捉结束计数状态中的至少一个。
13.根据权利要求12所述的集成电路,其中所述计数器电路进一步包括:
一个或更多个计数器,其经配置以生成一个或更多个计数状态,所述一个或更多个计数状态对应于在所述第一移位阶段和所述后续移位阶段中的一个移位阶段的开始前的一个或更多个等待周期以及在所述捕捉阶段的开始前的一个或更多个等待周期,其中所述测试模式控制信号的生成进一步基于所述一个或更多个计数器的所述一个或更多个计数状态。
14.根据权利要求10所述的集成电路,其进一步包括:
第一组触发器,其与所述测试图案检测块耦合,所述第一组触发器经配置以在检测到对应于所述第一移位阶段的所述图案时生成第一预定延迟;以及
第二组触发器,其与所述扫描链耦合,所述第二组触发器用于将对应于先前移位阶段的测试图案存储第二预定延迟时间,并在完成所述第二预定延迟时使能所述移位阶段的初始化。
15.根据权利要求12所述的集成电路,其进一步包括与所述寄存器块通信关联或耦合的测试接口,所述测试接口控制所述寄存器块,并基于所述测试图案改变所述移位开始计数状态、所述捕捉开始计数状态、所述移位结束计数状态和所述捕捉结束计数状态中的至少一个。
16.根据权利要求10所述的集成电路,其中所述测试模式控制信号包括用于控制所述测试图案的所述移位阶段和所述捕捉阶段的扫描使能信号和用于控制所述扫描链的操作的加载使能信号中的一个。
17.一种生成用于通过集成电路中的扫描链进行扫描测试的测试模式控制信号的方法,所述方法包括:
基于检测图案,检测对应于测试图案的移位阶段的第一图案,以及检测所述第一图案和对应于所述测试图案的捕捉阶段的第二图案;
在检测到所述第一图案和所述第二图案时,通过计数器电路生成对应于所述移位阶段的一个或更多个计数状态和对应于所述捕捉阶段的一个或更多个计数状态,对应于所述移位阶段的所述一个或更多个计数状态包括移位开始计数状态与移位结束计数状态之间的计数状态,所述移位开始计数状态与对应于所述移位阶段的时钟信号的周期数关联,对应于所述捕捉阶段的所述一个或更多个计数状态包括捕捉开始计数状态与捕捉结束计数状态之间的计数状态,并且所述捕捉开始计数状态与对应于所述捕捉阶段的所述时钟信号的周期数关联;以及
基于对应于所述移位阶段的所述一个或更多个计数状态和对应于所述捕捉阶段的所述一个或更多个计数状态,生成并随后控制所述测试模式控制信号。
18.根据权利要求17所述的方法,其进一步包括迭代执行:
在检测到对应于所述移位阶段的所述第一图案时,生成所述计数器电路的第一计数器的计数状态作为所述移位开始计数状态;
如果所述第一计数器的所述计数状态是所述移位结束计数状态,则断言所述测试模式控制信号;
在所述扫描测试的所述移位阶段期间,将所述第一计数器的一个或更多个计数状态从所述移位开始计数状态改变到所述移位结束计数状态;
如果所述第一计数器的所述计数状态被改变到所述移位结束计数状态,则去断言所述测试模式控制信号;
在所述第一计数器的所述计数状态是所述移位结束计数状态时,生成对应于一个或更多个等待周期的所述计数器电路的等待计数器的一个或更多个计数状态;
在所述一个或更多个等待周期的结束后,生成所述计数器电路的第二计数器的计数状态作为所述捕捉开始计数状态;以及
在所述捕捉阶段期间,将所述第二计数器的所述计数状态从所述捕捉开始计数状态改变到所述捕捉结束计数状态。
19.根据权利要求17所述的方法,其进一步包括针对一个或更多个计数状态,迭代执行以下步骤,所述一个或更多个计数状态对应于:从对应于所述测试图案的所述移位阶段的所述移位开始计数状态到对应于所述测试图案的所述捕捉阶段的所述捕捉结束计数状态之间的预定数量的转换:
在出现以下情况之一时,生成对应于第一等待周期的第一等待计数器的一个或更多个计数状态:
检测到对应于第一移位阶段的所述图案和图案计数器的计数状态改变一个计数状态;
在所述第一等待周期结束后,生成所述计数器电路的第一计数器的计数状态作为移位开始计数状态;
如果所述第一计数器的所述计数状态是所述移位开始计数状态,则断言所述测试模式控制信号;
将所述第一计数器的所述计数状态从所述移位开始计数状态改变到所述移位结束计数状态;
如果所述第一计数器的所述计数状态被改变到所述移位结束计数状态,则去断言所述测试模式控制信号;
在所述计数状态是所述移位结束计数状态时,生成对应于第二等待周期的第二等待计数器的一个或更多个计数状态;
在所述第二等待周期结束后,生成所述计数器电路的第二计数器的计数状态作为捕捉开始计数状态;
在所述扫描测试的所述捕捉阶段期间,将所述第二计数器的所述计数状态从所述捕捉开始计数状态改变到所述捕捉结束计数状态;以及
将所述计数器电路的图案计数器的一个或更多个计数状态改变一个计数状态,所述一个或更多个计数状态对应于从所述测试图案的所述移位阶段的所述移位开始计数状态到所述测试图案的所述捕捉阶段的所述捕捉结束计数状态的预定数量的转换。
20.根据权利要求17所述的方法,其进一步包括针对一个或更多个计数状态,迭代执行以下步骤,所述一个或更多个计数状态对应于从对应于所述测试图案的所述移位阶段的所述移位开始计数状态到对应于所述测试图案的所述捕捉阶段的所述捕捉结束计数的预定数量的转换:
在检测到第一移位阶段和前面的捕捉阶段结束中的一个时,将对应于所述预定数量的转换的所述计数器电路的图案计数器的一个或更多个计数状态改变一个计数状态;
在所述一个或更多个计数状态改变一个计数状态时,生成所述计数器电路的第一计数器的计数状态作为移位开始计数状态;
如果所述第一计数器的所述计数状态是所述移位开始计数状态,则断言所述测试模式控制信号;
在所述扫描测试的所述移位阶段期间,将所述第一计数器的所述计数状态从所述移位开始计数状态改变到所述移位结束计数状态;
如果所述第一计数器的所述计数状态被改变到所述移位结束计数状态,则去断言所述测试模式控制信号;以及
在所述扫描测试的所述捕捉阶段期间,将所述计数器电路的第二计数器的所述计数状态从所述捕捉开始计数状态改变到所述捕捉结束计数状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/470,863 US8972807B2 (en) | 2012-05-14 | 2012-05-14 | Integrated circuits capable of generating test mode control signals for scan tests |
US13/470,863 | 2012-05-14 | ||
PCT/US2013/040609 WO2013173192A1 (en) | 2012-05-14 | 2013-05-10 | Integrated circuits capable of generating test mode control signals for scan tests |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104321655A CN104321655A (zh) | 2015-01-28 |
CN104321655B true CN104321655B (zh) | 2017-04-05 |
Family
ID=49549604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380022743.2A Active CN104321655B (zh) | 2012-05-14 | 2013-05-10 | 能够生成用于扫描测试的测试模式控制信号的集成电路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8972807B2 (zh) |
JP (1) | JP6544772B2 (zh) |
CN (1) | CN104321655B (zh) |
WO (1) | WO2013173192A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9310436B2 (en) * | 2014-01-28 | 2016-04-12 | Omnivision Technologies, Inc. | System and method for scan-testing of idle functional units in operating systems |
JP6211971B2 (ja) * | 2014-03-26 | 2017-10-11 | 旭化成エレクトロニクス株式会社 | 半導体テスト回路及びicチップ |
US9591300B2 (en) | 2014-12-04 | 2017-03-07 | Spirent Communications, Inc. | Video streaming and video telephony downlink performance analysis system |
US10606723B2 (en) | 2015-12-18 | 2020-03-31 | Texas Instruments Incorporated | Systems and methods for optimal trim calibrations in integrated circuits |
US10060979B2 (en) | 2016-08-02 | 2018-08-28 | Texas Instruments Incorporated | Generating multiple pseudo static control signals using on-chip JTAG state machine |
CN106541702B (zh) * | 2016-10-27 | 2018-11-23 | 杭州电子科技大学 | 一种印刷质量校正系统及其方法 |
US11405695B2 (en) | 2019-04-08 | 2022-08-02 | Spirent Communications, Inc. | Training an encrypted video stream network scoring system with non-reference video scores |
US11221864B1 (en) * | 2019-06-03 | 2022-01-11 | Synopsys, Inc. | Combinatorial and sequential logic compaction in electronic circuit design emulation |
US10852353B1 (en) * | 2019-07-02 | 2020-12-01 | Texas Instruments Incorporated | Scan test control decoder with storage elements for use within integrated circuit (IC) devices having limited test interface |
KR102278648B1 (ko) * | 2020-02-13 | 2021-07-16 | 포스필 주식회사 | 피시험 디바이스를 테스트하기 위한 방법 및 장치 |
CN112462244B (zh) * | 2020-10-28 | 2022-07-01 | 苏州浪潮智能科技有限公司 | 一种扫描链测试的时钟控制装置 |
CN114089157B (zh) * | 2021-11-02 | 2024-04-12 | 广州昂宝电子有限公司 | 芯片测试方法及系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444567B2 (en) * | 2002-04-09 | 2008-10-28 | Syntest Technologies, Inc. | Method and apparatus for unifying self-test with scan-test during prototype debug and production test |
US6671839B1 (en) | 2002-06-27 | 2003-12-30 | Logicvision, Inc. | Scan test method for providing real time identification of failing test patterns and test bist controller for use therewith |
JP2004325124A (ja) | 2003-04-22 | 2004-11-18 | Matsushita Electric Ind Co Ltd | 半導体装置 |
JP2005037995A (ja) * | 2003-07-15 | 2005-02-10 | Toshiba Corp | 半導体集積回路の検証システム |
JP2005147772A (ja) | 2003-11-13 | 2005-06-09 | Matsushita Electric Ind Co Ltd | 半導体検査装置 |
US7380189B2 (en) * | 2004-06-15 | 2008-05-27 | Broadcom Corporation | Circuit for PLL-based at-speed scan testing |
US7334172B2 (en) * | 2004-10-20 | 2008-02-19 | Lsi Logic Corporation | Transition fault detection register with extended shift mode |
JP4922055B2 (ja) | 2007-04-27 | 2012-04-25 | ルネサスエレクトロニクス株式会社 | スキャンテスト回路、及びスキャンテスト制御方法 |
JP5167904B2 (ja) * | 2008-03-28 | 2013-03-21 | 富士通株式会社 | スキャン制御方法、スキャン制御回路及び装置 |
JP2011058847A (ja) * | 2009-09-07 | 2011-03-24 | Renesas Electronics Corp | 半導体集積回路装置 |
US8205125B2 (en) * | 2009-10-23 | 2012-06-19 | Texas Instruments Incorporated | Enhanced control in scan tests of integrated circuits with partitioned scan chains |
US8332698B2 (en) * | 2010-05-21 | 2012-12-11 | Apple Inc. | Scan latch with phase-free scan enable |
CN101975922A (zh) * | 2010-10-11 | 2011-02-16 | 上海电力学院 | 低功耗扫描测试电路及运行方法 |
US8799713B2 (en) * | 2011-03-01 | 2014-08-05 | Texas Instruments Incorporated | Interruptible non-destructive run-time built-in self-test for field testing |
US8412991B2 (en) * | 2011-09-02 | 2013-04-02 | Teseda Corporation | Scan chain fault diagnosis |
-
2012
- 2012-05-14 US US13/470,863 patent/US8972807B2/en active Active
-
2013
- 2013-05-10 CN CN201380022743.2A patent/CN104321655B/zh active Active
- 2013-05-10 JP JP2015512710A patent/JP6544772B2/ja active Active
- 2013-05-10 WO PCT/US2013/040609 patent/WO2013173192A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP6544772B2 (ja) | 2019-07-17 |
US20130305106A1 (en) | 2013-11-14 |
CN104321655A (zh) | 2015-01-28 |
JP2015522800A (ja) | 2015-08-06 |
US8972807B2 (en) | 2015-03-03 |
WO2013173192A1 (en) | 2013-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104321655B (zh) | 能够生成用于扫描测试的测试模式控制信号的集成电路 | |
US11635464B2 (en) | Scan frame based test access mechanisms | |
CN103076558B (zh) | 用于扫描链的动态时钟域旁路 | |
KR101592042B1 (ko) | 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법 | |
US7352169B2 (en) | Testing components of I/O paths of an integrated circuit | |
CN107064784B (zh) | 存在较慢扫描输出时实现较高扫描量的非隔行扫描操作 | |
US7533315B2 (en) | Integrated circuit with scan-based debugging and debugging method thereof | |
CN106526463A (zh) | 具扫描测试的集成电路及其测试方法 | |
JP2004502147A (ja) | 高性能回路をテストする方法及び装置 | |
US8819508B2 (en) | Scan test circuitry configured to prevent violation of multiplexer select signal constraints during scan testing | |
WO2007147099A2 (en) | Device testing architecture, and method, and system | |
US9003248B2 (en) | Fault-driven scan chain configuration for test-per-clock | |
US8914689B2 (en) | Controlled toggle rate of non-test signals during modular scan testing of an integrated circuit | |
US8700962B2 (en) | Scan test circuitry configured to prevent capture of potentially non-deterministic values | |
CN110954808A (zh) | 具有模拟测试总线的有限引脚测试接口 | |
CN104049203B (zh) | 具有边界扫描测试功能的管脚和包括该管脚的集成电路 | |
US20180038910A1 (en) | Generating Multiple Pseudo Static Control Signals Using On-chip JTAG State Machine | |
CN110007217A (zh) | 一种低功耗边界扫描测试方法 | |
CN112154336A (zh) | 确定性星体内建自测 | |
CN104903736B (zh) | 用于动态分配扫描测试资源的电路和方法 | |
US7607057B2 (en) | Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip | |
US10379161B2 (en) | Scan chain stitching for test-per-clock | |
US10078114B2 (en) | Test point circuit, scan flip-flop for sequential test, semiconductor device and design device | |
US9347993B2 (en) | Test generation for test-per-clock | |
US9009553B2 (en) | Scan chain configuration for test-per-clock based on circuit topology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210303 Address after: American Texas Patentee after: TEXAS INSTRUMENTS Inc. Address before: American Texas Patentee before: TEXAS INSTRUMENTS Inc. Patentee before: TEXAS INSTRUMENTS JAPAN Ltd. |
|
TR01 | Transfer of patent right |