CN101663648B - 低功耗扫描测试技术及装置 - Google Patents
低功耗扫描测试技术及装置 Download PDFInfo
- Publication number
- CN101663648B CN101663648B CN2008800116867A CN200880011686A CN101663648B CN 101663648 B CN101663648 B CN 101663648B CN 2008800116867 A CN2008800116867 A CN 2008800116867A CN 200880011686 A CN200880011686 A CN 200880011686A CN 101663648 B CN101663648 B CN 101663648B
- Authority
- CN
- China
- Prior art keywords
- test
- scan
- scan chain
- integrated circuit
- clock
- 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
Images
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/318575—Power distribution; Power saving
Abstract
以下所公开的是在集成电路测试期间降低功率消耗的方法、装置、和系统的典型实施例。本公开技术的实施例可用于提供一个低功耗测试方案,并可和各种压缩硬件结构集成在一起(例如,一个嵌入式确定性测试(“EDT”)结构)。在本公开的实施例中,集成电路包含可编程测试激励选择器、可编程扫描使能电路、可编程时钟使能电路、可编程移位使能电路、和/或可编程复位使能电路。同时公开的是测试矢量生成方法,这些方法可用于生成测试矢量并与本公开的任一实施例一同使用。
Description
相关申请的交叉引用
本专利申请要求2007年2月12日提交的第60/901,079号美国临时专利申请的优先权利要求,并作为引用在此纳入。
技术领域
本专利申请与测试集成电路的领域有关。特别地,本专利申请与在测试期间降低功耗的工具和技术有关。
背景技术
在集成电路制造的过程中,为了提供高测试覆盖率,基于扫描和自动测试矢量生成(“ATPG(automatic test pattern generation)”)的设计可测性(“DFT”)技术被普遍采用。然而,对于大规模电路而言,对于这些电路进行测试所需的大量测试数据极大地增加了对测试时间和测试存储器的要求。为了应付这些挑战,人们引入各种减低测试数据量的方案。例如,使用片上解压和压缩硬件。通过使用这种硬件,测试仪以压缩方式提供测试矢量,片上解压硬件扩展(或解压)压缩的测试矢量为加载到扫描链上的实际数据。后者之所以成为可能是因为在解压后的测试矢量中通常只有很少的比特位是指定比特位用于检测集成电路中的一个或多个特定的故障。解压后测试矢量中剩下的未指定比特位称为“不在乎”比特位,它们的取值通常由解压器的结构而随机决定。但是,在载入解压测试矢量到扫描链的过程中,大量的随机填充的测试矢量比特位可导致扫描链中扫描单元过度切换,从而导致在测试过程中出现不期望的高功率消耗。
类似地,在载入测试矢量到扫描链中并输送到系统逻辑后,被捕获的测试响应中经常包含许多没有指示任何目标故障存在的测试响应比特位,因为这些测试响应比特位对故障检测或诊断没有贡献,这些比特位可称为“不在乎”测试响应比特位。与“不在乎”测试矢量比特位类似,在对测试响应进行捕获和/或在从扫描链卸载测试响应时,“不在乎”测试响应比特位同样可导致扫描链中扫描单元过度切换。
在扫描链载入、捕获、和/或卸载过程中,过高的功率消耗可导致过热,或是电源电压噪声-它们可导致设备故障,永久损坏,或是由于加速电迁移从而表现出可靠性降低。因此,在测试期间改善方法和测试结构以降低测试功耗成为必需考虑的问题。
发明内容
以下公开的是在集成电路测试期间降低功耗的方法、设备和系统的典型实施例。本公开技术的实施例可用于提供低功耗测试方案,并可以集成到各种压缩硬件结构(例如,嵌入式确定性测试(“EDT”)结构)。
公开的实施例中有些包括含有测试激励选择器的集成电路。比如在一些特定的实施例中,集成电路包括一第一测试激励源被配置生成原始测试矢量值,一第二测试激励源被配置生成一常量值,一控制器被配置生成控制信号,及一测试激励选择器含有连接到第一测试激励源、第二测试激励源和控制器的输入。测试激励选择器也包含连接到集成电路中多个扫描链的输出。在这些实施例中,根据控制器的控制信号,测试激励选择器被配置在其每个各自的输出中选择性输出第一测试激励源的一原始测试矢量值或第二测试激励源的常量值。在一些特定的实施例中,测试激励选择器被配置以逐一周期方式、逐一扫描链段方式或逐一矢量方式选择性输出值。此外,第一试激励源可以是一解压器接收来自外部测试仪的压缩的测试矢量。在一些实现中,测试激励选择器包括多个多路复用器。每个多路复用器的第一输入连接到第一测试激励源的各自输出,第二输入连接到第二激励源的各自输出,第三输入连接到控制器的各自输出,并且一输出连接到各自的一个或多个扫描链上。控制器可以是可编程的,被配置加载来自一外部测试仪、或集成电路上的一存储单元、或集成电路上的一测试生成器之一的控制数据。在某些实现中,常量值是第一常量值,集成电路进一步包括一第三测试激励源被配置生成第二常量值,测试激励选择器进一步有一输入连接到第三测试激励源,并根据控制器的控制信号,测试激励选择器被配置在其每个各自的输出选择性输出第一测试激励源的原始测试矢量值,或第二测试激励源的第一常量值,或是第三测试激励源的第二常量值。在这些实现中,第一常量值和第二常量值可以各自是0和1,或各自是1和0。进一步地,这些实现中的测试激励选择器可以包括多个多路复用器,每个多路复用器的第一输入连接到第一测试激励源的各自输出,第二输入连接到第二测试激励源的各自输出,第三输入连接到第三测试激励源的各自输出,第四输入连接到控制器的各自输出,并且一输出连接到各自的一个或多个扫描链上。对这些实现的任一种,控制器可包括一个或多个移位寄存器用于加载和输出控制数据。进一步地,一个或多个移位寄存器可包括多个组成多级寄存器管道的移位寄存器。例如,多个移位寄存器可被配置为响应寄存器移位时钟以串行方式加载数据,和/或响应管道移位时钟在移位寄存器之间以并行方式移位控制数据。一个或多个映像寄存器可以连接到一个或多个移位寄存器上。更进一步,控制器可包括一异或(XOR)或同或(XNOR)网络并连接到至少一个该一个或多个移位寄存器上,并且控制器可进一步包括一偏置电路并连接到异或或同或网络。例如,偏置电路被配置以偏置异或或同或网络的一个或多个输出,以使每个被偏置输出更可能生成各自的二进制值。偏置电路更可以是,例如,一可重复配置偏置电路被配置以根据可选择的数量来偏置一个或多个异或或同或网络的输出。
在其它公开的实施例中,集成电路包括:一测试激励源被配置生成原始测试矢量值,一控制器被配置生成控制信号,及一测试激励选择器含有连接到测试激励源和控制器的输入,其输出连接到集成电路中多个扫描链上。在这些实施例中,根据控制器的控制信号,测试激励选择器被配置在其每个各自的输出中选择性输出测试激励源的一原始测试矢量值或是一个常量值。进一步地,测试激励源可包括门控电路并被配置生成常量值。在一些特定的实施例中,测试激励选择器被配置以逐一周期方式、逐一扫描链段方式或逐一矢量方式选择性输出值。在某些实施例中,测试激励源是一解压器被配置接收来自一外部测试仪的压缩测试矢量值。控制器可以是可编程的,被配置加载来自一外部测试仪、或集成电路上的一存储单元、或集成电路上的一测试生成器其中之一的控制数据。在某些实现中,控制器可包括一个或多个移位寄存器用于加载和输出控制数据。一个或多个移位寄存器可包括多个组成多级寄存器管道的移位寄存器。控制器可进一步包括一异或或同或网络并连接到至少一个该一个或多个移位寄存器上。此外,控制器可包括一偏置电路并连接到异或或同或网络。偏置电路可被配置以偏置异或或同或网络的一个或多个输出,以使每个被偏置输出更可能生成各自的二进制值。
这里公开的一个范例方法,在m条路径上接收测试集成电路的原始测试矢量值。原始测试矢量值可从,例如,一解压器处接收。在该范例方法中,m条路径中至少有n条路径的测试矢量值被选择性修改,以便n条路径上测试矢量值成为至少两个连续常量值,其中n小于m。关于m条扫描链输入路径的测试矢量值被输出。这些测试矢量值包含关于m条扫描链输入路径中n条扫描链输入路径的至少两个连续常值。在某些实现中,指示m条路径哪些将被修改的控制数据被接收。控制数据可供多个额外的测试矢量重复使用。输出的测试矢量值可包含原始测试矢量的所有指定比特位,这些指定比特位是用于检测集成电路中一个或多个故障。进一步地,选择性修改测试矢量值的行为可包括施加控制信号到被配置产生至少两个相邻常量值的逻辑门上。
这里也公开了集成电路含有扫描使能电路范例的实施例。例如,在一些特定的实施例中,一集成电路包括:一解压器连接到集成电路中扫描链的数据输入端口,一控制器被配置生成控制信号,及一扫描使能电路,其一输入连接到控制器,输出连接到扫描链扫描单元的扫描使能输入。在这些实施例中,扫描使能电路被配置在其一个或多个输出生成独立可控制的扫描使能信号。独立可控制的扫描使能信号的值基于控制器的控制信号的至少一部分。独立可控制的扫描使能信号的值可包括一第一扫描使能值和一第二扫描使能值。第一扫描使能值可用于导致一个或多个扫描链以移位模式操作,第二扫描使能值可用于导致一个或多个扫描链以正常电路模式操作。在一些实现中,扫描使能电路的该输入是第一输入,扫描使能电路可进一步包括第二输入被配置接收一全局扫描使能信号。在这些实现中,扫描使能电路可被配置以便其生成的扫描使能信号至少有一部分可被全局扫描使能信号部分控制。扫描使能电路每个输出连接到集成电路中各自的一个或多个扫描链扫描单元的扫描使能输入上。进一步地,在某些实现中,集成电路可包括一测试激励选择器,含有输出被配置连接到由扫描单元组成的扫描链上。测试激励选择器被配置在其每个各自的输出中选择性输出原始测试矢量值或一常量值。在某些实现中,控制器可以是可编程的,被配置加载来自一外部测试仪、或集成电路上的一存储单元、或集成电路上的一测试生成器其中之一的控制数据。控制器可包括,例如,一个或多个移位寄存器用于加载和输出控制数据。一个或多个移位寄存器可包括多个组成多级寄存器管道的移位寄存器。进一步地,一个或多个映像寄存器可连接到一个或多个移位寄存器上。在一些实现中,控制器可包括一异或或同或网络并连接到至少一个该一个或多个移位寄存器上。更进一步,控制器可包括一偏置电路并连接到异或或同或网络。偏置电路可被配置以偏置异或或同或网络的一个或多个输出,以使每个被偏置输出更可能生成各自的二进制值。
这里还公开了在测试期间对电路施加扫描使能信号的实施例。例如,在一些实施例中,扫描链加载来自解压器的解压测试矢量时,一扫描使能信号被施加到被测电路扫描链上。扫描使能信号导致扫描链以一个或多个移位寄存器方式操作。进一步地,在从剩下的、没有施加扫描使能信号的扫描链上捕获对于解压测试矢量的测试响应时,扫描使能信号施加到一个或多个扫描链。在一些实现中,被施加扫描使能信号的一个或多个扫描链包括否则会捕获到未知值的一个或多个扫描链。在进一步的实现中,在从扫描链上卸载测试响应时,扫描使能信号可施加到被测电路的扫描链上。在解压测试矢量的测试响应被捕获时,控制哪些扫描链将被施加扫描使能信号的控制信号被接收。在多个额外解压测试矢量加载到扫描链时,这些控制信号可被再使用。更进一步,在测试矢量加载到扫描链时,用于下一个测试矢量的控制信号可被加载。
这里公开的另一些实施例中,一个或多个计算机可读介质存储计算机可执行指令,该指令导致计算机执行一种方法。在某些实现中,该方法包括模拟一测试矢量被加载到被测电路并由此产生一模拟测试响应,从模拟测试响应中识别被测电路中一个或多个捕获未知状态的扫描链,生成控制信号以导致一扫描使能电路在捕获窗口期间抑制一个或多个被识别扫描链的扫描使能信号,并存储控制信号到一个或多个计算机可读介质上。
这里还公开了集成电路中包括时钟使能电路的实施例。例如,在某些公开的实施例中,一集成电路包括:一解压器连接到集成电路中扫描链的数据输入,一控制器被配置生成控制信号,和一时钟使能电路。这些实施例中的时钟使能电路输入连接到控制器,输出连接到扫描链扫描单元的时钟输入。进一步地,基于控制器控制信号的至少一部分,时钟使能电路被配置在其一个或多个输出中生成独立可控制的时钟信号。时钟使能电路生成的独立可控制的时钟信号可以是捕获时钟信号。进一步地,在某些实现中,时钟使能电路的该输入可以是第一输入,时钟使能电路可进一步包括第二输入被配置接收一源时钟信号,时钟使能电路生成的时钟信号可派生自源时钟信号。在某些实现中,时钟使能电路进一步包括第三输入被配置接收一全局时钟使能信号,而且时钟使能电路被配置在全局时钟使能信号有效时,在其所有输出中生成时钟信号。时钟使能电路的每个输出可连接到集成电路中各自的一个或多个扫描链扫描单元的时钟输入。时钟使能电路可包括个体时钟使能者电路以控制时钟使能电路每个各自的输出。在某些实现中,集成电路进一步包括一测试激励选择器,其含有输出被配置连接到由扫描单元组成的扫描链上。测试激励选择器被配置在其每个各自的输出选择性输出原始测试矢量值或一常量值。进一步地,控制器可以是可编程的,被配置加载来自一外部测试仪、或集成电路上的一存储单元、或集成电路上的一测试生成器其中之一的控制数据。控制器可包括,例如,一个或多个移位寄存器用于加载和输出控制数据。一个或多个移位寄存器可包括多个组成多级寄存器管道的移位寄存器。进一步地,一个或多个映像寄存器可连接到一个或多个移位寄存器上。控制器还可包括一异或或同或网络并连接到至少一个该一个或多个移位寄存器上。在某些实现中,控制器进一步包括一偏置电路,其连接到异或或同或网络,偏置电路可被配置以偏置异或或同或网络的一个或多个输出,以使每个被偏置输出更可能生成各自的二进制值。
在公开的实施例中包括在测试期间施加和抑制时钟信号的方法。例如,在某些公开的实施例中,在一解压器的解压测试矢量加载到一被测电路的扫描链时,一时钟信号被施加到被测电路的扫描链上。在捕获窗口期间捕获解压测试矢量的测试响应时,一个或多个但不是所有扫描链或扫描链段上的时钟信号被抑制。时钟信号的抑制导致一个或多个但不是所有扫描链或扫描链段在捕获窗口期间保持一个恒定状态。一个或多个扫描链包括否则会捕获到未知值的一个或多个扫描链。在一些特别的实现中,时钟信号在扫描链加载测试矢量时有一第一频率,在捕获窗口期间捕获测试响应时有一第二频率。公开的实施例可进一步包括在从扫描链上卸载测试响应时,施加时钟信号到被测电路的扫描链上。更进一步,控制在捕获窗口期间哪些扫描链或是扫描链段的时钟信号将被抑制的控制信号可被接收。当捕获多个额外解压测试矢量的测试响应时,这些控制信号可被重新使用。在测试矢量加载到扫描链时,针对下一个测试矢量的控制信号可被加载。
这里公开的另外一个实施例中,一个或多个计算机可读介质存储计算机可执行指令,该指令导致计算机执行一种方法。在某些实现中,该方法包括模拟一测试矢量被加载到被测电路并由此产生一模拟测试响应,从模拟测试响应中识别被测电路中一个或多个捕获未知状态的扫描链,生成控制信号以导致一时钟使能电路在捕获窗口期间抑制一个或多个被识别扫描链的捕获时钟,并存储控制信号到一个或多个计算机可读介质上。
这里还公开了一集成电路包括复位使能电路的实施例。例如,在某些实施例中,一集成电路包括:一解压器连接到集成电路中扫描链的数据输入,一控制器被配置生成控制信号,和一复位使能电路,其输入连接到控制器,其输出连接到扫描链扫描单元的复位输入。复位使能电路可被配置基于控制器控制信号的至少一部分,在其一个或多个输出中选择性生成复位信号。当复位信号施加到复位输入时,集成电路中扫描单元可被配置复位至0或1。复位使能电路的该输入可以是复位使能电路的第一输入,复位使能电路可进一步包括第二输入被配置接收一源复位信号。在一些特别的实现中,复位使能电路可包括个体复位使能者电路以控制复位使能电路每个各自的输出。更进一步,在一些实现中,复位使能电路的每个输出可连接到集成电路中各自的一个或多个扫描链扫描单元的复位输入。扫描单元复位输入可包括扫描单元的异步控制管脚。集成电路可进一步包括一移位时钟使能电路,其输出连接到集成电路中扫描链的移位时钟输入。在这些实施例中,移位时钟使能电路可被配置在其一个或多个输出中选择性输出一移位时钟信号。移位时钟使能电路可进一步包括与控制器连接的输入,并基于控制器的控制信号的至少一部分选择性生成移位时钟信号。进一步地,移位时钟使能电路可包括个体移位时钟使能者电路以控制移位时钟使能电路每个各自的输出。集成电路可进一步包括一测试激励选择器,其含有输出被配置连接到由扫描单元组成的扫描链上。测试激励选择器被配置在其每个各自的输出选择性输出原始测试矢量值或一常量值。在某些实现中,集成电路中的控制器是可编程的,被配置加载来自一外部测试仪、或集成电路上的一存储单元、或集成电路上的一测试生成器其中之一的控制数据。控制器可包括一个或多个移位寄存器以用于加载和输出控制数据。进一步地,一个或多个移位寄存器可包括多个组成多级寄存器管道的移位寄存器。一个或多个映像寄存器可连接到一个或多个移位寄存器上。控制器可进一步包括一异或或同或网络并连接到至少一个该一个或多个移位寄存器上。更进一步,控制器可包括一偏置电路,其连接到异或或同或网络。偏置电路可被配置以偏置异或或同或网络的一个或多个输出,以使每个被偏置输出更可能生成各自的二进制值。
这里还公开了在测试期间对电路施加复位信号的实施例。在某些公开的实施例中,在一集成电路的扫描链上捕获对于一测试矢量(比如,由解压器解压的测试矢量)的一测试响应。在测试矢量的测试响应被捕获后,一复位信号被施加到一个或多个但不是所有的扫描链或扫描链段上。复位信号施加后,扫描链上的内容被卸载。被施加复位信号的一个或多个扫描链包括否则会捕获到未知值的一个或多个扫描链。复位信号的施加导致一个或多个但不是所有扫描链或是扫描链段捕获到的值成为一单一常量值(比如1或0)。控制哪些扫描链或扫描链段将被施加复位信号的控制信号可被接收。这些控制信号可供多个额外测试矢量的测试响应重新使用。更进一步,在测试矢量加载到扫描链时,针对下一个测试矢量的控制信号可被加载。
这里公开的另外一个实施例中,一个或多个计算机可读介质存储计算机可执行指令,该指令导致计算机执行一种方法。在某些实现中,该方法包括模拟一测试矢量被加载到被测电路并由此产生一模拟测试响应,从模拟测试响应中识别被测电路中一个或多个捕获未知状态的扫描链,生成控制信号以导致一复位使能电路生成复位信号给一个或多个被识别扫描链,并存储控制信号到一个或多个计算机可读介质上。
在这里公开的各种实施例中包括测试矢量生成方法。这些方法可通过,例如,一个或多个计算机可读介质存有计算机可执行指令以导致计算机执行一种方法的实施例来实现。在某些实施例中,原始测试激励源所要驱动的扫描链数量被决定。该数量通常少于电路设计中可用扫描链数量。从目标故障列表中选择一故障,并生成该故障的测试立方。该测试立方可包括一组指定扫描链中的指定比特位。测试立方中指定扫描链的数量是否小于原始测试激励源所要驱动的扫描链数量的决定被做出。如果测试立方中指定扫描链的数量不超过原始测试激励源所要驱动的扫描链数量,测试立方就被存储。在某些实现中,该故障是第一故障,如果测试立方中指定扫描链的数量超过原始测试激励源所要驱动的扫描链数量,该测试立方就被拒绝。于是选择、生成、决定和存储的行为就会对目标故障列表中第二故障重复进行。在某些实现中,该故障是第一故障,第二故障从目标故障列表中选出。第一故障的测试立方被扩展以包含用于探测第二故障的一个或多个额外的指定比特位。一个或多个额外的指定比特位是否导致扩展测试立方中指定扫描链数量超过原始测试激励源所要驱动的扫描链数量的决定被做出。如果扩展测试立方中指定扫描链数量没有超过原始测试激励源所要驱动的扫描链数量,扩展测试立方就被存储。如果扩展测试立方中指定扫描链数量超过原始测试激励源所要驱动的扫描链数量,扩展测试立方就被拒绝,于是选择、扩展、决定和存储的行为就会对目标故障列表中第三故障重复进行。在某些实现中,为了决定原始测试激励源所要驱动的扫描链数量,用于一测试激励选择器的控制器编码容量被确定。进一步地,原始测试激励源所要驱动的扫描链数量可基于一测试激励选择器所能独立控制的最大扫描链数量。在某些实现中,原始测试激励源是一解压器,其被配置解压一外部测试仪的压缩测试矢量。在一些实现中,基于测试立方可生成测试激励选择器的控制信号。在测试期间加载含有测试立方的测试矢量时,该控制信号有能力导致测试激励选择器施加常量值到未指定扫描链上。
在其它测试矢量生成方法范例中,可用于观测故障效应的扫描链数量被确定。该数量一般小于电路设计中可用扫描链数量。从目标故障列表中选择一故障,并生成该故障的测试立方。用于观测来自测试立方的故障效应的扫描链数量被确定。用于观测来自测试立方的故障效应的扫描链数量是否小于可用于观测故障效应的扫描链数量被评估。如果用于观测来自测试立方的故障效应的扫描链数量小于可用于观测故障效应的扫描链数量,测试立方就被存储。在某些实现中,该故障是第一故障,如果用于观察来自测试立方的故障效应的扫描链数量超过可用于观测故障效应的扫描链数量,测试立方就被拒绝。于是选择、生成、决定、评估和存储的行为就会对目标故障列表中第二故障重复进行。在另外一些实现中,目标故障列表中该故障是目标故障列表中的第一故障,第二故障从目标故障列表中选出。第一故障的测试立方被扩展以包含用于探测第二故障的一个或多个额外的指定比特位。一个或多个额外的指定比特位是否导致用于观测来自扩展测试立方的故障效应的扫描链数量超过可用于观测故障效应的扫描链数量的决定被做出。如果用于观测来自测试立方的故障效应的扫描链数量小于可用于观测故障效应的扫描链数量,扩展测试立方就被存储。如果用于观测来自测试立方的故障效应的扫描链数量超过可用于观测故障效应的扫描链数量,扩展测试立方就被拒绝。于是选择、扩展、决定和存储的行为就会对目标故障列表中第三故障重复进行。在某些实现中,为了决定可用于观测故障效应的扫描链数量,控制器编码容量被确定,控制器包括扫描使能电路控制器、时钟使能电路控制器、复位使能电路控制器或移位时钟使能电路控制器。用于观测来自测试立方的故障效应的扫描链数量可通过模拟施加测试立方到被测电路上来决定。在某些实现中,原始测试激励源是一解压器被配置解压一外部测试仪的压缩测试矢量。在一些实现中,基于测试立方可生成扫描使能电路的控制信号。在测试期间加载含有测试立方的测试矢量时,该控制信号有能力导致扫描使能电路抑制来自那些不观测来自测试立方故障效应的扫描链扫描使能信号。在另外一些实现中,基于测试立方可生成时钟使能电路的控制信号。在测试期间加载含有测试立方的测试矢量时,该控制信号有能力导致时钟使能电路抑制来自那些不观测来自测试立方故障效应的扫描链时钟信号。在更进一步的实现中,基于测试立方可生成复位使能电路的控制信号。在测试期间在捕获含有测试立方测试矢量的测试响应后,该控制信号有能力导致复位使能电路施加复位信号到那些不观测来自测试立方故障效应的扫描链上。在另外一些实现中,基于测试立方可生成移位时钟使能电路的控制信号。在测试期间在捕获含有测试立方测试矢量的测试响应后,该控制信号有能力导致移位时钟使能电路抑制来自那些不观测来自测试立方故障效应的扫描链移位时钟信号。在某些实现中,原始测试激励源所要驱动的扫描链数量也被确定。在这些实现中,原始测试激励源所要驱动的扫描链数量基于能够被一扫描使能电路、一时钟使能电路、一复位使能电路或一移位时钟使能电路所能独力控制的最大扫描链数量。
可在各种环境中执行任一本公开的实施例,包括一个模拟环境。进一步地,任一公开的方法可以通过一个或多个计算机可读介质存有计算机可执行指令以导致计算机执行一种方法的任一种来实现。计算机环境中实现的任一本公开方法可由一单独计算机或通过一网络来执行。进一步地,这里也公开了计算机可读介质,该介质用于存储测试矢量、测试矢量值、或由任一公开方法生成的控制数据(或任何其它中间或最终结果)。此外,任何公开的装置可由一个适当的电子设计自动化(“EDA”)软件工具生成并以设计数据方式存储到一个或多个计算机可读介质上。例如,任一公开的测试结构可以通过一个HDL文件(如Verilog、VHDL、或寄存器传输级文件)、一个门级网表或其它所谓EDA设计文件(例如,一个GDSII文件或Oasis文件)来描述或表现。
通过下面的具体描述和参考附图,前面提到的和本发明的其它目标、特征和优势将更加明显。
附图说明
图1是一个原理框图,显示可以使用本公开技术的实施例的一个测试环境范例。
图2(a)至2(d)是图表,显示在测试电路范例中含有指定比特位的扫描链数量的分布,指定比特位用于主要目标转换故障。
图3(a)至3(d)是图表,显示测试电路范例在动态压缩后,含有指定比特位扫描链的分布。
图4是图表,显示测试电路范例的两种不同测试生成方案其矢量数量增加的比较。其中一个方案使用限定数量的含有指定比特位的扫描链,另一方案则没有限制。
图5(a)至5(d)是图表,显示在测试电路范例中,观测额外检测到故障的扫描链数量。
图6是一个原理框图,显示一集成电路包括一可编程测试激励选择器的第一实施例。
图7是一个原理框图,显示一集成电路包括一可编程测试激励选择器的第二实施例。
图8是一个原理框图,显示可被运用到图6或图7中实施例的一选择器电路范例。
图9(a)至9(c)是一组原理框图,显示可被运用到图6或图7中实施例的一组选择器电路范例。
图10是一个原理框图,显示可被运用到图6或图7中实施例的一可编程控制器范例。
图11是一个原理框图,显示可被运用到图10中控制器的一移位寄存器文件范例。
图12是一个原理框图,显示用于图11中移位寄存器文件的一时钟电路范例。
图13是一个原理框图,显示可用于图10中控制器的一使用映像寄存器的移位寄存器文件范例。
图14(a)-14(b)是一组原理框图,显示可用于图10中控制器的一组偏置电路范例。
图15是一个原理框图,显示可用于图10中控制器的一重新可配置偏置电路范例。
图16是一个原理框图,显示可用于图10中控制器的另一重新可配置偏置电路范例。
图17是一个原理框图,显示一含有具有偏置电路的测试激励控制器的电路范例。
图18是一个原理框图,显示一集成电路包括一可编程扫描使能电路的第一实施例。
图19是一个原理框图,显示可用于图18集成电路中的一可编程扫描使能电路范例。
图20是一个原理框图,显示可用于图19中实施例的一扫描使能电路。
图21是一个原理框图,显示一集成电路包括一可编程扫描使能电路的第二实施例。该实施例进一步包括一可编程测试激励选择器。
图22是一个原理框图,显示含有一可编程扫描使能电路和一含有偏置电路的可编程测试激励选择器的电路范例。
图23是一个原理框图,显示一含有具有偏置电路的可编程扫描使能电路的电路范例。
图24是一个原理框图,显示一集成电路包括一可编程时钟使能电路的第一实施例。
图25是一个原理框图,显示了可用于图24集成电路中的一可编程时钟使能电路范例。
图26(a)至26(b)是一组原理框图,显示可用于图25中实施例的连接时钟使能电路输出和扫描链的配置范例。
图27是一个原理框图,显示可用于图25中实施例的一时钟使能电路范例。
图28(a)至28(b)是一组原理框图,显示可用于图25中实施例的一组时钟使能电路范例。
图29是一个原理框图,显示一含有可编程时钟使能电路和一可编程测试激励选择器的电路范例。
图30是一个原理框图,显示一含有可编程时钟使能电路和一含有一偏置电路的可编程测试激励选择器的电路范例。
图31是一个原理框图,显示一含有具有偏置电路的可编程时钟使能电路的电路范例。
图32是一个原理框图,显示一集成电路包括一可编程复位/移位时钟电路的第一实施例。
图33是一个原理框图,显示可用于图32集成电路中的一移位时钟使能电路范例。
图34是一个原理框图,显示可用于图32集成电路中的一复位时钟使能电路范例。
图35是一个原理框图,显示一含有一可编程时钟使能电路、一可编程测试激励选择器和一可编程移位/复位时钟使能电路的电路范例。
图36是一个原理框图,显示含有一可编程测试激励选择器的一电路范例;该选择器含有一偏置电路;该电路范例用于分析公开技术的实施例。
图37是一个原理框图,显示可用于执行或实现任一本公开实施例的第一分布式计算网络。
图38是一个原理框图,显示可用于执行或实现任一本公开实施例的第二分布式计算网络。
图39是一个流程图,显示使用一分布式计算机网络(例如图37和图38所示的网络)执行或实现任一本公开实施例的一方法范例。
图40是一个流程图,显示一方法范例,该方法选择性修改加载到一集成电路中扫描链上的测试矢量值。
图41是一个流程图,显示在测试期间捕获一测试响应时,选择性施加一扫描使能信号的一方法范例。
图42是一个流程图,显示在测试期间捕获一测试响应时,选择性抑制时钟信号的一方法范例。
图43是一个流程图,显示在测试期间捕获一测试响应后,选择性施加一复位信号到扫描链的一方法范例。
图44是一个流程图,显示一生成测试立方的测试矢量生成方法范例,这里,一测试激励源所要驱动的扫描链数量是受约束的。
图45是一个流程图,显示一生成测试立方的测试矢量生成方法范例,这里,在测试期间观测故障效应的扫描链数量是受约束的。
具体实施方式
一、总则
本公开的方法、装置和系统,不应以任何方式被解释为限定。相反,目前的公开是针对所有新颖的、非显而易见的特性和各种公开方法、装置、系统的各个方面,以及其等同的或是独立、或是相互之间的各种组合与子组合。目前的公开不局限于任何特定的方面或特性或其组合,公开的方法、装置、和系统也不需要任何一个或多个特定的优势被展示,或某个特定的问题被解决。
尽管本公开的一些方法、装置、和系统的操作以一种特定的、按次序的方式来描述以便于说明,应理解这种描述方式包含了各种组合,除非特定的语句指示特别的次序是必需的。例如,按次序描述的操作在某些情况可以重新安排或以并行方式执行。此外为了简便,附图可能没有显示公开的方法、装备、和系统可以和其它方法、装备、和系统之间的各种使用组合。加之,描述中有时使用词语如“评估”和“决定”来解释公开的方法。这些词语是对实际操作的高度概括。针对这些词语的实际操作可根据特定的实现而不同,并很容易被所属领域的技术人员理解。
公开的装置可以通过各种基于扫描或是部分扫描的电路来实现(例如,专用集成电路(“ASIC”)(包括混合信号ASIC)、片上系统(“SoC”)或可编程逻辑器件(“PLD”),如现场可编程门阵列(“FPGA”))。这些电路可被使用到各种设备中,从手提式电子产品(如手机、多媒体播放器及类似产品)到大规模设备(如计算机、控制系统、飞机,汽车、工业设备及类似产品)。所有这些产品,如果其电路含有一个或多个本公开测试装置的实施例,均被认为落入本公开的范围。
任一本公开的装置可被描述或表现为设计数据或设计信息并被存储于一个或多个计算机可读介质上。例如,任一公开的测试结构可被描述或表现在一个HDL文件(例如Verilog、VHDL、或寄存器传输级文件)、一个门级网表、或是其它EDA设计文件(例如,一个GDSH文件或Oasis文件)。这些设计数据或设计信息可通使用软件部分或全部创建,这些软件包括存储于计算机可读介质(例如,一个或多个CD、易失存储元件(如DRAM或SRAM)或非易失存储元件(如硬盘))的计算机可执行指令。任一公开的技术也可通过软件全部或部分实现,这些软件包含存储于计算机可读介质的计算机可执行指令。这些软件包括,例如,一个适当的电子设计自动化(“EDA”)软件工具(例如,一个自动测试矢量生成(“ATPG”)工具)。
这些软件可执行在单个计算机或一个联网的计算机上(例如,通过互联网、广域网、局域网、客户端-服务器网络、或其它类似网络)。为清楚起见,只有基于软件实现的某些选择在这里描述。此项技术中已知的其它细节被省略。例如,应了解本公开的技术并不局限于任何特定的计算机语言、程序或计算机。例如,本公开的技术可通过任何可用的商业计算机执行用任何可用的商业或其它适当的语言编写的程序来实现。或者,任一公开的方法可通过硬件(如ASIC、PLD、或SoC)来(部分或全部)实现。
任一本公开的方法生成的任何数据(例如,中间或最后测试矢量、测试矢量值或控制数据)可通过各种不同的数据结构或格式存储于计算机可读介质上(例如,可触摸计算机可读介质,比如一个或多个CD,易失存储元件(如DRAM或SRAM)或非易失存储元件(如硬盘))。这类数据可通过使用一个本地计算机或通过网络(例如,通过一个服务器)来创建、更新或存储。
任一本公开的方法也可在一个计算机模拟环境或其它EDA环境中执行(例如,在一个模拟环境中,测试矢量被模拟施加到电路模型中)。例如,可以使用可测电路以及关联测试硬件的电路设计信息模型(如网表、HDL文件(如Verilog或VHDL文件)、RTL文件、GDSII文件、Oasis文件或类似文件)来执行公开的方法,并存储到计算机可读介质上。然而为了便于展示,这里的公开有时使用被测电路(包括被测电路的各种元件)和关联测试硬件(包括硬件的各种元件)的参考其物理相对物(如扫描链、扫描单元、移位寄存器、映像寄存器以及其它类似词语)来描述。应了解,不论是在具体说明中还是在权利要求中,任何如此的参考不仅涵盖物理元件,也涵盖这些元件在模拟、自动测试矢量生成、或其它此类EDA环境中的表现形式。
如同在本公开中所使用的,除非上下文明确指出,单数形式的“一”、“一个”和“这个/该”包含了复数的形式。加之,“包含”与“包括”同义。此外,除非上下文明确指出,“连接”的意思是电气地或是电磁地相连或连接,并包括通供一个或多个不影响电路操作的媒介物进行直接相连或直接连接、或者间接相连或间接连接。
更进一步,如同在此所用,词语“测试激励源”是指一测试激励生成器,其直接或间接提供测试激励给扫描链和最初输入端。测试激励生成器可用不同形式来实现。这些形式包括,但不局限于,外部测试设备、加权或非加权伪随机矢量生成器(“PRPG”)、含有移相器和/或偏置电路的PRPG、解压器、产生一个常量逻辑值0的源、和可产生一个常量逻辑值1的源。
词语“解压器”是指一功能单元用以解压压缩的测试激励,如来自外部测试设备的确定性测试激励,以输送到芯片上的被测电路。一个解压器可以通过各种形式来实现。这些形式包括,但不局限于,广播电路、有选择广播电路、含有或不含有偏置电路的组合电路(包括,但不局限于,基于多路复用器MUX或是基于异或门XOR的组合电路)、含有或不含有移相器和/或偏置逻辑的反馈移位寄存器和/或含有追播(reseeding)的反馈移位寄存器。
词语“测试激励选择器”是指一功能单元,其选择至少一个测试激励源(如,从上述多类源中)以输送到扫描链的输入。
词语“可编程测试激励选择器”是指一功能单元,其可包括,比如,两个元件:一可编程控制器和一测试激励选择器。可编程控制器可以,比如,连接到外部测试设备或一内嵌测试生成器,并可配置以接收来自该外部测试设备或该内嵌测试生成器输出的控制数据。
词语“扫描链段”是指扫描链中一组连续相连的扫描单元。
词语“扫描使能者(scan enabler)”或“扫描使能电路”是指一功能单元,其在捕获窗口期间以移位模式或功能捕获模式(有时又称为“正常电路”模式)来配置扫描链。
词语“可编程扫描使能者”或“可编程扫描使能电路”是指一功能单元,其可包括,比如,两个元件:一可编程控制器和一扫描使能电路。可编程控制器可连接到外部测试设备或一内嵌测试生成器,并可配置以接收来自该外部测试设备或该内嵌测试生成器输出的控制数据。
词语“时钟使能者”或“时钟使能电路”是指一功能单元,其启动/制止一组状态单元在捕获窗口中捕获系统响应。
词语“可编程时钟使能者”或“可编程时钟使能电路”是指一功能单元,其可包括,比如,两个元件:一可编程控制器和一时钟使能电路。可编程控制器可连接到外部测试设备或一内嵌测试生成器,并可配置以接收来自该外部测试设备或该内嵌测试生成器输出的控制数据。
词语“移位时钟使能者”或“移位时钟使能电路”是指一功能单元,其在扫描移位期间启动/制止一组扫描链加载/卸载测试数据。
词语“复位使能者”或“复位使能电路”是指一功能单元,其启动/制止用以复位扫描链的扫描单元的复位时钟或复位信号。
词语“可编程复位/移位使能者”是指一功能单元,其可包括,比如,三个元件:一可编程控制器、一移位时钟使能电路和一个复位使能电路。可编程控制器可连接到外部测试设备或一内嵌测试生成器,并可配置以接收来自该外部测试设备或该内嵌测试生成器输出的控制数据。
请注意这些特定的词语使用不应被解释为限定,因为这些词语可能包含所属领域技术人员理解的、或是由上下文指示的额外特性。
二、低功耗测试概述
这里公开的技术与低功耗测试的方法和设备有关。该公开的技术有时在嵌入式确定性测试(“EDT”)环境中讨论,但是应了解这里说明的原理不局限于该环境。比如,这里说明的低功耗测试技术和装置可以和涉及到对含有指定比特位的测试立方(cube)进行编码的其它压缩方案或不使用压缩硬件的测试方案一起使用。
图1显示了一测试环境范例100,图中压缩测试激励112被输送到内嵌在被测电路110上的解压器118。该实施例展示了一个典型的EDT环境,即压缩测试激励由外部的自动测试设备(“ATE”)114提供给被测电路110。测试激励被解压并以测试矢量形式施加到扫描链120。扫描链的输出通过一压缩装置122被压缩,并以压缩测试响应124输送到ATE 114以作分析。可适用于本公开技术的EDT解压器118和EDT环境范例的例子在以下文献说明,比如,美国专利号6,327,687;6,353,842;6,557,129;6,684,358;6,874,109;以及美国专利申请公开号2003/0120988,所有这些作为引用在此纳入。
确定性测试矢量通常只有一小部分比特位被指定。剩下的位可以随机地填入0和1,或以其它方式填入,一般不会影响测试覆盖率。而且,大量的实验证据表明,指定比特位的位置普遍只界定于一些扫描链上。为了阐明这一现象,考虑使用EDT技术的四个工业设计中收集的数据。表1列出这些示范设计的参数。图2(a)-2(d)中图表200、202、204、206显示了在电路C1至C4中,针对所有主要目标转换故障,含有指定比特位的扫描链数量的分布情况。注意含有指定比特位的扫描链的数量是在动态压缩前计算的。可以看到,大多数测试立方在少于20%的扫描链中有指定比特位,没有测试立方在超过50%的扫描链中有指定比特位。
电路 | 扫描单元数量 | 扫描链数量 | 扫描通道数量 | 门数量 | 转换故障数量 |
C1 | 45.4K | 100 | 1 | 0.89M | 2.0M |
C2 | 156.1K | 128 | 8 | 2.4M | 6.0M |
C3 | 142.9K | 1200 | 24 | 2.5M | 6.1M |
C4 | 321.5K | 320 | 32 | 5.5M | 9.6M |
表1:所考虑电路的参数特性
在测试生成期间通常使用动态压缩以降低矢量数量。从对于一主要目标故障产生的测试立方开始,动态压缩通过赋予适当的值给未指定位,扩展该测试立方以覆盖更多的故障。其结果是,随着动态压缩过程的进行,含有指定比特位的扫描链数量逐步增加。在测试应用期间可以利用没有指定比特位的扫描链以减少反转次数,为了利用没有指定比特位的扫描链,人们期望最大化这种扫描链的数量,同时在动态压缩期间最小化对矢量数量的影响。为了分析在含有动态压缩的测试生成期间,矢量数量和含有指定比特位的扫描链数量之间的关系,人们可以限制含有指定比特位的扫描链数量。例如,根据一个实施例,只有在一测试立方含有少于指定数量(如20%)的含有指定比特位扫描链时,动态压缩才可执行;同时,在不含有指定比特位的扫描链中,扫描链总量的某个指定数量(如50%)可被随机选择,这些扫描链的扫描单元可用一常量值来填充。对剩下的未指定比特位,其逻辑值可由解压器来决定。
图3(a)-3(d)中图表300,302,303,304显示了在动态压缩后,电路C1至C4含有指定比特位的扫描链分布情况。可以看到,大多数测试立方在少于20%的扫描链中有指定比特位。而且,通过限定动态压缩只在含有指定比特位的扫描链数量处于较低(如20%)水平时进行,采用该范例技术对矢量数量的影响是适度的。比如,图4中图表400显示了与一个测试生成方案相比,电路C1至C4矢量数量增加的情况;被比较方案就扫描链是否含有指定比特位而言是没有限制的。图表400是使用一个常规的EDT环境(比如,如图1所示)作为实验平台。而且,采用这一新的测试生成技术并没有引起故障覆盖率损失的报告。
可充分利用上述观察,从测试数据解压器直接输送指定比特位给扫描链,同时使用常量值替换剩下扫描链中的“不在乎”比特位。如同以下段落所述,在移位扫入数据期间,这种方式可极大地减少转换(电路切换)的数量。
除了从测试激励角度来看切换动作可以降低外,还可以分析用于观测前次施加的测试矢量没有探测到之故障的故障效应的扫描链数量。图5(a)-5(d)中图表500,502,504,506显示了电路C1-C4中,观测额外检测到故障的扫描链数量分布情况。例子中施加的测试矢量在生成时,扫描链总量的50%由一解压器驱动,剩下的扫描链由常量0驱动。在故障模拟期间,例子中的所有扫描链均用作观测点。可以看出,大部分扫描链没有观测到额外探测到的故障。人们可以利用这个观察数据,在捕获阶段通过阻止捕获新数据/不同数据到扫描单元,降低扫描移位阶段和捕获阶段的切换动作。在任何可能的时候,减少未知值对测试响应压缩的影响也是所期望的。以下段落介绍达到一个或多个这些目标的范例技术。下面说明的技术更包括执行所说明技术的硬件结构范例。尽管只显示了有特定代表性的硬件结构实现方法,基于所说明原理的各种其它安排方法也是可能的(例如,使用其它逻辑或重新编排逻辑次序从而充分获得相同的功能)。所有这些不同的安排方法和它们的等同方式均可认为落入本公开的范围。
三、低功耗加载操作
扫描结构通常有一单独测试激励源。因此,下面公开的实施例只包含单一原始测试激励源。但是,所描述的低功耗技术可很容易地扩展到其它具有多个测试激励源的基于扫描的结构上。
A.可编程测试激励选择器的结构范例
为减少在扫描移位期间的切换动作,从而降低功率消耗,一个或多个可编程选择器逻辑上可以置放在一测试激励源和扫描链输入之间。图6的原理框图显示了一个通用版本,一可编程选择器650被置放在测试激励源610(包含一原始激励源、一与原始激励源连接的加权电路、一个逻辑0源和一个逻辑1源)和扫描链120a、120b、120N的扫描链输入122a、122b、122N之间。
示范的可编程选择器650可包括一个或多个测试激励选择器652和一个或多个可编程控制器660。单个的测试激励选择器可以,例如,和超过一个的扫描链输入相连。更进一步,可编程选择器650可由,例如,多个测试数据源驱动。比如在所显示的实施例中,四种测试数据可成为测试激励:被偏置电路偏置的原始测试激励、未被偏置电路偏置的原始测试激励、常量值0或常量值1。
使用可编程选择器650的一测试应用范例方法包括:加载测试激励的控制数据到可编程控制器;提供来自原始测试激励源的测试激励;移入测试激励至扫描链;在每个扫描移位周期,使用可编程控制器决定通过测试激励选择器的源;施加捕获时钟;和从扫描链上卸载测试响应。扫描移位期间产生的切换动作可通过以下方式来降低,即在扫描链加载期间,减少在连续扫描单元中发生的反转数量。执行一个或多个以下动作可达到数量减少的目的:加载一常量0或1至一组扫描链;加载常量0或1至一个或多个扫描链段;或在原始测试激励源驱动扫描链时,利用一加权电路增加连续扫描单元接收相同逻辑值的机率。
在一个实例中该可编程控制器提高了在扫描移位操作期间选择一测试激励源的灵活性,同时降低硬件开销和每个测试矢量额外的测试数据容量。
图40的流程图显示了一个方法范例,即通过使用,例如,一可编程测试激励选择器选择性修改测试矢量值。在4010,在m条路径上接收到用于测试一集成电路的原始测试矢量值。该原始测试矢量值可从,比如,一解压器处接收。在4012,m中至少n条路径上的测试矢量值被选择修改,其中n小于m,其目的是使n条路径上的测试矢量值成为至少两个相邻常量值。在4014,测试矢量值输出到m条扫描链输入路径。这些测试矢量值包含至少两个相邻常量值在m中n条扫描链输入路径上。在某些实现中,指示m条输入路径中哪些被修改的控制数据被接收。多个额外的测试矢量可重复使用该控制数据。输出的测试矢量值可包含用于检测集成电路中一个或多个故障的原始测试矢量所有指定比特位。更进一步,在某些实现中,这些测试矢量值可在4012处被修改以响应施加到逻辑门的控制信号,这些逻辑门被配置用于生成至少两个相邻常量值。
1.测试激励选择器范例
一测试激励选择器可包括一组具有相同或不同功能的选择器。图7的原理框图显示了可被用作图6中可编程测试激励选择器650的一可编程测试激励选择器750,其包括多个选择器,每个选择器连接一个或多个扫描链。比如,如图7所示,一选择器可驱动一单独给定的扫描链(例如,所示选择器754驱动扫描链120N)或可驱动由两个或更多扫描链组成的一组扫描链(例如,所示选择器752驱动扫描链120a,120b)。
图8的原理框图显示了一选择器范例,该选择器有两个或更多个输入和一个输出。所显示的选择器800可被用作,例如,图7中所示的选择器752,754的其中之一。该选择器的每个输入可由多个测试激励源810中任意一个被选中的测试激励源来驱动。在图8中,该测试激励源可包括任意数量的测试激励源,并在这里表述为测试激励源810a到测试激励源810N。在这个例子中选择器800的其它输入连接到可编程控制器860,并被用来控制测试源810a至810N中哪个被输出到选择器800的输出。根据可用的测试源种类,选择器的实现可以被优化以降低其面积开销。比如在图8中,选择器800用一多路复用器802来实现。
图9(a)至9(c)显示了其它可被用作测试激励选择器电路的选择器范例。特别地,图9(a)至9(c)显示了三个选择器900,902,904。选择器900连接到一原始激励源910并由可编程控制器920来控制,通过使用与门930和或门940输出来自原始激励源910的输出值、或一逻辑0或一逻辑1。选择器902连接到原始激励源910并由可编程控制器922来控制,通过使用或门942输出来自原始激励源910的输出值或一逻辑1。选择器904连接到原始激励源910并由可编程控制器924来控制,通过使用与门952输出来自原始激励源910的输出值或一逻辑0。
表2详细列出了使用图9(a)至9(c)实施例的编码方式,该编码用于选择加载到扫描链输入的数值。
表2:控制信号的编码
2.可编程控制器范例
图6所示的结构范例中,可编程控制器660可以从,例如,一外部测试仪、一内嵌测试生成器、或一内嵌ROM接收控制数据。一般而言,控制器660在每个扫描移入周期期间负责提供选择一测试激励源的信号。根据一个实施例,一可编程控制器被期望表现出两个属性:独立控制每个可用选择器电路;及以基于周期的方式选择一测试激励源。在另外的实施例中,该可编程控制器被配置以逐一扫描链段或逐一测试矢量方式来选择测试激励源。
图10的原理框图显示了可编程控制器660的一实现范例。所显示控制器1000包括一移位寄存器文件1010、一异或网络1020和一可选的配置电路1030。移位寄存器文件1010(代表两个或更多移位寄存器的安置方式)存储压缩的控制数据。压缩的控制数据可由,例如,一外部测试仪、一内嵌测试生成器或一内嵌ROM来提供。该数据由异或网络1020进行解压,并在驱动测试激励选择器之前通过偏置电路1030。
图11显示了移位寄存器文件1010的实现范例1100。所显示的移位寄存器文件1100包括N个移位寄存器(这个例子中,从1110a到1110N)并利用一名为Register_Shift_Clock的时钟信号1120将控制数据移至其每个状态单元(例如,移位寄存器的触发器)。尽管这里没有显示出,寄存器文件1100中的寄存器之间可以串联方式相互连接以便在响应移位时钟时,控制可序列移入寄存器文件。另一种方法是,寄存器文件中每个寄存器可通过其专用输入加载数据。在所显示的实施例中,每个寄存器文件均包含控制数据用以在扫描移位操作期间,为一扫描链段选择一不同测试激励源。
如图11显示,N个移位寄存器可组成N级寄存器管道。一管道时钟信号(Pipeline_Shift_Clock)1130由一管道移位时钟生成器1132生成。该实现方法容许在扫描移位操作期间动态更改测试矢量多至N次。在一些实现中,为每个扫描链的测试源在整个扫描移位操作期间是固定的。在这些实现中,只使用一个移位寄存器是可能的,因为没有必要包含一个管道移位时钟生成器。
图12显示了可用于图11中生成器1132的一个管道移位时钟生成器的实现范例1200,所示范例中电路1200包括连接到名为Shift_Clock的信号线1212的一计数器1210。计数器1210的一输出连接到时钟使能电路1230。时钟使能电路1230每k个周期输出一个1(或其它适用值)来移位管道寄存器文件。所显示的时钟门控逻辑1240的形式是一个无毛刺型设计,并包括一锁存器1242和一与门1244。Shift_Clock信号线1212可由一外部测试仪直接控制。对于这种情况,管道移位时钟生成器没有额外硬件开销。在一些情况下,Shift_Clock信号可以是Register_Shift_Clock信号。
如图13所示,为了减少测试施加时间,实现移位寄存器文件1300时可使用一映像寄存器文件1310。例如,在通过映像寄存器文件1310加载测试矢量ti-1到扫描链时,测试矢量ti的控制数据可并行移入移位寄存器文件1300。在加载测试矢量ti前,为了在一个时钟周期内把控制信号从移位寄存器文件1300移到映像寄存器文件1310,Update_Clcok信号1322(也称为Copy_Clock信号)可被激活。然后在加载测试矢量ti时,映像寄存器文件1310中的控制数据可用来选择测试激励源。
图13显示结构使用N个移位寄存器和N个映像寄存器以支持在扫描移位期间更改控制数据N次。为减少面积开销,图13中寄存器可用一单独移位寄存器和一单独映像寄存器来取代。
在这个例子中,为了在扫描移位期间更改控制数据N次,一个控制过程可被执行。下面描述一个适用的控制过程例子。为了这个例子,设定Si是被加载到第i个扫描段的扫描单元数量,这里i∈[1,N]并且等于扫描链长度。此外,设定扫描段S1是最接近扫描输出管脚的扫描段,SN是最接近扫描输入管脚的扫描段。最后,设定L是移位寄存器的长度。表3的伪代码详尽解释了示范控制过程。
1.加载用于移入扫描段S1的控制数据,并把它复制到映像寄存器。2.设定i=1.3.当i<N时,执行(a)移入用于扫描段Si的测试激励至扫描链,并移入用于扫描段i+1的控制数据至移位寄存器。如果Si大于L,在控制数据前加入(Si-L)个额外比特位以便最后一个控制比特位和Si中最后一个测试矢量比特位同时被移入。如果Si小于L,首先加载(L-Si)个控制比特位至移位寄存器,同时停止扫描移位操作(L-Si)个时钟周期;然后同时加载扫描链和控制数据。(b)停止扫描移位操作一个或多个时钟周期,并使用这些周期把控制数据从移位寄存器复制到映像寄存器。(c)i=i+1. |
表3:使用映像寄存器在结构中控制移位的伪代码范例
请注意,取决于实现方法,该过程的方法操作可单独执行,或以各种彼此的组合和子组合方式执行。
图10中示范控制器1000的异或网络1020可以设计成为一个N-输入,M-输出的线性映射电路,这里N是控制比特位数量,M是偏置电路输入数量。换句话说,该模块的每个输出可以通过如下方式获得:由一个b-项多项式指定某些控制比特位,这些比特位再进行异或操作。可对异或网络1020以获得高编码效率的方式进行配置(例如,已成功编码的预指定输出信号对控制比特位数量的比例接近100%)。而且,应理解异或网络可以用其它种类的逻辑门(例如,同或门或者其它类似线性逻辑门)来实现。
可利用一偏置电路(比如图10中偏置电路1030)来增加在异或网络1020的一个或多个各自的输出产生二进制0或1的机率。例如,假设偏置电路的每个输入基本上看到均分的零和一,由一个两输入与(或)门实现的偏置电路增加含有值0(1)的机率到75%,同时降低含有值1(0)的机率至25%。
图14(a)和14(b)分别显示了两个偏置电路实现的范例1400,1450。图14(a)中偏置电路1400被配置提供三个测试激励源。例如,使用所显示的偏置电路1400,选择一原始测试激励源1410、或选择常量值0或选择常量值1的机率分别是12.5%、37.5%和50%。图14(b)中偏置电路1450被配置提供两个测试激励源。例如,使用所显示的偏置电路1450,选择一原始测试激励源1410或选择常量值0的机率分别是25%和75%。解压器驱动的扫描链的比例,可通过图14(a)所示方法来修改,其中该方法在异或网络的输出上增加更多的与门输入。例如,3-输入与门的增加降低该比例至6.25%,同时得到常量值0的扫描链数量由此而增加。
应理解,根据所期望的选择各种测试激励源的机率,和通过使用不同的逻辑门组合,可以生成各种不同的偏置电路。这些变化可被所属领域的技术人员所理解,没有必要在这里详述。
当原始激励测试源是一解压器时,解压器驱动的扫描链具体数量可取决于可编程控制器的编码能力。因为编码过程等同于解决一组线性方程(例如,见美国专利号6,327,687),按平均数计算,设定异或网络1020的一个输出信号至一个预指定值需要一个控制比特位(例如,一个变量)。由此,对图14(a)中的偏置电路1400而言,为了用指定的比特位驱动相应的扫描链,一般需要解决三个方程式(一个方程式用于一个门控信号)。然而,如果一个扫描链包含单值的指定比特位,扫描链就可以用匹配的常值来驱动。对这种情况,使用少于三个方程式(例如,只有一个)来编码控制比特位通常是可能的。例如,如果需要的常值等于1,为异或网络1020使用代表驱动或门1422的门控信号并被设定为0的一个方程式是足够的(因为反相器1420变换0至1,从而导致或门1422只输出1)。如果指定比特位都是0,那么驱动或门1422的信号可设定为1。但这还没有强加一个常量0在扫描链上,因为与门1424必须也有一个0输入。然而,为了维持编码容量,人们可以选择不使用另外一个方程式。在这种状况下,两种方案成为可能:驱动与门1424的信号设置为0并且扫描链接收常量0,或者解压器用与指定0保持一致的测试数据输送给扫描链。
在扫入移位期间,为了增强偏置电路的能力以减少切换动作,偏置电路(比如图10所示偏置电路1030)可被设计为一个重复可配置器件。图15显示了一重复可配置偏置电路范例1500。该例子包括一组偏置电路1510a至1510N,每个偏置电路选择测试激励源的机率是不一样的。一可编程控制器1520用于选择1510a-1510N中的一个偏置电路。可以使用,比如,一外部测试仪、或一内嵌测试生成器或一内嵌ROM加载控制数据到可编程控制器1520。根据实现的方法,图15中重复可配置偏置电路1500可被用于两种模式:(1)在整个扫描移位期间,所选择的偏置电路1510a-1510N保持不变;(2)在扫描移位期间,为不同的扫描链段选择各种不同的偏置电路1510a-1510N。可编程控制器1520的结构可以和前面讨论的其它可编程控制器结构相同,并用于控制测试激励选择器652。
图16显示了另一种重复可配置偏置电路1600。在该实现中,选择原始测试激励或常值0的几率是50%,前提是加载到映像数据触发器1610(“DFF”)的控制数据等于1。另一方面,如果加载到映像数据触发器1610的控制数据设为0,那么选择原始测试激励源或常值0的几率分别是25%和75%。
B.含有可编程控制器之结构的低功耗测试生成
在自动测试矢量生成(“ATPG”)期间,测试生成过程可被调整以考虑一可编程控制器的存在(例如,考虑可编程控制器的面积限制)。图17是一个原理框图,显示了使用ATPG过程的一个结构范例1700。为了图17的例子,假设使用一解压器1710(例如,一个EDT解压器)来实现测试激励选择器。在所显示的实施例中有两种测试激励源:一个解压器1710和一个常量0。在该例子中,控制器1720生成常量0,控制器包括一与门偏置电路1730、一异或网络1740、一映像寄存器1750和一移位寄存器1760。在一个扫描加载操作期间,驱动扫描链的测试激励源类型可以保持不变。例如,以这样的方式设计异或网络1740:加载全是1的矢量到映像寄存器1750将导致解压器1710驱动所有扫描链。
下面的伪代码详细解释了为图17所示结构生成测试矢量的一个过程范例。请注意,该过程可以很容易地扩展到其它使用其它解压硬件和/或其它可编程测试选择器的结构上。
过程范例:含有测试激励选择器的测试生成 |
1.识别测试激励选择器的硬件局限。(图17所示硬件范例可以选择高至75%的扫描链来被常值0驱动) |
2.设定测试组T为空。 |
3.设定解压器驱动的最大扫描链数量为N。(对图17所示硬件,N不应超过扫描链总数的25%) |
4.当目标故障列表F不为空时,执行:: |
a.设定测试立方C为一个全是X的矢量。 |
b.从F中选择一个故障f并从F中去除f。 |
c.为f生成测试立方Cf。 |
d.如果f不可测试,回到步骤4并继续。 |
e.合并Cf到C并设定S为C中指定扫描链的数量。 |
f.标记F中每个故障为未尝试的。 |
g.当F中还有未尝试的故障,并且S不大于N,执行: |
i.从F中选择一个未尝试的故障g并标记其为已尝试的。 |
ii.赋C给Cg。 |
iii.通过在Cg中指定额外的x比特位来扩展Cg以检测g。 |
iv.如果通过扩展Cg不能检测到故障g,或者Cg中指定的扫描链数量大于S,回到步骤4(g)并继续。 |
v.从F中去除g。 |
vi.赋Cg给C并设定S为C中指定扫描链的数量。 |
h.生成加载到可编程控制器的控制数据,以便为含有指定比特位的扫描链,其相应的门控信号设定为1;为剩下的扫描链,其相应的门控信号进行设定以便这些扫描链被常量0驱动。 |
i.根据控制数据赋给C中未指定比特位的测试源来填充这些比特位以生成一个新的测试矢量t。 |
j.故障模拟t并且从F中去除检测到的故障。 |
k.把t加到测试组T。 |
5.返回生成的测试组T。 |
表4:使用图17测试激励选择器的生成测试矢量的伪代码范例
请注意,取决于实现方法,该过程范例的方法操作可以单独方式执行,或以不同的彼此组合或子组合方式执行。
表4详细描述的过程范例中包括一个额外检查的步骤(例如,在操作4(g)(v)前)来核实用于测试选择器1740的控制数据是否可被生成,以便所有含指定比特位的扫描链可以由解压器来驱动。如果不能为测试立方Cg生成控制数据,控制数据可被丢弃,原来的测试立方可保持不变。此外,如果一个扫描链中只有所指定的比特位是0,那么,在该例子中,没有必要把该链计入S。
图44是一个流程图,显示了基于公开技术的测试矢量生成的另外一个范例。在4410,由一原始测试激励源所要驱动的扫描链数量被决定。该数量一般小于一电路设计中可用的扫描链数量。在某些实现中,原始测试激励源是一解压器,被配置解压一来自外部测试仪的压缩的测试矢量。在一些实现中,用于测试激励选择器的控制器的编码容量用于决定一原始测试激励源所要驱动的扫描链数量。例如,原始测试激励源所要驱动的扫描链数量可以基于一测试激励选择器所能独立控制的扫描链最大数量。在4412,一故障从一目标故障列表中选出。在4414,为该故障的一测试立方被生成。该测试立方包括一组指定扫描链中的指定比特位。在4416,测试立方中指定扫描链的数量是否小于原始测试激励源所要驱动的扫描链数量的决定被做出。如果测试立方中指定扫描链的数量不超过原始测试激励源所要驱动的扫描链数量,测试立方就被存储,并且在4418一额外故障被从故障列表中选出。否则,在4424,测试立方被拒绝,如果故障列表中还有其它故障(在4432中决定),该方法自目标故障列表中的下一故障继续下去。在4420,为第一故障的测试立方被扩展包含用于探测第二故障的一个或多个额外指定比特位。在4422,一个或多个额外的指定比特位是否导致扩展测试立方中指定扫描链的数量超过了原始测试激励源所要驱动的扫描链数量的决定被做出。如果扩展测试立方中指定扫描链的数量没有超过原始测试激励源所要驱动的扫描链数量,扩展测试立方就被存储,并且如果还有额外的故障(在4428中决定),这个选择额外故障和扩展测试立方以包括额外故障的过程就被重复。如果扩展测试立方中指定扫描链的数量超过了原始测试激励源所要驱动的扫描链数量,在4426,扩展测试立方就被拒绝,并且如果目标故障列表中还有额外故障,关于下一个故障的选择、扩展、决定和存储的行为就被重复。在一些实现中,基于已存储测试立方可为测试激励选择器生成控制信号。在测试期间加载含有测试立方的测试矢量时,该控制信号有能力导致测试激励选择器施加常量值到未指定扫描链上。
C.控制数据量降低
当生成测试矢量时,有可能让不同的测试矢量共享相同的控制数据,以便为多个测试矢量只加载一次控制数据到可编程控制器中。在这种例子中,例如,只有唯一的控制数据可被存储到外部测试仪中。为了最大化不同测试矢量共享控制数据,表4中所述操作4(h)可被增强以给那些满足当前要求并用于多个测试矢量的控制数据以优先权。
选择来自常量测试激励源并加载到扫描链的不同常量逻辑值在捕获阶段可对切换动作有不同的影响。首选的填充方式(在美国专利申请公开号2007/0250749中描述的实施例,这里加以引用并入)可以和本公开的技术实施例一起使用。这些方式使用信号概率在测试矢量生成期间帮助决定在捕获阶段期间减少切换行为的填充值。这些策略可与本公开技术一起使用,例如,以这样的方式选择常量测试激励源:任何时候当含有首选值0的扫描单元数量大于或等于含有首选值1的扫描单元数量时,常量0被选中。注意“扫描单元数量”这里是针对:所有含有相同测试源的扫描链、或一组共享相同测试源的扫描链,或一单独被其本身测试源驱动的扫描链。
四、低功耗捕获和具有扫描使能者的扫描移位操作
在测试中的扫描移位阶段,通过把常量逻辑值移入一组扫描链可减少切换动作。在扫描移位期间切换动作也取决于在测试期间捕获的测试响应值和新测试矢量移入时移出的测试响应值。
在捕获窗口期间,如果载有常值的扫描链在扫描移位模式时被保持,那么扫入移位功率和扫出移位功率均可降低。这是因为:在扫描移位模式时被保持的扫描单元的捕获值将和载入值相同。因此,在捕获窗口期间和在卸载测试响应期间,这些值不产生造成后端门电路反转的转换。即使扫描链没有被设计成在扫描模式被启动时高速运行,在捕获窗口期间运行于移位模式的扫描单元的逻辑值在此时间段通常也不会成为未知,因为扫描单元的数据输入值是不会改变的。
A.可编程扫描使能者的结构范例
图18显示了一测试结构范例1800含有一可编程扫描使能者。特别地,图18显示了一可编程扫描使能者1810插入于Global Scan Enable信号线1812和扫描链的扫描使能输入1814之间。扫描使能者1810可包括(或由)两个元件(组成):一扫描使能电路1820和一可编程控制器1830。
一个使用可编程扫描使能者1810的测试应用过程包括:为测试矢量t加载控制信号至可编程测试激励选择器和可编程扫描使能者;强制(assert)Global Scan Enable信号以切换电路至一移位模式;移位测试激励t至扫描链;取消(de-assert)Global Scan Enable信号以切换电路至一捕获模式;选择性强制一扫描使能信号至一个或多个被选择的扫描链;施加捕获信号;和强制Global Scan Enable信号以切换电路至移位模式并从扫描链上卸载测试响应。
图41是一个流程图,显示了在测试期间施加扫描使能信号至一电路的一个实施例。在4110,当加载来自一解压器的一解压测试矢量到扫描链时,一扫描使能信号被施加到一被测电路的扫描链。该扫描使能信号导致扫描链以一个或多个移位寄存器的形式操作。在4412,在从剩下的、没有施加扫描使能信号的扫描链上捕获解压扫描矢量所激活的测试响应时,将扫描使能信号施加到一个或多个扫描链。在一些实现中,被施加扫描使能信号的一个或多个扫描链包括否则会捕获到未知值的一个或多个扫描链。在解压测试矢量的测试响应被捕获时,控制哪些扫描链将被施加扫描使能信号的控制信号被接收。在多个额外解压测试矢量加载到扫描链时,这些控制信号可被再使用。更进一步,在加载测试矢量到扫描链时,用于下一个测试矢量的控制信号可被加载。
B.扫描使能电路范例
图18中扫描使能电路1820可用各种方法实现。图19显示了扫描使能电路1900的一个范例。特别地,扫描使能电路1900包括多个扫描使能者(图19中,其中两个标注为1910和1912)。如图19所示,一个扫描使能者可驱动一个单独扫描链的扫描使能输入(如扫描使能者1912)或两个或更多扫描链的扫描使能输入(如扫描使能者1910)。扫描使能者的功能是以这样的方式处理Global Scan Enable信号:当该信号被取消时,扫描使能者输出到一个或多个扫描链的独自扫描使能信号由可编程控制器1930控制。扫描使能者(如1910)的一个形式的实现范例如图20中的扫描使能者2000。
C.扫描使能可编程控制器
扫描使能可编程控制器(例如,图18中的可编程控制器1830)的结构可与此前描述的选择测试激励源的控制器相同。除了一个可编程扫描使能控制器外,为测试激励选择使用一独立的可编程控制器,可为一组载有一常量值的扫描链灵活控制扫描使能信号。然而,既为测试激励选择使用一可编程控制器,也使用可编程扫描使能控制器会增加测试数据容量,并增加额外面积开销。所以,在某些实现中,可编程测试激励选择器和可编程扫描使能者共享一个可编程控制器。
图21显示了含有一个共享控制器的一结构范例。特别地,图21显示了在结构2100中,一共享控制器2110用于控制测试激励选择器2120和扫描使能电路2130。此前介绍的任一控制器设计可用于实现控制器2110。
一个含有可编程扫描使能者的基于扫描的结构,其测试生成过程可与前述测试生成过程类似。为了说明的目的,一个测试生成过程的范例将用于描述图22所示的扫描结构。在相关部分,图22中结构范例2200包含用于控制一测试激励选择器2222和一扫描使能者2224的单一可编程控制器2210。这里描述的过程范例可被扩展至含有一可编程测试激励选择器和一可编程扫描使能者的其它扫描结构上。
图22中显示了两种测试激励源:解压器2220和常值0源(用测试激励选择器2222中的与门实现)。在该例子中,在扫描加载过程期间输送至扫描链的测试激励种类保持不变。而且,如所示实施例,当常值0驱动一扫描链时,扫描链的Scan Enable信号被强制。Scan Enable信号不仅可在测试扫描移位阶段被施加,也可在捕获阶段被施加,以便扫描链保持载入的常值0。异或(XOR)网络2230可以用这样的方式来设计,当控制映像寄存器2240被载入全是1的矢量时,所有扫描链由解压器2220驱动。
表5的伪代码描述了使用包含一个测试激励选择器和一个扫描使能者的测试结构生成测试矢量的一个过程。
过程范例:含有测试激励选择器和扫描使能者的测试生成 |
1.识别可编程测试激励选择器和可编程扫描使能者的硬件局限。(图22中所示硬件范例可选择高至75%的扫描链被常值0驱动并在捕获期间保持扫描移位模式。) |
2.设定测试组T为空。 |
3.设定解压器驱动的最大扫描链数量为N。(对图22所示硬件,N不应超过扫描链总数的25%)。 |
4.当目标故障列表F不为空时,执行: |
a.设定测试立方C至一个全是X的矢量。 |
b.从F中选择一个故障f并从F中去除f。 |
c.为f生成测试立方Cf。 |
d.如果f不可测试,回到步骤4并继续。 |
e.合并Cf到C并设定S为C中含有指定比特位和/或用于观测f故障效应的扫描链的数量。 |
f.标记F中每个故障为未尝试的。 |
g.当F中还有未尝试的故障,并且S不大于N,执行: |
i.从F中选择一个未尝试的故障g并标记其为已尝试的。 |
ii.赋C给Cg。 |
iii.通过在Cg中指定额外的x比特位来扩展Cg以检测g。 |
iv.如果通过扩展Cg不能检测到故障g,回到步骤4(g)并继续。 |
v.如果Cg中含有指定比特位并/或用于观测g故障和C所针对及探测到所有故障之故障效应的扫描链数量大于S,回到步骤4(g)并继续。 |
vi.从F中去除g。 |
h.生成加载到可编程控制器的控制数据以便:对含有指定比特位并/或用于观测C所针对及探测到之故障的故障效应的扫描链,其相应的门控信号设定为1;对剩下的扫描链,其相应的门控信号进行设定以便这些扫描链被常量0驱动,并且在捕获期间保持移位模式。 |
i.根据控制数据赋给C中未指定比特位的测试源来填充这些比特位以生成一个新的测试矢量t。 |
j.故障模拟t并且从F中去除检测到的故障。 |
k.把t加到测试组T。 |
5.返回生成的测试组T。 |
表5:利用图22中测试激励选择器和扫描使能电路生成测试矢量的伪代
码范例
请注意,取决于实现方法,该过程范例的方法操作可以单独方式执行,或以不同的彼此组合或子组合方式执行。
表5详细描述的过程范例中包括一个步骤(例如,在操作4(g)(vi)前)来核实用于测试选择器的控制数据是否可被生成,以便所有含指定比特位的扫描链可以由解压器来驱动。如果不能为测试立方Cg生成控制数据,控制数据可被丢弃,原来的测试立方可保持不变。此外,如果一个扫描链中只有所指定的比特位是0,并且不用作观测任何故障效应,那么,在该例子中,没有必要把该链计入S。
此外,尽管表5列出的过程关心在含有测试激励选择器和扫描使能电路的结构中生成控制信号,对只含有扫描使能电路的结构这个过程可被修改。例如,变量S可被设定为只用于观测故障效应的扫描链数量,并且在4(g)(v)做出的评估可基于在扩展测试立方中用于观测故障的比特位数量。
图45是一个流程图,显示了含有一个扫描使能电路的结构生成测试矢量的过程范例。在4510,可用于观测故障效应的扫描链数量被决定,该数量一般小于电路设计中可用的扫描链数量。在某些实现中,一扫描使能电路的控制器的编码容量被用于决定可用于观测故障效应的扫描链数量。(当该测试矢量生成过程和下面描述的某些实施例一起使用时,可用于观测故障效应的扫描链数量可决定于:一时钟使能电路控制器的编码容量、一复位使能电路控制器的编码容量或一移位时钟使能电路控制器的编码容量。)在4512,一故障从一目标故障列表中选出。在4514,为该故障的一测试立方被生成,用于观测来自测试立方故障效应的扫描链数量被决定(例如,使用故障模拟)。在4516,用于观测来自测试立方的故障效应的扫描链数量是否小于可用于观测故障效应的扫描链数量的评估被做出。如果用于观测来自测试立方的故障效应的扫描链数量小于可用于观测故障效应的扫描链数量,测试立方就被存储,并且在4518一个额外故障被从故障列表中选出。如果用于观测来自测试立方的故障效应的扫描链数量超过了可用于观测故障效应的扫描链数量,那么在4524测试立方被拒绝,并且如果故障列表中还有额外故障(在4532决定),该过程就被重复。在4518,为第一故障的测试立方被扩展包含用于探测第二故障的一个或多个额外指定比特位。在4522,一个或多个额外的指定比特位是否导致用于观测来自扩展测试立方的故障效应的扫描链数量超过了可用于观测故障效应的扫描链数量的决定被做出。如果用于观测来自测试立方的故障效应的扫描链数量小于可用于观测故障效应的扫描链数量,扩展测试立方就被存储,并且如果故障列表中还有额外故障(在4528决定),选择额外的故障并扩展测试立方(如果可能)的过程就被重复。如果用于观测来自测试立方的故障效应的扫描链数量超过了可用于观测故障效应的扫描链数量,在4526被扩展的测试立方被拒绝,并且如果故障列表中还有额外故障(在4528决定),选择额外的故障并扩展扫描立方(如果可能)的过程就被重复。基于测试立方可为扫描使能电路生成控制信号。在测试过程期间当含有测试立方的测试矢量被施加时,该控制信号有能力导致扫描使能电路抑制来自那些不观测来自测试立方故障效应的扫描链的扫描使能信号。
如表5所示,测试矢量生成方法实施例也可用于那些包含一扫描使能电路和一可编程测试激励源的结构中。在这些例子中,一测试立方或扩展测试立方是否可被接受的决定也涉及决定测试立方中指定扫描链的数量是否小于原始测试激励源所要驱动的扫描链数量。原始测试激励源所要驱动的扫描链数量可基于,例如,一扫描使能电路所能独立控制的最大扫描链数量。
D.未知状态抑制
未知状态(有时称作“X状态”)可潜在导致无用的测试。X状态源包括没有初始化的存储单元、总线竞争、非扫描触发器、悬浮总线、内部三态逻辑和生成高速测试时的多周期与假路径。在许多基于扫描的设计中,X状态一旦被捕获进扫描单元,随后就会被插入到测试响应压缩器中。在测试响应压缩器里,X状态可严重影响测试结果。如果使用了一个时序压缩器,由X状态造成的潜在测试响应损坏尤其严重。例如,在时序压缩器里,由于反馈扇出、损坏信号、并滞留在压缩器里直到信号被读出,一个X状态可以迅速成倍增加。相比之下,组合压缩器(即空间压缩器的一种形式)相对地不受X状态的影响。然而,为了避免掩码和允许诊断,这种压缩器有时不得不观测每个扫描链的两个或以上输出。经过一些扫描移位周期后,有限存储压缩器从其寄存器中清除X状态。
尽管一个压缩器被设计成容忍一预指定数量的X状态,其对X状态的弱点仍然可造成无用的测试响应。因此,期望通过一个扫描链选择机制来限制进入压缩器的X状态。否则,ATPG工具没有消除的某些X状态组合可影响某些扫描单元的观测能力,并导致整体的故障覆盖率下降。
有些方案允许有选择的观察使用电路的扫描链,这些电路用于掩饰被选择卸载值以便X状态不达到压缩器。提供扫描链选择逻辑和为了生成合适的掩码信号而进行扫描链排位的一些方法在下面的公开出版物中均有描述:美国专利申请公开号2007/0234157、2007/0234163、2007/0234169,以及G.Mrugalski等人的“测试响应压缩器与可编程选择器”,会议记录,设计自动化大会,1089-1094页(2006)(“G.Mrugalski等人″),所有这些均在这里作以参考形式纳入。这些方法范例帮组寻找可随后用于抑制X状态的扫描链选择控制数据。简单地说,在美国专利申请公开号2007/0234157、2007/0234163、2007/0234169,以及G.Mrugalski等人文献中描述的某些实施例中,使用由扫描链驱动的逻辑门来掩饰X状态,和由基于压缩控制数据的可编程控制器来生成适当的门控信号。其结果是,公开的方法显著地减少或完全消除了测试响应中发生的X状态。
为了进行有效的扫描链选择,本公开的技术实施例可与美国专利申请公开出版物号2007/0234157、2007/0234163、2007/0234169,以及G.Mrugalski等人文献中描述的技术一起使用。然而,当使用本公开技术的实施例时,在扫描链输出使用专用的门控信号没有必要,因为其功能可被扫描使能电路替代,该扫描使能电路被配置在捕获期间保持被选择的扫描链处于扫描移位模式。图23中结构范例2300显示了这个功能的一个例子。在整个测试周期里,可编程扫描使能者2310可用于保持120a-120N中的任一个扫描链处于移位模式,而不是门控载有X状态的扫描链。这个技术本质上阻止扫描链120a-120n捕获X状态并加载到压缩器2320。
图23显示的的例子中,大约75%的扫描链在一个给定扫描矢量的应用期间可保持在扫描移位模式,并且不捕获来自电路组合逻辑部分的任何测试响应。其余的25%扫描链可以捕获测试响应值,这些值包括指示一个目标故障是否存在的值。图23所示方法与图22所描述的解决方案可以很容易地集成起来。其结果是,用于处理并行功耗的同一控制电路可被用来处理未知状态的存在。
为扫描使能电路生成控制数据以阻止X状态被捕获的技术范例包括:模拟一测试矢量被施加到一被测电路以产生一模拟测试相应;识别被测电路中一个或多个从模拟测试响应中捕获未知状态的扫描链;生成控制信号,该控制信号可导致扫描使能电路在捕获窗口期间,抑制一个或多个被识别的扫描链的扫描使能信号。生成的控制信号可存储于一个或多个计算机可读介质上,并随后在测试应用期间加载到扫描使能电路的可编程控制器中。
五、低功耗捕获与具有时钟使能者的扫描移位操作
在测试生成期间,不观测故障效应的某些扫描链可被确定(例如,模拟施加扫描矢量到被测电路上)。在捕获窗口期间捕获新值到这些扫描链上会产生不期望的切换动作。为了减少捕获窗口中的切换,这些扫描链各自的时钟(例如,各自的时钟树)可被取消以便降低捕获窗口中的切换动作。相对的时钟可以是分布到一个扫描链上每个扫描单元的专用时钟,也可以是通过一个提供移位信号(例如,在第一个频率)和捕获信号(例如,在第二个频率)的单独时钟树分布的一个单独的时钟,后者的移位信号和捕获信号可由连接到时钟树的一个时钟生成器产生。
A.可编程时钟使能者的结构范例
图24是一个原理框图,显示了利用一可编程时钟使能者2410的一个基于扫描的结构范例2400。特别地,可编程时钟使能者2410被插入在时钟(例如,一个捕获时钟)和一个驱动扫描链120a-120N的时钟树之间。如图24所示,可编程时钟使能者2410可包括(或由)两个元件(组成):一个时钟使能电路2420和一个可编程控制器2430。
一个使用结构2400的测试应用过程范例包括:加载测试矢量t的控制数据至可编程控制器2430;在扫描移位开始前强制Global_Clock_Enable信号2440;移入测试激励t至扫描链;在扫描移位操作结束时取消Global_Clock_Enable信号2440;施加捕获信号到被选择的扫描链上;在从扫描链上卸载测试响应前强制Global_Clock_Enable信号2440。
图42是一个流程图,显示了在测试期间施加和抑制时钟信号的一个方法范例。在4210,在来自一解压器的一个解压测试矢量被加载到被测电路的扫描链上时,一时钟信号被施加到被测电路的扫描链上。在4212,在一个捕获窗口期间,当一解压测试矢量的测试响应被捕获时,一个或多个但不是所有的扫描链或扫描链段的时钟信号被抑制。时钟信号的抑制导致一个或多个但不是所有的扫描链或扫描链段在捕获窗口期间保持一个常量状态。一个或多个但不是所有的扫描链或扫描链段可包括否则会捕获未知值的一个或多个但不是所有的扫描链或扫描链段。此外,用于控制哪些扫描链或扫描链段在捕获窗口期间其时钟信号将被抑制的控制信号被接收。在更多额外的解压测试矢量的测试响应被捕获时,这些控制信号可被重新使用。
B.时钟使能电路范例
时钟使能电路2410可由各种方式实现。图24显示了时钟使能电路2510的一个实现方式。特别地,时钟使能电路2510可包括(或由)多个时钟使能者(组成)(图25中其中两个编号为2520,2522)。图25所显示的例子中,一个时钟使能者驱动一个单独扫描链的时钟树(如时钟使能者2522),或一组两个或更多的扫描链(如时钟使能者2520)。特别地,图25中,时钟使能者2520驱动扫描链120a、120b,时钟使能者2522驱动扫描链120N。
图26(a)和26(b)显示了两种可选的时钟使能者配置范例。图26(a)中,时钟使能者2610,2612驱动相同扫描链2620的不同段。图26(b)中,同一时钟使能者2650驱动不同扫描链2660,2662的多个段。注意在这些例子中,一个扫描链的扫描链段没有必要是连续相连的。一个扫描链的扫描链段可包含任意两个或以上的扫描单元。
参见图24,在某些实施例中,时钟使能者2410可控制每个状态单元的时钟以便在Global_Clock_Enable信号2440被强制时原始的时钟被施加。在捕获模式,当Global_Clock_Enable被取消时,触发扫描链中扫描单元的时钟2450可使用来自可编程控制器2430的控制数据加以门控。
图27显示了一个没有毛刺(glitch)的时钟使能者实现范例2700。当不关心毛刺时,图27中锁存器2710可被移除,并且或门2720的输出可直接连接到与门2730的输入上。
为了减少面积开销,如果适用,一个时钟使能电路(例如,时钟使能电路2420)可与已存在的时钟门控逻辑共享。图28(a)显示了原始时钟门控逻辑2800的一个例子。特别地,在图28(a)中,Scan_Enable信号2810是一个全局时钟使能信号。例如,当Scan_Enable信号是1,设计中所有时钟门(例如,门2830)通过忽略来自功能控制器的信号2820被使能。
图28(b)显示了对现有时钟门控逻辑2800的一个修改范例2850。在图28(b)的具体修改中,与门2852插入在或门2860和来自功能可控制器的信号路径2870之间。当Scan_Enable信号2880为0时,在该例子中,来自可编程时钟使能者2890的信号使能/取消功能时钟控制信号2870。
用于可编程时钟使能者的控制器2430可用前述的任一控制器设计来实现。此外,当在捕获窗口期间被禁用的一组扫描链在所有捕获周期均相同时,可只用一个移位寄存器来实现控制器。为了容许在捕获窗口期间被禁用的一组扫描链能够在不同的捕获周期动态地改变,一个包括两个或更多管道移位寄存器的移位寄存器文件(如图11中的移位寄存器文件)可被使用。
C.扫描移位和捕获的切换动作消减
为减少在扫描移位和捕获期间的切换动作,可编程时钟使能者实施例可与前述的可编程测试激励选择器实施例一起使用。图29显示了含有可编程时钟使能者和可编程测试激励选择器的扫描结构范例2900。当载有常量测试激励的扫描链被禁止以捕获新数据,以便在从这些扫描链上卸载测试响应期间没有转换时,可观测到最高效率的切换动作消减。
为了降低面积开销,可编程时钟使能者和可编程测试激励选择器可共享可编程控制器。图30显示了共享可编程控制器的一个实现3000。
D.测试矢量生成
含有可编程时钟使能者的基于扫描的结构,其测试矢量生成过程类似于前述的测试矢量生成过程。例如,假设图30显示了该扫描结构。在图30中有两种类型的测试源:一解压器3010和一生成常值0的源(由可编程控制器3030和门3020结合产生)。该例子中在扫描移位期间载入扫描链的测试激励类型不变。对所显示的结构,当一个扫描链被0驱动时,驱动扫描链的时钟在捕获期间被取消。在该例子中,以这样的方式设计异或网络3040:当在映像寄存器3050的控制数据被载入全是1的矢量时,解压器3010驱动所有的扫描链。
表6的伪代码描述了使用包含一个测试激励选择器和一个时钟使能者的测试结构生成测试矢量的一个过程。
过程范例:含有测试激励选择器和时钟使能者的测试生成 |
1.识别可编程测试激励选择器和可编程时钟使能者的硬件局限。(图30中所示硬件范例可选择高至75%的扫描链被常值0驱动并在捕获期间取消它们的时钟。 |
2.设定测试组T为空。 |
3.设定解压器驱动的最大扫描链数量为N。(对图30所示硬件,N不应超过扫描链总数的25%。) |
4.当目标故障列表F不为空时,执行: |
a.设定测试立方C至一个全是X的矢量。 |
b.从F中选择一个故障f并从F中去除f。 |
c.为f生成测试立方Cf。 |
d.如果f不可测试,回到步骤4并继续。 |
e.合并Cf到C并设定S为C中在所有捕获时钟周期含有指定比特位和/或用于观测f故障效应的扫描链的数量。 |
f.标记F中每个故障为未尝试的。 |
g.当F中还有未尝试的故障,并且S不大于N,执行: |
i.从F中选择一个未尝试的故障g并标记其为已尝试的。 |
ii.赋C给Cg。 |
iii.通过在Cg中指定额外的x比特位来扩展Cg以检测g。 |
iv.如果通过扩展Cg不能检测到故障g,回到步骤4(g)并继续。 |
v.如果Cg中在所有捕获时钟周期含有指定比特位并/或用于观测g故障和C所针对及探测到所有故障之故障效应的扫描链数量大于S,回到步骤4(g)并继续。 |
vi.从F中去除g。 |
h.生成加载到可编程控制器的控制数据以便:对在所有捕获时钟周期含有指定比特位并/或用于观测C所针对及探测到之故障的故障效应的扫描链,其相应的门控信号设定为1;对剩下的扫描链,其相应的门控信号进行设定以便这些扫描链被常量0驱动,并且在捕获期间它们的时钟被取消。 |
i.根据控制数据赋给C中未指定比特位的测试源来填充这些比特位以生成一个新的测试矢量t。 |
j.故障模拟t并且从F中去除检测到的故障。 |
k.把t加到测试组T。 |
5.返回生成的测试组T。 |
表6:利用图30中测试激励选择器和时钟使能电路生成测试矢量的伪代
码范例
请注意,取决于实现方法,该过程范例的方法操作可以单独方式执行,或以不同的彼此组合或子组合方式执行。
表6详细描述的过程范例中在操作4(g)(vi)前使用了一个额外的检查步骤来核实为可编程控制器的控制数据是否可被生成,以便含指定比特位的扫描链可以由解压器来驱动。如果不能为测试立方Cg生成控制数据,控制数据可被丢弃,原来的测试立方可保持不变。此外,如果一个扫描链中只有所指定的比特位是0,并且扫描链不用作观测任何故障效应,那么,在该例子中,没有必要把该链计入S。
此外,尽管表6列出的过程关心在含有测试激励选择器和时钟使能电路的结构中生成控制信号,对只含有时钟使能电路的结构该过程可被修改。例如,变量S可被设定为只用于观测故障效应的扫描链数量,并且在4(g)(v)的评估可基于在扩展测试立方中用于观测故障的比特位数量。
图45显示的实施例及上面所讨论的也可用于为含有一时钟使能电路的结构生成测试矢量。在这些实施例中,可基于生成的测试立方来为时钟使能电路生成控制信号。例如,在测试期间当一含有测试立方的测试矢量被施加时,该控制信号有能力导致时钟使能电路抑制来自那些不观测来自扫描立方故障效应的扫描链时钟信号。
E.未知状态抑制
可编程时钟使能者可用于排除X状态到扫描单元的传输。使用可编程时钟使能者进行扫描链选择,可消除非常可观的X状态数量,否则这些X状态会被捕获。图31显示了在一个基于扫描的环境中可用于抑制X状态的一个结构范例3100。例如,结构3100可用来帮助减少掩码测试响应压缩器(例如,图31中压缩器3110)输出的X数量。与使用扫描使能者的情况相同,在使用时钟使能者阻止X状态被捕获时,没有必要在扫描链的输出使用任何定制的门控逻辑。通过在捕获期间取消被选择扫描链的时钟可获得所期望的功能。换句话说,一个或多个可编程时钟使能者3120可用于取消指定扫描链的时钟树,而不是门控载有X状态的扫描链。可编程时钟使能者3120可由,例如,预先计算的数据来驱动(例如,使用美国专利申请公开号2007/0234157、2007/0234163、2007/0234169,以及G.Mrugalski等人文献中描述的任何方法范例来计算)。该技术范例本质上阻止扫描链捕获X状态并加载它们到解压器3110上。图31的例子中,在捕获期间,大约75%的扫描链时钟无效(即,它们不记录测试结果(包括X状态)),剩下的25%扫描链在捕获期间时钟有效并捕获测试响应。
用图31解释的方法可和用图30解释的方法相结合。由此的结果是,共享同一控制电路来并行处理功率消耗和未知状态的存在。
为时钟使能电路生成控制数据以阻止X状态被捕获的技术范例包括:模拟一测试矢量被施加到一被测电路并生成一模拟测试响应;识别被测电路中一个或多个从模拟测试响应中捕获未知状态的扫描链;生成控制信号,该控制信号可导致时钟使能电路在捕获窗口期间,抑制一个或多个被识别的扫描链的捕获时钟;生成的控制信号可存储于一个或多个计算机可读介质上,并随后在测试应用期间加载到时钟使能电路的可编程控制器中。
七、利用复位/移位时钟使能者的低功耗扫描移位操作
由于触发器通常被设计成有一个或多个异步控制输入用于状态初始化(例如,一个异步置位输入或一个异步复位输入),有可能通过使用一个可编程信号例如其中一个异步控制输入(例如,一个异步置位信号或一个异步复位信号)来强制扫描单元进入一个已知状态,从而在扫描移位期间降低反转。图32显示了实现该方法的一个结构范例3200。实现该公开结构可具有显著降低时钟布线功耗(芯片功耗的另一个主要源头)的能力。该结构范例使用了可用此前所述任一控制器设计来实现的可编程控制器。
针对图32显示的方法,两个有关扫描链的决定是所期望的:决定在移入测试矢量ti时必须直接由解压器驱动的扫描链(因为它们包含测试矢量ti的指定比特位);决定在施加测试矢量ti-1后含有必须加载到压缩器的测试响应值的扫描链(因为这些值是ti-1捕获到的指示目标故障的值)。一般在测试矢量ti-1被施加后,测试矢量ti被立即施加。这些扫描链可在,例如,ATPG过程期间被识别。根据一个确定的实现,可以控制扫描链以便只有被识别的扫描链响应移位时钟信号。其它的扫描链因其移位时钟信号被抑制可处休眠状态。结果是,由扫描移位和使用时钟引起的切换动作被降低。此外,在一些例子中,由于编码过程的副作用,可有很小一部分的扫描链处于活动状态。一般而言,偏置电路的某些配置会影响处于活动状态的不必要扫描链的比例。为了避免在休眠扫描链输出端的未知值,其输出在进入压缩器之前可通过门控来获得一个常值。门控控制信号可来自控制移位时钟信号的可编程控制器。
在很多情况中,某些扫描链捕获的测试响应值是用来观测那些还没有被早先的测试矢量所探测到的目标故障的故障效应;同时其它扫描链捕获的测试响应值是用来观测那些已被早先的测试矢量所探测到的目标故障的故障效应。利用这个事实,扫描链的切换动作可被进一步降低。从上述后者的扫描链中移出响应值通常不会提高故障覆盖率。因此在某些实现中,在先前捕获的测试响应被卸载和下一个测试矢量被加载前,这些扫描链可被复位。这导致在加载下一个测试矢量前,扫描链被设定为全部常值,从而降低了在扫描链被加载下一个测试矢量时发生的切换数量。在施加一个新的测试矢量前复位扫描链可减少一半的切换动作(假设相邻的扫描单元间没有倒置)。
A.可编程移位/复位时钟使能者的结构范例
图32结构范例3200中,一个可编程复位/移位时钟使能者3210被插入在最初输入管脚Reset_Clock 3220与Shift_Clock 3222,和驱动扫描链的复位时钟与移位时钟树之间。如图32所示,可编程移位/复位时钟使能者3200包括(或由)三个元件(组成):一移位时钟使能电路3230,一复位使能电路3232,和一可编程控制器3240。
使用图32结构的一个测试应用过程范例包括:加载控制测试矢量ti复位使能的控制数据和控制下一个测试矢量移位时钟使能的控制数据到可编程控制器;移位测试激励ti至扫描链(当ti-1测试激励移入时,控制测试矢量ti移位时钟使能的控制数据被加载);施加捕获时钟;强制Reset_Clock管脚至被选择的扫描链并在所需的时钟周期内保持其处于激活状态;取消Reset_Clock管脚;从扫描链移出测试响应。
请注意在某些实施例中,移位时钟使能电路3230从设计中省略。在这些实施例中上述测试应用过程将被修改以便移位时钟使能者的控制数据不被使用。
图43是一个流程图,显示了在测试期间施加复位信号于一电路的实施范例。在4310,测试矢量(例如,解压器解压的测试矢量)的测试响应被捕获至被测电路的扫描链中。在4312,测试矢量的测试响应被捕获后,施加一复位信号到一个或多个但不是所有的扫描链或扫描链段上。在4314,复位信号施加后扫描链中的内容被卸载。施加了复位信号的一个或多个扫描链或扫描链段可包括否则会捕获未知值的一个或多个扫描链或扫描链段。施加复位信号可导致捕获入一个或多个但不是所有的扫描链或扫描链段的值成为一个单一的常量值(例如,一个1或0)。控制信号可被接收以控制哪些扫描链或扫描链段被施加复位信号。这些控制信号可被重复用于关于更多额外测试矢量的测试响应中。此外,当测试矢量被加载到扫描链时,下一个测试矢量的控制信号可被加载。
B.移位时钟使能者和复位使能者
移位时钟使能电路3230可包括(或由)多个移位时钟使能者(组成)。此外,移位时钟使能者可驱动一个单独扫描链的移位时钟输入或一组两个或更多扫描链的移位时钟输入。一般而言,移位时钟使能电路3230的功能是在扫描移位期间使能/取消扫描链工作于移位模式。图33显示了移位时钟使能者一个没有毛刺的实现范例3300。
复位使能电路3232可包括(或由)一组多个复位使能者(组成)。复位使能者可驱动一个单独扫描链的复位时钟输入或一组两个或更多扫描链的复位时钟输入。复位使能者的功能是使能/取消Reset_Clock从而在Reset_Clock有效时复位扫描链。图34显示了复位使能者的一个实现范例3400。
可编程控制器3240的一个范例可包括(或由)两个模块(组成):一个控制移位时钟使能者,另外一个控制复位使能者。每个控制器模块可与此前描述的、和可编程测试激励选择器652一起使用的可编程控制器有相同的结构。
C.测试矢量生成
含有这里描述的任何复位时钟使能电路或移位时钟使能电路的结构,其测试矢量生成过程类似于前述表5和表6所描述的、含有时钟使能者或扫描使能者结构的测试矢量生成过程,没有必要在这里分开详述。例如,测试矢量生成过程可用来为一个复位使能电路的控制器生成控制信号,以便在从一个或多个那些不观测故障效应的扫描链上移出测试响应前,复位使能电路复位这些扫描链。
图45所示实施例和上面所讨论的也可用于为含有一个复位使能电路的结构生成测试矢量。在这些实施例中,可根据生成的测试立方为复位使能电路生成复位信号。例如,在测试期间,当对含有测试立方的测试矢量的测试响应被捕获后,复位信号有能力导致复位使能电路施加复位信号到那些不观测来自测试立方故障效应的扫描链上。图45所示实施例和上面所讨论的也可用于为含有一个移位时钟使能电路(例如,与复位使能电路的组合)的结构生成测试矢量。在这些实施例中,可根据测试立方为移位时钟使能电路生成控制信号。在测试期间,当对含有测试立方的测试矢量的测试响应被捕获后,这些控制信号有能力导致移位时钟使能电路抑制来自那些不观测来自测试立方故障效应的扫描链的移位时钟信号。
D.扫描移位和捕获的切换动作削减
为了降低在捕获期间的切换动作和进一步降低扫描移位的切换动作,可编程复位/移位时钟3210可与此前描述的可编程测试激励选择器和可编程时钟使能者组合使用。图35显示了该实现的一个扫描结构范例3500。
使用这种实现的一个测试应用过程范例包括:加载控制测试矢量ti复位使能的控制数据和控制测试矢量ti+1移位使能的控制数据至可编程控制器;移位测试矢量ti至扫描链(可编程测试矢量选择器在移入测试激励期间选择测试矢量的源);在扫描移位操作结束时取消Global_Clock_Enable;施加捕获时钟(被选择用于捕获新数据的扫描单元由可编程时钟使能者控制);强制Reset_Clock管脚并在所需的时钟周期内保持其处于激活状态;取消Reset_Clock管脚;强制Global_Clock_Enable信号;从扫描链移出测试响应。
图35所示结构3500中,移位时钟和捕获时钟是相同的。然而,图35所示结构可被调整使用不同的移位和捕获时钟。例如,在扫描移位模式,Global_Clock_Enable可被强制为1,并且移位时钟可由可编程移位/复位时钟使能者控制。在捕获模式,Global_Clock_Enable可被取消,捕获时钟可由可编程时钟使能者控制。为减少管脚数量,管脚Global_Clock_Enable和管脚Scan_Enable可共享一个管脚。
E.未知状态抑制
可编程复位使能电路可用来阻止扫描链输出X状态。例如,相当一部分X状态可使用可编程复位使能者来消除,否则它们会被捕获和输出。特别地,当测试响应被捕获到扫描链后,对那些捕获到未知状态、但没有捕获到指示目标故障的测试响应值(或捕获到的测试响应对所期望的测试覆盖率没有显著贡献)的已知一个或多个扫描链,可以使能Reset_Clock信号。由此,扫描链的值将被复位至已知常量。和使用扫描使能者的情况相同,在使用复位使能者阻止捕获X状态时,没有必要在扫描链的输出使用任何定制的门控逻辑。所期望的功能可通过在测试响应被捕获后复位所期望的扫描链来获得。换句话说,可以使用一个或多个复位使能电路3232来复位扫描链中捕获的值为已知常量,而不是门控载有X状态的扫描链。可编程复位使能者3210可由,例如,预先计算的数据来驱动(例如,使用美国专利申请公开出号2007/0234157、2007/0234163、2007/0234169,以及G.Mrugalski等人文献中描述的任何方法范例来计算)。
为复位使能电路生成控制数据以阻止X状态被输出的技术范例包括:模拟被施加到一被测电路的一测试矢量以生成一模拟测试响应;识别被测电路中一个或多个从模拟测试响应中捕获未知状态的扫描链;生成控制信号,该控制信号可导致复位使能电路在一含有未知状态的测试响应被捕获后,对一个或多个被识别的扫描链的值进行复位;生成的控制信号可存储于一个或多个计算机可读介质上,并随后在测试应用期间加载到复位使能电路的可编程控制器中。
八、实验结果
扫描移位操作消耗功率,并直接取决于扫描链中发生的转换数量以及被测电路(“CUT”)的其它组件。由此发生的切换动作可通过一个加权的转换度量来估算,该度量不仅考虑在连续的扫描单元中引发的转换数量,还考虑它们的相对位置。设m是扫描链的长度,T=b1b2...bm代表一个测试矢量,比特位bk在bk+1前扫入。标准化后的度量可定义如下:
测试应用期间的平均扫描功耗可通过把上面的公式运用到所有的扫描链和所有的测试矢量并取和而获得。
前面描述的低功耗方法的一个实施例在一些工业界的设计上作了测试。
在本段中显示的结果使用了图36所示的结构范例3600,该电路处于规模从220K到10.5M个门的设计上。对每个设计,使用了不同压缩程度的EDT,固定扫描通道数为8,并且所有设计使用48比特位的解压器。表7总结了这些实验结果。除了门数量外,每个电路还有以下数据:施加的测试矢量数量,填充率(指定比特位比率),控制寄存器的尺寸(“CR”),使用加权的转换度量测量到的切换比率(假设使用了一个标准内嵌确定性测试,(列“SDT”)),使用了建议的低功耗方案后的切换比率(列“LP”)。可以看出,对所有的实验,转换总数量均获得大量消减,从而显著地降低了切换的比率。
表7:实验结果
九、计算环境范例
上面所述技术的任何一个方面均可在一个分布式计算网络中执行。图37显示了一适用的网络范例。服务器3700可有一关联的存储设备3702(服务器外部或内部的)。例如,服务器3700可配置用于基于任一公开方法生成测试矢量、测试矢量值或控制数据,或为实现任一本公开的结构生成设计数据(例如,作为一EDA软件工具的一部分,比如一测试矢量生成工具)。服务器3700可连接到如3704所示的一个网络,例如,广域网、局域网、客户端-服务器网络、互联网或其它适用网络。一个或多个客户计算机,如所示的3706、3708,可使用网络协议连接到网络3704。工作也可以在一单独专用的、有其自己的存储器和一个或多个CPU的工作站上执行。
图38显示了另外一个网络范例。一个或多个计算机3802通过网络3804进行通信并且组成一个计算环境3800(例如,一个分布式计算环境)。计算环境3800中每个计算机3802可用于执行测试矢量生成、控制数据生成或测试硬件生成过程中的至少一个部分。所示实施例中网络3804也连接到一个或多个客户计算机3808。
图39显示了一个被测电路的设计信息(例如,一个HDL文件、网表、GDSII文件、Oasis文件、或其它代表被测电路与其扫描链的适用的设计文件)可以使用一个远程服务器(例如图37所示服务器3700)或一个远程计算环境(如图38所示计算环境3800)进行分析,以便按照任一本公开的技术实施例来生成测试矢量、控制数据、或测试硬件。在过程块3902,例如,客户计算机发送集成电路设计信息给远程服务器或计算环境。在过程块3904,远程服务器或远程服务环境中相应的组成部分接收和加载集成电路设计信息。在过程块3906,测试矢量生成、控制数据生成或测试硬件生成被执行以便实现任一本公开的实施例。在过程块3908,远程服务器或计算环境发送测试矢量结果、控制数据结果或存有生成的测试硬件的设计数据结果给在过程块3910处接收数据的客户计算机。
对所属领域的技术人员而言,很明显图3900所示的例子并不是使用多个计算机生成测试矢量、控制数据或用于测试硬件的设计数据的唯一方法。例如,CUT设计信息可存储于一个计算机可读介质上,该介质不在一个网络上并被个别地输送到服务器或计算环境中(例如,CD-ROM,DVD,或手提式硬盘)。或者,服务器或远程计算网络只执行测试矢量生成,控制数据生成或测试硬件生成过程的一部分。
本公开技术的原理已被说明和描述,很显然,对所属领域的技术人员而言,本公开的实施例可在编排和细节上进行修改而不会背离这些原理。鉴于本公开技术的原理可应用到许多可能的实施例中,应当承认所说明的实施例只是优选的例子,不应认为是对发明范围的局限。相反,发明的范围在以下的权利要求及其等价物中加以定义。因此,我们要求所有那些落入这些权利要求范围和精神的均是我们的发明。
Claims (23)
1.一种集成电路,其包括:
一第一测试激励源,其被配置以生成原始测试矢量值;
一第二测试激励源,其被配置以生成一常量值;
一控制器,其被配置以生成控制信号;和
一测试激励选择器,其含有连接到第一测试激励源、第二测试激励源和控制器的输入,其进一步含有连接到集成电路中一组扫描链的输出,其被配置以根据控制器的控制信号,在其每个相应的输出中选择性地输出第一测试激励源的原始测试矢量值或第二测试激励源的常量值。
2.如权利要求1所述的集成电路,其中该测试激励选择器被配置以逐一周期方式、逐一扫描链段方式、或逐一矢量方式选择性地输出值。
3.如权利要求1所述的集成电路,其中该第一测试激励源是一解压器,其被配置以接收来自一外部测试仪的压缩的测试矢量值。
4.如权利要求1所述的集成电路,其中该测试激励选择器包括一组多路复用器,每个多路复用器含有连接到第一测试激励源的各自输出的第一输入,连接到第二测试激励源的各自输出的第二输入,连接到控制器的各自输出的第三输入,以及连接到各自的一个或多个扫描链上的输出。
5.如权利要求1所述的集成电路,其中该控制器是一可编程控制器,其被配置以加载控制数据,该控制数据来自一外部测试仪、该集成电路上的一存储器或该集成电路上的一测试生成器中三者之一。
6.如权利要求1所述的集成电路,其中该常量值是第一常量值,其中该集成电路进一步包括一第三测试激励源,被配置以生成一第二常量值,其中该测试激励选择器进一步含有连接到第三测试激励源的输入,其中该测试激励选择器被配置以根据控制器的控制信号,在其每个各自的输出中选择性地输出第一测试激励源的原始测试矢量值、第二测试激励源的第一常量值、或第三测试激励源的第二常量值。
7.如权利要求6所述的集成电路,其中该第一常量值和第二常量值各自是0和1,或各自是1和0。
8.如权利要求6所述的集成电路,其中该测试激励选择器包括一组多路复用器,每个多路复用器含有连接到第一测试激励源的各自输出的第一输入,连接到第二测试激励源的各自输出的第二输入,连接到第三测试激励源的各自输出的第三输入,连接到控制器的各自输出的第四输入,以及连接到各自的一个或多个扫描链上的输出。
9.如权利要求1所述的集成电路,其中该控制器包括加载和输出控制数据的一个或多个移位寄存器。
10.如权利要求9所述的集成电路,其中该一个或多个移位寄存器包括构成多级寄存器管道的一组移位寄存器。
11.如权利要求10所述的集成电路,其中该一组移位寄存器被配置为响应一寄存器移位时钟而串行加载数据。
12.如权利要求10所述的集成电路,其中该一组移位寄存器被配置为响应一管道移位时钟而并行地从移位寄存器中的一个移入控制数据到移位寄存器中的另一个。
13.如权利要求9所述的集成电路,其进一步包括连接到该一个或多个移位寄存器的一个或多个映像寄存器。
14.如权利要求9所述的集成电路,其中该控制器进一步包括连接到该一个或多个移位寄存器中至少之一的一异或XOR或同或XNOR网络。
15.如权利要求14所述的集成电路,其中该控制器进一步包括连接到该异或或同或网络的一偏置电路。
16.如权利要求15所述的集成电路,其中该偏置电路被配置以偏置该异或或同或网络的一个或多个输出,以便每个被偏置的输出更有可能产生各自的二进制值。
17.如权利要求15所述的集成电路,其中该偏置电路是一可重新配置的偏置电路,其被配置以一可选择的数量偏置该异或或同或网络的一个或多个输出。
18.一种集成电路,其包括:
一测试激励源,其被配置以生成原始测试矢量值;
一控制器,其被配置以生成控制信号;及
一测试激励选择器,其含有连接到测试激励源和控制器的输入,其还含有连接到集成电路中的一组扫描链的输出,其被配置以根据从控制器接收的控制信号,在其每个各自的输出中选择性地输出测试激励源的原始测试矢量值或一常量值。
19.如权利要求18所述的集成电路,其中该测试激励选择器被配置以逐一周期方式、逐一扫描链段方式、或逐一矢量方式选择性地输出值。
20.如权利要求18所述的集成电路,其中该测试激励源是一解压器,其被配置以接收来自一外部测试仪的压缩的测试矢量值。
21.如权利要求18所述的集成电路,其中该控制器是一可编程控制器,其被配置以加载控制数据,该控制数据来自一外部测试仪、该集成电路上的一存储器或该集成电路上的一测试生成器中三者之一。
22.如权利要求18所述的集成电路,其中该控制器包括加载和输出控制数据的一个或多个移位寄存器,该一个或多个移位寄存器构成一个多级寄存器管道。
23.如权利要求22所述的集成电路,其中该控制器进一步包括:
一连接到该一个或多个移位寄存器中至少之一的异或或同或网络,及
一偏置电路连接到该异或或同或网络,该偏置电路被配置以偏置该异或或同或网络的一个或多个输出,以便每个被偏置的输出更有可能产生各自的二进制值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90107907P | 2007-02-12 | 2007-02-12 | |
US60/901,079 | 2007-02-12 | ||
PCT/US2008/001866 WO2008100520A2 (en) | 2007-02-12 | 2008-02-12 | Low power scan testing techniques and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101663648A CN101663648A (zh) | 2010-03-03 |
CN101663648B true CN101663648B (zh) | 2012-10-03 |
Family
ID=39686586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800116867A Active CN101663648B (zh) | 2007-02-12 | 2008-02-12 | 低功耗扫描测试技术及装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7925465B2 (zh) |
EP (1) | EP2122466B1 (zh) |
JP (1) | JP5537158B2 (zh) |
CN (1) | CN101663648B (zh) |
WO (1) | WO2008100520A2 (zh) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925465B2 (en) | 2007-02-12 | 2011-04-12 | Mentor Graphics Corporation | Low power scan testing techniques and apparatus |
US8584073B2 (en) * | 2008-07-21 | 2013-11-12 | Synopsys, Inc. | Test design optimizer for configurable scan architectures |
US7979763B2 (en) * | 2008-10-21 | 2011-07-12 | Synopsys, Inc. | Fully X-tolerant, very high scan compression scan test systems and techniques |
US8065651B2 (en) * | 2009-01-29 | 2011-11-22 | Synopsys, Inc. | Implementing hierarchical design-for-test logic for modular circuit design |
JP5401119B2 (ja) * | 2009-02-23 | 2014-01-29 | ルネサスエレクトロニクス株式会社 | 半導体集積回路の設計方法、設計プログラム、及び半導体集積回路 |
CN102043124B (zh) * | 2009-10-12 | 2013-07-17 | 炬力集成电路设计有限公司 | 一种具有扫描链的集成电路 |
JP5843358B2 (ja) * | 2010-01-15 | 2016-01-13 | 国立大学法人 奈良先端科学技術大学院大学 | 半導体集積回路のテストパターン生成方法、プログラム、およびコンピュータ読み取り可能な記録媒体 |
US8832512B2 (en) * | 2010-03-16 | 2014-09-09 | Mentor Graphics Corporation | Low power compression of incompatible test cubes |
US20110298490A1 (en) * | 2010-06-08 | 2011-12-08 | Alan Scott Hearn | Asymmetrical aging control system |
US8412994B2 (en) | 2010-09-17 | 2013-04-02 | Lsi Corporation | Design-for-test technique to reduce test volume including a clock gate controller |
CN101975922A (zh) * | 2010-10-11 | 2011-02-16 | 上海电力学院 | 低功耗扫描测试电路及运行方法 |
US20120209556A1 (en) * | 2011-02-02 | 2012-08-16 | Mentor Graphics Corporation | Low Power Scan-Based Testing |
US8566658B2 (en) * | 2011-03-25 | 2013-10-22 | Lsi Corporation | Low-power and area-efficient scan cell for integrated circuit testing |
US8683280B2 (en) * | 2011-04-19 | 2014-03-25 | Mentor Graphics Corporation | Test generator for low power built-in self-test |
US8694843B2 (en) * | 2011-08-04 | 2014-04-08 | Texas Instruments Incorporated | Clock control of pipelined memory for improved delay fault testing |
US8850280B2 (en) * | 2011-10-28 | 2014-09-30 | Lsi Corporation | Scan enable timing control for testing of scan cells |
JP6223967B2 (ja) * | 2012-05-23 | 2017-11-01 | 国立研究開発法人科学技術振興機構 | 故障検出システム、生成回路及びプログラム |
US8700962B2 (en) * | 2012-07-27 | 2014-04-15 | Lsi Corporation | Scan test circuitry configured to prevent capture of potentially non-deterministic values |
WO2014049395A1 (en) * | 2012-09-27 | 2014-04-03 | Freescale Semiconductor, Inc. | Scan test system |
US9116205B2 (en) * | 2012-09-27 | 2015-08-25 | International Business Machines Corporation | Test coverage of integrated circuits with test vector input spreading |
CN102841307B (zh) * | 2012-09-29 | 2015-07-22 | 南京理工大学常熟研究院有限公司 | 一种逻辑故障定位的方法 |
US10345369B2 (en) | 2012-10-02 | 2019-07-09 | Synopsys, Inc. | Augmented power-aware decompressor |
US20140149812A1 (en) * | 2012-11-27 | 2014-05-29 | Lsi Corporation | Scan test circuitry with control circuitry configured to support a debug mode of operation |
US9222981B2 (en) | 2012-12-28 | 2015-12-29 | Nvidia Corporation | Global low power capture scheme for cores |
US9377510B2 (en) | 2012-12-28 | 2016-06-28 | Nvidia Corporation | System for reducing peak power during scan shift at the global level for scan based tests |
US9395414B2 (en) | 2012-12-28 | 2016-07-19 | Nvidia Corporation | System for reducing peak power during scan shift at the local level for scan based tests |
CN103076559B (zh) * | 2012-12-29 | 2015-02-04 | 东南大学 | 一种针对扫描测试中移位功耗的优化方法 |
US9291676B2 (en) * | 2013-02-21 | 2016-03-22 | Advanced Micro Devices, Inc. | Scan warmup scheme for mitigating di/dt during scan test |
US9086457B2 (en) | 2013-03-26 | 2015-07-21 | International Business Machines Corporation | Scan chain latch design that improves testability of integrated circuits |
US9057765B2 (en) | 2013-04-12 | 2015-06-16 | International Business Machines Corporation | Scan compression ratio based on fault density |
US9182445B2 (en) * | 2013-05-06 | 2015-11-10 | Broadcom Corporation | Integrated circuit with toggle suppression logic |
US9588179B2 (en) * | 2013-06-12 | 2017-03-07 | Synopsys, Inc. | Scheme for masking output of scan chains in test circuit |
US9003248B2 (en) * | 2013-06-17 | 2015-04-07 | Mentor Graphics Corporation | Fault-driven scan chain configuration for test-per-clock |
US9564877B2 (en) * | 2014-04-11 | 2017-02-07 | Qualcomm Incorporated | Reset scheme for scan chains with asynchronous reset signals |
CN103983912B (zh) * | 2014-05-05 | 2017-07-11 | 三星半导体(中国)研究开发有限公司 | 适用于片上系统的扫描测试控制电路 |
US10120029B2 (en) * | 2014-05-12 | 2018-11-06 | Mentor Graphics Corporation | Low power testing based on dynamic grouping of scan |
JP6491507B2 (ja) * | 2015-03-20 | 2019-03-27 | ルネサスエレクトロニクス株式会社 | 半導体装置、電子装置および半導体装置の自己診断方法 |
CN104698367B (zh) * | 2015-03-31 | 2018-05-25 | 中国人民解放军国防科学技术大学 | 一种降低扫描测试中被测组合电路功耗的方法 |
EP3082000B1 (de) * | 2015-04-15 | 2020-06-10 | dSPACE digital signal processing and control engineering GmbH | Verfahren und system zum testen eines mechatronischen systems |
US9651623B2 (en) | 2015-09-11 | 2017-05-16 | International Business Machines Corporation | Reducing power requirements and switching during logic built-in-self-test and scan test |
US10078114B2 (en) * | 2015-09-24 | 2018-09-18 | Renesas Electronics Corporation | Test point circuit, scan flip-flop for sequential test, semiconductor device and design device |
CN106771958B (zh) | 2015-11-19 | 2020-11-03 | 恩智浦美国有限公司 | 具有低功率扫描系统的集成电路 |
US10380303B2 (en) * | 2015-11-30 | 2019-08-13 | Synopsys, Inc. | Power-aware dynamic encoding |
CN105719699B (zh) * | 2016-01-15 | 2019-05-17 | 西安紫光国芯半导体有限公司 | 一种提高dram后端测试良率的方法 |
CN107300948A (zh) * | 2016-04-14 | 2017-10-27 | 飞思卡尔半导体公司 | 具有多位时钟门控单元的集成电路 |
US10126896B2 (en) * | 2016-06-28 | 2018-11-13 | Synaptics Incorporated | Selective receiver electrode scanning |
TWI609190B (zh) * | 2016-08-05 | 2017-12-21 | 國立成功大學 | 可將測試資料儲存於掃描鏈的積體電路自動測試架構及其方法 |
CN107783030B (zh) | 2016-08-29 | 2021-04-23 | 恩智浦美国有限公司 | 具有低功率扫描系统的集成电路 |
TWI612317B (zh) * | 2016-11-01 | 2018-01-21 | 國立成功大學 | 一種測試資料之解壓縮器及其測試方法 |
US10473717B2 (en) * | 2016-11-09 | 2019-11-12 | Texas Instruments Incorporated | Methods and apparatus for test insertion points |
US10509072B2 (en) * | 2017-03-03 | 2019-12-17 | Mentor Graphics Corporation | Test application time reduction using capture-per-cycle test points |
US10353001B2 (en) | 2017-06-01 | 2019-07-16 | Seagate Technology Llc | Rapid scan testing of integrated circuit chips |
US10921371B2 (en) * | 2017-07-05 | 2021-02-16 | Seagate Technology Llc | Programmable scan shift testing |
CN107544017B (zh) * | 2017-07-12 | 2020-06-16 | 清华大学 | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 |
US10502784B2 (en) * | 2017-09-22 | 2019-12-10 | Stmicroelectronics International N.V. | Voltage level monitoring of an integrated circuit for production test and debug |
CN108169665A (zh) * | 2017-11-28 | 2018-06-15 | 深圳市时代云海科技有限公司 | 一种芯片低功耗测试电路和方法 |
US10459029B2 (en) | 2018-01-08 | 2019-10-29 | Seagate Technology Llc | On-chip clock control monitoring |
US10324131B1 (en) * | 2018-01-16 | 2019-06-18 | Qualcomm Incorporated | Laser-based integrated circuit testing techniques |
US10222421B1 (en) * | 2018-02-14 | 2019-03-05 | Silicon Laboratories Inc. | Method for detecting faults on retention cell pins |
CN112154336B (zh) * | 2018-03-22 | 2024-03-29 | 西门子工业软件有限公司 | 确定性星体内建自测 |
US10996273B2 (en) * | 2018-03-22 | 2021-05-04 | Siemens Industry Software Inc. | Test generation using testability-based guidance |
CN112154338B (zh) * | 2018-03-22 | 2023-05-30 | 西门子工业软件有限公司 | 用于测试压缩的灵活的等距解压缩器架构 |
US10783299B1 (en) * | 2018-03-27 | 2020-09-22 | Cadence Design Systems, Inc. | Simulation event reduction and power control during MBIST through clock tree management |
CN110514981B (zh) * | 2018-05-22 | 2022-04-12 | 龙芯中科技术股份有限公司 | 集成电路的时钟控制方法、装置及集成电路 |
US10775432B2 (en) * | 2018-05-30 | 2020-09-15 | Seagate Technology Llc | Programmable scan compression |
US10908213B1 (en) | 2018-09-28 | 2021-02-02 | Synopsys, Inc. | Reducing X-masking effect for linear time compactors |
TWI681200B (zh) * | 2018-10-19 | 2020-01-01 | 瑞昱半導體股份有限公司 | 晶片 |
CN114667455A (zh) * | 2019-09-06 | 2022-06-24 | 西门子工业软件有限公司 | 用于测试电路的通用压缩器架构 |
CN111175635B (zh) * | 2019-12-31 | 2021-12-03 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 集成电路测试装置 |
WO2021146382A1 (en) * | 2020-01-16 | 2021-07-22 | Lightmatter, Inc. | Pin sharing for photonic processors |
JP7305583B2 (ja) * | 2020-03-05 | 2023-07-10 | 株式会社東芝 | 半導体集積回路 |
CN111766505B (zh) * | 2020-06-30 | 2023-04-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种集成电路的扫描测试装置 |
KR20220046796A (ko) * | 2020-10-08 | 2022-04-15 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11592482B1 (en) * | 2021-03-17 | 2023-02-28 | Cadence Design Systems, Inc. | Scan channel slicing for compression-mode testing of scan chains |
US11320487B1 (en) * | 2021-05-26 | 2022-05-03 | Siemens Industry Software Inc. | Programmable test compactor for improving defect determination |
CN114217211B (zh) * | 2021-12-15 | 2023-09-01 | 四川创安微电子有限公司 | 一种降低扫描链动态测试功耗的电路及其控制方法 |
CN114280454B (zh) * | 2021-12-27 | 2024-01-23 | 西安爱芯元智科技有限公司 | 芯片测试方法、装置、芯片测试机及存储介质 |
US11953548B2 (en) * | 2022-01-14 | 2024-04-09 | University Of Florida Research Foundation, Incorporated | Invisible scan architecture for secure testing of digital designs |
CN114113989B (zh) * | 2022-01-26 | 2022-05-06 | 成都爱旗科技有限公司 | 一种dft测试装置、测试系统以及测试方法 |
CN116224045B (zh) * | 2023-05-08 | 2023-08-15 | 上海励驰半导体有限公司 | 一种测试电路及降低扫描测试中捕获阶段功耗的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764902A (zh) * | 2003-04-17 | 2006-04-26 | Arm有限公司 | 集成电路的诊断电路 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2584172B2 (ja) * | 1991-08-23 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デイジタル試験信号発生回路 |
US5592493A (en) * | 1994-09-13 | 1997-01-07 | Motorola Inc. | Serial scan chain architecture for a data processing system and method of operation |
JPH09281192A (ja) * | 1996-04-18 | 1997-10-31 | Hitachi Ltd | 論理集積回路の自己診断回路 |
US5737340A (en) * | 1996-07-01 | 1998-04-07 | Mentor Graphics Corporation | Multi-phase test point insertion for built-in self test of integrated circuits |
US5907562A (en) * | 1996-07-31 | 1999-05-25 | Nokia Mobile Phones Limited | Testable integrated circuit with reduced power dissipation |
US5991909A (en) * | 1996-10-15 | 1999-11-23 | Mentor Graphics Corporation | Parallel decompressor and related methods and apparatuses |
US5991898A (en) * | 1997-03-10 | 1999-11-23 | Mentor Graphics Corporation | Arithmetic built-in self test of multiple scan-based integrated circuits |
US6966021B2 (en) * | 1998-06-16 | 2005-11-15 | Janusz Rajski | Method and apparatus for at-speed testing of digital circuits |
US6694467B2 (en) * | 1999-06-24 | 2004-02-17 | Texas Instruments Incorporated | Low power testing of very large circuits |
US6519729B1 (en) * | 1998-06-27 | 2003-02-11 | Texas Instruments Incorporated | Reduced power testing with equally divided scan paths |
US7480606B2 (en) | 1998-08-31 | 2009-01-20 | Versity Design, Inc. | VCD-on-demand system and method |
US6114892A (en) * | 1998-08-31 | 2000-09-05 | Adaptec, Inc. | Low power scan test cell and method for making the same |
US6874109B1 (en) | 1999-11-23 | 2005-03-29 | Janusz Rajski | Phase shifter with reduced linear dependency |
US7493540B1 (en) | 1999-11-23 | 2009-02-17 | Jansuz Rajski | Continuous application and decompression of test patterns to a circuit-under-test |
US6327687B1 (en) * | 1999-11-23 | 2001-12-04 | Janusz Rajski | Test pattern compression for an integrated circuit test environment |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US6557129B1 (en) | 1999-11-23 | 2003-04-29 | Janusz Rajski | Method and apparatus for selectively compacting test responses |
JP3845016B2 (ja) | 1999-11-23 | 2006-11-15 | メンター・グラフィクス・コーポレーション | テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション |
US6353842B1 (en) | 1999-11-23 | 2002-03-05 | Janusz Rajski | Method for synthesizing linear finite state machines |
US6769080B2 (en) * | 2000-03-09 | 2004-07-27 | Texas Instruments Incorporated | Scan circuit low power adapter with counter |
US6766487B2 (en) * | 2000-03-09 | 2004-07-20 | Texas Instruments Incorporated | Divided scan path with decode logic receiving select control signals |
EP1146343B1 (en) * | 2000-03-09 | 2005-02-23 | Texas Instruments Incorporated | Adapting Scan-BIST architectures for low power operation |
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 |
ATE504446T1 (de) | 2002-12-02 | 2011-04-15 | Silverbrook Res Pty Ltd | Totdüsenausgleich |
US7051255B2 (en) * | 2002-12-20 | 2006-05-23 | International Business Machines Corporation | Method and apparatus for reducing power dissipation in latches during scan operation |
US7032148B2 (en) * | 2003-07-07 | 2006-04-18 | Syntest Technologies, Inc. | Mask network design for scan-based integrated circuits |
US7109747B1 (en) * | 2004-09-09 | 2006-09-19 | National Semiconductor Corporation | Low power, high speed logic controller that implements thermometer-type control logic by utilizing scan flip-flops and a gated clock |
KR100708462B1 (ko) | 2005-05-27 | 2007-04-18 | 연세대학교 산학협력단 | 천이감시 윈도우를 이용한 lfsr 천이수 감소방법 및 그장치 |
CN101405609B (zh) | 2006-02-17 | 2012-11-14 | 明导公司 | 多级测试响应压缩器 |
US7685491B2 (en) | 2006-04-05 | 2010-03-23 | Xijiang Lin | Test generation methods for reducing power dissipation and supply currents |
US7797603B2 (en) | 2006-07-21 | 2010-09-14 | Janusz Rajski | Low power decompression of test cubes |
US7647540B2 (en) | 2006-07-21 | 2010-01-12 | Janusz Rajski | Decompressors for low power decompression of test patterns |
US7925465B2 (en) | 2007-02-12 | 2011-04-12 | Mentor Graphics Corporation | Low power scan testing techniques and apparatus |
-
2008
- 2008-02-12 US US12/069,752 patent/US7925465B2/en active Active
- 2008-02-12 EP EP20080725491 patent/EP2122466B1/en active Active
- 2008-02-12 WO PCT/US2008/001866 patent/WO2008100520A2/en active Application Filing
- 2008-02-12 JP JP2009549612A patent/JP5537158B2/ja active Active
- 2008-02-12 CN CN2008800116867A patent/CN101663648B/zh active Active
-
2011
- 2011-03-16 US US13/049,844 patent/US8290738B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764902A (zh) * | 2003-04-17 | 2006-04-26 | Arm有限公司 | 集成电路的诊断电路 |
Also Published As
Publication number | Publication date |
---|---|
EP2122466A2 (en) | 2009-11-25 |
EP2122466B1 (en) | 2015-04-29 |
US20110166818A1 (en) | 2011-07-07 |
WO2008100520A3 (en) | 2008-12-11 |
JP5537158B2 (ja) | 2014-07-02 |
US20080195346A1 (en) | 2008-08-14 |
JP2010518405A (ja) | 2010-05-27 |
EP2122466A4 (en) | 2013-03-06 |
CN101663648A (zh) | 2010-03-03 |
US7925465B2 (en) | 2011-04-12 |
US8290738B2 (en) | 2012-10-16 |
WO2008100520A2 (en) | 2008-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101663648B (zh) | 低功耗扫描测试技术及装置 | |
Bhunia et al. | Low-power scan design using first-level supply gating | |
Lala | An introduction to logic circuit testing | |
US8015461B2 (en) | Decompressors for low power decompression of test patterns | |
EP1978446B1 (en) | Compressing test responses using a compactor | |
US7797603B2 (en) | Low power decompression of test cubes | |
US8832512B2 (en) | Low power compression of incompatible test cubes | |
US11585853B2 (en) | Trajectory-optimized test pattern generation for built-in self-test | |
Rozkovec et al. | Application dependent FPGA testing method | |
Kavitha et al. | Design of low power TPG using LP-LFSR | |
US11815555B2 (en) | Universal compactor architecture for testing circuits | |
Arvaniti et al. | Low-power scan testing: A scan chain partitioning and scan hold based technique | |
Almurib et al. | A single-configuration method for application-dependent testing of SRAM-based FPGA interconnects | |
US11150299B2 (en) | Flexible isometric decompressor architecture for test compression | |
Devika et al. | Design of efficient programmable test-per-scan logic BIST modules | |
Miranda et al. | Generation of optimized single distributions of weights for random built-in self-test | |
Kalligeros et al. | Multiphase BIST: A new reseeding technique for high test-data compression | |
US11422188B2 (en) | Isometric control data generation for test compression | |
You et al. | Capture in turn scan for reduction of test data volume, test application time and test power | |
Das et al. | Build-in-Self-Test of FPGA for diagnosis of delay fault | |
Nandha Kumar et al. | Single‐configuration fault detection in application‐dependent testing of field programmable gate array interconnects | |
Das | Self-testing of cores-based embedded systems with built-in hardware | |
Brindha | An enhanced architecture for high performance BIST TPG | |
VIJAYALAKSHMI et al. | Optimized Pattern Generation using MSIC with Bit-Swapping LFSR Based on BIST Schemes | |
Seethamma et al. | DESIGN AND IMPLEMENTATION OF MULTIPLE SIC VECTORS THEORY AND APPLICATION IN BIST SCHEMES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210809 Address after: American Texas Patentee after: SIEMENS INDUSTRY SOFTWARE N.V. Address before: oregon Patentee before: Mentor Co. |
|
TR01 | Transfer of patent right |