专利名称:多级测试响应压缩器的制作方法
技术领域:
所公开的技术涉及测试电子电路,尤其是使用压缩硬件来测试电子电路。
背景技术:
针对可能的缺陷测试电子电路可能生成大量测试数据(例如,测试响应),尤其是 在电路较大和/或复杂的情况下。可以压缩电路中由扫描链存储的测试响应,以允许例如 可以通过电路外部的自动测试设备(ATE)来使用较少的测试资源(例如,测试管脚)对该 响应进行分析。存在测试响应压缩器,但是这些设备的压缩比通常限于扫描链的数目与压 缩器输出数目的比。由此,需要一种有可能提供更高压缩比的压缩机制。
发明内容
在此公开了改进测试响应压缩器的示例性实施方式、此类压缩器的设计和操作方 法以及使用此类压缩器的系统。此类压缩器的某些实施方式在此称作“x-(su)press”或者 “X-press”测试响应压缩器,并且包括第一压缩部分、第二压缩部分(在此有时称作“过 载”部分)、以及用于选择性地对一个或者多个测试响应位进行掩码的扫描链选择逻辑。在 此公开的技术的某些实施方式提供了 IOOOx量级的压缩比。在此公开的压缩器的示例性实 施方式可以维持与传统基于扫描的测试情况大致相同的覆盖以及大致相同的诊断辨析率。 扫描链选择方案的某些实施方式可以显著降低或者完全消除在测试响应中出现的进入压 缩器的未知状态。所公开技术的各个方面和特征(可以单独实现或者可以彼此相结合来实现)可以 包括以下内容(1)与多个扫描链结合工作的多级测试响应压缩器架构,其通常保持了空 间压缩的益处,并且提供相对较高的压缩比;( 可以与压缩器集成的多层级扫描链选择 逻辑;以及C3)用于根据扫描链的分级来针对每个图案确定用来抑制未知(“X”)状态的 扫描链选择掩码的方法。在所公开技术的某些实施方式中,提供了具有扫描链选择逻辑(例如,用于选择 性地对一个或者多个测试响应位进行掩码)的两级测试响应压缩器。该压缩器的实施方式 能够处理多种X状态属性,提供高于扫描链与压缩器输出比率的压缩比,和/或提供高诊断辨析率。另外,在某些实施方式中,片上压缩器和注册电路记录故障日志信息。这使测试时 间显著降低。此外,在此描述的多级压缩器的实施方式适用于传统内核,其中在该传统内核 中,仅可通过外部方案来实现较高的压缩比(这是由于其扫描链配置通常不能改变)。另外,在此描述了一种用于合成选择逻辑以便对一个或者多个测试响应位进行掩 码的示例性方法。这些技术可以减少操作选择逻辑所需的数据。此外,公开了用于针对选 择逻辑来确定掩码位(在此也称作“掩码指令”或者“掩码指令位”)的示例性选择技术。在此公开的一个示例性实施方式是用于压缩被测试电路的测试响应的装置。该装 置例如包括第一空间压缩器,包括多个第一压缩器输入和第一压缩器输出;寄存器,包括 耦合至第一压缩器输出的寄存器输入以及多个寄存器输出;以及第二空间压缩器,包括耦 合至所述多个寄存器输出的多个第二压缩器输入以及第二压缩器输出。在这些实施方式的 某些实现中,寄存器可进行操作以通过寄存器输入来加载测试响应位,以及通过多个寄存 器输出来并行地输出测试响应位。在某些实施方式中,所述第一空间压缩器以及所述第二 空间压缩器是无反馈的。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩 器包括相应的M)R(异或)门或者XNOR(异或非)门的网络。在某些实施方式中,所述第一 空间压缩器以及所述第二空间压缩器的至少一个是流水线化的空间压缩器。所述寄存器可 以包括两个或者多个串联耦合的顺序元件。所述寄存器可进行操作以串行地加载所述测试 响应位。在某些实施方式中,所述第一空间压缩器包括多个第一压缩器输出,并且在某些实 施方式中,所述第二空间压缩器包括多个第二压缩器输出。在其他实施方式中,所述装置可以进一步包括第一组掩码逻辑,其耦合至多个第 一压缩器输入;以及第二组掩码逻辑,其耦合在所述多个寄存器输出与所述多个第二压缩 器输入之间。在某些实施方式中,所述装置进一步包括具有一个或者多个选择逻辑输入 以及多个选择逻辑输出的选择逻辑,所述多个选择逻辑输入耦合至所述第一组掩码逻辑的 相应输入以及所述第二组掩码逻辑的相应输入,所述选择逻辑可进行操作以响应于在所述 一个或者多个选择逻辑处接收的一个或者多个掩码指令位,来选择性地控制所述第一组掩 码逻辑以及所述第二组掩码逻辑。在某些实施方式中,所述选择逻辑包括根据多项式(例 如,描述至少一个选择逻辑输入与至少一个选择逻辑输出之间的相应关系的多项式)而配 置的数字逻辑门(例如,XOR门或者XNOR门)的网络。在某些实施方式中,所述寄存器是 第一寄存器,所述选择逻辑包括多个选择逻辑输入,并且所述装置进一步包括具有第二寄 存器输入以及多个第二寄存器输出的第二寄存器,所述多个第二寄存器输出耦合至所述多 个选择逻辑输入。在所述装置的某些实施方式中,所述掩码指令位例如是从外部测试器、片 上存储器或者片上解压缩器接收的未压缩位。在此公开的另一示例性实施方式是一种用于压缩被测试电路的测试响应的方法。 在此示例性实施方式中,压缩多个未压缩测试响应位,由此产生第一组已压缩测试响应位。 将所述第一组已压缩测试响应位加载到多个顺序元件之中。从所述多个顺序元件中并行地 载出所述第一组已压缩测试响应位;以及进一步压缩所述第一组已压缩测试响应位。在某 些实施方式中,所述加载发生在两个或者更多个时钟周期的第一时段,并且所述载出发生 在一个时钟周期的第二时段。在某些实施方式中,在压缩和/或进一步压缩所述未压缩测 试响应位之前,选择性地对一个或多个所述未压缩测试响应位进行掩码。在某些实施方式 中,在压缩所述未压缩所述测试响应位时和/或在进一步压缩所述已压缩测试响应位时,加载用于控制所述选择掩码的掩码指令位。还公开了用于压缩测试响应的电路,其被配置 为执行这些方法。在此公开的另一示例性实施方式是一种用于压缩被测试电路的测试响应的装置。 此实施方式的装置包括具有相应输入和输出的两个或者更多个顺序元件。所述顺序元件 可进行操作以通过所述顺序元件的所述输入来输入两个或者更多个未压缩测试响应位的 群组,并且进一步可进行操作以通过所述顺序元件的所述输出来并行地输出未压缩测试响 应位的群组。所述装置进一步包括第一空间压缩器,其包括多个第一压缩器输入以及第一 压缩器输出。所述第一压缩器输入耦合至所述顺序元件的所述输出。在某些实施方式中, 所述装置进一步包括第二空间压缩器,其包括多个第二压缩器输入以及第二压缩器输出。 在这些实施方式中,所述多个第二压缩器输入之一耦合至所述第一压缩器输出。在某些实 施方式中,所述两个或者更多个顺序元件是所述被测试电路的扫描链中的扫描单元。在某 些实施方式中,所述两个或者更多个顺序元件形成耦合至所述被测试电路的扫描链的输出 的寄存器。在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器是无反馈的。 在某些实施方式中,所述第一空间压缩器以及所述第二空间压缩器包括相应的M)R门或者 XNOR门的网络。在某些实施方式中,所述第二压缩器输入耦合至多个附加空间压缩器的输 出。在这些实施方式中,每个附加空间压缩器被配置为输入从附加的相应顺序元件并行接 收的附加未压缩测试响应位。某些实施方式进一步包括第一组掩码逻辑,其耦合至所述多 个第一压缩器输入;以及第二组掩码逻辑,其耦合至所述多个第二压缩器输入。在某些实施 方式中,所述装置进一步包括选择逻辑,其具有一个或者多个选择逻辑输入以及多个选择 逻辑输出。在这些实施方式中,所述多个选择逻辑输入耦合至所述第一组掩码逻辑的相应 输入以及所述第二组掩码逻辑的相应输入。此外,所述选择逻辑可进行操作以响应于在所 述一个或者多个选择逻辑处接收的一个或者多个掩码指令位,来选择性地控制所述第一组 掩码逻辑以及所述第二组掩码逻辑。所述选择逻辑例如可以包括根据多项式而配置的XOR 门或者XNOR门的网络。在某些实施方式中,所述装置进一步包括具有寄存器输入以及多 个寄存器输出的寄存器。在这些实施方式中,所述多个寄存器输出耦合至所述多个选择逻 辑输入。在此公开的另一示例性实施方式是一种测试被测试电路的方法。在此示例性实施 方式中,在第一间隔期间,向被测试电路的输入提供测试图案数据。在第二间隔期间,向所 述被测试电路的所述输入提供用于对电路进行掩码的掩码指令。在某些实施方式中,所述 第一间隔先于所述第二间隔。在其他实施方式中,所述第二间隔先于所述第一间隔。在某些 实施方式中,所述第一间隔包括第三间隔和第四间隔,并且所述第二间隔包括第五间隔和 第六间隔,并且所述第三和第四间隔在所述第五和第六间隔之间散布。在某些实施方式中, 在从所述被测试电路载出根据所述测试图案数据生成的测试图案的测试响应时,将所述掩 码指令应用于掩码电路。在某些实施方式中,在从所述被测试电路载出根据其他测试图案 数据生成的测试图案的测试响应时,将所述掩码指令应用于掩码电路。所述方法进一步包 括根据所述掩码指令来对一个或者多个测试响应位进行掩码。还公开了用于执行这些示 例性方法的电路。在此公开的另一示例性实施方式是一种生成用于选择电路的选择逻辑的方法,所 述选择电路用以在测试响应比较期间对状态进行掩码。在此实施方式中,生成可能被包含在接受多项式组中的候选多项式(例如,随机生成)。所述候选多项式以及所述接受多项 式描述所述选择逻辑的两个或者多个输入与所述选择电路的相应输出的连接。选择一个或 者多个多项式测试组。所述测试组分别至少包括所述候选多项式以及来自所述接受多项式 组的一个或者多个多项式。针对所述测试组来计算等级值。至少部分基于所述等级值来选 择候选多项式以包括在所述接受多项式组中。在一个或者多个计算机可读介质上存储接 受多项式组(以及所述候选多项式)。在某些实施方式中,所述方法还包括生成所述选择 逻辑的电路描述,以及在一个或者多个计算机可读介质上存储所述选择逻辑的所述电路描 述。在这些实施方式中,所述选择逻辑实现来自所述接受多项式组的多项式。在某些实施 方式中,所述方法进一步包括确定所述候选多项式是否与所述接受多项式组中的所述一 个或者多个多项式共享超过固定数目的项;以及如果所述候选多项式确实与所述接受多项 式组中的所述一个或者多个多项式共享超过所述共享数目的项,则生成新的候选多项式。 在某些实施方式中,计算所述等级值的所述动作进一步包括将所述两个或者更多个多项 式测试组的所述等级值进行平均,并且选择所述候选多项式的所述动作至少部分地基于所 述平均等级值。在某些实施方式中,针对多个附加候选多项式重复生成、选择以及计算的动 作。在某些实施方式中,选择所述候选多项式以包括在所述接受多项式组中的所述动作进 一步基于,将所述候选多项式的平均等级值与所述附加候选多项式的相应平均等级值进行 比较。在某些实施方式中,计算两个或者更多个多项式组的所述等级值的所述动作包括确 定所述多项式的两个或者更多个测试组的简化行阶梯形式。在此公开的另一示例性实施方式是一种生成用于选择电路的掩码指令的方法,所 述选择电路可进行操作以在被测试电路的测试期间对测试响应位进行掩码。在此实施方式 中,对应用于被测试电路的测试图案进行仿真以生成测试响应。标识所述测试响应中的一 个或者多个未知状态。至少部分基于一个或者多个标识的未知状态,选择一个或者多个测 试响应位以用于掩码。在一个或者多个计算机可读介质上存储所述已选择的测试响应位的 一个或者多个指示。在某些实施方式中,至少部分地基于所述所选择的一个或者多个测试 响应位来对用于选择电路的掩码指令进行编码。在某些实施方式中,标识所述测试响应中 的一个或者多个故障观察点,并且用于掩码的所述一个或者多个测试响应位的所述选择进 一步至少部分地基于所述一个或者多个已标识的故障观察点。在某些实施方式中,选择一 个或者多个测试响应位以用于掩码的所述动作包括至少部分地基于所述一个或者多个已 标识的未知状态、所述一个或者多个已标识的故障观察点、或者所述一个或者多个已标识 的未知状态和所述一个或者多个已标识的故障观察点两者,来为所述被测试电路的已选择 扫描链的一个或者多个扫描单元指派权重。所述方法还可以包括对所述已选择扫描链内 的一个或者多个扫描单元群组的所述权重进行合计;至少部分地基于所述合计权重来计算 所述已选择扫描链的一个或者多个记分;以及至少部分地基于所述记分来确定是否对来自 所述已选择扫描链的测试响应位进行掩码。在某些实施方式中,在应用所述测试图案的所 述仿真之后,所述权重表示在所述扫描单元中存储的值的类型。在某些实施方式中,针对所 述已选择扫描链而计算的所述记分之一与所估计的在所述已选择扫描链被掩码的情况下 将保留的错误数目成比例,和/或针对所述已选择扫描链而计算的所述记分之一与所估计 的在所述已选择扫描链未被掩码的情况下将保留的错误数目成比例。在此公开的另一示例性实施方式是一种生成用于选择电路的掩码指令的方法,所述选择电路可以进行操作以在电路测试期间对测试响应进行掩码。根据此实施方式,为所 述已选择扫描链的一个或者多个扫描单元指派权重。对所述已选择扫描链内的一个或者多 个扫描单元组的所述权重进行合计。至少部分地基于所述合计权重来计算所述已选择扫描 链的一个或者多个记分。至少部分地基于所述记分来确定是否对来自所述已选择扫描链的 测试响应位进行掩码。将所述确定存储在一个或者多个计算机可读介质上。在某些实施方 式中,至少部分地基于所述确定来对用于所述选择电路的掩码指令进行编码;以及将所述 掩码指令存储在一个或者多个计算机可读介质上。在某些实施方式中,在将测试图案应用 于被测试电路之后,所述权重表示在所述扫描单元中存储的值的类型。在某些实施方式中, 指派权重的所述动作包括将第一权重指派给捕获到未知值的、所述已选择扫描链中的第 一相应扫描单元。在某些实施方式中,指派权重的所述动作包括将第二权重指派给捕获到 指示目标故障的值的、所述已选择扫描链中的第二相应扫描单元。在某些实施方式中,所述 第二权重大于所述第一权重。在某些实施方式中,指派权重的所述动作进一步包括将第三 权重指派给捕获到既不是未知值又不指示目标故障的值的、所述已选择扫描链中的第三相 应扫描单元。在某些实施方式中,所述第二权重大于所述第一权重以及所述第三权重两者, 并且所述第三权重大于所述第一权重。在某些实施方式中,针对所述已选择扫描链而计算 的所述记分之一与所估计的在所述已选择扫描链被掩码的情况下将保留的错误数目成比 例,和/或针对所述已选择扫描链而计算的所述记分之一与所估计的在所述已选择扫描链 未被掩码的情况下将保留的错误数目成比例。在某些实施方式中,针对一个或者多个附加 扫描链重复指派、合计以及计算的所述动作,由此计算所述一个或者多个附加扫描链中每 一个的一个或者多个记分。在某些实施方式中,确定是否对来自所述已选择扫描链的测试 响应位进行掩码的所述动作进一步包括对所述已选择扫描链的所述一个或者多个记分与 每个相应附加扫描链的所述一个或者多个记分进行比较。 在此公开的另一示例性实施方式包括一种在测试系统中测试多个电路的方法。在 多个所述电路中的一个电路的第一输入处,接收用于控制掩码电路的掩码数据。在所述多 个电路的所述一个电路的第二输入处,接收期待测试响应数据,以用于评估在所述多个电 路中的所述一个电路的测试期间生成的测试响应。在此示例性实施方式中,在所述第一和 第二输入处同时接收所述掩码数据以及所述期待测试响应数据。在某些实施方式中,所述 测试响应是已压缩的测试响应。在某些实施方式中,将所述测试响应加载到多输入移位寄 存器(MISR)中;在所述MISR中生成一个或者多个压缩器签名;以及将所述一个或者多个 压缩器签名存储至一个或者多个计算机可读介质中。在某些实施方式中,根据所述一个或 者多个压缩器签名来生成候选故障位置列表;以及将所述候选故障位置列表存储至一个或 者多个计算机可读介质。在某些实施方式中,至少部分地基于所述测试响应以及所述期待 测试响应数据来生成一个或者多个错误向量。在这些实施方式中,将所述错误向量压缩到 多输入移位寄存器中,以生成一个或者多个压缩器签名;并且将所述一个或者多个压缩器 签名存储至一个或者多个计算机可读介质。所述多输入移位寄存器可以根据在多个偏移周 期上输入的多个错误向量来生成压缩器签名。例如,所述多输入移位寄存器可以针对每个 测试图案生成一个压缩器签名。在某些实施方式中,至少部分地基于所述测试响应以及所 述期待测试响应数据来生成错误向量(例如,针对单个偏移周期);并且将所述错误向量存 储至一个或者多个计算机可读介质。在某些实施方式中,将所述测试响应加载到优先编码器电路中。在这些实施方式中,所述测试响应包括来自三个或者更多个压缩器输出的测试 响应值,以及所述优先编码器电路被配置为检测在单个偏移周期中输入的三个或者更多个错误。在此公开的另一示例性实施方式是一种装置,包括多个扫描链群组,多个扫描链 群组的每个包括一个或者多个扫描链以及一个或者多个对应的扫描链群组输出。所述装置 进一步包括多个压缩器电路,多个压缩器电路的每个包括压缩器输入以及压缩器输出。所 述装置还包括多输入移位寄存器(MISR),其包括MISR输入以及MISR输出。所述装置还 包括多个压缩器,多个压缩器的每个包括一个或者多个压缩器输入,所述压缩器输入耦合 至所述多个扫描链群组中一个相应扫描链群组的扫描链组输出;并且进一步包括压缩器 输出,所述压缩器输出直接耦合至所述MISR输入中一个相应的MISR输入,并且还耦合至相 应压缩器的所述压缩器输入。在某些实施方式中,所述装置进一步包括存储器,所述存储器 具有耦合至所述MISR输出的第一输入以及耦合至图案计数器的第二输入。在某些实施方 式中,所述装置进一步包括多个掩码门,每个掩码门耦合在所述压缩器中一个相应压缩器 的所述压缩器输出与所述MISR的相应输入之间。在此公开的另一示例性实施方式是一种装置,所述装置包括多个扫描链群组,多 个扫描链群组的每个包括一个或多个扫描链以及一个或多个相应的扫描链群组输出。此实 施方式的装置进一步包括多个压缩器电路,多个压缩器电路的每个包括压缩器输入以及 压缩器输出。所述装置还包括多输入移位寄存器(MIS ,所述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示出了示例性片上测试架构的又一实施方式的框图;图M示出了与图23的片上测试架构一起使用的垂直采集器电路的一个实施方式 的框图25示出了与图23的片上测试电路压缩器架构一起使用的水平采集器电路的一 个实施方式的框图;图沈示出了用于诊断的转换电路的框图;图27示出了执行对被测试电路的故障诊断的一个示例性方法的框图;图观示出了一个网络的示意图,可以使用该网络来执行所公开的任何方法、或者 生成所公开的任何压缩器实施方式;图四是分布式计算网络的示意图,可以使用该分布式计算网络来执行所公开的 任何方法、或者生成所公开的任何压缩器实施方式;图30是示出如何在图观或者图四的网络中生成所公开压缩器的实施方式的流 程图;图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示出了在具有η个扫描链120的嵌入确定性测试环境中的压缩器架构 (X-Press压缩器架构)示例性实施方式100,其包括第一测试响应压缩器110以及第二测 试响应压缩器152。可以通过一个或者多个输入通道(或者输入路径)132、134经由解压 缩器130向扫描链120提供压缩测试激励。在某些实施方式中,这些通道还可与输入通道 136,138结合使用,以便经由组件160、162来向选择器电路140递送掩码位(掩码指令)。 在特定实施方式中,组件160、162是流水线寄存器,而在其他实施方式中,它们可以是解复 用器。在其他实施方式中,在已压缩测试激励和掩模位之间未必存在数据相关性,将在下文 中更为全面地讨论。压缩器110可以是包括XOR或者XNOR树的空间压缩器(或者空间性 压缩器),并且可以经由选择器电路140耦合至扫描链120。第一压缩器110的输出112可 以耦合至ν位的过载寄存器150。在某些实施方式中,过载寄存器150可以实现为顺序加 载检测器,例如移位寄存器。过载寄存器150可以包括一个或者多个顺序元件,诸如串联耦 合的翻转器或者锁存器。可以将过载寄存器150配置为从第一压缩器110接收压缩测试响 应,并且将其提供至第二压缩器152。第二压缩器152可以是包括XOR或者XNOR树的空间 压缩器(或者空间性压缩器)。在特定实施方式中,第一压缩器110和/或第二压缩器152 包括无反馈压缩器。在其他实施方式中,第一压缩器110和/或第二压缩器152包括流水 线化的空间压缩器。图2示出了用于使用测试响应压缩器架构(例如图1的实施方式100)来压缩测 试响应的方法的一个示例性实施方式。在方法动作210中,压缩器110对来自扫描链120 的测试响应位进行压缩。在方法动作220中,将已压缩的测试响应位载入ν位的过载寄存 器150。在示例性实施方式中,已压缩测试响应位串行地载入寄存器。此加载例如可以发生 在两个或者多个周期的时段之上。在方法动作230中,由第二压缩器152进一步压缩已压 缩测试响应。在示例性实施方式中,将过载寄存器的内容并行地载出(可以在一个周期时 段之上)到第二压缩器152,并且每ν个扫描偏移周期进行一次压缩。过载寄存器150的载 出以及第二压缩器152中的压缩可以发生在与ν个扫描偏移的最后一个偏移周期相同的时 钟周期期间。在某些实施方式中,在每个时钟周期期间,将已压缩测试响应位载出并且压缩 到第二压缩器152中,但是仅仅每ν个扫描偏移周期对其进行一次记录。使用两级压缩方案(诸如,图2中所示的方案)潜在可能实现的扫描链输入与压 缩器输出的压缩比可以超过由扫描链的数目η和压缩器输出的数目w之间的比率近似确定 的界限。例如,在某些实施方式中,可以将压缩比提高大约ν的因子(例如,比率可以近似 于 η X ν w) ο例如,根据图1架构的测试响应压缩器架构的一个实施方式包括两个测试器输 入通道(例如,通道132、134)、一个压缩器输出通道(W = 1)、100个内部扫描链(n = 100) 以及过载寄存器十位(ν = 10)。利用传统技术,扫描链与测试器输入通道的比率设置最大 压缩等级(例如,50χ)。然而,使用所公开的技术,测试数据压缩比约为100Χ 10/1 = IOOOx0参考图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至η的XOR值。将 块B和块C的已压缩测试响应位304、306分别连续加载到过载寄存器150之中。如图3左侧示出,扫描链周期310( S卩,块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提供掩模信号,则在此级的掩码不但可以潜在地消 除在扫描链中的每个第ν个单元中出现的错误,而且还可以消除在那些单元中捕获的未知 状态。图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将已压缩的响应馈送至 分离的相应压缩器讨0、讨2中,而不是馈送至相同压缩器中。在对压缩器520540542的 一个或者多个输入进行或者不进行掩码的情况下,这都可使第一扫描链组不受第二扫描链 组中X状态的影响。在可以使用掩码的实施方式中,架构可以进一步包括一个或者多个选 择器电路阳0。尽管在图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还馈送至MUX 730,其继 而耦合至第二过载寄存器722。过载寄存器720、722由时钟信号732来管理时钟,并且时钟 信号的划分版本(由时钟划分器733产生)被提供给MUX 730。此布置可以允许过载寄存 器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提供输入,可以每ν个时钟周期从扫描链中的ν个 扫描单元(通常是链的最后ν个单元)直接并行地加载输入。例如,在图9中,扫描链912 从链912末端的ν个扫描单元922向压缩器902提供输入。(在图9中,为了清晰起见,未 示出各单元)。图31示出了测试响应压缩器架构3100的其他实施方式的框图,该测试响应压缩 器架构3100包括第一级中的压缩器3100以及在第二级中的压缩器3120。压缩器3100包 括耦合至相应过载寄存器3130、3132的多个输出3112、3114。压缩器3120包括多个输出 3122、3124、31沈。通常,在此描述的测试压缩器架构可以适用于包括具有多个输出的一个 或者多个压缩器的实施方式。图32示出了测试响应压缩器架构3200的另一实施方式的框图,其中一个或者多 个扫描链输出和/或过载寄存器输出中的每一个可以驱动多个压缩器输入(例如,输出可 以具有扇出)。例如,在所述实施方式中,扫描链3202具有扫描链输出3204,扫描链输出 3204通过相应的掩码门3214、3216耦合至压缩器输入3210、3212。由此,扫描链输出3204 可驱动两个压缩器3220、3222。过载寄存器输出3230类似地分别驱动两个第二级压缩器 3240,3242 的输入 3232、3234。图33示出了测试响应压缩器架构3300的其他实施方式的框图。此实施方式在以 下方面类似于图9的架构900 可以从扫描链中的ν个单元并行地加载去往压缩器3310的 输入。例如,扫描链3320从扫描链3320的扫描单元3330向压缩器3310提供输入。在所 述实施方式中,压缩器3310包括多个输出,以及压缩器3300是单级的压缩器架构。在其他 实施方式中,压缩器输入可以从一个或者多个过载寄存器加载,而不是从扫描链自身直接 加载,这类似于图8的架构800。掩码信号选择方法用于选择器电路的掩码信号(例如,在图1的选择器电路140中,由选择逻辑146 提供给逻辑门群组142、144的掩码信号)的选择可以对测试质量具有显著影响。可以使用 不同的方法来选择掩码信号。在某些实施方式中,对于应用于电路设计的给定测试图案,根据一个或者多个因素(例如,可以从对链进行掩码或者不进行掩码导致的在检测可能故障 中的潜在覆盖增益或者损失)对扫描链分级。出于讨论的目的,将单个扫描单元选作主要 故障传播点。此方法允许以一致方式处理故障。否则,由于具有大量观察点的故障的统治 性位置,可能难以检测具有少量传播点的故障。图10示出了普通方法1000的一个实施方式的框图,该方法用于确定由选择器电 路(诸如,选择器电路140)使用的掩码信号。在测试期间例如可以针对测试集合中每个待 应用的测试而执行所公开的实施方式,并且可以使用仿真结果(例如,来自应用于被测试 电路的测试图案的仿真)来确定将要指派的相应权重。方法1000还可以与各种压缩器架 构(例如,X0R, X-压缩、I压缩等)结合使用。在方法动作1010中,为一个或者多个扫描 链中的多个个体扫描单元指派权重。例如,假设观察给定单元,该单元的权重可以指示该单 元对整个错误覆盖的贡献。在某些实施方式中,可以按照以下方式指派权重可以对捕获未 知状态的扫描单元指派权重“0” ;可以对捕获不关心状态的扫描单元指派权重“1” ;以及对 有可能受到故障影响的扫描单元(在此术语称作“主”单元)指派权重“C”。通过对捕获不 关心状态的单元指派权重“1”,可以将这些单元包含在导致掩码决定的分析中。由于故障 通常传播到不止一个扫描单元,因此观察此类单元是有益的(例如,在对主单元进行掩码 的情况下)。然而,为了保持扫描单元之间的优先次序,期望与主单元相关联的权重C足够 大,使得观察的多个或者全部具有不关心值的单元的结合效应不会显著降低一个或者多个 主单元的可见性。图11示出了五个扫描链1102、1104、1106、1108、1110的表示1100的一个实施方
式,其中每个扫描链包括M个扫描单元。根据方法动作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的一个单元具有权重 O0在某些实施方式中,掩码选择可以基于原始扫描链的权重,而不是基于复合扫描 链的权重。这例如可以在复合链中没有单元或者仅有很少单元具有至少等于C的权重的情 况下使用。在方法1000的方法步骤1030中,例如可以基于在一个或者多个复合扫描链中的 合计权重来确定系数(在此有时称作“记分”)。在某些实施方式中,针对复合扫描链来计 算系数Si以及Mi。在此类示例性实施方式中,Si与假设扫描链i被选择的情况下所估计的 将保留的错误数目成比例,而系数Mi与扫描链i被掩码的情况下所估计的将保留的错误数 目成比例。令X(i)是由复合扫描链i所主管的零权重的集合。此外,对于所有复合扫描链的 给定的第c个单元,令E。和X。分别表示这些单元的权重和以及具有零权重的单元数目。系 数Si继而可以由示例性等式1来给出
权利要求
1.一种测试被测试电路的方法,包括在第一间隔期间,向被测试电路的输入提供测试图案数据;以及在第二间隔期间,向所述被测试电路的所述输入提供用于对电路进行掩码的掩码指令。
2.根据权利要求1所述的方法,其中所述第一间隔先于所述第二间隔。
3.根据权利要求1所述的方法,其中所述第二间隔先于所述第一间隔。
4.根据权利要求1所述的方法,其中所述第一间隔包括第三间隔和第四间隔,并且所 述第二间隔包括第五间隔和第六间隔,并且其中所述第三和第四间隔在所述第五和第六间 隔之间散布。
5.根据权利要求1所述的方法,进一步包括在从所述被测试电路载出根据所述测试 图案数据生成的测试图案的测试响应时,将所述掩码指令应用于掩码电路。
6.根据权利要求1所述的方法,进一步包括在从所述被测试电路载出根据其他测试 图案数据生成的测试图案的测试响应时,将所述掩码指令应用于掩码电路。
7.根据权利要求1所述的方法,进一步包括根据所述掩码指令来对一个或者多个测 试响应位进行掩码。
8.一种电路,其被配置为执行权利要求1所述的方法。
9.一种生成用于选择电路的选择逻辑的方法,所述选择逻辑用以控制在测试响应压缩 期间对未知状态进行掩码,所述方法包括生成可能被包含在接受多项式组中的候选多项式,所述候选多项式以及所述接受多项 式描述所述选择逻辑的两个或者更多个输入与所述选择电路的相应输出的连接;选择一个或者多个多项式测试组,所述测试组分别至少包括所述候选多项式和来自所 述接受多项式组的一个或者多个多项式;针对所述一个或者多个测试组来计算等级值;至少部分基于所述等级值来选择所述候选多项式,以包括在所述接受多项式组中;以及在一个或者多个计算机可读介质上存储包括所述候选多项式的接受多项式组。
10.根据权利要求9所述的方法,进一步包括生成所述选择逻辑的电路描述,所述选择逻辑实现来自所述接受多项式组的多项式;以及在一个或者多个计算机可读介质上存储所述选择逻辑的所述电路描述。
11.根据权利要求9所述的方法,其中所述候选多项式是随机生成的。
12.根据权利要求9所述的方法,进一步包括确定所述候选多项式是否与所述接受多项式组中的一个或者多个所述多项式共享超 过固定数目的项;以及如果所述候选多项式确实与所述接受多项式组中的一个或者多个所述多项式共享超 过所述固定数目的项,则生成新的候选多项式。
13.根据权利要求9所述的方法,其中所述计算所述等级值的动作进一步包括对所述 两个或者更多个多项式测试组的所述等级值进行平均,并且其中所述选择所述候选多项式 的动作至少部分地基于所述平均等级值。
14.根据权利要求9所述的方法,进一步包括针对多个附加候选多项式来重复所述生 成、选择以及计算的动作。
15.根据权利要求14所述的方法,其中所述选择所述候选多项式以包括在所述接受多 项式组中的动作进一步基于对所述候选多项式的所述平均等级值与所述附加候选多项式 的相应平均等级值进行比较。
16.根据权利要求9所述的方法,其中所述计算两个或者更多个多项式组的所述等级 值的动作包括确定所述多项式的两个或者更多个多项式测试组的简化行阶梯形式。
17.—个或多个计算机可读介质,其存储用于使计算机执行权利要求9所述的方法的 计算机可执行指令。
18.—种生成用于选择电路的掩码指令的方法,所述选择电路可以进行操作以在被测 试电路的测试期间对测试响应位进行掩码,所述方法包括对应用于被测试电路的测试图案进行仿真以生成测试响应; 标识所述测试响应中的一个或者多个未知状态;至少部分基于所述一个或者多个标识的未知状态,选择一个或者多个测试响应位以用 于掩码;以及在一个或者多个计算机可读介质上存储所述已选择的测试响应位的一个或者多个指7J\ ο
19.根据权利要求18所述的方法,进一步包括至少部分地基于所述所选择的一个或 者多个测试响应位来对用于选择电路的掩码指令进行编码。
20.根据权利要求18所述的方法,进一步包括标识所述测试响应中的一个或者多个 故障观察点,对所述用于掩码的一个或者多个测试响应位的选择进一步至少部分地基于所 述一个或者多个已标识的故障观察点。
21.根据权利要求20所述的方法,其中所述选择用于掩码的一个或者多个测试响应位 的动作包括至少部分地基于所述一个或者多个已标识的未知状态、所述一个或者多个已标识的故 障观察点、或者所述一个或者多个已标识的未知状态和所述一个或者多个已标识的故障观 察点两者,为所述被测试电路的已选择扫描链的一个或者多个扫描单元指派权重; 对所述已选择扫描链内的一个或者多个扫描单元群组的所述权重进行合计; 至少部分地基于所述合计权重来计算用于所述已选择扫描链的一个或者多个记分;以及至少部分地基于所述记分来确定是否对来自所述已选择扫描链的测试响应位进行掩码。
22.根据权利要求21所述的方法,其中在应用所述测试图案的所述仿真之后,所述权 重表示在所述扫描单元中存储的值的类型。
23.根据权利要求22所述的方法,其中针对所述已选择扫描链而计算的所述记分之一 与所估计的在所述已选择扫描链被掩码的情况下将保留的错误数目成比例。
24.根据权利要求22所述的方法,其中针对所述已选择扫描链而计算的所述记分之一 与所估计的在所述已选择扫描链未被掩码的情况下将保留的错误数目成比例。
25.一种生成用于选择电路的掩码指令的方法,所述选择电路可以进行操作以在电路测试期间对测试响应位进行掩码,所述方法包括为已选择扫描链的一个或者多个扫描单元指派权重;对所述已选择扫描链内的一个或者多个扫描单元组的所述权重进行合计;至少部分地基于所述合计权重来计算用于所述已选择扫描链的一个或者多个记分;以及至少部分地基于所述记分来确定是否对来自所述已选择扫描链的测试响应位进行掩 码;以及将对所述确定的指示存储在一个或者多个计算机可读介质上。
26.根据权利要求25所述的方法,进一步包括至少部分地基于所述确定来对用于所述选择电路的掩码指令进行编码;以及 将所述掩码指令存储在一个或者多个计算机可读介质上。
27.根据权利要求25所述的方法,其中在将测试图案应用于被测试电路之后,所述权 重表示在所述扫描单元中存储的值的类型。
28.根据权利要求25所述的方法,其中所述指派权重的动作包括将第一权重指派给 捕获到未知值的已选择扫描链中的第一相应扫描单元。
29.根据权利要求观所述的方法,其中所述指派权重的动作包括将第二权重指派给 捕获到指示目标故障的值的已选择扫描链中的第二相应扫描单元。
30.根据权利要求四所述的方法,其中所述第二权重大于所述第一权重。
31.根据权利要求四所述的方法,其中所述指派权重的动作进一步包括将第三权重 指派给捕获到既不是未知值又不是指示目标故障的值的已选择扫描链中的第三相应扫描 单元。
32.根据权利要求31所述的方法,其中所述第二权重大于所述第一权重以及所述第三 权重两者,并且其中所述第三权重大于所述第一权重。
33.根据权利要求25所述的方法,其中针对所述已选择扫描链而计算的所述记分之一 与所估计的在所述已选择扫描链未被掩码的情况下将保留的错误数目成比例。
34.根据权利要求25所述的方法,其中针对所述已选择扫描链而计算的所述记分之一 与所估计的在所述已选择扫描链被掩码的情况下将保留的错误数目成比例。
35.根据权利要求25所述的方法,进一步包括针对一个或者多个附加扫描链重复所 述指派、合计以及计算的动作,由此计算所述一个或者多个附加扫描链中每一个的一个或 者多个记分。
36.根据权利要求35所述的方法,其中所述确定是否对来自所述已选择扫描链的测试 响应位进行掩码的动作进一步包括对所述已选择扫描链的所述一个或者多个记分与每个 相应附加扫描链的所述一个或者多个记分进行比较。
37. 一个或多个计算机可读介质,其存储用于使计算机执行权利要求25所述的方法的 计算机可执行指令。
38. 一种在测试系统中测试多个电路的方法,包括在所述多个电路中的一个电路的第一输入处,接收用于控制掩码电路的掩码数据;以及在所述多个电路中的所述一个电路的第二输入处,接收期待的测试响应数据,以用于评估在所述多个电路中的所述一个电路的测试期间生成的测试响应;在所述第一和第二输入处同时接收所述掩码数据和所述期待的测试响应数据。
39.根据权利要求38所述的方法,其中所述测试响应是已压缩的测试响应。
40.根据权利要求38所述的方法,进一步包括 将所述测试响应加载到多输入移位寄存器(MISR)中; 在所述MISR中生成一个或者多个压缩器签名;以及将所述一个或者多个压缩器签名存储至一个或者多个计算机可读介质中。
41.根据权利要求40所述的方法,进一步包括根据所述一个或者多个压缩器签名来生成候选故障位置列表;以及 将所述候选故障位置列表存储至一个或者多个计算机可读介质。
42.根据权利要求38所述的方法,进一步包括至少部分地基于所述测试响应以及所述期待的测试响应数据来生成一个或者多个错误向量;将所述错误向量压缩到多输入移位寄存器中,以生成一个或者多个压缩器签名;以及 将所述一个或者多个压缩器签名存储至一个或者多个计算机可读介质。
43.根据权利要求42所述的方法,其中所述多输入移位寄存器根据在多个偏移周期上 输入的多个错误向量来生成压缩器签名。
44.根据权利要求42所述的方法,其中所述多输入移位寄存器针对每个测试图案生成 一个压缩器签名。
45.根据权利要求38所述的方法,进一步包括至少部分地基于所述测试响应以及所述期待的测试响应数据来生成错误向量,所述错 误向量针对单个偏移周期而生成;以及将所述错误向量存储至一个或者多个计算机可读介质。
46.根据权利要求38所述的方法,进一步包括将所述测试响应加载到优先编码器电 路中,所述测试响应包括来自三个或者更多个压缩器输出的测试响应值,所述优先编码器 电路被配置为检测在单个偏移周期中输入的测试响应中的三个或者更多个错误。
47.一个或多个计算机可读介质,其包括被配置为使计算机执行权利要求38所述的方 法的指令。
48.一种用于在测试系统中测试多个电路的系统包括用于在所述多个电路中的一个电路处接收用于控制掩码电路的掩码数据的装置;以及 用于在所述多个电路中的所述一个电路处接收期待的测试响应数据的装置,所述掩码 数据和所述期待的测试响应数据被同时接收。
49.根据权利要求48所述的系统,进一步包括用于压缩所述测试响应以生成一个或者多个压缩器签名的装置;以及 用于存储所述一个或者多个压缩器签名的装置。
全文摘要
在此公开了一种称为“X-Press”测试响应压缩器的示例性实施方式。所公开压缩器的某些实施方式包括过载部分以及扫描链选择逻辑。所公开技术的某些实施方式提供1000x数量级的压缩比。所公开压缩器的示例性实施方式可以维持与传统的基于扫描的测试情况大致相同的覆盖和大致相同的诊断辨析率。扫描链选择方案的某些实施方式可以显著降低或者彻底消除在进入压缩器的测试响应中出现的未知状态。另外,在此公开了片上压缩器电路的实施方式,以及用于生成掩码选择电路的控制电路的方法的实施方式。
文档编号G01R31/3185GK102129031SQ20111000810
公开日2011年7月20日 申请日期2007年2月19日 优先权日2006年2月17日
发明者G·姆鲁加尔斯基, J·拉斯基, J·特伊泽, M·卡萨布, N·玛克赫吉, W-T·程 申请人:明导公司