CN101405609B - 多级测试响应压缩器 - Google Patents
多级测试响应压缩器 Download PDFInfo
- Publication number
- CN101405609B CN101405609B CN200780010367XA CN200780010367A CN101405609B CN 101405609 B CN101405609 B CN 101405609B CN 200780010367X A CN200780010367X A CN 200780010367XA CN 200780010367 A CN200780010367 A CN 200780010367A CN 101405609 B CN101405609 B CN 101405609B
- Authority
- CN
- China
- Prior art keywords
- compressor reducer
- input
- output
- mask
- circuit
- 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.)
- Expired - Fee Related
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/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/2851—Testing of integrated circuits [IC]
-
- 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/31723—Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
-
- 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/31727—Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
-
- 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
- G01R31/318547—Data generators or compressors
-
- 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/318558—Addressing or selecting of subparts of the device under test
- G01R31/318563—Multiple simultaneous testing of subparts
-
- 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/318566—Comparators; Diagnosing the device under test
Abstract
在此公开了一种称为“X-Press”测试响应压缩器的示例性实施方式。所公开压缩器的某些实施方式包括过载部分以及扫描链选择逻辑。所公开技术的某些实施方式提供1000x数量级的压缩比。所公开压缩器的示例性实施方式可以维持与传统的基于扫描的测试情况大致相同的覆盖和大致相同的诊断辨析率。扫描链选择方案的某些实施方式可以显著降低或者彻底消除在进入压缩器的测试响应中出现的未知状态。另外,在此公开了片上压缩器电路的实施方式,以及用于生成掩码选择电路的控制电路的方法的实施方式。
Description
相关申请的交叉引用
本申请要求以下申请的优先权:2006年2月17日提交的名为“Multi-Stage Test Response Compactors”的美国临时专利申请No.60/774,431;2006年7月22日提交的名为“Multi-Stage TestResponse Compactors”的美国临时专利申请No.60/832,466;以及2006年10月20日提交的名为“Multi-Stage Test Response Compactors”的美国临时专利申请No.60/853,055。在此通过参考引入上述每个申请。
技术领域
所公开的技术涉及测试电子电路,尤其是使用压缩硬件来测试电子电路。
背景技术
针对可能的缺陷测试电子电路可能生成大量测试数据(例如,测试响应),尤其是在电路较大和/或复杂的情况下。可以压缩电路中由扫描链存储的测试响应,以允许例如可以通过电路外部的自动测试设备(ATE)来使用较少的测试资源(例如,测试管脚)对该响应进行分析。存在测试响应压缩器,但是这些设备的压缩比通常限于扫描链的数目与压缩器输出数目的比。由此,需要一种有可能提供更高压缩比的压缩机制。
发明内容
在此公开了改进测试响应压缩器的示例性实施方式、此类压缩器的设计和操作方法以及使用此类压缩器的系统。此类压缩器的某些实施方式在此称作“X-(su)press”或者“X-press”测试响应压缩器,并且包括:第一压缩部分、第二压缩部分(在此有时称作“过载”部分)、以及用于选择性地对一个或者多个测试响应位进行掩码的扫描链选择逻辑。在此公开的技术的某些实施方式提供了1000x量级的压缩比。在此公开的压缩器的示例性实施方式可以维持与传统基于扫描的测试情况大致相同的覆盖以及大致相同的诊断辨析率。扫描链选择方案的某些实施方式可以显著降低或者完全消除在测试响应中出现的进入压缩器的未知状态。
所公开技术的各个方面和特征(可以单独实现或者可以彼此相结合来实现)可以包括以下内容:(1)与多个扫描链结合工作的多级测试响应压缩器架构,其通常保持了空间压缩的益处,并且提供相对较高的压缩比;(2)可以与压缩器集成的多层级扫描链选择逻辑;以及(3)用于根据扫描链的分级来针对每个图案确定用来抑制未知(“X”)状态的扫描链选择掩码的方法。
在所公开技术的某些实施方式中,提供了具有扫描链选择逻辑(例如,用于选择性地对一个或者多个测试响应位进行掩码)的两级测试响应压缩器。该压缩器的实施方式能够处理多种X状态属性,提供高于扫描链与压缩器输出比率的压缩比,和/或提供高诊断辨析率。另外,在某些实施方式中,片上压缩器和注册电路记录故障日志信息。这使测试时间显著降低。此外,在此描述的多级压缩器的实施方式适用于传统内核,其中在该传统内核中,仅可通过外部方案来实现较高的压缩比(这是由于其扫描链配置通常不能改变)。
另外,在此描述了一种用于合成选择逻辑以便对一个或者多个测试响应位进行掩码的示例性方法。这些技术可以减少操作选择逻辑所需的数据。此外,公开了用于针对选择逻辑来确定掩码位(在此也称作“掩码指令”或者“掩码指令位”)的示例性选择技术。
在此公开的一个示例性实施方式是用于压缩被测试电路的测试响应的装置。该装置例如包括:第一空间压缩器,包括多个第一压缩器输入和第一压缩器输出;寄存器,包括耦合至第一压缩器输出的寄存器输入以及多个寄存器输出;以及第二空间压缩器,包括耦合至所述多个寄存器输出的多个第二压缩器输入以及第二压缩器输出。在这些实施方式的某些实现中,寄存器可进行操作以通过寄存器输入来加载测试响应位,以及通过多个寄存器输出来并行地输出测试响应位。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器是无反馈的。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器包括相应的XOR(异或)门或者XNOR(异或非)门的网络。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器的至少一个是流水线化的空间压缩器。所述寄存器可以包括两个或者多个串联耦合的顺序元件。所述寄存器可进行操作以串行地加载所述测试响应位。在某些实施方式中,所述第一空间压缩器包括多个第一压缩器输出,并且在某些实施方式中,所述第二空间压缩器包括多个第二压缩器输出。
在其他实施方式中,所述装置可以进一步包括:第一组掩码逻辑,其耦合至多个第一压缩器输入;以及第二组掩码逻辑,其耦合在所述多个寄存器输出与所述多个第二压缩器输入之间。在某些实施方式中,所述装置进一步包括:具有一个或者多个选择逻辑输入以及多个选择逻辑输出的选择逻辑,所述多个选择逻辑输入耦合至所述第一组掩码逻辑的相应输入以及所述第二组掩码逻辑的相应输入,所述选择逻辑可进行操作以响应于在所述一个或者多个选择逻辑处接收的一个或者多个掩码指令位,来选择性地控制所述第一组掩码逻辑以及所述第二组掩码逻辑。在某些实施方式中,所述选择逻辑包括根据多项式(例如,描述至少一个选择逻辑输入与至少一个选择逻辑输出之间的相应关系的多项式)而配置的数字逻辑门(例如,XOR门或者XNOR门)的网络。在某些实施方式中,所述寄存器是第一寄存器,所述选择逻辑包括多个选择逻辑输入,并且所述装置进一步包括具有第二寄存器输入以及多个第二寄存器输出的第二寄存器,所述多个第二寄存器输出耦合至所述多个选择逻辑输入。在所述装置的某些实施方式中,所述掩码指令位例如是从外部测试器、片上存储器或者片上解压缩器接收的未压缩位。
在此公开的另一示例性实施方式是一种用于压缩被测试电路的测试响应的方法。在此示例性实施方式中,压缩多个未压缩测试响应位,由此产生第一组已压缩测试响应位。将所述第一组已压缩测试响应位加载到多个顺序元件之中。从所述多个顺序元件中并行地载出所述第一组已压缩测试响应位;以及进一步压缩所述第一组已压缩测试响应位。在某些实施方式中,所述加载发生在两个或者更多个时钟周期的第一时段,并且所述载出发生在一个时钟周期的第二时段。在某些实施方式中,在压缩和/或进一步压缩所述未压缩测试响应位之前,选择性地对一个或多个所述未压缩测试响应位进行掩码。在某些实施方式中,在压缩所述未压缩所述测试响应位时和/或在进一步压缩所述已压缩测试响应位时,加载用于控制所述选择掩码的掩码指令位。还公开了用于压缩测试响应的电路,其被配置为执行这些方法。
在此公开的另一示例性实施方式是一种用于压缩被测试电路的测试响应的装置。此实施方式的装置包括:具有相应输入和输出的两个或者更多个顺序元件。所述顺序元件可进行操作以通过所述顺序元件的所述输入来输入两个或者更多个未压缩测试响应位的群组,并且进一步可进行操作以通过所述顺序元件的所述输出来并行地输出未压缩测试响应位的群组。所述装置进一步包括第一空间压缩器,其包括多个第一压缩器输入以及第一压缩器输出。所述第一压缩器输入耦合至所述顺序元件的所述输出。在某些实施方式中,所述装置进一步包括第二空间压缩器,其包括多个第二压缩器输入以及第二压缩器输出。在这些实施方式中,所述多个第二压缩器输入之一耦合至所述第一压缩器输出。在某些实施方式中,所述两个或者更多个顺序元件是所述被测试电路的扫描链中的扫描单元。在某些实施方式中,所述两个或者更多个顺序元件形成耦合至所述被测试电路的扫描链的输出的寄存器。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器是无反馈的。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器包括相应的XOR门或者XNOR门的网络。在某些实施方式中,所述第二压缩器输入耦合至多个附加空间压缩器的输出。在这些实施方式中,每个附加空间压缩器被配置为输入从附加的相应顺序元件并行接收的附加未压缩测试响应位。某些实施方式进一步包括:第一组掩码逻辑,其耦合至所述多个第一压缩器输入;以及第二组掩码逻辑,其耦合至所述多个第二压缩器输入。在某些实施方式中,所述装置进一步包括选择逻辑,其具有一个或者多个选择逻辑输入以及多个选择逻辑输出。在这些实施方式中,所述多个选择逻辑输入耦合至所述第一组掩码逻辑的相应输入以及所述第二组掩码逻辑的相应输入。此外,所述选择逻辑可进行操作以响应于在所述一个或者多个选择逻辑处接收的一个或者多个掩码指令位,来选择性地控制所述第一组掩码逻辑以及所述第二组掩码逻辑。所述选择逻辑例如可以包括根据多项式而配置的XOR门或者XNOR门的网络。在某些实施方式中,所述装置进一步包括:具有寄存器输入以及多个寄存器输出的寄存器。在这些实施方式中,所述多个寄存器输出耦合至所述多个选择逻辑输入。
在此公开的另一示例性实施方式是一种测试被测试电路的方法。在此示例性实施方式中,在第一间隔期间,向被测试电路的输入提供测试图案数据。在第二间隔期间,向所述被测试电路的所述输入提供用于对电路进行掩码的掩码指令。在某些实施方式中,所述第一间隔先于所述第二间隔。在其他实施方式中,所述第二间隔先于所述第一间隔。在某些实施方式中,所述第一间隔包括第三间隔和第四间隔,并且所述第二间隔包括第五间隔和第六间隔,并且所述第三和第四间隔在所述第五和第六间隔之间散布。在某些实施方式中,在从所述被测试电路载出根据所述测试图案数据生成的测试图案的测试响应时,将所述掩码指令应用于掩码电路。在某些实施方式中,在从所述被测试电路载出根据其他测试图案数据生成的测试图案的测试响应时,将所述掩码指令应用于掩码电路。所述方法进一步包括:根据所述掩码指令来对一个或者多个测试响应位进行掩码。还公开了用于执行这些示例性方法的电路。
在此公开的另一示例性实施方式是一种生成用于选择电路的选择逻辑的方法,所述选择电路用以在测试响应比较期间对状态进行掩码。在此实施方式中,生成可能被包含在接受多项式组中的候选多项式(例如,随机生成)。所述候选多项式以及所述接受多项式描述所述选择逻辑的两个或者多个输入与所述选择电路的相应输出的连接。选择一个或者多个多项式测试组。所述测试组分别至少包括所述候选多项式以及来自所述接受多项式组的一个或者多个多项式。针对所述测试组来计算等级值。至少部分基于所述等级值来选择候选多项式以包括在所述接受多项式组中。在一个或者多个计算机可读介质上存储接受多项式组(以及所述候选多项式)。在某些实施方式中,所述方法还包括:生成所述选择逻辑的电路描述,以及在一个或者多个计算机可读介质上存储所述选择逻辑的所述电路描述。在这些实施方式中,所述选择逻辑实现来自所述接受多项式组的多项式。在某些实施方式中,所述方法进一步包括:确定所述候选多项式是否与所述接受多项式组中的所述一个或者多个多项式共享超过固定数目的项;以及如果所述候选多项式确实与所述接受多项式组中的所述一个或者多个多项式共享超过所述共享数目的项,则生成新的候选多项式。在某些实施方式中,计算所述等级值的所述动作进一步包括:将所述两个或者更多个多项式测试组的所述等级值进行平均,并且选择所述候选多项式的所述动作至少部分地基于所述平均等级值。在某些实施方式中,针对多个附加候选多项式重复生成、选择以及计算的动作。在某些实施方式中,选择所述候选多项式以包括在所述接受多项式组中的所述动作进一步基于,将所述候选多项式的平均等级值与所述附加候选多项式的相应平均等级值进行比较。在某些实施方式中,计算两个或者更多个多项式组的所述等级值的所述动作包括:确定所述多项式的两个或者更多个测试组的简化行阶梯形式。
在此公开的另一示例性实施方式是一种生成用于选择电路的掩码指令的方法,所述选择电路可进行操作以在被测试电路的测试期间对测试响应位进行掩码。在此实施方式中,对应用于被测试电路的测试图案进行仿真以生成测试响应。标识所述测试响应中的一个或者多个未知状态。至少部分基于一个或者多个标识的未知状态,选择一个或者多个测试响应位以用于掩码。在一个或者多个计算机可读介质上存储所述已选择的测试响应位的一个或者多个指示。在某些实施方式中,至少部分地基于所述所选择的一个或者多个测试响应位来对用于选择电路的掩码指令进行编码。在某些实施方式中,标识所述测试响应中的一个或者多个故障观察点,并且用于掩码的所述一个或者多个测试响应位的所述选择进一步至少部分地基于所述一个或者多个已标识的故障观察点。在某些实施方式中,选择一个或者多个测试响应位以用于掩码的所述动作包括:至少部分地基于所述一个或者多个已标识的未知状态、所述一个或者多个已标识的故障观察点、或者所述一个或者多个已标识的未知状态和所述一个或者多个已标识的故障观察点两者,来为所述被测试电路的已选择扫描链的一个或者多个扫描单元指派权重。所述方法还可以包括:对所述已选择扫描链内的一个或者多个扫描单元群组的所述权重进行合计;至少部分地基于所述合计权重来计算所述已选择扫描链的一个或者多个记分;以及至少部分地基于所述记分来确定是否对来自所述已选择扫描链的测试响应位进行掩码。在某些实施方式中,在应用所述测试图案的所述仿真之后,所述权重表示在所述扫描单元中存储的值的类型。在某些实施方式中,针对所述已选择扫描链而计算的所述记分之一与所估计的在所述已选择扫描链被掩码的情况下将保留的错误数目成比例,和/或针对所述已选择扫描链而计算的所述记分之一与所估计的在所述已选择扫描链未被掩码的情况下将保留的错误数目成比例。
在此公开的另一示例性实施方式是一种生成用于选择电路的掩码指令的方法,所述选择电路可以进行操作以在电路测试期间对测试响应进行掩码。根据此实施方式,为所述已选择扫描链的一个或者多个扫描单元指派权重。对所述已选择扫描链内的一个或者多个扫描单元组的所述权重进行合计。至少部分地基于所述合计权重来计算所述已选择扫描链的一个或者多个记分。至少部分地基于所述记分来确定是否对来自所述已选择扫描链的测试响应位进行掩码。将所述确定存储在一个或者多个计算机可读介质上。在某些实施方式中,至少部分地基于所述确定来对用于所述选择电路的掩码指令进行编码;以及将所述掩码指令存储在一个或者多个计算机可读介质上。在某些实施方式中,在将测试图案应用于被测试电路之后,所述权重表示在所述扫描单元中存储的值的类型。在某些实施方式中,指派权重的所述动作包括:将第一权重指派给捕获到未知值的、所述已选择扫描链中的第一相应扫描单元。在某些实施方式中,指派权重的所述动作包括:将第二权重指派给捕获到指示目标故障的值的、所述已选择扫描链中的第二相应扫描单元。在某些实施方式中,所述第二权重大于所述第一权重。在某些实施方式中,指派权重的所述动作进一步包括:将第三权重指派给捕获到既不是未知值又不指示目标故障的值的、所述已选择扫描链中的第三相应扫描单元。在某些实施方式中,所述第二权重大于所述第一权重以及所述第三权重两者,并且所述第三权重大于所述第一权重。在某些实施方式中,针对所述已选择扫描链而计算的所述记分之一与所估计的在所述已选择扫描链被掩码的情况下将保留的错误数目成比例,和/或针对所述已选择扫描链而计算的所述记分之一与所估计的在所述已选择扫描链未被掩码的情况下将保留的错误数目成比例。在某些实施方式中,针对一个或者多个附加扫描链重复指派、合计以及计算的所述动作,由此计算所述一个或者多个附加扫描链中每一个的一个或者多个记分。在某些实施方式中,确定是否对来自所述已选择扫描链的测试响应位进行掩码的所述动作进一步包括:对所述已选择扫描链的所述一个或者多个记分与每个相应附加扫描链的所述一个或者多个记分进行比较。
在此公开的另一示例性实施方式包括一种在测试系统中测试多个电路的方法。在多个所述电路中的一个电路的第一输入处,接收用于控制掩码电路的掩码数据。在所述多个电路的所述一个电路的第二输入处,接收期待测试响应数据,以用于评估在所述多个电路中的所述一个电路的测试期间生成的测试响应。在此示例性实施方式中,在所述第一和第二输入处同时接收所述掩码数据以及所述期待测试响应数据。在某些实施方式中,所述测试响应是已压缩的测试响应。在某些实施方式中,将所述测试响应加载到多输入移位寄存器(MISR)中;在所述MISR中生成一个或者多个压缩器签名;以及将所述一个或者多个压缩器签名存储至一个或者多个计算机可读介质中。在某些实施方式中,根据所述一个或者多个压缩器签名来生成候选故障位置列表;以及将所述候选故障位置列表存储至一个或者多个计算机可读介质。在某些实施方式中,至少部分地基于所述测试响应以及所述期待测试响应数据来生成一个或者多个错误向量。在这些实施方式中,将所述错误向量压缩到多输入移位寄存器中,以生成一个或者多个压缩器签名;并且将所述一个或者多个压缩器签名存储至一个或者多个计算机可读介质。所述多输入移位寄存器可以根据在多个偏移周期上输入的多个错误向量来生成压缩器签名。例如,所述多输入移位寄存器可以针对每个测试图案生成一个压缩器签名。在某些实施方式中,至少部分地基于所述测试响应以及所述期待测试响应数据来生成错误向量(例如,针对单个偏移周期);并且将所述错误向量存储至一个或者多个计算机可读介质。在某些实施方式中,将所述测试响应加载到优先编码器电路中。在这些实施方式中,所述测试响应包括来自三个或者更多个压缩器输出的测试响应值,以及所述优先编码器电路被配置为检测在单个偏移周期中输入的三个或者更多个错误。
在此公开的另一示例性实施方式是一种装置,包括:多个扫描链群组,多个扫描链群组的每个包括一个或者多个扫描链以及一个或者多个对应的扫描链群组输出。所述装置进一步包括多个压缩器电路,多个压缩器电路的每个包括压缩器输入以及压缩器输出。所述装置还包括:多输入移位寄存器(MISR),其包括MISR输入以及MISR输出。所述装置还包括多个压缩器,多个压缩器的每个包括:一个或者多个压缩器输入,所述压缩器输入耦合至所述多个扫描链群组中一个相应扫描链群组的扫描链组输出;并且进一步包括:压缩器输出,所述压缩器输出直接耦合至所述MISR输入中一个相应的MISR输入,并且还耦合至相应压缩器的所述压缩器输入。在某些实施方式中,所述装置进一步包括存储器,所述存储器具有耦合至所述MISR输出的第一输入以及耦合至图案计数器的第二输入。在某些实施方式中,所述装置进一步包括多个掩码门,每个掩码门耦合在所述压缩器中一个相应压缩器的所述压缩器输出与所述MISR的相应输入之间。
在此公开的另一示例性实施方式是一种装置,所述装置包括多个扫描链群组,多个扫描链群组的每个包括一个或多个扫描链以及一个或多个相应的扫描链群组输出。此实施方式的装置进一步包括:多个压缩器电路,多个压缩器电路的每个包括压缩器输入以及压缩器输出。所述装置还包括多输入移位寄存器(MISR),所述MISR包括MISR输入,其耦合至相应压缩器的所述压缩器输出以及MISR输出。所述装置还包括多个压缩器,多个压缩器的每个包括:一个或者多个压缩器输入,其耦合至多个扫描链群组的一个相应扫描链群组的扫描链群组输出;并且进一步包括:压缩器输出,其耦合至相应压缩器的所述压缩器输入。所述装置还包括耦合至一个或者多个所述压缩器输出的第一采集器电路。所述第一采集器电路可被配置为记录所述多个压缩器中的哪个或者哪些在测试期间生成了一个或者多个错误输出。所述装置还包括耦合至一个或者多个压缩器输出的第二采集器电路。所述第二采集器电路可被配置为记录针对所述一个或者多个错误输出的一个或者多个时间指示符。在某些实施方式中,第二采集器电路通过OR门耦合至两个或者更多个压缩器输出。某些实施方式进一步包括具有耦合至所述MISR输出的输入的存储器。某些实施方式进一步包括多个掩码电路,每个掩码电路具有耦合至相应压缩器的所述压缩器输出的掩码电路输入以及耦合至MISR的相应MISR输入的掩码电路输出。
在此公开的另一示例性实施方式是一种用于测试多个电子电路的装置。所述装置包括多个扫描链群组,所述多个扫描链群组的每个包括一个或者多个扫描链以及一个或者多个相应的扫描链群组输出。所述装置还包括多个压缩器电路,所述多个压缩器电路的每个包括压缩器输入以及压缩器输出。所述装置还包括编码器电路,其包括多个编码器输入以及编码器输出。所述编码器输入耦合至相应的压缩器输出。所述装置还包括多个压缩器,每个压缩器包括:一个或者多个压缩器输入,所述压缩器输入耦合至所述扫描链群组中一个相应扫描链群组的扫描链群组输出;并且进一步包括:压缩器输出,所述压缩器输出耦合至相应压缩器的所述压缩器输入。此实施方式的所述编码器被配置为检测从所述压缩器输出处输出的两个以上的错误值(例如,在单个偏移周期中)。所述编码器还可以被配置为检测从所述压缩器输出处输出的两个或者更少的错误值。某些实施方式进一步包括多个掩码电路,每个掩码电路具有耦合至相应压缩器的所述压缩器输出的掩码电路输入以及耦合至相应编码器输入的掩码输出。某些实施方式还包括耦合至所述编码器输出的存储器。
在此公开的任何方法可以实现为计算机可读介质,其包括用于使计算机执行所描述方法的计算机可执行指令。此外,还公开了一种计算机可读介质,其存储有所公开的任何压缩器所产生的签字,存储有所公开的任何方法所标识的故障候选或者故障扫描单元候选的列表,存储有用于实现所公开的任何压缩器实施方式的电路描述,或者存储有所描述的任何方法的最终结果或者中间结果。
从下文参考附图进行的详细说明中,本发明的上述以及其他目的、特征以及优势将变得易见。
附图说明
图1示出了测试响应压缩器架构的示例性实施方式;
图2示出了用于压缩测试响应的方法的一个实施方式的框图;
图3示出了可以如何使用选择器电路来处理被测试电路的扫描链中可能出现的X状态的一个示例;
图4示出了测试响应压缩器架构的其他实施方式的框图;
图5示出了测试响应压缩器架构的其他实施方式的框图;
图6示出了测试响应压缩器架构的其他实施方式的框图;
图7示出了测试响应压缩器架构的其他实施方式的框图;
图8示出了测试响应压缩器架构的其他实施方式的框图;
图9示出了测试响应压缩器架构的其他实施方式的框图;
图10示出了用于确定与选择器电路一起使用的掩码信号的方法的一个实施方式的框图;
图11示出了扫描链表示的一个实施方式;
图12示出了用于选择扫描链进行掩码的方法的一个实施方式的框图;
图13示出了用于在存在选择性压缩器的情况下使用测试图案的方法的一个实施方式的框图;
图14和图15示出了描述使用在此描述的方法和装置的试验结果的表格;
图16示出了选择逻辑电路的一个实施方式;
图17示出了用于生成选择电路的控制逻辑的方法的一个实施方式的框图;
图18示出了选择逻辑电路的一个实施方式;
图19示出了查找完备(top-up)激励以用于测试响应压缩器架构的方法的一个实施方式的框图;
图20示出了示例性片上测试架构的一个实施方式的框图;
图21示出了优先编码器的一个实施方式的框图;
图22示出了示例性片上测试架构的另一实施方式的架构;
图23示出了示例性片上测试架构的又一实施方式的框图;
图24示出了与图23的片上测试架构一起使用的垂直采集器电路的一个实施方式的框图;
图25示出了与图23的片上测试电路压缩器架构一起使用的水平采集器电路的一个实施方式的框图;
图26示出了用于诊断的转换电路的框图;
图27示出了执行对被测试电路的故障诊断的一个示例性方法的框图;
图28示出了一个网络的示意图,可以使用该网络来执行所公开的任何方法、或者生成所公开的任何压缩器实施方式;
图29是分布式计算网络的示意图,可以使用该分布式计算网络来执行所公开的任何方法、或者生成所公开的任何压缩器实施方式;
图30是示出如何在图28或者图29的网络中生成所公开压缩器的实施方式的流程图;
图31示出测试响应压缩器架构的另一实施方式的框图;
图32示出测试响应压缩器架构的另一实施方式的框图;以及
图33示出测试响应压缩器架构的另一实施方式的框图。
具体实施方式
下面所公开的是电子电路测试技术以及相关联装置的代表性实施方式,不应以任何方式将其理解为限制性的。相反,本公开涉及所公开的各种方法、装置及其等效设置的所有新颖的、非显而易见的特征和方面,其形式可以是单独的或者是相互之间的各种组合与子组合。所公开的技术不限于任何特定方面、特征或者其结合,所公开的方法和装置也不需要任何一个或者多个特定优势都存在或者解决任何一个或者多个特定的问题。
除非上下文明确指出,否则在本申请以及权利要求书中所使用的单数形式“一个”、“一种”以及“该”包括复数形式。另外,术语“包括”意味着“包含”。此外,除非上下文指明,否则术语“耦合”意味着电子或者电磁地连接或者链接,并且包括直接连接或者直接链接以及通过一个或者多个中介元件的间接连接或者间接链接二者,这并不影响电路的预期操作。
尽管为了方便表示而以特定、连续的顺序描述了所公开方法和装置的某些操作,但应该理解,除非下文特别记载需要特定的排序,否则这种描述方式涵盖了重新排列。例如,在某些情况下,顺序描述的操作可以并发地重新设置或者执行。此外,为了简单起见,附图没有示出所公开方法和装置可以与其他方法和装置相结合使用的各种方式。另外,描述有时使用诸如“确定”和“选择”之类的术语来描述所公开的方法。这些术语是所执行的实际操作的高层抽象。与这些术语相对应的实际操作可以根据具体的实现而有所变化,这是本领域普通技术人员易于辨别的。
所公开的实施方式例如可以通过使用基于扫描的或者部分基于扫描的测试的各种集成电路来实现(例如,专用集成电路(ASIC)(包括混合信号ASIC)、片上系统(SoC)、或者诸如现场可编程门阵列(FPGA)的可编程逻辑设备(PLD))。可以在各种类型的电子设备中使用此类集成电路,其范围从便携电子设备(诸如,蜂窝电话、媒体播放器等)到大规模的装置(诸如,计算机、控制系统、飞机、汽车等)。认为包括具有所公开技术的实施方式或者等效项的集成电路的所有此类装置均处于本公开的范围之中。
可以使用包含存储在一个或者多个计算机可读介质上的计算机可执行指令的软件来设计、验证和/或仿真在此描述的任何装置。例如,此类软件可以包括:电子设计自动化(EDA)软件工具,诸如设计、验证或者仿真工具。类似地,可以使用包含存储在一个或者多个计算机可读介质上的计算机可执行指令的软件来执行或者仿真(至少部分地)在此所述的任何方法。此外,所公开方法的任何中间或者最终结果可以存储在一个或者多个计算机可读介质上。例如,可以使用软件工具来确定和存储用以控制任何所公开装置的一个或者多个控制信号(例如,掩码位)。可以在单一计算机或者在连网计算机(例如,经由因特网、广域网、局域网、客户-服务器网络或者其他此类网络)上执行任一此类软件。为清楚起见,仅描述了基于软件实现的某些选择的方面。省略了其他公知细节。出于相同原因,没有进一步详细描述计算机硬件。应该理解,所公开的技术不限于任何具体的计算机语言、程序或者计算机。例如,可以使用宽广范围的商业可用的计算机语言、程序以及计算机。
此外,可以将所公开的任何装置作为电路设计信息存储在一个或者多个计算机可读介质上。例如,可以创建(或者更新)并存储包含设计信息(例如,网表、HDL文件或者GDSII文件)的一个或者多个数据结构,以包括用于所公开的任何装置的设计信息。可以在本地计算机或者通过网络(例如,由服务器计算机)来创建(或者更新)并存储此类数据结构。类似地,可以将所公开的任何装置产生的压缩测试响应以及用以操作所公开的任何装置的控制信号(例如,掩码位)存储在一个或者多个计算机可读介质(例如,在一个或者多个数据结构中)上。认为此类计算机可读介质处于所公开技术的范围之中。
此外,可以在计算机仿真、ATPG或者其他EDA环境中使用所公开的任何方法,其中通过使用存储在一个或者多个计算机可读介质上的电路表示来确定或者分析测试图案、测试响应以及已压缩的测试响应。然而,出于演示目的,本公开有时通过其物理对应部分(例如,扫描单元、空间比较器、寄存器、选择逻辑、逻辑门以及其他这样的术语)来表示电路或者其电路组件。然而应该理解,在本公开或者权利要求书中对物理组件的任何引用包括在仿真、ATPG或者其他此类EDA环境中使用的此类电路组件的表示。
所公开技术的介绍及概要
测试响应压缩与激励压缩在处理测试数据量的增长中具有重要作用。尽管各种压缩方案的发展反映了各种应用域的需要,然而期望测试响应压缩器针对各种未知状态属性保持任何扫描单元的可观察性(observability),同时保持高压缩比,从而提供检测在真实硅中发现的各种故障的可能性和/或实现设计简单化。还期望利用最少的附加信息量来控制压缩器操作,从而使此数据对于有效测试数据量压缩的负面影响很小或者没有。
在某些情况下,当应用测试响应压缩时,未知状态(在此还称作“X状态”)可能使得测试无效。在多种基于扫描的设计中,一旦在扫描单元中捕获到X状态,则随后将其输入压缩器。由此,它们可以影响结果签名,尤其是在使用时间压缩器的情况下,其中X状态可能快速倍增(基于反馈扇出)并且保留在压缩器中直到读出操作。在某些压缩器架构(诸如,在反馈中使用简单二项式的模时间压缩器)中可以防止未知状态的倍增。在某些情况下,此类设置可以显著降低X状态的负面影响。组合压缩器可以清除X状态,然而为了避免来自扫描链的掩码输入以及为了允许诊断,此类压缩器通常必须观察两个或者多个输出上的每个扫描链。有限存储器压缩器可以在多个扫描偏移周期中清除X状态。然而,即使将测试响应压缩器设计为容忍预定数目的X状态,其用以处理各种X状态属性的能力通常需要扫描链选择(掩码)机制。例如,参见美国专利No.6,557,129以及No.6,829,740,在此通过参考将其引入。否则,某些不能由自动测试图案生成(ATPG)消除的X状态的组合可能阻碍某些扫描单元的可观察性并且导致显著的故障覆盖下降。
示例性测试电路压缩器架构
图1示出了在具有n个扫描链120的嵌入确定性测试环境中的压缩器架构(X-Press压缩器架构)示例性实施方式100,其包括第一测试响应压缩器110以及第二测试响应压缩器152。可以通过一个或者多个输入通道(或者输入路径)132、134经由解压缩器130向扫描链120提供压缩测试激励。在某些实施方式中,这些通道还可与输入通道136、138结合使用,以便经由组件160、162来向选择器电路140递送掩码位(掩码指令)。在特定实施方式中,组件160、162是流水线寄存器,而在其他实施方式中,它们可以是解复用器。在其他实施方式中,在已压缩测试激励和掩模位之间未必存在数据相关性,将在下文中更为全面地讨论。压缩器110可以是包括XOR或者XNOR树的空间压缩器(或者空间性压缩器),并且可以经由选择器电路140耦合至扫描链120。第一压缩器110的输出112可以耦合至v位的过载寄存器150。在某些实施方式中,过载寄存器150可以实现为顺序加载检测器,例如移位寄存器。过载寄存器150可以包括一个或者多个顺序元件,诸如串联耦合的翻转器或者锁存器。可以将过载寄存器150配置为从第一压缩器110接收压缩测试响应,并且将其提供至第二压缩器152。第二压缩器152可以是包括XOR或者XNOR树的空间压缩器(或者空间性压缩器)。在特定实施方式中,第一压缩器110和/或第二压缩器152包括无反馈压缩器。在其他实施方式中,第一压缩器110和/或第二压缩器152包括流水线化的空间压缩器。
图2示出了用于使用测试响应压缩器架构(例如图1的实施方式100)来压缩测试响应的方法的一个示例性实施方式。在方法动作210中,压缩器110对来自扫描链120的测试响应位进行压缩。在方法动作220中,将已压缩的测试响应位载入v位的过载寄存器150。在示例性实施方式中,已压缩测试响应位串行地载入寄存器。此加载例如可以发生在两个或者多个周期的时段之上。在方法动作230中,由第二压缩器152进一步压缩已压缩测试响应。在示例性实施方式中,将过载寄存器的内容并行地载出(可以在一个周期时段之上)到第二压缩器152,并且每v个扫描偏移周期进行一次压缩。过载寄存器150的载出以及第二压缩器152中的压缩可以发生在与v个扫描偏移的最后一个偏移周期相同的时钟周期期间。在某些实施方式中,在每个时钟周期期间,将已压缩测试响应位载出并且压缩到第二压缩器152中,但是仅仅每v个扫描偏移周期对其进行一次记录。
使用两级压缩方案(诸如,图2中所示的方案)潜在可能实现的扫描链输入与压缩器输出的压缩比可以超过由扫描链的数目n和压缩器输出的数目w之间的比率近似确定的界限。例如,在某些实施方式中,可以将压缩比提高大约v的因子(例如,比率可以近似于n×v:w)。
例如,根据图1架构的测试响应压缩器架构的一个实施方式包括:两个测试器输入通道(例如,通道132、134)、一个压缩器输出通道(w=1)、100个内部扫描链(n=100)以及过载寄存器十位(v=10)。利用传统技术,扫描链与测试器输入通道的比率设置最大压缩等级(例如,50x)。然而,使用所公开的技术,测试数据压缩比约为100×10/1=1000x。
参考图1,选择器电路140可以包括第一逻辑门群组142以及第二逻辑门群组144。这里有时将此类逻辑门的一个或多个群组称作“掩码逻辑”。在所描述的实施方式中,将这些门示出为AND(与)门,但是在其他实施方式中,还可以使用其他逻辑门(包括多种类型的逻辑门)。选择器电路140可以进一步包括选择逻辑电路146,其被配置为向第一和第二逻辑门群组142、144中的至少一些门施加信号。在某些实施方式中,选择器电路140可以响应于所接收的掩码位(例如,通过输入路径136、138接收)来行动。在其他实施方式中,经由掩码寄存器148将至少一些掩码位提供给选择逻辑146。将在下文中更为详细地描述选择逻辑电路146的设计和实现。
在某些实施方式中,选择器电路140可以对第一压缩器110和/或第二压缩器152的一个或者多个选定输入进行阻止或者“掩码”。例如,选定的输入可以承载来自扫描链120和/或过载寄存器150的未知状态和/或不必要的响应。可以提供对逻辑门群组142、144的输入,使得未知状态和/或不必要的响应不会到达压缩器110、152,而由已知值(例如,“0”或者“1”)来代替。
在某些实施方式中,可以向逻辑门群组142、144中的一个或者多个门提供以下信号。为了阻止选定的扫描链输出或者选定的过载寄存器输出(例如,为了抑制X状态),可以向一个或者多个门提供“0”值。可以向一个或者多个门提供“1”值,以使得选择器电路140将值(例如,指示目标或者非目标故障的值)传送至压缩器。对于其内容被认为不重要的扫描链输出或者过载输出(例如,其与指示目标或者非目标故障的扫描单元没有关联),可以将“0”或者“1”的“不关心”值指派给逻辑门以用于它们的输出。这些值可以根据实现而有所变化。
在本申请以及权利要求书中,“第一压缩器级”通常指第一压缩器110以及逻辑门群组142,而“第二压缩器级”通常指第二压缩器152、逻辑门群组144以及过载寄存器150。
图3是示出了如何使用选择器电路140来处理在扫描链120中出现的X状态的一个示例的框图。在图3的描述中,过载寄存器150是4位移位寄存器。由此,在图3的左半部分中,扫描链120中的数据周期被示为分组为四个周期的块,如由大些字母“A”、“B”以及“C”所示。在每个块中的各个周期分别以小写字母“a”、“b”、“c”和“d”标记。在图3的右半部分中,示出了将块A的已压缩测试响应位302载入过载寄存器150中。(尽管图3的左半部和右半部示出的不是同时发生的事件,然而为了方便参考,将其示出在一个附图中)。图3的右半部中的块A包括对来自多个扫描链的未压缩测试响应位进行压缩的结果的位。例如,已压缩测试响应位308是来自A块的d周期的未压缩测试响应位1至n的XOR值。将块B和块C的已压缩测试响应位304、306分别连续加载到过载寄存器150之中。
如图3左侧示出,扫描链周期310(即,块B的周期b)在扫描链2的单元312中包含X状态。此X状态可能隐藏在相同扫出(scan-out)周期中(即,在其他扫描链中的块B的周期b中)捕获的错误。接着,此X状态可能使B中的测试结果整体无效(例如,在由压缩器152压缩块B之后)。这是因为,在所述实施方式中以及在没有任何掩码的情况下,包括块B的单元的已压缩内容以这样的方式被载入到过载寄存器150之中:由第二压缩器152同时处理用于块的周期a、b、c和d的数据。在某些实施方式中,可由逻辑门142之一对X状态进行掩码,从而不将X状态传送至第一压缩器110。在某些实施方式中,基于每个图案来向逻辑门提供掩码信号,而在其他实施方式中,以其他间隔(例如,基于多图案、逐个周期基础、或者多周期基础)应用掩码信号。由此,使用逻辑门142对扫描链120中的一个单元进行掩码导致对整个扫描链的值进行掩码,这可能妨碍从经过掩码的扫描链观察到指示目标故障(错误值)的测试响应位。一个备选方案是,允许由第一压缩器110来压缩周期310。继而可以使用第二级逻辑门144对包含未知状态的已压缩b周期进行掩码。如果基于每个图案来向第二级逻辑门144提供掩模信号,则在此级的掩码不但可以潜在地消除在扫描链中的每个第v个单元中出现的错误,而且还可以消除在那些单元中捕获的未知状态。
图4至图7中示出了测试电路压缩器架构的其他实施方式。图4示出了测试响应压缩器架构400的一个实施方式,其中将扫描链410划分为群组412和414。来自每个扫描链的数据由分离的压缩器420、422来压缩,并被馈送至相应的分离的过载寄存器430、432。过载驱动器430、432中的值可以由其他压缩器440来压缩。与上文描述类似,可以使用一个或多个选择器电路450对去往压缩器420、422、440的输入进行掩码。在图4的实施方式中,可以对一个过载寄存器中的位进行掩码,而将其他过载寄存器中的位保持为未掩码。由此,可以降低扫描链群组412、414之一中的X状态对从其他扫描链群组获取的结果的影响。尽管在图4中仅示出了两个第一级压缩器以及过载寄存器,应该理解,在示出的架构中可以使用多个其他压缩器和寄存器。
图5示出了被配置为提供多个输出的测试响应压缩器架构500的另一实施方式。类似于图4的测试电路压缩器架构,架构500包括被划分为群组512、514的扫描链510,群组520、522提供测试响应数据,该数据由压缩器520、522压缩。这些压缩器将数据馈送到相应的过载寄存器530、532中。在架构500中,过载寄存器530、532将已压缩的响应馈送至分离的相应压缩器540、542中,而不是馈送至相同压缩器中。在对压缩器520、540、542的一个或者多个输入进行或者不进行掩码的情况下,这都可使第一扫描链组不受第二扫描链组中X状态的影响。在可以使用掩码的实施方式中,架构可以进一步包括一个或者多个选择器电路550。尽管在图5中仅示出了两个第一级压缩器、过载寄存器以及第二级压缩器,应该理解,在示出的架构中可以使用多个附加压缩器和寄存器。
图6示出了被配置为提供多个输出的测试响应压缩器架构600的其他实施方式。在此实施方式中,压缩器610、612压缩来自多个相应扫描链组(未示出)的输出,并且将经过压缩的结果提供给相应的过载寄存器620、622。在过载寄存器620、622向两个压缩器630、632提供输入。在此实施方式中,可以向压缩器630、632提供来自过载寄存器的非连续位,以降低突发错误的影响。例如,可以将来自过载寄存器620的输出640路由至压缩器632上的输入642,而不是路由至压缩器630上的输入。还可以使用其他路由配置。测试电路压缩器架构可以进一步包括一个或者多个选择器电路650。尽管在图6中仅示出了两个第一级压缩器、过载寄存器以及第二级压缩器,应该理解,在示出的架构中可以使用多个其他压缩器和寄存器。
图7中示出了测试响应压缩器架构700的另一实施方式。所描述的实施方式被配置为在提供单个输出的同时降低突发错误的影响。来自压缩器710的已压缩输出被提供给第一过载寄存器720以及多路复用器(MUX)730。过载寄存器720还馈送至MUX730,其继而耦合至第二过载寄存器722。过载寄存器720、722由时钟信号732来管理时钟,并且时钟信号的划分版本(由时钟划分器733产生)被提供给MUX730。此布置可以允许过载寄存器722向压缩器740提供非连续的输出群组。架构700还进一步包括一个或者多个选择器电路750。尽管在图7中仅示出了一个第一级压缩器、两个过载寄存器以及一个第二级压缩器,应该理解,在示出的架构中可以使用多个附加的压缩器和寄存器。
图8示出了测试响应压缩器架构800的另一实施方式的框图。在此实施方式中,一个或者多个过载寄存器802、804放置在压缩器架构800的第一级中。更具体地,过载寄存器802、804接收来自一个或者多个扫描链的输入。例如,过载寄存器802接收来自扫描链812的输入。尽管图8仅示出了两个过载寄存器,应该理解,在此实施方式中,一个过载寄存器耦合至每个扫描链810。在其他实施方式中,其他数目的寄存器耦合至扫描链。过载寄存器802、804被配置为将来自其相应扫描链的输入载入第一级压缩器中。例如,过载寄存器802、804将从扫描链812、814接收的值分别载入第一级压缩器822、824中。通常,将值并行地从过载寄存器802、804载入第一级压缩器822、824中。来自第一级压缩器822、824的输出随后可以由第二级压缩器830进行压缩。压缩器架构800可以进一步包括选择器电路840,其用于对去往压缩器822、824、830的一个或者多个输入进行掩码。选择器电路840可以类似于上述其他压缩器架构的选择器电路。尽管在图8中仅示出了两个第一级压缩器以及过载寄存器,应该理解,在示出的架构中可以使用多个其他压缩器和寄存器。
图9示出了测试响应压缩器架构900的其他实施方式的框图。在此实施方式中,代替从过载寄存器向第一级压缩器902提供输入,可以每v个时钟周期从扫描链中的v个扫描单元(通常是链的最后v个单元)直接并行地加载输入。例如,在图9中,扫描链912从链912末端的v个扫描单元922向压缩器902提供输入。(在图9中,为了清晰起见,未示出各单元)。
图31示出了测试响应压缩器架构3100的其他实施方式的框图,该测试响应压缩器架构3100包括第一级中的压缩器3100以及在第二级中的压缩器3120。压缩器3100包括耦合至相应过载寄存器3130、3132的多个输出3112、3114。压缩器3120包括多个输出3122、3124、3126。通常,在此描述的测试压缩器架构可以适用于包括具有多个输出的一个或者多个压缩器的实施方式。
图32示出了测试响应压缩器架构3200的另一实施方式的框图,其中一个或者多个扫描链输出和/或过载寄存器输出中的每一个可以驱动多个压缩器输入(例如,输出可以具有扇出)。例如,在所述实施方式中,扫描链3202具有扫描链输出3204,扫描链输出3204通过相应的掩码门3214、3216耦合至压缩器输入3210、3212。由此,扫描链输出3204可驱动两个压缩器3220、3222。过载寄存器输出3230类似地分别驱动两个第二级压缩器3240、3242的输入3232、3234。
图33示出了测试响应压缩器架构3300的其他实施方式的框图。此实施方式在以下方面类似于图9的架构900:可以从扫描链中的v个单元并行地加载去往压缩器3310的输入。例如,扫描链3320从扫描链3320的扫描单元3330向压缩器3310提供输入。在所述实施方式中,压缩器3310包括多个输出,以及压缩器3300是单级的压缩器架构。在其他实施方式中,压缩器输入可以从一个或者多个过载寄存器加载,而不是从扫描链自身直接加载,这类似于图8的架构800。
掩码信号选择方法
用于选择器电路的掩码信号(例如,在图1的选择器电路140中,由选择逻辑146提供给逻辑门群组142、144的掩码信号)的选择可以对测试质量具有显著影响。可以使用不同的方法来选择掩码信号。在某些实施方式中,对于应用于电路设计的给定测试图案,根据一个或者多个因素(例如,可以从对链进行掩码或者不进行掩码导致的在检测可能故障中的潜在覆盖增益或者损失)对扫描链分级。出于讨论的目的,将单个扫描单元选作主要故障传播点。此方法允许以一致方式处理故障。否则,由于具有大量观察点的故障的统治性位置,可能难以检测具有少量传播点的故障。
图10示出了普通方法1000的一个实施方式的框图,该方法用于确定由选择器电路(诸如,选择器电路140)使用的掩码信号。在测试期间例如可以针对测试集合中每个待应用的测试而执行所公开的实施方式,并且可以使用仿真结果(例如,来自应用于被测试电路的测试图案的仿真)来确定将要指派的相应权重。方法1000还可以与各种压缩器架构(例如,XOR、X-压缩、I压缩等)结合使用。在方法动作1010中,为一个或者多个扫描链中的多个个体扫描单元指派权重。例如,假设观察给定单元,该单元的权重可以指示该单元对整个错误覆盖的贡献。在某些实施方式中,可以按照以下方式指派权重:可以对捕获未知状态的扫描单元指派权重“0”;可以对捕获不关心状态的扫描单元指派权重“1”;以及对有可能受到故障影响的扫描单元(在此术语称作“主”单元)指派权重“C”。通过对捕获不关心状态的单元指派权重“1”,可以将这些单元包含在导致掩码决定的分析中。由于故障通常传播到不止一个扫描单元,因此观察此类单元是有益的(例如,在对主单元进行掩码的情况下)。然而,为了保持扫描单元之间的优先次序,期望与主单元相关联的权重C足够大,使得观察的多个或者全部具有不关心值的单元的结合效应不会显著降低一个或者多个主单元的可见性。
图11示出了五个扫描链1102、1104、1106、1108、1110的表示1100的一个实施方式,其中每个扫描链包括24个扫描单元。根据方法动作1010,为扫描单元被指派权重0、1或者30(在此实施方式中的C的值)。例如,为扫描单元1120指派权重1,权重1表示其捕获到不关心值,而为扫描单元1122指派权重30,其表示捕获到表示故障的指示值。
返回图10,在方法动作1020中,对用于一个或者多个扫描链中的多个扫描单元的权重进行合计。理想地,根据压缩扫描单元在下一压缩级中如何压缩来合计这些权重。例如,在某些实施方式中,将扫描链表示1100映射为在此称作“复合链”的表示。可以通过在单个复合单元中表示来自链的多个扫描单元而根据指派给扫描链的权重来创建复合链。在某些实施方式中,可以通过一个复合单元来表示链中v个连续的扫描单元。可以至少部分地基于复合单元所表示的一个或者多个原始扫描单元中的值来为该复合单元指派权重。在某些实施方式中,复合单元权重是原始单元权重的和。另外,如果将作为复合单元的部分而包括的原始单元之一具有权重“0”,(例如,如果原始单元之一捕获到X状态),则可以为该复合单元指派权重“0”。在特定实施方式中,这可以期望在某种程度上由过载寄存器提供可能的数据压缩结果。如上所述,由于X掩码或者由于第二级门控,在第一压缩级可以潜在地使得大量错误数据无效之前,不抑制X状态。在某些实施方式中,在压缩过程中较早地阻止某些X状态可能有助于防止显著的覆盖下降。
图11示出了分别映射至复合链1132、1134、1136、1138、1140的扫描链1102、1104、1106、1108、1110的示例性实施方式。为了便于参考,在图11中,示出的扫描链1102、1104、1106、1108、1110被划分为4单元群组T、U、W、X、Y以及Z。对复合链的列(在此有时将其称作“时间帧”)进行标记以便指示复合单元表示哪个4单元群组。例如,在复合链1136中的T列中的复合单元具有权重33,其是扫描链1106的群组T中的扫描单元的和。复合链1132的列T中的复合单元具有值0,这是由于扫描链1106中的群组T的一个单元具有权重0。
在某些实施方式中,掩码选择可以基于原始扫描链的权重,而不是基于复合扫描链的权重。这例如可以在复合链中没有单元或者仅有很少单元具有至少等于C的权重的情况下使用。
在方法1000的方法步骤1030中,例如可以基于在一个或者多个复合扫描链中的合计权重来确定系数(在此有时称作“记分”)。在某些实施方式中,针对复合扫描链来计算系数Si以及Mi。在此类示例性实施方式中,Si与假设扫描链i被选择的情况下所估计的将保留的错误数目成比例,而系数Mi与扫描链i被掩码的情况下所估计的将保留的错误数目成比例。
令X(i)是由复合扫描链i所主管的零权重的集合。此外,对于所有复合扫描链的给定的第c个单元,令Ec和Xc分别表示这些单元的权重和以及具有零权重的单元数目。系数Si继而可以由示例性等式1来给出:
其中wi,c是复合扫描链i中的单元c的权重。等式1中的Si等于给定复合扫描链中出现的所有单元的总权重,并且Si由将要掩码的相应时间帧中出现X状态的概率来调整(假定,对单个扫描链进行掩码的概率为0.5)。在等式1中,Si受到权重EC的影响,其中权重EC与给定扫描链所主管的X状态的时间帧相同的时间帧相关联。Ec由相应X状态的数目来调整,以便避免双重计数。可见,第二组件可以处理这样的错误,这些错误在扫描链本身没有被掩码的情况下可被X掩码。
作为示例,可以确定用于图11中示出的复合扫描链的上述量,其中i=1(即,复合扫描链1134)。在此示例中,C=30并且X(1)={0,3}(即,复合扫描链1的单元0和3具有权重0)。而且,E0=37,E3=70,X0=3,X3=2。由此Si计算如下:
S1=62×0.5+33×0.5+4×0.5+4×0.25-37/3-70/2=3.2 (2)
在某些实施方式中,量Mi可以确定为:
在此示例性等式中,第一项等于对应于给定扫描链所主管的X状态(现在已经进行了掩码)的时间帧相同的时间帧的权重Ec的和,假定没有由来自相同偏移周期的其他未知状态来其进行掩码。第二项在第一项中减去在已掩码的扫描链中出现的单元的权重,第二项由来自其他扫描链的X校准,并且包括已掩码的链本身。在各种实施方式中,Si或者Mi可以是负的,由此指明在选择或者门控给定扫描链时可能的覆盖下降。
返回图10,在方法动作1040中,可以至少基于部分系数(例如,用于链的Si和/或Mi的值)来做出是否对给定链进行掩码的决定。
图12示出了用于选择扫描链的方法1200的一个实施方式,其用以掩码给定的测试图案、一个或者多个已检测故障以及失败扫描单元和未知状态的相应位置。方法1200可以与上文介绍的通用方法1000相结合。
在方法动作1210中,针对一个或者多个扫描链来确定系数(例如,Si和/或Mi)。在方法动作1220中,对用于两个或者更多扫描链的系数进行比较。在方法动作1230中,至少部分地基于系数来选择一个或者多个链以用于选择或者掩码。例如,在某些实施方式中,可以为具有较大或者最大Si值的扫描链指派掩码位值1,指示应当将来自该链的值传送至比较器。可以为具有较大或者最大Mi值的扫描链指派掩码位值0,指示应当对来自该扫描链的值进行掩码。
在方法动作1240中,可以基于方法动作1230中的决定(该决定是初步的)来更新扫描链的内容表示。例如,在表示中(诸如表示1100),可以从已被指派掩码值0的扫描链中删除错误和/或X状态。如由箭头1242所指示,可以重复一个或者多个上述方法动作,从而可以迭代地为一个或者多个其他扫描链指派掩码位值。
在方法动作1250中,对掩码位指派进行编码。例如,在某些实施方式中,此过程包括为被测试电路的扫描链指派掩码信号,以及确定将要输入选择电路的必要掩码位以便实现期望的掩码。在特定实施方式中,根据Si或Mi的值来指派掩码信号,并且认为该掩码信号是顺序的,其顺序是上述方法动作中考虑的扫描链的顺序。在某些实施方式中,此确认过程包括求解线性等式来确定在选择电路中是否生成以及如何生成期望的掩码信号。在示出的实施方式中,进行该过程,直到出现第一编码错误(例如,认为第一扫描链不能具有初步指派给其的掩码信号)。此外,在一个特定实施方式中,不管由系数Si和Mi所确定的顺序如何,编码处理从掩码信号为1的扫描链开始。可以实现此修改,以防止在过程刚刚开始处通过对需要进行掩码的扫描链的较大群组的掩码信号进行编码而将所有的掩码位设置为0。这种方法潜在地使得所有扫描链不可观察。
在方法动作1260中,对没有经过编码的剩余未编码掩码信号进行评估和编码(如果可能,按照选择器架构)。
在其他实施方式中,上述选择方法同样可以应用于第二级压缩。在此类实施方式中,可以针对在已压缩周期(诸如图3的已压缩周期302、304、306)中的值来确定掩码信号。可以为已压缩周期中的值指派权重。例如,权重可以与错误计数相关,该错误计数指明产生的压缩值所源自的(未掩码链中的)扫描单元中有多少是故障传播点。在某些实施方式中,如果给定扫描单元捕获到X并且该单元的扫描链没有进行掩码,则可以为从该单元产生的压缩值指派特定权重(例如,0)。
示例性试验压缩结果
通过多个工业设计对图1中示出的测试电路压缩器架构的示例性实施方式进行了测试。在报告的试验中,每个图案加载掩码寄存器一次。这种方法对于测试数据的总量来说贡献了相对较小的数据量,由此没有影响整个压缩率。通常,当应用原始测试图案时,X状态的存在以及选择逻辑的使用可以导致多个测试被漏过(escape)。由此,使用完备的图案来恢复完整的故障覆盖。在图案计数以及有效压缩方面的相应增加可被用作评定压缩方案性能的基础质量因数。
图13示出了用于通过可选择性压缩器(例如,图1的压缩器架构100)来使用测试图案的方法1300的框图。方法1300用于获取下文所述的试验结果。由原始故障列表开始,在方法动作1310中,生成测试图案,并且在方法动作1320中,针对测试电路架构中的一个或者多个扫描链来确定故障传播点以及X状态位置。例如,可以对被测试电路的测试图案以及被测试电路对测试图案的响应(测试响应)进行仿真。在方法动作1330中,确定用于掩码或者选择扫描链的值和/或过载寄存器值(使用上文描述的方法1200)。在方法动作1340中,根据已确定的掩码值来检查故障覆盖。在方法动作1350中,从原始故障列表去除已检测的故障。在方法动作1360中,记录用以到达故障覆盖的给定水平的测试图案的数目,并且在方法动作1370中,还存储用于控制压缩器的掩码位。重复进行方法1300,直到检测到原始故障列表上的故障,如箭头1372所示。
在表1(如图14所示)和表2(如图15所示)中概括了试验结果。对于每个电路,提供了以下信息:名称、扫描架构以及故障总数;错误位的总数(捕获错误信号的扫描单元数目);假定没有压缩的情况下对故障覆盖(“FC”)有所贡献的测试图案的数目;所部署的测试图案的顺序深度;X填充率,其被计算为所捕获的X状态的总数与扫描单元的数目乘以测试图案的数目的乘积的比率;掩码寄存器的大小m;过载寄存器的大小v;图案总数以及图案计数的增长,其中图案总数表示为绝对值(在列中标记为“IPC”)以及图案计数的增长表示为相对于原始测试数目的百分比(在列中标记为“%”);以及有效压缩率C。在表1和表2中,C=AsL/T(L/v+c),其中A是原始图案的数目,T是测试图案的总数,s是扫描链的数目,L是最长扫描链的大小,以及c=m+v是X-Press压缩器控制数据的量(例如,掩码位的数目)。
使用四个m的值(从给定扫描链配置所需的最小的一个开始)、八个过载因子v的值、以及单输出压缩器,来进行试验。在表1和表2中记录的电路特征在于较宽范围的X填充率,其从大约0.001%(C6)开始直到大约2.6%(C7)。由此,图案计数的结果增长显著变化,从具有低X填充率(例如C6)电路的小于1%直到在设计观察到高百分比X(例如,C7)情况下的111%。此外,看似捕获到未知状态的点以及未知状态的出现频率可能对此变化起到重要作用。例如,已经观察到,X状态跨越所有测试图案以一致的方式填入了设计C2、C7和C8中的大多数扫描链。另一方面,设计C5中仅存在少量扫描链具有高度密集的X状态。在此情况下,大多数扫描具有低X填充率,或者根本没有表现未知状态特征。作为结果,X被限制在扫描单元的较小部分(1.41%)的设计C5需要2%至16%的更多图案来恢复整个覆盖范围。尽管设计C2和C8的特征在于少三倍的X,图案计数的相应提高范围处于40%到80%之间。
设计C7示出了“最差情况”的情形,其中多个未知状态(所记载电路之中的最高百分比)形成难以处理的簇(cluster)。在此具体情况下,图案计数的提高保持在111%以下。如果将所实现的最高(突出显示)压缩比C与质量s·v(在不存在X以及不存在控制数据的理想压缩中)进行比较,则X状态的影响可以更为明显。表3报告了作为100C/sv(在第一列中)的压缩效率。可以看出,压缩效率随着过载因子(以及压缩)值的提高而降低,这表示,只要考虑高压缩比,控制数据就变成了需要考虑的因素。
表3用于获取试验结果的电路的压缩效率
试验结果还示出了另一权衡。至少在某些情况下,需要相对较大的掩码寄存器来针对小过载因子获取最大压缩,尤其是在X填充率较高(C7、C8)的情况下。然而,随着压缩随v值增加而增加,控制数据的量成为需要考虑的因素。由此,为了实现高压缩水平,可以使用较小的寄存器,即使图案计数不能如其否则应当的那样低。
选择器电路以及选择器电路合成的示例性实施方式
在此部分中,将描述扫描链选择逻辑以及用于创建此类扫描链选择逻辑的方法的其他示例性实施方式。所公开的装置和方法可以与上述多级压缩器实施方式的任一级或者两个级一起使用。所述方法和装置还可以与单级压缩器(例如,单一XOR或者XNOR树)或者其他空间压缩器结合使用。例如,尽管所公开的原理易于适用于多级架构,下文的讨论一般地结合单级压缩器来描述示例性装置和方法。
所公开技术的某些实施方式可以充当用于测试响应压缩器的灵活的X状态控制逻辑。所公开技术的实施方式可以对扫描错误提供良好可观察性。所公开的选择逻辑的实施方式在硅领域以及用控制其所需的信息量方面也是有效的。出于诊断目的,还可以利用所公开电路的实施方式来选择性地门控扫描链。
如上所述,图1示出了包括选择逻辑146以及掩码寄存器148的选择器电路140的示例性实施方式。选择逻辑146可以是线性逻辑电路,其被配置为向第一和第二逻辑门群组142、144中的至少某些门提供输入。在某些实施方式中,一个或者多个逻辑门是AND门,并且在其他实施方式中,还可以使用一个或者多个其他类型的逻辑门(例如,OR、NOR、NAND以及其他类型)。可以向逻辑门提供如下输入:可以提供“0”值来阻止来自扫描链的值或者过载寄存器中的已压缩输出(例如,为了抑制未知状态或者出于诸如故障诊断或者硅调试的其他原因而禁用扫描链);可以提供“1”来传递来自扫描链的未压缩测试响应位或者来自过载寄存器的已压缩测试响应位(例如,用以将该值传送至压缩器之中,这是因为他们可以携带包含在扫描链的扫描单元中捕获的错误的测试响应);以及可以提供“不关心”的值来指示扫描链或者过载寄存器位置具有的内容被认为是重要的(例如,逻辑门可以接收1或者0来作为门控信号)。
在某些实施方式中,将用于选择器电路中的每个或者基本上每个逻辑门(例如,针对压缩器的一个或者两个级)的掩码位或者掩码指令位提供给选择器电路。这可以提供全部或者近似全部的控制,通过该控制可以对测试响应位进行掩码。然而,在某些实施方式中,尤其是那些具有较大数目逻辑门的实施方式中,此方法是不切实际的,并且显著提高了测试电路架构的开销。另外,控制数据的量可能显著降低架构的压缩比。
在特定实施方式中,选择逻辑146包括合成电路,该组合电路,其被配置为根据一组掩码位来向一个或者多个逻辑门提供掩码信号。可以至少部分地以选择器多项式的形式来定义组合电路,该选择器多项式指明特定掩码位(在某些实施方式中,存储在可以包括一个或者多个级的掩码寄存器148中)如何连接至选择逻辑146的输出。在某些期望的实施方式中,可以将选择逻辑146设计为m输入、n输出的线性映射电路,其中m是掩码位的数目,n是扫描链的数目(或者过载寄存器150中单元的数目),并且m<<n。然后通过对给定数目F的输入进行XOR运算而获取输出。在图16中示出了一个此类电路1600的实施方式,其中m=6,n=12以及F=3。输入1610出现在附图的左手侧,而输出1620沿附图的底部出现。在其他实施方式中,电路1400可以包括两部分,例如分别为m输入、n输出,以及r输入、v输出的线性映射电路,其中m+r是掩码位的总数,n同样是扫描链的数目,而v是过载寄存器的大小。
在某些实施方式中,v相对小于扫描链的数目n。这可以允许使用少量掩码位来控制第二级,由此将选择逻辑部分减小为仅存储掩码信号的v位寄存器。在此情况下,通常不需要实现分离的编码逻辑。
下面描述用于对电路(诸如电路1600)进行合成的示例性方法的实施方式。在所公开的某些实施方式中,选择逻辑的合成主要以实现高编码效率为目标,其中编码效率可以定义为已经成功编码的预定门控信号与掩码位数目m的比率。这一目标是重要的,因为编码单个门控信号失败可能使整个扫描链不可观察,从而导致显著的覆盖降低。(然而,在某些实施方式中,即使系统不能提供对测试结果进行掩码的完全控制,仍然可以获取足够的结果。)这与测试图案压缩相反,再测试图案压缩中,缺失一个指定位通常不会在任何显著程度上损害测试的质量。由于编码效率直接涉及选择器多项式之间的线性相关性的概率,可以通过这样的数据来指导设计理想选择器的任务,该数据指示第一多项式集中的一些多项式和一些可能的“候选”多项式形成一个或多个线性相关集合的概率。使用此信息,并且根据一个示例性实施方式,如下文所述,可以借助于选择过程来将合成实现n次。
图17示出了用于生成选择电路的控制逻辑的方法1700的一个实施方式。在方法动作1710中,生成第一候选多项式。在某些实施方式中,随机生成第一多项式,但是在其他实施方式中,可以使用备选方法。
在方法动作1720中,评估所生成的多项式,以确定其是否满足相对于解集中多项式的相关性阈值。在某些实施方式中,解集最初可以随机生成;然而在其他实施方式中,其可以按照字典顺序生成。例如,可以检查候选,以验证其与解集中的某些或者所有多项式共享不超过给定或者固定数目的掩码位。如果候选多项式共享超过给定数目(例如,用户可选择的预定数目),则丢弃候选多项式并且生成新的多项式。这可能有助于降低解集的多项式之间的线性相关性。
在方法动作1730中,通过来自解集(此集合有时称作“测试集”)的可接受多项式将候选多项式归组到m个元素的集合中。可以从解集中随机选择用于此方法动作的解集多项式。可以确定此m个元素的集合的等级(例如,使用高斯消元法(Gaussian elimination)来确定m个元素的集合的简化行阶梯形式(reduced row-echelon form))。可以通过使用不同解集多项式而归组到多个不同的m元素集合的候选多项式对此进行重复。在特定实施方式中,可以针对候选多项式来计算平均等级。
在方法动作1735中,针对多个其他候选多项式重复上述方法动作,以便创建候选多项式集合(例如,每个平均等级)。集合中的候选多项式的数目可以为任意数目。
在方法动作1740中,从候选多项式集合选择一个或者多个多项式以包括在解集中。在某些实施方式中,选择具有较高或者最高平均等级的候选多项式。在某些实施方式中,方法动作1710、1720以及1730可以通过多个多项式同时执行,而不是通过单一多项式执行。
在方法动作1750中,在将解集的描述存储在一个或者多个计算机可读介质中或者显示(例如,在计算机屏幕上)。在某些实施方式中,在方法动作1760处,根据解集来合成选择逻辑电路。可以使用方法1700来生成控制电路,以用于在此公开以外的应用(例如,其通常可被用以生成控制逻辑)。
可以通过多种方法将用以控制选择器电路的数据(在某些实施方式中是已压缩数据)递送至电路。在某些实施方式中,如果选择器电路与嵌入式确定性测试环境相集成,例如,数据可以通过测试数据解压缩器来上传。例如,可以将数据视为附加的指定位并且以类似于实际测试块的方式接受编码处理。然而,此过程可能在测试图案生成处理中产生反馈环路。例如,测试块一旦生成,随后可以对其进行压缩以及解压,以获取由故障仿真器使用的随机填充,以便帮助识别检测到的故障。这时,可以唯一地确定掩码位。然而,如果他们变成已压缩激励的部分,则通常必须重复整个压缩、解压以及故障仿真过程。作为结果,随机填充改变,并且已经指派的掩码信号的有效性可以低于先前的确定。此外,向激励添加新的指定位可能导致编码过程失败。典型的ATPG引擎通过逐渐添加新的目标故障来递增地产生测试图案。在此方案中,通常在向图案或者具有最终测试图案的工作添加每个故障之后,必须确定是否执行压缩、解压以及故障仿真,以及在掩码位导致图案压缩失败的情况下去除某些图案。后一方法还导致针对每个图案进行多个计算密集型的压缩、解压以及故障仿真。
在某些实施方式中,还可以在生成最终测试图案之前在ATPG过程的某些点处指定掩码位。然而,即使这样,X状态的点通常在执行随机填充之前是未知的。指派掩码位可以再次导致解压和故障仿真,并且在测试激励和掩码位之间的相互相关性的问题将继续存在。
在其他实施方式中,可以使用一个或者多个附加通道(或者输入路径)来直接驱动选择器寄存器。这允许独立于载入扫描链的激励来指定掩码位。在此方法中的激励不必依赖于选择器掩码位。例如可以在最长扫描链的大小没有显著超过用于一个或者多个附加通道的选择器寄存器的总大小时使用此方法。在此情况下,理想的是,用于选择器寄存器的输入抽头(tap)插入到通道输入管脚以及解压缩器之间。继而可以使用其他偏移周期而不是附加的输入管脚来递送掩码数据。使用单个输入通道解压缩器也是可能的。
在某些实施方式中,在第一间隔期间,将测试图案数据提供给一个或者多个通道上的电路(例如,解压缩器);并且在第二间隔期间,将掩码指令提供给一个或者多个选择器通道上的选择器逻辑电路。这可以允许电路在测试图案数据以及掩码指令之间“共享”一个或者多个通道。例如可以使用图1的组件160、162来实现此类配置。在特定实施方式中,第一间隔先于第二间隔;而在其他实施方式中,第二间隔先于第一间隔。在其他实施方式中,第一和第二间隔可以包括至少部分地彼此散布的子间隔。
在下面的表4中示出了方法1700的示例性试验结果。表4给出了针对两个示例性选择逻辑电路(m=32或者m=34,F=3)的线性独立的概率,所述两个示例性选择逻辑电路驱动用于n=128的扫描链的逻辑门。指定门控信号的数目范围从16至32。出于比较目的,还包括在I.Bayraktaroglu和A.Orailoglu的“Test volume and application timereduction through scan chain concealment”,Proc.DAC,pp.151-155,2001(“参考文献1”)中报考的结果,其用于纯粹随机线性激励解压缩器。在表中示出了方法1700的方案在线性相关性的概率方面相对于参考文献1中所使用方案的改进。例如,给定线性独立性的可能性,对于相同的m和n的值,根据方法1700创建的选择逻辑电路的实施方式能够比参考文献1的电路多编码大约4个指定位。而且,随着指定位数目的增加,一旦指定位的数目变得接近掩码位的数目,则线性独立性的概率保持得相当高。
表4线性独立性概率(%)
下文是测量根据上文所述方法创建的选择逻辑电路的实施方式的编码效率的试验的结果。给定m、n和F的值,根据包括多个相继级的方法来执行每个试验。在级k中,确定k指定位(掩码信号)是否可在逻辑电路中编码(通过求解相应的线性方程)。通过向级k-1中已经使用的那些位添加新的指定位,来获取在动作k中被编码的指定位。这些试验是特性试验,新的指定位是根据逻辑电路中选择的输出以及从电路请求的值而随机设置的。处理继续,直到第一次失败。在此情况下,通过递增柱状图的对应条目来记录被编码的位(在之前方法动作中使用的那些位)的数目。其后,门控位的新组合成为编码的对象。
表5示出了F=3和F=5的结果。在表5中的数据假设是Es的形式,其中s表示在每种情况下由选择器多项式的任意配对(最多)共享多少个掩码寄存器级。表的每个条目对应于其门控信号可以被编码的扫描链的平均数目。作为示例,考虑使用三项式(F=3)以及32位掩码寄存器的64输出选择器。结果编码效率等于98.23%。换言之,此逻辑平均能够编码32×0.9823=31.43个门控信号(扫描链)。考虑到通常仅有较小百分比的扫描链包含大量未知(X)状态,控制这样输出的较大部分的能力是有利的。尽管编码效率随着扫描链数目的增加轻微降低,但在所有的检查情况下,其很好地保持在90%的阈值以上。同时,编码效率随着F值的增加而增加。这表示在选择器的硬件成本与其性能之间的权衡。
表5平均编码效率(%)
可以使用此观察来设计具有进一步增强性能的选择逻辑电路,同时保持硬件成本与F=3的电路相同。在图18中将此类设计的一个示例性实施方式示为具有输入1810和输出1820的电路1800。在示例性架构中,通过以下方式将某些三项式由其五项对应部分(五项式)代替:在每个情况下,通过重用已被用以实现某些三项式的两个2输入XOR门(例如,以及)来形成后面的项。在某些实施方式中,继而可以通过仅使用两个2输入XOR门来以如下方式形成五项式:其中e是新创建的多项式的第五项。例如,在电路1800中,输出1、4、7和10是实现五项式的输出。
在某些实施方式中,选择逻辑电路的合成可以包括Stinson爬山算法过程,以精炼使用方法1700获得的电路。当完成示例性方法1700时,在某些实施方式中,可以针对一个或者多个选择器三项式来确定相关联的平均等级。具有较低或者最低等级的一个或者多个三项式可以由基于具有较高等级的三项式而创建的一个或者多个五项式来替换。在其他实施方式中,可以形成多个候选五项式,并且可以将具有最高等级的五项式添加到解集。通常,添加至解集的五项式的数目不能超过n/3。
表7示出了检查选择逻辑电路性能的一组试验结果,其中对于某些多项式来说F等于3,而对于其他来说F等于5。其他参数与用以生成表5结果的那些参数相同。表6使用与表5相同的符号。
表6对于F=3和F=5的平均编码效率
通过多个工业设计来进一步测试在单级比较方案中应用扫描链选择逻辑的示例性实施方式。对于每个测试设计,仅选择单一扫描单元作为主要故障传播点。由此,方法1700的应用能够较好地支持一致的故障处理,尤其是对于具有否则可能被阻止的少量传播点的那些故障。实际上,如下所示,示例性选择算法的实施方式通常可以处理这种掩码决定,这是由于具有大量观察点的故障将起到支配性作用。在用于生成如下试验结果的测试电路架构中,将单一输出XOR树用作组合测试响应压缩器。选择器电路中的掩码寄存器每个图案加载一次。此类方案要求对掩码信号提供可忽略数量的附加数据,并且因此其不会显著损害压缩率。其还防止了时序收敛违反(timing closureviolation)。在此掩码的情况下,X状态可能以双重方式阻碍某些错误的可观察性。如果没有抑制给定的X状态,则可能难以观察到在相同扫描出周期捕获的、并且错误从与该X状态进行XOR的扫描链到达的观察错误。另一方面,阻止X状态通常隐藏了在相同扫描链中出现的所有错误。
在下面的结果中,将使用“图案计数增加”数作为质量因数来评定方案的性能。实际上,当应用原始测试图案时,由于X状态和选择逻辑的使用,可以观察到多个测试出口。由此,通常应当应用多个完备图案,直到恢复整个故障覆盖。
下面记载的试验结果是使用图19中示出的示例性方法1900产生的。方法1900基本类似于图12中示出的方法,只是在考虑单级压缩方案时可以忽略将扫描链转换成为复合扫描链的动作。方法1900可以与单级和多级压缩器架构两者结合使用。示例性方法1900假定给出了针对每个测试图案的一个或者多个未知状态以及失败扫描单元的位置。
在方法动作1910中,对于每个扫描链,确定两个系数Si和Mi,其中Si表示假设扫描链i被选择的情况下而估计的将保留的错误数目,而Mi是在扫描链i被掩码的情况下针对扫描链i的相似数字。E(i)和X(i)分别表示捕获错误和未知状态的扫描链i中的扫描单元集。Ec和Xc分别表示由扫描单元捕获的属于扫描出周期c的错误和X状态的数目。在等式4和5中的系数分别如下给出:
在此示例性方案中,Si被计算为给定扫描链中出现的错误数目与给定扫描链所主管的X状态的那些时间帧相同的时间帧中出现的错误数目之间的差异。在所述实施方式中,例如通过在相同时间帧中出现的X状态将被全部掩码的概率(假定,对单个扫描链进行掩码的概率为0.5)来校准等式4的第一项。通过相应X状态的数目来校准等式4的第二项,以避免双重计数。在此示例性方案中,Mi等于在与给定扫描链所主管的X状态(现在被抑制)的那些时间帧相同的时间帧中出现的错误数目。然而,这假设,他们没有被来自相同偏移周期的其他未知状态掩码。可以通过减去在已掩码的扫描链中出现的错误(例如已经由来自其他扫描链的X进行了校准,并且包括已掩码的链本身)来降低此数目。
在方法动作1920中,对用于扫描链i的系数Si和Mi进行比较,并且在方法动作1930处,根据是选择了Si还是Mi,利用掩码信号值l(选择)或者0(掩码)来对扫描链i进行掩码。在某些实施方式中,这不是最终的掩码,这是由于这些信号仍然需要针对特定的选择电路而被编码。
在方法动作1940中,基于方法动作1930的结果,删除假想将要被掩码的扫描链中的错误和X状态,或者删除已选择的扫描链特征是未知状态的时间帧中的错误和X状态,以此来更新一个或者多个扫描链(在某些实施方式中是所有扫描链)的内容。在示出的实施方式中,如箭头1932所指示,通过重复上述方法动作来将掩码信号迭代地指派给一个或者多个其他扫描链。
在方法动作1950中,求解该线性方程(例如,以方法动作1920中确定的顺序),以确认可以在选择逻辑中对掩码信号进行编码以用于后续扫描链。这些线性方程描述了选择逻辑的输入和输出之间的关系。在某些实施方式中,此过程继续,直到出现第一编码失败。
在方法动作1960中,确定不是编码对象的全部掩码信号的值(例如,通过检查选择逻辑来进行),并且确定结果故障覆盖。检测到的故障可能下降,并且可以存储被有效地用以实现已确定的故障覆盖的测试图案的数目。
如方法动作1970所示,出于这些试验的目的而重复方法1900直到检测到期望的目标故障数目。
在表7和表8中示出了试验结果。对于每个被测试电路,提供了如下信息:名称(其中标签-dk表示与电路结合使用的深度-k的连续图案);扫描架构以及故障总数;错误位的总数(捕获错误信号的扫描单元数目);X填充率,其被计算为所捕获的X状态的总数与扫描单元的数目乘以测试图案的比率;假定没有压缩的情况下对故障覆盖(FC)有所贡献的测试图案的数目;掩码寄存器的大小m;完备图案,在此报告为绝对和相对IPC;以及有效压缩比C(x)。由于在此试验中使用单输出压缩器,给出的压缩比是扫描链数目(由原始测试图案的比率正则化)与有效应用的图案(包括完备向量以及选择器掩码位)总数的比率。
表7试验结果-1
表8试验结果-2
表7和表8中报告的电路的特征是较宽的X填充率范围,从0.001%(C6)到大约5%(C4)。由此,在图案计数结果增长从针对具有低X填充率的电路(例如,C6)的小于1%变化到针对观察到高X百分比的设计(例如,C1和C4)的300%。此外捕获到未知状态的点以及未知状态的出现频率看似可能是提高了感兴趣度。例如,已经观察到,X状态跨越所有测试图案以一致方式填入设计C1-d3中的大多数扫描链。与此现象相反,在设计C4-d0中仅存在很少的图案具有高度密集的X状态。在此情况下,大多数图案具有低X填充率,或者没有表现未知状态特征。作为结果,相对于在无压缩模式中使用类似电路的情况,具有深度3连续图案以及8位选择器(其平均给出对16%的扫描链的完全控制能力)的设计C1-d3将使用多四倍的测试图案。另一方面,尽管电路C4-d0的X填充率比设计C1-d3更高,电路C4-d0使用多1.3倍的测试图案。(在电路C4-d0的情况下,12位选择器电路提供类似的扫描链控制能力。)
产生表7和表8结果的试验是使用多个m值运行的,其开始于针对给定扫描链配置的最小值。对于所有电路,在m大约是扫描链数目的10-20%时,达到最佳观察压缩。由于掩码位,归因于较大寄存器的可能增益减小。具有低X填充率的电路(C6.1-d0、C6.2-d0)针对由扫描链配置确定的最小寄存器而达到最佳观察结果。
片上压缩器以及响应采集器的示例性实施方式
在基于扫描的制造测试的某些实施方式中,将被测试电路(CUT)的测试响应发送至外部测试器(例如,ATE),以用于与已知的良好响应进行比较,以便隔离CUT中的故障。通常,每个测试响应位映射为ATE上的2位,以便提供三个逻辑值:0、1和X。尽管这已经是用于制造测试以及用于采集失败信息的标准方法,其仍然具有局限性。例如,当上传扫描数据并对ATE上进行比较并且出现不匹配时,通常捕获整个测试周期(例如,整个扫描链片)并且将其存储在测试器存储器中。测试器中的存储器限制通常最多只能提供用于256个失败周期的存储(“失败日志”)。由此,失败日志经常被截断并且许多失败的测试图案没有记录日志。另外,从CUT向ATE上传数据以及比较响应以确定是否出现失败将占用大量时间。这可能增加测试应用时间,由此降低测试平台的吞吐量。为了改进测试吞吐量,多点测试在工业中已经广为流行。这通常包括在测试器上并发地测试多个设备(在某些情况下多达64或者128)。利用当前的ATE技术,这至少出于以下两个原因而产生了瓶颈:用于观察每个设备的链的数目变得有限,以及因为ATE存储器跨多个设备共享而使得每个设备存储的数据量进一步受到限制。
为了解决这些问题中的至少一些问题,可以使用下文描述的片上比较和响应采集方案的实施方式。例如,代替在ATE上执行比较的是,可以在片上结合附加硬件来促进期望测试响应与实际测试响应的比较。此外,通过利用某些现有片上存储器,有可能存储较大数量的失败数据,这有助于促进诊断。在某些实施方式中,已知的良好响应仍然存储在ATE存储器中。
图20示出了示例性片上测试电路压缩器架构2000的一个实施方式的框图。所述实施方式包括耦合至压缩器(诸如压缩器2020)的多个扫描链群组,诸如群组2010(包括扫描链1-12)。在示出的架构中,组件2012每个通道(例如,每个压缩器)可以向架构2000提供一个或者多个信息位。在某些实施方式中,组件2012例如可以是一个或者多个ATE、片上存储器或者片上解压缩器。可以在输入路径2030、2032上提供这些位。例如,在输入路径2030上提供的位的第一集合可以是期望的来自如下设备的实际测试响应位,所述设备被提供用于与压缩器的输出进行比较。将位的第一集合提供至压缩器2034,在图20的实施方式中,该压缩器2034包括XOR门。
在某些实施方式中,位的第一集合(还称作“掩码信号”)可以在输入路径2032上提供,并且用以指示是否应对压缩器2034的输出进行掩码(例如,使用AND门2040或者其他适合的逻辑门)。当期待的响应是X状态时,可以将针对给定压缩器的掩码位设置为对比较器进行掩码,并且由此忽略比较器的结果。
在某些实施方式中,在输入路径2030上提供的期待测试响应位与在输入路径2032上提供的掩码信号同时输入。如在说明以及权利要求书中所使用的那样,术语“同时”允许某些小的差异,只要不破坏电路的期望操作即可。例如,在某些实施方式中,可以容忍的差异最高可达一个时钟周期。
在其他实施方式中,可以针对测试响应的每个周期来确定错误向量。错误向量(假设n个通道)可以直接作为输入而馈送至优先编码器2050,该优先编码器2050可将错误向量编码成为log2n位的向量。在其他实施方式中,优先编码器2050可以包括指示是否在一个周期中的不止一个通道处观察到错误的逻辑,并且相应地设置输出(未示出)上的位。在其他实施方式中,架构2000包括图案计数器2060以及移位计数器2062,以便跟踪图案和观察到错误的周期数目。存储器2070可以记录来自其他组件(例如,优先编码器2050、图案计数器2060和/或移位计数器2062)的数据。可以使用附加逻辑2072管理去往存储器2070的输入。诸如图案计数器2060、移位计数器2062以及附加逻辑2072的组件可以响应于时钟和控制信号来进行操作,如图20中所示。
图21示出了可以与测试电路架构2000结合使用的优先编码器2100的一个实施方式的框图。
假设在测试期间应用m个图案,并且假设扫描链的最大长度是l位,根据所公开技术的一个示例性实现,每个失败周期记录的总位数(T)是:
T=log2n+log2m+log2l+1 (6)
等式6中的最后项(表示附加输出周期)对应于输出位,其可以指示在优先编码器2050的输入处是否存在不止一个错误。例如,考虑这样的设计,其具有64个通道、10,000个图案、最长扫描链长度为400位,则根据此实现可以记录总共30位。如果存储器2070是1K×32存储器,其例如可以在假设在单一错误跨过所有通道的情况下存储最多1024个失败周期。如果在单一周期中存在最多2个错误跨过所有通道错误,则在最差情况下可以存储最多512个失败周期。可以添加并且配置存储存储器以充当失败图案信息的采集器,或者可以将设备中的现有存储器重用于存储失败信息。根据存储器大小以及每个周期记录多少错误位,诊断的辨析率可以有所变化。
图22示出了示例性片上比较和响应采集架构2200的其他实施方式的框图。在此实施方式中,还可以使用多输入签名寄存器(MISR)2202来采集来自一个或者多个压缩器(诸如,压缩器2220)的电路响应,该压缩器压缩来自扫描链群组(诸如群组2210)的输出。MISR2202可以生成MISR签名,其与图案计数器2260的内容一起存储在用于一个或者多个失败图案的存储器2270中。架构2200可以包括压缩器以及AND门(诸如,压缩器2234以及AND门2240),类似于架构2100,其可以由来自ATE的输入进行控制。在其他实施方式中,写使能电路2272可被配置为协调对存储器2270的写入与来自AND门的一个或者多个信号以及来自ATE的“图案结束”信号2274。。
图23示出了示例性比较和响应采集电路架构2300的其他实施方式的框图。在此实施方式中,错误签名(由MISR 2302产生)存储在用于多数失败图案或者每个失败图案的存储器2370中。另外,还可以针对产生错误的一个或者多个测试图案来存储图案计数器2360的内容以及失败位的数目(例如,由错误加法器2362来确定)。在其他实施方式中,在应用测试集之后,两个附加数据集变得可用:分别由垂直采集器2364以及水平采集器2366收集的失败周期以及失败扫描链(或者扫描链群组)。图24示出了垂直采集器电路2364的一个实施方式的框图,而图25示出了水平采集器电路2366的一个实施方式的框图。
可以将上述片上测试架构与在此描述的任何其他技术(例如,X-Press压缩器、控制电路合成)结合使用。
在试验中,从制造台处将片上测试架构2100分别与跨越26,000和10,000个实际失败日志的两个工业电路(即,设计A和设计B)结合使用。在此描述的压缩器的实施方式的诊断辨析率类似于在美国专利No.6,557,129以及No.6,829,740中描述的选择压缩器。通常,只要在片上存储失败周期没有导致实质的信息丢失,则可以保留诊断辨析率。
在试验中,设计A配置有32个扫描链、用于外部数据输出的单一通道,其最大扫描链长度为4000位。选择8位过载寄存器以便以256x的有效压缩为目标。观察88%的失败日志(总数为26,000),诊断辨析率保持相同,其中测试架构1900每个失败周期记录单个错误。在所有26,000个失败日志中,仅存在2.7%的失败图案具有少数经过掩码的错误,尽管其中许多不会影响诊断辨析率。设计B配置有32个链、单一通道,其最大扫描链长度为14000。分别选择8、16以及32位的过载寄存器,以256x、512x以及1024x的有效压缩为目标。对100,000个失败日志的分析显示:对于87.5%(256x)、87%(512x)以及86.4%(1024x)的情况,通过在跨过所有图案的失败周期中记录单个错误,诊断辨析率保持相同。类似地,基于过载寄存器的大小,仅有1.6%、2.4%和3.1%的失败图案具有少数经过掩码的错误。
对故障诊断的影响
一般而言,为了支持诊断流程的高度监控,理想的是,诊断工具支持以压缩模式进行分析。在美国专利申请公开2005/0222816中描述了可以用于各种测试响应压缩器的故障诊断技术,在此通过参考将其引入。当将此技术应用于由在此公开的X-Press的示例性实施方式产生的数据时,可以将已压缩响应的位Pi表示为在压缩之前被捕获到扫描单元中的一组值的函数。将该所谓的“变换函数”表示为Φi,使Pi=Φ(Ci),其中Ci是被压缩在一起以获取Pi的一组扫描单元的值。由于Φi和Ci两者都可以由压缩器架构以及每个图案的掩码条件来确定,Φi可以定义为模加(addition modulo)2,而Ci可以定义为扫描单元的群组,该扫描单元位于通过选择逻辑连接至扫描输出通道的复合扫描链组(见图3)中的相同偏移出周期。在此部分中,复合扫描链中的扫描单元称作“复合扫描单元”。如前文所述,每个复合扫描单元的值是通过对v个已压缩扫描单元进行XOR(例如,从第一压缩级)来获取的。此外,已掩码的扫描单元的值为0。
根据基于X-Press压缩器的诊断的一个示例性实施方式,观察到的故障响应按照一个或者多个候选逻辑锥(LC)来表达。为了获取这样的关系,可以执行概念电路转换以便将原始设计转化成为包含伪扫描链的电路,其数目等于X-Press输出的数目。每个伪扫描链中的单元数目是原始电路中的偏移周期的数目除以v。伪扫描单元由指示其值的逻辑锥的联合来驱动。
图26示出了对应于原始电路设计的已转换电路2600的框图,其中原始电路设计具有16个扫描单元(以及驱动扫描单元的16个逻辑锥)、两个扫描链,并且使用具有2位过载寄存器的示例性单输出X-Press压缩器。已转换电路包括逻辑锥LC0...LC15以及伪扫描单元2610、2611、2612、2613。LC0 LC1、LC2 LC3、LC4 LC5、...LC14 LC15相加对应于由X-Press压缩器的第一级执行的空间压缩,而伪扫描单元2610、2611、2612、2613由表示过载寄存器所馈送的空间压缩器的模2和来驱动。在此实施方式中,将任何已掩码的逻辑锥输出排除在进一步处理之外。在压缩之后针对每个测试图案观察四位。
在伪扫描单元2610和2612处观察假设的故障。基于图26中的已转换电路以及每个图案单一位置(single-location-per-pattern)的假设,可以确定缺陷逻辑位于逻辑锥LC0和LC3的联合以及逻辑锥LC8和LC11的联合之间。这减小了可能故障嫌疑的搜索空间。
接着,可以将故障仿真应用于图26中示出的已转换电路。将故障嫌疑候选输入已转换电路并且仿真。将仿真结果与测试器记录的数据进行比较。如果仿真结果匹配于测试器观察到的失败,则可以认为故障是实际嫌疑。
图27示出了一个执行已测试CUT的故障诊断的示例性方法2700的框图。在方法动作2710中,确定用于X-Press压缩器的一个或者多个响应的转换函数。在某些实施方式中,这包括确定用于由压缩器作为响应而产生的每个位的转换函数。在方法动作2720中,将原始CUT转换为包括一个或者多个伪扫描链的电路表示(“已转换电路”)。在方法动作2730中,读取由ATE生成的失败文件(通常假设:一个或者多个伪扫面单元捕获到测试失败)。可将来自一个或者多个失败单元的连接映射至已转换电路,以便定位构成初始嫌疑故障列表的一个或者多个逻辑锥(方法动作2740)。使用已转换电路,可以针对一个或者多个嫌疑故障(方法动作2750)来执行故障仿真。在方法动作2760中,可以将一个或者多个仿真结果与来自ATE的失败数据进行比较。可以将仿真和/或比较结果存储在一个或者多个计算机可读介质中(方法动作2770)。
在其他实施方式中,可以使用原因效果分析,从而能够标识出固定型(stuck-at)、桥、开口和/或过渡缺陷。方法2700的某些实施方式还可以处理在单一偏移周期中具有多个缺陷扫描单元的情况。此外,所公开技术的某些实施方式可以允许产生测试失败的诊断,因为为了诊断的目的,不一定需要绕过压缩器并且应用不同的测试集。
下面是在CUT上执行上述诊断技术的试验结果。对于每个CUT设计,输入将1000个随机选择的、单固定型故障,以针对利用和不利用X-Press压缩器实施方式的设计版本来创建1000个失败记录。选择这样的X-Press压缩器设计(例如,图1的实施方式100):其具有相对较高的X填充率(例如,在X填充是设计特征的情况下)、掩码寄存器的大小m=12或者13、并且过载因子v=8。尽管通常X-Press压缩器的实施方式使用某些完备图案来维持相同的覆盖,在这些试验中,使用原始测试图案来执行比较。通常,不同故障行为的标识可以主要基于在故障点处记录的值,而不考虑压缩器的类型。由此,使用固定型故障来简化比较。将诊断辨析率用作质量因数,并且在此定义为故障嫌疑数目的倒数。例如,如果诊断过程的结果(呼出)仅产生一个嫌疑,则辨析率是100%。如果结果是两个嫌疑,则辨析率下降至50%。下文的表9示出了针对一些电路设计的平均诊断辨析率,这些电路设计被用以产生在本申请其他地方描述的试验结果。在表9中,第二列列出了没有压缩情况下的平均诊断辨析率,而下一列列出了使用X-Press压缩器的示例性实施方式的相同辨析率。最后两列表示在利用和不利用示例性X-Press压缩器的情况下两个先前的统计数据与失败图案计数之间的差异。
设计 | 无压缩(%) | X-Press(%) | 差异 | 失败图案比 |
C1 | 96.74 | 95.60 | 1.14 | 1.5145 |
C2 | 96.04 | 89.32 | 6.72 | 1.9693 |
C4 | 96.87 | 95.20 | 1.67 | 1.5288 |
C5 | 94.75 | 92.88 | 1.87 | 1.4360 |
C7 | 98.92 | 96.86 | 2.06 | 1.1583 |
C8 | 96.11 | 91.67 | 4.44 | 1.7437 |
表9平均诊断辨析率
如表9中可见,使用示例性X-Press压缩器可以影响诊断辨析率。然而,在许多情况下,此影响是可忽略的,即使是对于高于1000x的压缩比来说也是如此。在某些实施方式中,实际上可以通过针对具有X-Press的设计使用更多测试图案来减轻诊断辨析率的损失,如表1和表2所示。例如,当使用完备图案时,C2的辨析率差异从6.72降低至2.23,并且失败图案率从1.9693降低至1.1701。通过压缩失败数据,示例性X-Press压缩器对于多数具有有限失败数据缓冲器的ATE而言具有优势。示例性X-Press压缩器可以向ATE报告大约30%-50%更少的失败图案,这可以降低被截断失败日志的概率。此外,即使对于高于1000x的压缩,诊断运行时间仅大约加倍,这表明:使用X-Press压缩器的实施方式可以是可伸缩的,并且适于大容量生产应用。
示例性网络环境
可以使用分布式计算机网络来执行上述技术的任何方面。图28示出了一个适合的示例性网络。服务器计算机2800可以具有相关联的存储设备2802(在服务器计算机内部或者外部)。例如,服务器计算机2800可被配置为生成用于给定被测试电路的任何所公开的模块化压缩器实施方式(例如,作为EDA软件工具的一部分,诸如测试图案生成工具),或者对任何所公开实施方式产生的签名执行诊断(例如,作为诊断软件工具的部分)。服务器计算机2800可以耦合至网络(一般地表示为2904),该网络可以包括例如广域网、局域网、客户-服务器网络、因特网或者其他适合的网络。诸如2806、2808处所示的一个或者多个客户端计算机可以使用网络协议来耦合至网络2804。还可以在单一、专用工作站上执行所述工作,所述工作站具有自己的存储器以及一个或者多个CPU。
图29示出了另一示例性网络。一个或者多个计算机2902经由网络2904进行通信并且形成计算环境2900(例如,分布式计算环境)。计算环境1700中的每个计算机2902可被用以执行至少一部分压缩器生成处理或者诊断处理。所示实施方式中的网络2904还耦合至一个或者多个客户端计算机2908。
根据所公开的技术,图30示出:还可以使用远程计算机(诸如,图28中所示的服务器计算机2800)或者远程计算环境(诸如,图29中示出的计算环境2900)来对用于被测试电路的设计信息(例如,HDL文件、网表、GDSII文件、Oasis文件或者适于表示被测试电路及其扫描链的其他设计文件)进行分析,以便生成适当的多级压缩器、选择电路和/或片上比较和响应采集电路。例如,在过程块3002处,客户端计算机向远程服务器或者计算环境发送CUT设计信息。在过程块3004中,远程服务器或者远程计算环境的相应组件来接收和加载CUT设计信息。在过程块3006中,执行压缩器、选择电路或者片上测试硬件生成,以产生用于任何所公开实施方式的设计信息。在过程块3008处,远程服务器或者计算环境向客户端计算机发送结果生成的设计信息(例如,HDL文件、网表、GDSII文件、Oasis文件或者适于单独或者与被测试电路和扫描链一起表示压缩器的其他设计文件),所述客户端计算机在过程块3010处接收数据。
本领域技术人员应该理解,在图18中示出的示例并非是使用多个计算机来生成所公开的任何硬件实施方式的唯一途径。例如,CUT设计信息可以存储在不在网络上的计算机可读介质上,并且向服务器或者计算环境(例如,CD-ROM、DVD或者便携硬件驱动)独立地发送该CUT设计信息。或者,服务器计算机或者远程计算环境可以仅执行硬件设计过程的部分。可以执行使用远程服务器或者接收机的类似过程,以诊断由所公开压缩器架构的实施方式产生的签名。
已经示出和描述了所公开技术的原理,对本领域技术人员易见的是,在不脱离这些原理的情况下,可以对所公开的实施方式的设置和细节进行修改。例如,尽管多个实施方式包括用以执行多级压缩的两个压缩器,也可以使用单压缩器。例如,过载寄存器的输出可以通过包括多路复用器的反馈网络耦合至第一压缩器的输入。过载寄存器、扫描链以及多路复用器继而可以由控制电路(例如,有限状态机)来控制,以便每v个扫描偏移周期将第一压缩器作为第二压缩器进行操作。根据多个可能的实施方式,将会认识到,示出的实施方式仅作为示例并且不应被作为是对本发明范围的限制。反之,本发明由所附权利要求书及其等同项来限定。由此,要求将所有这些实施方式以及这些权利要求范围内的等效项作为本发明而加以保护。
Claims (40)
1.一种用于压缩被测试电路的测试响应的装置,所述装置包括:
第一空间压缩器,包括多个第一压缩器输入和第一压缩器输出;
寄存器,包括寄存器输入和多个寄存器输出,所述寄存器输入耦合至所述第一压缩器输出,所述寄存器可进行操作以通过所述寄存器输入来加载测试响应位,以及通过所述多个寄存器输出来并行地输出所述测试响应位;以及
第二空间压缩器,包括多个第二压缩器输入和第二压缩器输出,所述多个第二压缩器输入耦合至所述多个寄存器输出。
2.根据权利要求1所述的装置,其中所述第一空间压缩器以及所述第二空间压缩器是无反馈的。
3.根据权利要求1所述的装置,其中所述第一空间压缩器以及所述第二空间压缩器包括相应的XOR门或者XNOR门的网络。
4.根据权利要求1所述的装置,其中所述第一空间压缩器以及所述第二空间压缩器中的至少一个是流水线化的空间压缩器。
5.根据权利要求1所述的装置,其中所述第一空间压缩器以及所述第二空间压缩器是相同的压缩器。
6.根据权利要求1所述的装置,其中所述寄存器包括两个或者更多个串联耦合的顺序元件。
7.根据权利要求1所述的装置,其中所述寄存器可进行操作以串行地加载所述测试响应位。
8.根据权利要求1所述的装置,其中所述第一空间压缩器包括多个第一压缩器输出。
9.根据权利要求1所述的装置,其中所述第二空间压缩器包括多个第二压缩器输出。
10.根据权利要求1所述的装置,进一步包括:
第一组掩码逻辑,其耦合至所述多个第一压缩器输入;以及
第二组掩码逻辑,其被耦合在所述多个寄存器输出和所述多个第二压缩器输入之间。
11.根据权利要求10所述的装置,进一步包括:具有一个或者多个选择逻辑输入以及多个选择逻辑输出的选择逻辑,所述多个选择逻辑输出耦合至所述第一组掩码逻辑的相应输入以及所述第二组掩码逻辑的相应输入,所述选择逻辑可进行操作以响应于在所述一个或者多个选择逻辑输入处接收的一个或者多个掩码指令位来选择性地控制所述第一组掩码逻辑以及所述第二组掩码逻辑。
12.根据权利要求11所述的装置,其中所述选择逻辑包括根据多项式而配置的逻辑门的网络。
13.根据权利要求12所述的装置,其中至少一些所述逻辑门是XOR门或者XNOR门。
14.根据权利要求12所述的装置,其中所述多项式描述至少一个选择逻辑输入与至少一个选择逻辑输出之间的相应关系。
15.根据权利要求11所述的装置,其中所述寄存器是第一寄存器,其中所述选择逻辑包括多个选择逻辑输入,并且其中所述装置进一步包括具有第二寄存器输入和多个第二寄存器输出的第二寄存器,所述多个第二寄存器输出耦合至所述多个选择逻辑输入。
16.根据权利要求11所述的装置,其中所述掩码指令位是从外部测试器、片上存储器或者片上解压缩器接收的未压缩位。
17.一种用于压缩测试响应的方法,包括:
使用第一空间压缩器压缩多个未压缩的测试响应位,由此产生第一组已压缩测试响应位;
从所述第一空间压缩器输出所述第一组已压缩测试响应位;
将所述第一组已压缩测试响应位串行地加载到多个顺序元件中;
从所述多个顺序元件中并行地载出所述第一组已压缩测试响应位;
在所述第一组已压缩测试响应位从所述多个顺序元件中被并行地载出之后,使用第二空间压缩器进一步压缩所述第一组已压缩测试响应位,由此产生第二组已压缩测试响应位;以及
从所述第二空间压缩器输出所述第二组已压缩测试响应位。
18.根据权利要求17所述的方法,其中所述加载发生在两个或者更多个时钟周期的第一时段,并且其中所述载出发生在一个时钟周期的第二时段。
19.根据权利要求18所述的方法,其中所述第一时段以及所述第二时段重叠。
20.根据权利要求17所述的方法,进一步包括:在压缩所述未压缩测试响应位之前,选择性地对一个或多个所述未压缩测试响应位进行掩码。
21.根据权利要求17所述的方法,进一步包括:在进一步压缩所述已压缩测试响应位之前,选择性地对一个或多个所述已压缩测试响应位进行掩码。
22.根据权利要求21所述的方法,进一步包括:加载用于控制所述选择性掩码的掩码指令。
23.一种用于压缩测试响应的电路,其被配置为执行权利要求17所述的方法。
24.一种用于压缩测试响应的电路,包括:
具有相应输入和输出的两个或者更多个顺序元件,所述两个或者更多个顺序元件可进行操作以通过所述两个或者更多个顺序元件的所述输入来输入两个或者更多个未压缩测试响应位的群组,并且进一步可进行操作以通过所述两个或者更多个顺序元件的所述输出来并行地输出所述两个或者更多个未压缩测试响应位的群组;
第一空间压缩器,包括多个第一压缩器输入以及第一压缩器输出,所述第一压缩器输入耦合至所述顺序元件的所述输出;
第二空间压缩器,包括第二压缩器输出以及多个第二压缩器输入;以及
第三空间压缩器,包括第三压缩器输出以及多个第三压缩器输入,
其中所述多个第三压缩器输入中的第一输入耦合至所述第一压缩器输出,并且所述多个第三压缩器输入中的第二输入耦合至所述第二压缩器输出。
25.根据权利要求24所述的电路,其中所述两个或者更多个顺序元件是所述被测试电路的扫描链中的扫描单元。
26.根据权利要求24所述的电路,其中所述两个或者更多个顺序元件形成耦合至所述被测试电路的扫描链的输出的寄存器。
27.根据权利要求24所述的电路,其中所述第一空间压缩器、所述第二空间压缩器以及所述第三空间压缩器是无反馈的。
28.根据权利要求24所述的电路,其中所述第一空间压缩器、所述第二空间压缩器以及所述第三空间压缩器包括相应的XOR门或者XNOR门的网络。
29.根据权利要求24所述的电路,进一步包括:
第一组掩码逻辑,耦合至所述多个第一压缩器输入和所述多个第二压缩器输入;以及
第二组掩码逻辑,耦合至所述多个第三压缩器输入。
30.根据权利要求29所述的电路,进一步包括:具有一个或者多个选择逻辑输入以及多个选择逻辑输出的选择逻辑,所述多个选择逻辑输出耦合至所述第一组掩码逻辑的相应输入以及所述第二组掩码逻辑的相应输入,所述选择逻辑可进行操作以响应于在所述一个或者多个选择逻辑输入处接收的一个或者多个掩码指令位来选择性地控制所述第一组掩码逻辑以及所述第二组掩码逻辑。
31.根据权利要求30所述的电路,其中所述选择逻辑包括根据多项式而配置的XOR门或者XNOR门的网络。
32.根据权利要求30所述的电路,进一步包括:具有寄存器输入以及多个寄存器输出的寄存器,所述多个寄存器输出耦合至所述多个选择逻辑输入。
33.一种用于在电路测试期间压缩测试响应的装置,包括:
多个扫描链群组,每个扫描链群组包括一个或者多个扫描链以及一个或者多个相应的扫描链群组输出;
多个压缩器电路,每个压缩器电路包括压缩器输入以及压缩器输出;
多输入移位寄存器MISR,包括MISR输入以及MISR输出;以及
多个压缩器,每个压缩器包括:一个或者多个压缩器输入,所述压缩器输入耦合至所述多个扫描链群组中的一个相应扫描链群组的所述一个或者多个扫描链群组输出;并且进一步包括:压缩器输出,其直接耦合至所述MISR输入中的一个相应的MISR输入,并且还耦合至相应压缩器的所述压缩器输入。
34.根据权利要求33所述的装置,进一步包括存储器,所述存储器包括耦合至所述MISR输出的第一输入以及耦合至图案计数器的第二输入。
35.根据权利要求33所述的装置,进一步包括多个掩码门,每个掩码门被耦合在所述压缩器的一个相应压缩器的所述压缩器输出与所述MISR的相应输入之间。
36.一种用于在电路测试期间压缩测试响应的装置,所述装置包括:
多个扫描链群组,每个扫描链群组包括一个或者多个扫描链以及一个或者多个相应的扫描链群组输出;
多个压缩器电路,每个压缩器电路包括压缩器输入以及压缩器输出;
编码器电路,包括多个编码器输入以及编码器输出,其中所述编码器输入耦合至相应的压缩器输出;以及
多个压缩器,每个压缩器包括:一个或者多个压缩器输入,所述压缩器输入耦合至所述扫描链组中的一个相应扫描链群组的所述扫描链群组输出;并且进一步包括:压缩器输出,其耦合至相应压缩器的所述压缩器输入,所述编码器电路被配置为检测来自所述压缩器输出的两个以上的错误值。
37.根据权利要求36所述的装置,其中所述编码器电路被配置为检测在单个偏移周期期间从所述压缩器输出处输出的两个以上的错误值。
38.根据权利要求36所述的装置,其中所述编码器电路被进一步配置为检测从所述压缩器输出处输出的两个或者更少的错误值。
39.根据权利要求36所述的装置,进一步包括多个掩码电路,每个掩码电路具有耦合至相应压缩器的所述压缩器输出的掩码电路输入以及耦合至相应编码器输入的掩码输出。
40.根据权利要求36所述的装置,进一步包括:耦合至所述编码器输出的存储器。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77443106P | 2006-02-17 | 2006-02-17 | |
US60/774,431 | 2006-02-17 | ||
US83246606P | 2006-07-22 | 2006-07-22 | |
US60/832,466 | 2006-07-22 | ||
US85305506P | 2006-10-20 | 2006-10-20 | |
US60/853,055 | 2006-10-20 | ||
PCT/US2007/004422 WO2007098167A2 (en) | 2006-02-17 | 2007-02-19 | Multi-stage test response compactors |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110008107.7A Division CN102129031B (zh) | 2006-02-17 | 2007-02-19 | 多级测试响应压缩器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101405609A CN101405609A (zh) | 2009-04-08 |
CN101405609B true CN101405609B (zh) | 2012-11-14 |
Family
ID=38437956
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780010367XA Expired - Fee Related CN101405609B (zh) | 2006-02-17 | 2007-02-19 | 多级测试响应压缩器 |
CN201110008107.7A Expired - Fee Related CN102129031B (zh) | 2006-02-17 | 2007-02-19 | 多级测试响应压缩器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110008107.7A Expired - Fee Related CN102129031B (zh) | 2006-02-17 | 2007-02-19 | 多级测试响应压缩器 |
Country Status (5)
Country | Link |
---|---|
US (8) | US20070234169A1 (zh) |
EP (2) | EP1994419B1 (zh) |
JP (2) | JP5268656B2 (zh) |
CN (2) | CN101405609B (zh) |
WO (1) | WO2007098167A2 (zh) |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099642B2 (en) * | 2008-11-03 | 2012-01-17 | Texas Instruments Incorporated | Formatter selectively outputting scan stimulus data from scan response data |
JP4856848B2 (ja) | 2001-10-11 | 2012-01-18 | アルテラ コーポレイション | プログラマブルロジックリソース上のエラー検出 |
WO2007098167A2 (en) | 2006-02-17 | 2007-08-30 | Mentor Graphics Corporation | Multi-stage test response compactors |
US7793184B2 (en) * | 2007-01-11 | 2010-09-07 | International Business Machines Corporation | Lowering power consumption during logic built-in self-testing (LBIST) via channel suppression |
US8286040B2 (en) * | 2007-02-09 | 2012-10-09 | Freescale Semiconductor, Inc. | Device and method for testing a circuit |
WO2008100520A2 (en) | 2007-02-12 | 2008-08-21 | Mentor Graphics Corporation | Low power scan testing techniques and apparatus |
US7840865B2 (en) * | 2007-03-23 | 2010-11-23 | Mentor Graphics Corporation | Built-in self-test of integrated circuits using selectable weighting of test patterns |
WO2008122937A1 (en) * | 2007-04-05 | 2008-10-16 | Nxp B.V. | Testable integrated circuit and test data generation method |
JP4802139B2 (ja) * | 2007-05-15 | 2011-10-26 | 株式会社東芝 | 半導体集積回路モジュール |
US7644329B2 (en) * | 2007-09-11 | 2010-01-05 | Ali Corporation | Integrated circuit testing method and related circuit thereof |
US7882409B2 (en) * | 2007-09-21 | 2011-02-01 | Synopsys, Inc. | Method and apparatus for synthesis of augmented multimode compactors |
US7831876B2 (en) * | 2007-10-23 | 2010-11-09 | Lsi Corporation | Testing a circuit with compressed scan chain subsets |
US8166359B2 (en) | 2007-12-20 | 2012-04-24 | Mentor Graphics Corporation | Selective per-cycle masking of scan chains for system level test |
US7971176B2 (en) * | 2008-03-18 | 2011-06-28 | International Business Machines Corporation | Method for testing integrated circuits |
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 |
FR2938676B1 (fr) * | 2008-11-18 | 2011-01-21 | Eads Europ Aeronautic Defence | Procede de reconnaissance de motifs sequentiels pour procede de traitement des messages de pannes |
US8893061B2 (en) * | 2009-01-30 | 2014-11-18 | Synopsys, Inc. | Incremental concurrent processing for efficient computation of high-volume layout data |
US8065638B2 (en) | 2009-01-30 | 2011-11-22 | Synopsys, Inc. | Incremental concurrent processing for efficient computation of high-volume layout data |
US8006150B2 (en) * | 2009-02-24 | 2011-08-23 | Kuwait University | Circuit and method for increasing scan cell observability of response compactors |
US8527821B2 (en) * | 2009-04-13 | 2013-09-03 | Texas Instruments Incorporated | Hybrid test compression architecture using multiple codecs for low pin count and high compression devices |
US8499209B2 (en) * | 2009-04-22 | 2013-07-30 | Mentor Graphics Corporation | At-speed scan testing with controlled switching activity |
CN101551438B (zh) * | 2009-04-28 | 2011-03-30 | 钰创科技股份有限公司 | 芯片数据压缩测试多路复用电路与芯片测试电路 |
US8112685B2 (en) | 2009-06-11 | 2012-02-07 | Texas Instruments Incorporated | Serial compressed data I/O in a parallel test compression architecture |
US8108742B2 (en) * | 2009-06-11 | 2012-01-31 | Texas Instruments Incorporated | Tap control of TCA scan clock and scan enable |
US7996741B2 (en) * | 2009-08-24 | 2011-08-09 | Syntest Technologies, Inc. | Method and apparatus for low-pin-count scan compression |
WO2011084535A2 (en) * | 2009-12-15 | 2011-07-14 | Corensic, Inc. | Establishing a useful debugging state for a multithreaded computer program |
US8522097B2 (en) * | 2010-03-16 | 2013-08-27 | Qualcomm Incorporated | Logic built-in self-test programmable pattern bit mask |
CN102906580B (zh) * | 2010-03-16 | 2016-11-09 | 明导公司 | 在测试压缩环境中的测试调度和测试访问 |
US8898529B2 (en) * | 2010-05-19 | 2014-11-25 | Universität Potsdam | High performance compaction for test responses with many unknowns |
US8521464B2 (en) * | 2010-06-03 | 2013-08-27 | Synopsys, Inc. | Accelerating automatic test pattern generation in a multi-core computing environment via speculatively scheduled sequential multi-level parameter value optimization |
US8887018B2 (en) * | 2010-06-11 | 2014-11-11 | Texas Instruments Incorporated | Masking circuit removing unknown bit from cell in scan chain |
US8843796B2 (en) * | 2010-06-11 | 2014-09-23 | Mentor Graphics Corporation | Profiling-based scan chain diagnosis |
WO2012040293A1 (en) | 2010-09-21 | 2012-03-29 | Ansaldo Sts Usa, Inc. | Method of analyzing the safety of a device employing on target hardware description language based fault injection |
US8343781B2 (en) * | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Electrical mask inspection |
US9659136B2 (en) | 2010-09-27 | 2017-05-23 | Teseda Corporation | Suspect logical region synthesis from device design and test information |
US8473792B2 (en) * | 2011-01-06 | 2013-06-25 | Lsi Corporation | Logic BIST for system testing using stored patterns |
US10110226B2 (en) * | 2011-02-24 | 2018-10-23 | New York University | Architecture, system, method, and computer-accessible medium for expedited-compaction for scan power reduction |
US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
US9939488B2 (en) | 2011-08-31 | 2018-04-10 | Teseda Corporation | Field triage of EOS failures in semiconductor devices |
US8615693B2 (en) | 2011-08-31 | 2013-12-24 | Lsi Corporation | Scan test circuitry comprising scan cells with multiple scan inputs |
US8907697B2 (en) | 2011-08-31 | 2014-12-09 | Teseda Corporation | Electrical characterization for a semiconductor device pin |
EP2608039B1 (en) * | 2011-12-22 | 2014-05-21 | Nxp B.V. | Secure low pin count scan |
US20150095866A1 (en) * | 2012-03-11 | 2015-04-02 | Cigol Digital Systems Ltd. | Vlsi circuit signal compression |
US8700962B2 (en) * | 2012-07-27 | 2014-04-15 | Lsi Corporation | Scan test circuitry configured to prevent capture of potentially non-deterministic values |
US9157939B2 (en) * | 2012-08-09 | 2015-10-13 | Infineon Technologies Ag | System and device for determining electric voltages |
US10345369B2 (en) | 2012-10-02 | 2019-07-09 | Synopsys, Inc. | Augmented power-aware decompressor |
US8856720B2 (en) * | 2013-01-03 | 2014-10-07 | International Business Machines Corporation | Test coverage of integrated circuits with masking pattern selection |
US8839061B2 (en) * | 2013-02-07 | 2014-09-16 | Freescale Semiconductor, Inc. | System and method for scan chain re-ordering |
US9329235B2 (en) | 2013-03-13 | 2016-05-03 | Synopsys, Inc. | Localizing fault flop in circuit by using modified test pattern |
US9411014B2 (en) | 2013-03-22 | 2016-08-09 | Synopsys, Inc. | Reordering or removal of test patterns for detecting faults in integrated circuit |
US9239897B2 (en) | 2013-04-03 | 2016-01-19 | Synopsys, Inc. | Hierarchical testing architecture using core circuit with pseudo-interfaces |
US9057765B2 (en) | 2013-04-12 | 2015-06-16 | International Business Machines Corporation | Scan compression ratio based on fault density |
US9417287B2 (en) * | 2013-04-17 | 2016-08-16 | Synopsys, Inc. | Scheme for masking output of scan chains in test circuit |
US9588179B2 (en) | 2013-06-12 | 2017-03-07 | Synopsys, Inc. | Scheme for masking output of scan chains in test circuit |
US9009553B2 (en) * | 2013-06-17 | 2015-04-14 | Mentor Graphics Corporation | Scan chain configuration for test-per-clock based on circuit topology |
US10067187B2 (en) | 2013-07-19 | 2018-09-04 | Synopsys, Inc. | Handling of undesirable distribution of unknown values in testing of circuit using automated test equipment |
US9448282B1 (en) * | 2014-02-12 | 2016-09-20 | Cadence Design Systems, Inc. | System and method for bit-wise selective masking of scan vectors for X-value tolerant built-in self test |
CN104950241B (zh) * | 2014-03-31 | 2017-10-24 | 联发科技(新加坡)私人有限公司 | 集成电路及在集成电路中建立扫描测试架构的方法 |
CN105629148B (zh) | 2014-10-28 | 2018-08-28 | 国际商业机器公司 | 测试电路中的多个模块的测试方法和测试设备 |
JP6544958B2 (ja) * | 2015-03-18 | 2019-07-17 | ルネサスエレクトロニクス株式会社 | 半導体装置及び設計装置、スキャンフリップフロップ |
EP3287799B1 (en) * | 2015-04-16 | 2022-11-02 | Renesas Electronics Corporation | Semiconductor device and scan test method |
DE102015110144B8 (de) * | 2015-06-24 | 2018-06-28 | Infineon Technologies Ag | Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips |
US9881694B2 (en) | 2015-07-15 | 2018-01-30 | International Business Machines Corporation | Built-in-self-test (BIST) engine configured to store a per pattern based fail status in a pattern mask register |
US10380303B2 (en) | 2015-11-30 | 2019-08-13 | Synopsys, Inc. | Power-aware dynamic encoding |
US9864004B1 (en) * | 2016-03-17 | 2018-01-09 | Cadence Design Systems, Inc. | System and method for diagnosing failure locations in electronic circuits |
US10060978B2 (en) * | 2016-06-21 | 2018-08-28 | International Business Machines Corporation | Implementing prioritized compressed failure defects for efficient scan diagnostics |
US10184980B2 (en) * | 2016-09-06 | 2019-01-22 | Texas Instruments Incorporated | Multiple input signature register analysis for digital circuitry |
US9733307B1 (en) | 2016-10-20 | 2017-08-15 | International Business Machines Corporation | Optimized chain diagnostic fail isolation |
US9934138B1 (en) * | 2016-12-07 | 2018-04-03 | International Business Machines Corporation | Application testing on a blockchain |
US10613142B2 (en) * | 2017-02-22 | 2020-04-07 | International Business Machines Corporation | Non-destructive recirculation test support for integrated circuits |
US10247780B2 (en) * | 2017-08-02 | 2019-04-02 | Texas Instruments Incorporated | Re-programmable self-test |
US10416226B2 (en) | 2017-08-03 | 2019-09-17 | Globalfoundries Inc. | Test response compaction scheme |
US10685157B2 (en) * | 2017-09-28 | 2020-06-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Power-aware scan partitioning |
KR102453710B1 (ko) * | 2018-02-12 | 2022-10-11 | 삼성전자주식회사 | 반도체 장치 |
US11193975B2 (en) * | 2018-06-29 | 2021-12-07 | Intel Corportion | Compressed test patterns for a field programmable gate array |
US10908213B1 (en) * | 2018-09-28 | 2021-02-02 | Synopsys, Inc. | Reducing X-masking effect for linear time compactors |
US11461522B1 (en) * | 2018-12-06 | 2022-10-04 | Cadence Design Systems, Inc. | Emulation system supporting computation of four-state combinational functions |
US10678667B1 (en) | 2018-12-21 | 2020-06-09 | Micron Technology, Inc. | Holdup self-tests for power loss operations on memory systems |
US10866280B2 (en) | 2019-04-01 | 2020-12-15 | Texas Instruments Incorporated | Scan chain self-testing of lockstep cores on reset |
US10963612B2 (en) * | 2019-04-10 | 2021-03-30 | Mentor Graphics Corporation | Scan cell architecture for improving test coverage and reducing test application time |
US11422186B1 (en) * | 2019-06-20 | 2022-08-23 | Synopsys, Inc. | Per-shift X-tolerant logic built-in self-test |
US11815555B2 (en) * | 2019-09-06 | 2023-11-14 | Siemens Industry Software Inc. | Universal compactor architecture for testing circuits |
US11238129B2 (en) * | 2019-12-11 | 2022-02-01 | International Business Machines Corporation | Root cause analysis using Granger causality |
US11175338B2 (en) | 2019-12-31 | 2021-11-16 | Alibaba Group Holding Limited | System and method for compacting test data in many-core processors |
KR102279047B1 (ko) * | 2020-03-31 | 2021-07-16 | 연세대학교 산학협력단 | 필터를 이용한 스캔 체인 고장 진단 방법 및 그를 위한 장치 |
US11423202B2 (en) | 2020-08-31 | 2022-08-23 | Siemens Industry Software Inc. | Suspect resolution for scan chain defect diagnosis |
US11862117B2 (en) * | 2020-11-25 | 2024-01-02 | Texas Instruments Incorporated | Method and apparatus for matched buffer decompression |
US11639962B1 (en) * | 2021-03-12 | 2023-05-02 | Xilinx, Inc. | Scalable scan architecture for multi-circuit block arrays |
US11592482B1 (en) * | 2021-03-17 | 2023-02-28 | Cadence Design Systems, Inc. | Scan channel slicing for compression-mode testing of scan chains |
US11740288B1 (en) * | 2021-06-02 | 2023-08-29 | Synopsys, Inc. | Localization of multiple scan chain defects per scan chain |
EP4361650A1 (en) * | 2021-07-30 | 2024-05-01 | Huawei Technologies Co., Ltd. | Method for designing test circuit, and electronic device |
WO2023107096A1 (en) * | 2021-12-07 | 2023-06-15 | Siemens Industry Software Inc. | X-masking for in-system deterministic test |
US20230288477A1 (en) * | 2022-03-14 | 2023-09-14 | Duke University | Dynamic scan obfuscation for integrated circuit protections |
US11782092B1 (en) | 2022-05-18 | 2023-10-10 | Stmicroelectronics International N.V. | Scan compression through pin data encoding |
CN116106729A (zh) * | 2023-02-10 | 2023-05-12 | 无锡玖熠半导体科技有限公司 | 基于代价损失因子的扫描链及组合逻辑故障诊断方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831992A (en) * | 1995-08-17 | 1998-11-03 | Northern Telecom Limited | Methods and apparatus for fault diagnosis in self-testable systems |
Family Cites Families (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4122399A (en) | 1977-12-07 | 1978-10-24 | Bell Telephone Laboratories, Incorporated | Distortion generator |
US4320509A (en) | 1979-10-19 | 1982-03-16 | Bell Telephone Laboratories, Incorporated | LSI Circuit logic structure including data compression circuitry |
US4513418A (en) * | 1982-11-08 | 1985-04-23 | International Business Machines Corporation | Simultaneous self-testing system |
US4503537A (en) | 1982-11-08 | 1985-03-05 | International Business Machines Corporation | Parallel path self-testing system |
JPS6026925U (ja) | 1983-07-30 | 1985-02-23 | 株式会社豊田自動織機製作所 | 産業車両におけるエアクリ−ナの支持構造 |
JPS6128531A (ja) | 1984-07-19 | 1986-02-08 | Toyoda Gosei Co Ltd | プラズマ処理装置 |
JPH032579Y2 (zh) | 1984-11-24 | 1991-01-24 | ||
US4801870A (en) | 1985-06-24 | 1989-01-31 | International Business Machines Corporation | Weighted random pattern testing apparatus and method |
US4687988A (en) | 1985-06-24 | 1987-08-18 | International Business Machines Corporation | Weighted random pattern testing apparatus and method |
US4754215A (en) | 1985-11-06 | 1988-06-28 | Nec Corporation | Self-diagnosable integrated circuit device capable of testing sequential circuit elements |
JPS63286780A (ja) | 1987-05-20 | 1988-11-24 | Hitachi Ltd | 故障検出方式および故障検出装置 |
JPH0815382B2 (ja) | 1987-06-18 | 1996-02-14 | 三菱電機株式会社 | 磁石発電機 |
JPH0511975Y2 (zh) | 1987-06-29 | 1993-03-25 | ||
JPH01239486A (ja) | 1988-03-18 | 1989-09-25 | Nec Corp | 出力応答圧縮器 |
JPH02300304A (ja) | 1989-05-11 | 1990-12-12 | Nozaki Sewing Mach Shokai:Kk | ふとんカバーにおける縫代処理方法 |
JP2591825B2 (ja) | 1989-05-30 | 1997-03-19 | 富士通株式会社 | 圧縮データを用いた論理回路試験方法及びその装置 |
JP2584673B2 (ja) | 1989-06-09 | 1997-02-26 | 株式会社日立製作所 | テストデータ変更回路を有する論理回路テスト装置 |
WO1991010182A1 (en) | 1989-12-21 | 1991-07-11 | Bell Communications Research, Inc. | Generator of multiple uncorrelated noise sources |
JPH03214809A (ja) | 1990-01-19 | 1991-09-20 | Nec Corp | リニアフィードバック・シフトレジスタ |
DE69114183T2 (de) * | 1990-06-07 | 1996-05-30 | Ibm | System zur Reduzierung von Prüfdatenspeichern. |
US5173906A (en) | 1990-08-31 | 1992-12-22 | Dreibelbis Jeffrey H | Built-in self test for integrated circuits |
JPH0511975A (ja) * | 1991-07-04 | 1993-01-22 | Hitachi Ltd | データ圧縮/復元方法および装置 |
JP2584172B2 (ja) | 1991-08-23 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デイジタル試験信号発生回路 |
US5369648A (en) | 1991-11-08 | 1994-11-29 | Ncr Corporation | Built-in self-test circuit |
JPH05215816A (ja) | 1991-12-06 | 1993-08-27 | Nec Corp | 情報処理装置 |
US5301199A (en) | 1991-12-16 | 1994-04-05 | Nippon Telegraph And Telephone Corporation | Built-in self test circuit |
JP2711492B2 (ja) | 1992-03-05 | 1998-02-10 | 日本電信電話株式会社 | 組込み自己試験回路 |
JP2882743B2 (ja) | 1993-12-21 | 1999-04-12 | 川崎製鉄株式会社 | 半導体集積回路装置 |
JP3179646B2 (ja) | 1993-12-28 | 2001-06-25 | 日本電信電話株式会社 | 共有型試験レジスタおよびこれを用いた組み込み自己試験回路 |
US5631913A (en) * | 1994-02-09 | 1997-05-20 | Matsushita Electric Industrial Co., Ltd. | Test circuit and test method of integrated semiconductor device |
JP3403814B2 (ja) | 1994-07-04 | 2003-05-06 | 富士通株式会社 | 自己試験機能組込み型回路 |
US5642362A (en) | 1994-07-20 | 1997-06-24 | International Business Machines Corporation | Scan-based delay tests having enhanced test vector pattern generation |
JP3499034B2 (ja) * | 1995-03-13 | 2004-02-23 | 富士通株式会社 | 非対称信号検出回路 |
US5574733A (en) | 1995-07-25 | 1996-11-12 | Intel Corporation | Scan-based built-in self test (BIST) with automatic reseeding of pattern generator |
US5680543A (en) | 1995-10-20 | 1997-10-21 | Lucent Technologies Inc. | Method and apparatus for built-in self-test with multiple clock circuits |
US5790562A (en) * | 1996-05-06 | 1998-08-04 | General Motors Corporation | Circuit with built-in test and method thereof |
US5991909A (en) | 1996-10-15 | 1999-11-23 | Mentor Graphics Corporation | Parallel decompressor and related methods and apparatuses |
US5694402A (en) | 1996-10-22 | 1997-12-02 | Texas Instruments Incorporated | System and method for structurally testing integrated circuit devices |
US5991898A (en) * | 1997-03-10 | 1999-11-23 | Mentor Graphics Corporation | Arithmetic built-in self test of multiple scan-based integrated circuits |
US5968194A (en) * | 1997-03-31 | 1999-10-19 | Intel Corporation | Method for application of weighted random patterns to partial scan designs |
JPH1130646A (ja) | 1997-07-10 | 1999-02-02 | Nec Eng Ltd | 半導体集積回路及びそれに含まれるテスト回路 |
US6272653B1 (en) | 1997-11-14 | 2001-08-07 | Intrinsity, Inc. | Method and apparatus for built-in self-test of logic circuitry |
JP3047883B2 (ja) | 1998-03-17 | 2000-06-05 | 日本電気株式会社 | テストモードを有する半導体装置の出力回路 |
US6256759B1 (en) | 1998-06-15 | 2001-07-03 | Agere Systems Inc. | Hybrid algorithm for test point selection for scan-based BIST |
US6286119B1 (en) | 1998-12-22 | 2001-09-04 | Nortel Networks Limited | Delay fault testing with IEEE 1149.1 |
US6467058B1 (en) | 1999-01-20 | 2002-10-15 | Nec Usa, Inc. | Segmented compaction with pruning and critical fault elimination |
JP2000276510A (ja) * | 1999-03-26 | 2000-10-06 | Kawasaki Steel Corp | 回路設計装置および回路設計プログラム記憶媒体 |
US6308290B1 (en) | 1999-05-20 | 2001-10-23 | International Business Machines Corporation | Look ahead scan chain diagnostic method |
US6590929B1 (en) | 1999-06-08 | 2003-07-08 | International Business Machines Corporation | Method and system for run-time logic verification of operations in digital systems |
US6463560B1 (en) * | 1999-06-23 | 2002-10-08 | Agere Systems Guardian Corp. | Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits |
US6557129B1 (en) | 1999-11-23 | 2003-04-29 | Janusz Rajski | Method and apparatus for selectively compacting test responses |
EP1242885B1 (en) | 1999-11-23 | 2009-10-07 | Mentor Graphics Corporation | 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 |
US6874109B1 (en) * | 1999-11-23 | 2005-03-29 | Janusz Rajski | Phase shifter with reduced linear dependency |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US6353842B1 (en) * | 1999-11-23 | 2002-03-05 | Janusz Rajski | Method for synthesizing linear finite state machines |
JP2001155043A (ja) * | 1999-11-25 | 2001-06-08 | Nec Ic Microcomput Syst Ltd | 論理シミュレーションにおけるタイミングチェック方法およびタイミングチェック方法を記録した記録媒体 |
EP1146343B1 (en) | 2000-03-09 | 2005-02-23 | Texas Instruments Incorporated | Adapting Scan-BIST architectures for low power operation |
US6421794B1 (en) * | 2000-03-09 | 2002-07-16 | John T. Chen | Method and apparatus for diagnosing memory using self-testing circuits |
US6611933B1 (en) * | 2000-04-12 | 2003-08-26 | International Business Machines Corporation | Real-time decoder for scan test patterns |
US6510398B1 (en) * | 2000-06-22 | 2003-01-21 | Intel Corporation | Constrained signature-based test |
US6813761B1 (en) * | 2000-06-30 | 2004-11-02 | Microsoft Corporation | Methods for enhancing flow analysis |
JP4228061B2 (ja) | 2000-12-07 | 2009-02-25 | 富士通マイクロエレクトロニクス株式会社 | 集積回路の試験装置および試験方法 |
US6988232B2 (en) * | 2001-07-05 | 2006-01-17 | Intellitech Corporation | Method and apparatus for optimized parallel testing and access of electronic circuits |
US7644333B2 (en) * | 2001-12-18 | 2010-01-05 | Christopher John Hill | Restartable logic BIST controller |
US7552373B2 (en) | 2002-01-16 | 2009-06-23 | Syntest Technologies, Inc. | Method and apparatus for broadcasting scan patterns in a scan-based integrated circuit |
US7185253B2 (en) * | 2002-03-27 | 2007-02-27 | Intel Corporation | Compacting circuit responses |
JP2003332443A (ja) * | 2002-05-08 | 2003-11-21 | Toshiba Corp | 半導体集積回路とその設計支援装置およびテスト方法 |
US6745359B2 (en) | 2002-06-06 | 2004-06-01 | Logicvision, Inc. | Method of masking corrupt bits during signature analysis and circuit for use therewith |
JP4031954B2 (ja) * | 2002-06-11 | 2008-01-09 | 富士通株式会社 | 集積回路の診断装置および診断方法 |
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 |
JP4211326B2 (ja) * | 2002-08-28 | 2009-01-21 | ヤマハ株式会社 | 半導体検査方法及び装置 |
US7131046B2 (en) * | 2002-12-03 | 2006-10-31 | Verigy Ipco | System and method for testing circuitry using an externally generated signature |
US7058869B2 (en) | 2003-01-28 | 2006-06-06 | Syntest Technologies, Inc. | Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits |
US7509550B2 (en) | 2003-02-13 | 2009-03-24 | Janusz Rajski | Fault diagnosis of compressed test responses |
US7302624B2 (en) | 2003-02-13 | 2007-11-27 | Janusz Rajski | Adaptive fault diagnosis of compressed test responses |
JP4791954B2 (ja) * | 2003-02-13 | 2011-10-12 | メンター・グラフィクス・コーポレーション | コンパクタを使用する試験応答の圧縮 |
US7437640B2 (en) | 2003-02-13 | 2008-10-14 | Janusz Rajski | Fault diagnosis of compressed test responses having one or more unknown states |
JP3828502B2 (ja) * | 2003-03-26 | 2006-10-04 | 株式会社東芝 | 集積回路 |
US6907554B2 (en) * | 2003-05-09 | 2005-06-14 | International Business Machines Corporation | Built-in self test system and method for two-dimensional memory redundancy allocation |
CN1277181C (zh) * | 2003-06-25 | 2006-09-27 | 中国科学院计算技术研究所 | 一种单输出无反馈时序测试响应压缩电路 |
US7032148B2 (en) * | 2003-07-07 | 2006-04-18 | Syntest Technologies, Inc. | Mask network design for scan-based integrated circuits |
DE602004009329T2 (de) * | 2003-09-26 | 2008-07-10 | Nxp B.V. | Verfahren und system zum selektiven maskieren von testantworten |
JP2005121399A (ja) * | 2003-10-15 | 2005-05-12 | Matsushita Electric Ind Co Ltd | バーンインシステムおよびバーンイン試験方法 |
US7506332B2 (en) * | 2004-03-24 | 2009-03-17 | Sap Ag | Object set optimization using dependency information |
US7239978B2 (en) | 2004-03-31 | 2007-07-03 | Wu-Tung Cheng | Compactor independent fault diagnosis |
JP4294531B2 (ja) * | 2004-04-06 | 2009-07-15 | 三菱電機株式会社 | 論理回路検証・テストシステム |
JP2005309867A (ja) * | 2004-04-22 | 2005-11-04 | Fujitsu Ltd | マルチコア・プロセサ試験方法 |
US7231570B2 (en) | 2004-05-26 | 2007-06-12 | Syntest Technologies, Inc. | Method and apparatus for multi-level scan compression |
JP4733935B2 (ja) | 2004-06-29 | 2011-07-27 | 富士通セミコンダクター株式会社 | 試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体 |
US7143324B2 (en) * | 2004-11-04 | 2006-11-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for automatic masking of compressed scan chains with unbalanced lengths |
US7210083B2 (en) * | 2004-12-16 | 2007-04-24 | Lsi Logic Corporation | System and method for implementing postponed quasi-masking test output compression in integrated circuit |
US7610527B2 (en) * | 2005-03-16 | 2009-10-27 | Nec Laboratories America, Inc. | Test output compaction with improved blocking of unknown values |
US7260760B2 (en) * | 2005-04-27 | 2007-08-21 | International Business Machines Corporation | Method and apparatus to disable compaction of test responses in deterministic test-set embedding-based BIST |
US7631237B2 (en) * | 2005-05-23 | 2009-12-08 | Kabushiki Kaisha Toshiba | Multi-test method for using compare MISR |
WO2007098167A2 (en) | 2006-02-17 | 2007-08-30 | Mentor Graphics Corporation | Multi-stage test response compactors |
US7558996B2 (en) * | 2006-03-16 | 2009-07-07 | Kabushiki Kaisha Toshiba | Systems and methods for identifying errors in LBIST testing |
US7404126B2 (en) * | 2006-03-29 | 2008-07-22 | Texas Instruments Incorporated | Scan tests tolerant to indeterminate states when employing signature analysis to analyze test outputs |
-
2007
- 2007-02-19 WO PCT/US2007/004422 patent/WO2007098167A2/en active Application Filing
- 2007-02-19 EP EP07751196.2A patent/EP1994419B1/en not_active Not-in-force
- 2007-02-19 CN CN200780010367XA patent/CN101405609B/zh not_active Expired - Fee Related
- 2007-02-19 CN CN201110008107.7A patent/CN102129031B/zh not_active Expired - Fee Related
- 2007-02-19 EP EP13185427.5A patent/EP2677328B1/en not_active Not-in-force
- 2007-02-19 JP JP2008555415A patent/JP5268656B2/ja not_active Expired - Fee Related
- 2007-02-20 US US11/708,717 patent/US20070234169A1/en not_active Abandoned
- 2007-02-20 US US11/709,079 patent/US7913137B2/en not_active Expired - Fee Related
- 2007-02-20 US US11/709,071 patent/US7818644B2/en not_active Expired - Fee Related
-
2011
- 2011-03-21 US US13/053,188 patent/US8418007B2/en not_active Expired - Fee Related
-
2012
- 2012-04-13 JP JP2012092236A patent/JP5554365B2/ja not_active Expired - Fee Related
-
2013
- 2013-04-08 US US13/858,737 patent/US8914694B2/en not_active Expired - Fee Related
-
2014
- 2014-12-15 US US14/570,731 patent/US9250287B2/en not_active Expired - Fee Related
-
2016
- 2016-02-01 US US15/012,628 patent/US9778316B2/en not_active Expired - Fee Related
-
2017
- 2017-10-02 US US15/723,112 patent/US10120024B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831992A (en) * | 1995-08-17 | 1998-11-03 | Northern Telecom Limited | Methods and apparatus for fault diagnosis in self-testable systems |
Also Published As
Publication number | Publication date |
---|---|
US10120024B2 (en) | 2018-11-06 |
JP2012154947A (ja) | 2012-08-16 |
WO2007098167A2 (en) | 2007-08-30 |
EP2677328A1 (en) | 2013-12-25 |
CN101405609A (zh) | 2009-04-08 |
US8418007B2 (en) | 2013-04-09 |
US20150160290A1 (en) | 2015-06-11 |
US20160320450A1 (en) | 2016-11-03 |
WO2007098167A3 (en) | 2008-04-24 |
US8914694B2 (en) | 2014-12-16 |
US20110231722A1 (en) | 2011-09-22 |
US7913137B2 (en) | 2011-03-22 |
US9778316B2 (en) | 2017-10-03 |
JP5268656B2 (ja) | 2013-08-21 |
CN102129031A (zh) | 2011-07-20 |
EP1994419A2 (en) | 2008-11-26 |
US20070234157A1 (en) | 2007-10-04 |
JP2009527737A (ja) | 2009-07-30 |
US20070234163A1 (en) | 2007-10-04 |
EP1994419A4 (en) | 2012-04-04 |
US20130305107A1 (en) | 2013-11-14 |
US7818644B2 (en) | 2010-10-19 |
US20070234169A1 (en) | 2007-10-04 |
US9250287B2 (en) | 2016-02-02 |
JP5554365B2 (ja) | 2014-07-23 |
EP1994419B1 (en) | 2013-11-06 |
EP2677328B1 (en) | 2015-07-29 |
CN102129031B (zh) | 2015-03-11 |
US20180156867A1 (en) | 2018-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101405609B (zh) | 多级测试响应压缩器 | |
US7370254B2 (en) | Compressing test responses using a compactor | |
US8280688B2 (en) | Compactor independent direct diagnosis of test hardware | |
US8812922B2 (en) | Speeding up defect diagnosis techniques | |
Mrugalski et al. | Isolation of failing scan cells through convolutional test response compaction | |
Mrugalski et al. | Convolutional compaction-driven diagnosis of scan failures | |
Patil et al. | Signature analyzer design for yield learning support | |
Clouqueur et al. | Matrices of Multiple Weights for Test Response Compaction with Unknown Values |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121114 Termination date: 20190219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |