首页> 中国专利> 在测试压缩环境中的测试调度和测试访问

在测试压缩环境中的测试调度和测试访问

摘要

本发明公开了用于在测试压缩环境中进行测试调度和测试访问的方法、装置和系统的代表性实施例。用于测试一个电路中多个核心的测试模式群集根据包括压缩测试数据、相应测试器信道要求和关联核心的测试信息形成。测试模式群集形成之后进行测试器信道分配。可以采用一种最佳拟合方案或平衡拟合方案生成信道分配信息。可以根据信道分配信息来设计用于动态信道分配的测试访问电路。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-11-09

    授权

    授权

  • 2013-04-17

    实质审查的生效 IPC(主分类):G01R31/319 申请日:20110316

    实质审查的生效

  • 2013-01-30

    公开

    公开

说明书

本申请要求针对2010年3月16日所提交的标题为“SOC Testing In Test Compression Environment”(测试压缩环境中的SOC测试)、以Grzegorz Mrugalski等人为发明人的 61/314,569号美国临时专利申请的优先权,在此通过参考将其整体合并入本申请中。

技术领域

本发明涉及集成电路测试领域。本发明的各种方面可能对于在测试压缩环境中进行 的系统级芯片测试特别有用。

背景技术

电子工业中芯片规格迅速缩小到50纳米以下以及向三维集成电路的转变已经对设 计和测试产生了显著的影响。当代的系统级芯片(SoC)和系统级封装(SiP)设计中内 嵌有超过10亿个以GHz级的工作频率运行的晶体管。这些设计可能包含多种数字、模 拟、混合信号、存储、光学、微机电和射频电路。SoC电路的普遍使用已导致测试成本 出现前所未有的增长。这种成本增长主要归因于在测试中访问嵌入式核心的难度、较长 的测试开发和测试应用时间以及所涉及的大量测试数据。尽管片上网络(NoC)系统可 以缓解一些核心通信问题,但这些结构又会使SoC测试规程进一步复杂化。

片上测试压缩已经确立了其作为主流DFT(可测试性设计,Design-for-testability) 方法之一的地位。通过使用片上测试解压和压缩硬件,测试仪可以提供压缩形式的测试 模式,而片上解压硬件可以将压缩的测试模式扩展(或解压)为载入到扫描链中的实际 数据。后一项操作可以实现的原因是通常在解压测试模式中只有少数几位为规定位,用 以确定集成电路中的一项或多项具体故障。解压测试模式的其余非规定位被称为“无关” 位,通常被随机确定为解压器结构的结果。在被采集之后,测试响应数据被片上压缩硬 件(有时被称为压缩器(compactor))压缩。经压缩的测试响应数据随后被送回测试仪。

SoC设计中压缩技术的应用需要附加的片上硬件基础设施,包括测试访问机制 (TAM)和测试封套。最初,TAM被用于将测试激励从SoC引脚传送至嵌入式核心, 并将测试响应从嵌入式核心传至SoC引脚,而测试封套则构成了核心与SoC环境之间 的接口。除了专用TAM之外,有成本效益的SoC测试通常需要某种形式的测试调度。 用于SoC的测试调度通常以多项测试涉及多种测试资源和核心。而遗憾的是,即使是相 对简单的测试调度算法通常都存在NP(非确定性多项式时间)完全问题。这是因为测 试调度通常已被表述为有确定数量的处理器参与的组合开放车间调度问题或者二维或 三维装箱问题。这些方法将给定的信道划分为不相交的子集。在多处理器调度问题表述 中,每个子集代表一个测试总线或处理器。不同的总线有不同的宽度。随后可通过仅经 其中一个测试总线访问每个核心的方式进行核心的测试。可使用专用路由路径将测试提 交至核心,而测试调度问题则通过整数线性规划加以解决。

TAM优化和测试调度两者都进行会显著影响测试时间、测试数据量和测试成本。 因此,理想的选择是找出SoC测试的测试调度和测试访问的一体化方法。

发明内容

本申请所公开的是用于SoC测试的测试调度和测试访问的方法、装置和系统的代表 性实施例。在一个测试压缩环境中,压缩测试数据(或压缩测试模式)对用于测试电路 中多个核心的测试模式进行编码。压缩测试数据可按照向正在测试的电路中的多个核心 传送压缩测试数据所需的ATE(自动测试设备)信道数较小的方式生成。根据本发明的 一些实施例,这可以通过对与多个核心的解压器关联的线性方程所需的ATE信道数较 少的解决方案加以实现。应指出的是,对于“核心”可能采用不同的术语加以表述,例如 “组块”和“模块”。

根据压缩测试数据和相应的ATE信道要求,形成测试模式群集(也称为基组或基 类)。在不同情况下,也可能会使用关于关联核心的信息。每一个测试模式群集均包括 从可并行提交至电路的多个测试模式中选择的测试模式。通过本发明的一些实现方式, 形成测试模式的配置类。一个配置类包括具有相同描述符的测试模式。一个测试模式的 描述符表示需要被并行访问的核心以及在应用测试模式时每个核心所需的ATE信道数。 在测试模式的配置类形成之后,补充配置类被组合,以形成测试模式群集。

测试模式群集形成之后是ATE信道的分配。与测试模式群集关联的核心分布直方 图信息可被使用。所公开技术的一些实施例采用了一种最佳拟合方案。所公开技术的一 些其他实施例则采用了一种平衡拟合方案。可以根据ATE信道分配信息来设计测试访 问电路。该测试访问电路能够根据ATE信道分配信息进行动态信道分配。采用一种简 单贪婪算法,可以减少多个核心群集的用于连接ATE信道与EDT(嵌入式确定性测试 (embedded deterministic test))输入的连线数。

本申请公开了应用所公开的技术的一些实施例的实验结果。

附图说明

图1所示为一个包含700万个(7M)门和33万(330K)个扫描单元的工业设计的 测试立方体填充率曲线。

图2所示为另一种工业设计的测试立方体填充率曲线。

图3所示为对图2所示测试立方体进行编码所需的ATE信道的最少数量。

图4所示为当仅有与图3所示相同数量的ATE信道被采用时,改进的编码效率(上 方曲线与下方曲线相比)。

图5所示为一个示例的SoC测试环境。

图6所示为基组(测试模式群集)及其对应的基于最佳拟合的测试调度的示例。

图7所示为一个包含有可重排互相连接网络的示例测试访问电路。

图8a所示为一个以直接方式设计的测试访问电路的连线网络的示例。

图8b所示为一个以简单贪婪算法设计的测试访问电路的连线网络的示例。

图9所示为设计D1的ATE信道与最终测试时间之间的关系。

图10所示为根据本发明的各种实施例对测试调度方法进行说明的流程图。

图11所示为可用于执行或实现任何一种所公开实施例的第一种分布式计算网络的 示意框图。

图12所示为可用于执行或实现任何一种所公开实施例的第二种分布式计算网络的 示意框图。

图13所示为使用一个分布式计算机网络(例如图37和38的网络)执行或实现任 何所公开实施例的一种示例方法的流程图。

具体实施方式

总则

本发明的各种方面涉及集成电路测试过程中对功耗的降低。在以下说明中,出于解 释的目的,对多种细节进行了阐述。然而,本领域的普通技术人员将能认识到,在不使 用这些具体细节的条件下本发明亦可实现。在其他情况下,并未详细说明已为人所熟知 的特征,以避免混淆本发明。

尽管为了表述方便,对一些所公开方法、装置和系统的操作按照一种特定的顺序方 式加以说明,但应该理解的是,这种说明方式包含重新安排,除非由下文所规定的特定 语言要求采用某一特定的顺序。例如,顺序描述的操作在某种情况下可能会被重排或同 时执行。此外,为简单起见,附图可能并未显示出所公开的方法、装置和系统可配合其 他方法、装置和系统使用的各种方式。此外,说明中有时使用“评价”和“确定”等术语来 描述所公开的方法。这些术语是对所执行的实际操作的高度抽象。对应于这些词的实际 操作可能根据具体实现方式而有不同,且很容易被本领域普通技术人员识别。

在所公开的实施例中,包括用于SoC的测试调度和测试访问技术。然而此特定用法 不应被理解为具有限定性,因为所公开技术的多个方面可被用于在其他基于扫描或基于 部分扫描的电路(例如,系统级封装(SiP)应用-专用集成电路(ASIC)(包括混合信 号ASIC),以及可编程逻辑器件(PLD),例如现场可编程门阵列(FPGA))中实现 测试调度和测试访问技术。

如下文中更全面的介绍所述,所公开技术的实施例可由存储于一种或多种计算机可 读介质(例如一种或多种光学介质盘等有形非短暂性计算机可读介质,易失性存储器或 存储部件(例如DRAM或SRAM),或非易失性存储器或存储部件(例如硬盘驱动器)) 上,并在计算机上执行的计算机可执行指令进行执行或创建。所述实施例可作为例如电 子设计自动化(EDA)软件工具(例如,一种自动化测试模式生成(ATPG)工具)等 实现。所述计算机可执行指令可以是诸如一个专用应用软件的组成部分,或者是通过 web浏览器或其他应用软件(例如远程计算应用)访问或下载的应用软件的组成部分。 所述软件可以在诸如一台单一本地计算机上或在一个网络环境中(例如通过因特网、广 域网、局域网、客户服务器式网络(例如云计算网络)或其他此类网络)使用一台或多 台网络计算机执行。为明晰起见,仅对基于软件的实现方式的特定所选方面进行说明。 其他为业内所熟知的细节会被省略。例如,应该理解为,所公开技术并不局限于任何特 定的计算机语言、软件工具或计算机。任何所公开方法均亦可通过硬件(例如,ASIC、 PLD或SoC)方式(部分或完全)实现。

此外,使用任何所公开的方法创建或修改的对任何所公开装置或任何数据结构、数 据文件、中间结果或最终结果进行说明的任何电路说明或设计文件可以被存储在一种或 多种计算机可读存储介质(例如一种或多种光学介质盘等有形非短暂性计算机可读介 质,易失性存储器或存储部件(例如DRAM或SRAM),或非易失性存储器或存储部 件(例如硬盘驱动器))上。

此外,任何基于软件的实施例(包含,例如,当由计算机执行时,会导致计算机执 行任何所公开的方法或针对任何所公开的装置创建设计数据的计算机可执行指令)均可 通过适当的通信手段被发送、接收或访问。例如,一台服务器计算机可以向客户计算机 发送用以执行任何所公开的方法或针对任何所公开的装置创建设计数据的计算机可执 行指令(例如,在服务器从客户计算机接收到下载计算机可执行指令的请求之后)。类 似地,使用任何所公开的方法创建或修改的,或对任何所公开的装置进行说明的任何电 路说明、设计文件、数据结构、数据文件、中间结果或最终结果均可通过适当的通信手 段被发送、接收或访问。所述的适当通信手段包括,例如,因特网、万维网、内联网、 应用软件、电缆(包括光缆)、磁通信、电磁通信(包括射频、微波和红外线通信)、 电子通信或其他所述通信手段。所述通信手段可以是诸如共有或专有网络的组成部分。

此外,由任何所公开的方法产生的或对任何所公开的装置进行说明的任何电路说 明、设计文件、数据结构、数据文件、中间结果或最终结果均可通过适当的显示设备(例 如,计算机监视器、触摸屏或其他所述显示设备)向用户显示。所述显示可以作为执行 任何所公开的方法的计算机实现式方法的一部分进行执行。

所公开的方法或装置可以在整个设计流程中的一个或多个阶段被使用或实现。使用 以所公开的技术的实施例创建或测试的设计所制造出的电路也被视为属于本公开的范 围。例如,对任何所公开的测试环境进行说明的电路设计均可采用已知的显微光刻技术 制成集成电路。

任何所公开的方法或装置均可在EDA环境中被执行或设计。但为了介绍的目的, 本公开有时关联用其物理对应物(例如,扫描链、扫描单元、输出积分器、测试访问网 及其他此类术语)对正在测试的电路(包括正在测试的电路的各个组件)及关联测试硬 件(包括该硬件的各个组件)加以指代。但应该理解为,任何所述指代不仅包括物理组 件,而且包括对用于仿真、自动测试模式生成或其他此类EDA环境的、在非短暂性计 算机可读介质上存储的所述组件的指代。例如,任何所公开装置均可被描述或表达为存 储于一种或多种计算机可读介质上的设计数据或设计信息。更具体而言,任何所公开的 测试装置均可在一个HDL文件(例如Verilog、VHDL或寄存器传输级文件)、门级网 表或其他此类EDA设计文件(例如GDSII文件或Oasis文件)中被描述或表达。所述 设计数据或设计信息可使用合适的EDA软件工具进行创建。

在本公开中,除非上下文明确表述相反的意思,单数形式冠词均涵盖复数形式。此 外,术语“包括”(include)意指“包含”(comprise,仅限所列举项)。此外,除非上下 文明确表述相反的意思,术语“耦合”(coupled)意指以电气或电磁方式被连接或链接, 既包括直接连接或直接链接,也包括通过一个或多个不影响电路预期运作方式的中间元 件实现的非直接连接或非直接链接。

此外,在本文中,术语“解压器”(decompressor)意指对来自外部测试设备的,诸 如确定性测试激励等压缩测试激励(或压缩测试数据)进行解压缩、以传送给芯片上正 在测试的电路的一个或多个功能单元。解压器可通过不同形式实现。所述形式可以包括 但不限于带或不带偏置电路的广播电路、可选广播电路、带或不带偏置电路的组合电路 (包括但不限于基于MUX或基于XOR的组合电路),带或不带移相器和/或偏置电路 的反馈移位寄存器,和/或带重播的反馈移位寄存器。

应该注意的是,诸如术语“解压器”等任何特定术语的使用均不应被理解为具有限定 性,因为一个术语可能涵盖本领域普通技术人员所理解的附加特征,或者可由上下文提 示出该术语如何使用。

一般方案的示例实施例

大量实验证据表明,测试立方体,甚至是采用针对多种故障的精密动态压密生成, 并执行多时钟压缩的测试立方体,也仅在工序的开始阶段具有从1%到5%的填充率。在 第一对向量之后,填充率可能降至远低于1%的水平。图1示出了一个包含700万个门 和33万个扫描单元的工业设计的所述测试立方体填充率曲线示例。在第一64个模式中, 平均填充率约为3.4%(11318个规定位)。在320个模式之后,填充率降至1%以下, 平均填充率约为0.2%(675个规定位)。使用传统方法,用于此设计的解压器可能不会 以最高效的方式使用8个ATE(自动测试设备)信道。尽管向最初少数测试立方体提供 初始数据可能需要全部8个ATE信道,但其余立方体的成功压缩所需的外部信道会较 少。这一点从编码效率可反映出来,此值从96%降至仅仅8%。

在以固定数目的输入运行单个测试数据解压器时,编码效率低下和信道过度利用是 不可避免的副作用。然而,在一个SoC设计内并行测试多个核心可能通过动态信道分配 而产生提高多核芯片压缩整体性能的新的机会。具体而言,一个给定核心可以从逐渐增 加或减少数量的ATE信道接收数据,由此可以相应地提升编码效率。考虑图2中所示 的另一种工业测试立方体曲线。可以看出,对于8,000多个测试模式,填充率的变化范 围为1.1%至0.02%之间。因此对EDT(嵌入式确定性测试)采用某个最小的ATE信道 数量即可能足以对这些向量进行编码,如图3所示。(更多涉及EDT测试方案的细节 在以下文献及专利中给出:J.Rajski,J.Tyszer,M.Kassab和N.Mukherjee,"Embedded deterministic test,"(嵌入式确定性测试)IEEE Trans.CAD,23卷,776-792页,2004年 5月,以及编号为6,327,687、6,353,842、6,539,409、6,543,020、6,557,129、6,684,358、 6,708,192、6,829,740、6,874,109、7,093,175、7,111,209、7,260,591、7,263,641、7,478,296、 7,493,540、7,500,163、7,506,232、7,509,546、7,523,372、7,653,851的美国专利,所有这 些文献及专利在此通过引用并入本申请中。)在此,对于图2的测试,以所有测试保持 可压缩的方式来确定相应的解压器输入。

图3的趋势可按多种方式使用,以改进对ATE接口带宽和测试时间的利用。例如, 灵活使用信道可能导致压缩比和编码效率提高。图4所示为假定仅采用与图3所示相同 数量的信道时,图2的测试立方体的编码效率的提升情况(上方曲线)。作为对比,灰 色曲线(下方曲线)示出了在整个测试期间部署8个信道的相同模式的编码效率。在不 同的时隙内根据不同的核心的需求对其分配ATE信道的工作最终还可能会缩短测试应 用时间,并显著减少所需的外部信道数量。

在本公开的其余部分中,所介绍的实施例将回答以下问题:对于一个给定的SoC设 计的接续的核心,如何能够确定外部信道需求;如何高效率地使用该信息引导每个核心 的测试调度;以及如何实现使所述形式的测试能够在压缩环境中进行的测试访问机制。

图5示出了一个符合所公开的技术的测试方案的示例性一般结构。在所示的实施例 中,外部ATE信道将初始变量送至测试访问机制510,继而由测试访问机制510根据由 测试调度器提供的控制数据,将初始变量转送至不同的核心。应注意,相同的核心可能 在广播模式中共享相同的测试数据(如该图底部针对两个核心520和530所示)。接续 的核心的输出被连接至输出积分器,后者通过执行某种类型的相应压密,形成最终测试 结果,随后被发回ATE。

值得指出的是,内部核心通常通过其主输入和主输出相互连接,而主输入和主输出 之间通过某种附加的胶合逻辑进行通信。为了检测胶合逻辑中出现的故障,一个ATPG 根据可以生成涉及多组核心的测试模式。其结果是,对于某些模式,一组核心必须被并 行测试,因此它们会被称为关联核心。而关联核心的存在会使测试调度复杂化,且在很 多情况下妨碍使用可改进测试资源分区的简单解决方案,所述解决方案诸如颠倒测试模 式顺序(相对于填充率),或者对可堆叠组块的片式调度。

采用多核心立方体融合的求解器

如前节所述,对于某一数量的测试模式,关联核心需要被并行测试。有时这会产生 测试问题,因为同时测试大量的核心需要一个针对非常少的测试模式的异常测试接口。 这一点在针对本公开中所报告的实验中使用的两种工业SoC设计的表I中给出了最好的 例示。设计D1包含52个不同种类的核心,而设计D2则有43个模块(或核心)。D1 和D2中测试立方体的初始数量分别为713,817和78,206。

表1.关联核心统计

该表的第二(三)列的每一项是其规定位将要在属于给定数量的核心(列于第一列 中)的扫描链内出现的测试立方体的数量(及对应的百分比)。例如,该表第四行的数 量表示,有多达14,682个测试立方体在同时影响4个不同的核心。每个测试立方体可能 处理一个不同的待测试四元素核心子集。可以看出,绝大多数立方体均被局限为单一核 心。然而,如果核心关联未被适当处理,则来自这项观察的任何性能提升将难以实现。 事实上,由于相当比例的测试立方体仍并行针对两个或更多的核心,可取的方式是明智 地管理其应用,使之不会影响最终的测试覆盖范围。

EDT压缩将外部测试数据作为用于创建概念化地填充扫描单元的表达式的布尔变 量加以处理。例如,可参见J.Rajski、J.Tyszer、M.Kassab和N.Mukherjee,"Embedded deterministic test"(嵌入式确定性测试),IEEE Trans.CAD,23卷,776-792页,2004 年5月。随后,通过对一个线性方程组的求解获得一个压缩模式。为了实现高度的压缩, 带有动态压密的EDT增量求解器可以将若干测试立方体融合,从而将更多规定位装入 一个新创建的测试模式中。融合本公开之技术的多核心立方体的示例实施例会使用特定 的约束。例如,该融合技术仅适用于根据一些实施例在相同的核心内具有规定位的测试 立方体。此外,一个后续测试立方体可以与已经存在的测试模式融合,条件是所述融合 对所有涉及到的核心均可实现。此时,在完成立方体融合之后,与一给定核心关联的求 解器的实例(例如,与一给定核心关联的求解器的每个实例)将尝试以一种特定方式对 一测试模式的相应部分进行压缩,以下给出一个示例。

通常,EDT求解器所采用的高斯消去法通过按注入顺序选取先导变量的方法确定一 个方程系统的简化行梯形排列。例如,考虑一个有4个输入A、B、C和D的解压器, 和以下表示5个规定位的一组5个假定方程:

d0+a1+d1+a2+a3+d3+c4+d4=1

b0+a1+b1+a2+c2+a4+d4=1

b0+c0+d1+a2+b3+d3+a4=1

a0+d0+a1+b1+d1+a2+c2+a4+b4=1

a0+d0+b2+d3+a4+b4+d4=1

其中ai、bi、ci和di分别是在通过输入信道A、B、C和D的第i个扫描切换周期内注入 的输入变量。如果先导变量的选择遵循其时间索引,则上述方程组将化简为:

d0+b1+b2+c2+a3+c4=1

b0+d1+b2+d3+a4=1

c0+a2+b2+b3=0

a0+b1+c2+a3+d3+a4+b4+c4+d4=0

a1+b1+d1+a2+b2+c2+d3+d4=0

由此将得出解(其余所有变量均为零)

d0-1,b0-1,c0-0,a0-0,a1-0

其结果是,在本例中为了提供测试数据,所有输入信道(A、B、C和D)均需要。 然而在给出一组线性方程的情况下,各行(或行和列)可能被互换,以便将一个特别需 要的元素置于一个将要开始选择先导变量的起始位置处。这种部分或全部的旋转可能关 系到决定实际需要多少输入信道来压缩给定的测试模式。再次考虑上述示例,但这一次 将在先导变量选择中优先考虑其源信道而非出现时间。此方式将得出如下简化方程:

c0+a1+b1+d1+c2+b3+d3+d4=0

d0+b1+b2+c2+a3+c4=1

c0+a2+b2+b3=0

a0+b0+d0+d1+b4+d4=0

b0+d1+b2+d3+a4=1

由此得出解:

a1=0,a3=1,a2=0,a0=0,a4=1

现在,单个信道A即足以生成给定的测试立方体,而非先前方法所使用的4个。所 提供的旋转方法(可作为压缩过程的一部分实现)可用于构建诸如图3中之一所示的测 试立方体的信道曲线。在特定的实施例中,此步在一个预计算阶段后进行,所述预计算 阶段将多核心测试立方体分为单个的基于单核心的向量,使得能够使用局限于每个核心 的本地压缩逻辑的信息对其实现高效的处理。

关联核心

对于使用前节所述方式获得的每个测试模式t,可以定义一个描述符D(t),其中D(t) ={(m1,c1),(m2,c2),...,(mk,ck}。此描述符表示,核心m1-mk将在应用测试模式t时被并 行访问,核心mi使用ci个EDT输入信道实现此目的。具有相同描述符的所有测试模式 可被称为形成一个配置类。应注意,在某些实施例中,仅当所有mi和ci均完全相同时 两个描述符才相同。也可能有两个不同的测试模式针对同一个核心子集的情况。然而, 如果这些模式所使用的输入信道不相同,则它们将被视为不相容,不能属于同一配置类。 符合所公开技术的特定示例实施例的配置类的更为详细的细目在表I第4列中给出。第 5列以百分比形式提供相同的信息。在此,根据需要同时接受测试的单个核心的数量(表 的第1列),将设计D1和D2的兼容性类的总数进一步分类。举例而言,考虑表中针 对设计D1的标为3的行中的表项49。它表示存在由同时在3个核心内有规定位的测试 模式所组成的49个配置类。如前所述,一个给定类内的每个核心仅使用其输入信道的 一种布置方式。而且,在本公开的其余内容中还假定,不仅所述信道数量保持相同,它 们与解压器连接的方式也不随类而变化,以避免对初始变量的重复计算。

除其模式计数P之外,每个配置类可以由一个信道容量加以表征,此容量可作为一 个总和C=c1+c2+...+ck获得。这些数量是可以供测试调度使用的参数,如下文调度 节中所述。一个配置类可以通过将其成员核心的个体属性、例如功率耗散曲线进行组合 的方式进行进一步表征。它们也可以被用于指导测试调度,以便在任何时候都不超出最 大许可功耗。最后,一个配置类可被分为多个段,使得在必要情况下来自同一个类的测 试模式在不相连的时间间隔内被应用。优先占据一个类的能力可能对用以评价所公开的 技术的实施例的品质的各种品质指数产生积极的影响,所述品质指数包括ATE信道利 用率、总测试应用时间、调节测试访问机制的控制数据量等。

使用常规的EDT压缩环境运行SoC设计的测试会话可能需要一个大型的ATE接 口。例如,设计D1的总信道数高达221个。根据所公开技术实现的示例求解器以最佳 的EDT信道安排达到目标的能力,配合适当的测试调度和TAM设计,可以显著缓解此 问题。表II归纳出了针对设计D1在压缩后获得的一些统计数据。对于D1的使用不止 一个输入信道的核心i,T和M列列出了一个给定核心所接收的测试模式的总数,以及 核心为容纳部分压缩测试数据而需要的EDT信道的最大数量。下一列报告了对所有关 联测试模式通过使用以下公式计算得出的EDT信道平均使用情况:

w =T-1∑k·pk,k=1,...,M             (1)

其中pk是使用k个EDT信道的测试模式数。最终,最后一列提供了信道缩减系数R, 由下式给出:

R=1-∑k·pk/T·M=1-(w/M).               (2)

实质上,这是一个实际信道使用数与最大信道占用数的比率,因此可以(在用1减去之 后)表示由于采用灵活的信道分配而比在整个测试期间使用所有信道产生的可预期实现 的节约量。

表II.D1的基于核心的信道利用情况

一种示例性两阶段测试调度技术

图10是显示测试调度的示例实施例的流程图。在1010处,测试信息被接收。测试 信息,包括对用于测试一个电路中多个核心的多个测试模式进行编码的压缩测试数据, 以及用于将压缩测试数据传送至多个核心的ATE(自动测试设备)信道要求,可以根据 上述方法得出。在EDT环境中,所需ATE信道数对应于所需的EDT信道数。在1020 处,根据所接收的测试信息形成测试模式群集。一个测试模式群集包括可以被并行传送 至电路的测试模式。如前文所述,测试模式群集也被称为基组或基类。在1030处,形 成用于多个核心的ATE信道分配信息。相应地,示例的调度技术包含两个主要阶段, 测试模式群集的形成1020和ATE信道的分配1030,将在下文中详细讨论。

一种用于形成测试模式群集1020的示例规程涉及融合(组合)补充配置类。在某 些实施例中,如果两个配置类包含不相连的核心子集,则它们为互补。融合规程可维护 一个配置类列表,该列表可以按照模式计数(P)与其所具有的信道容量(C)的积P·C 进行降序排序的方式分类。其结果是,该列表可以从在ATE接口大小和测试时间方面 有最大的组合资源请求的类开始。在特定的实施例中,它将协助创建一个将最大分配任 务作为其早期任务的测试调度。

示例融合过程中涉及的一个步骤是要添加到紧邻较早前融合的配置类的配置类的 选择,所述较早前融合的配置类还被称为基类、基组或测试模式群集(这三个术语在本 公开中可互换使用)。在某些实施例中,可以采用一个简单贪婪算法,以找到易于实现 有效融合的类顺序。此过程还可取决于适合度的概念。

给定一个与基类互补的配置类x,其适用度可由构成类x的核心数乘以x的模式计 数P(x)给出。换言之,并根据特定的示例实施例,与基类融合的最佳备选类是具有尚未 被包括到具有最大数量关联测试模式的基类中的最大的核心子集的类。在配置类被汇集 在分类的列表上时,所公开方法的实施例可以从将其第一个元素分配给旨在融合以生成 基类的当前结果b开始。然后,此方法可以对其余配置类(例如所有其余配置类)重复 进行,每次选取下一个具有最大适合度的类,将基组扩展一个类。此外,为了被融合, 并根据一些实例实施例,一个给定配置类x可被要求满足一个附加条件:其信道容量 C(x)与当前基组的信道容量C(b)的总和不能超出一个用户所选择或预先确定的阈值Φ。 例如,

C(x)+C(b)≤Φ          (3)

对参数Φ加以控制将可实现ATE信道总数与测试应用时间之间的协调。

值得指出的是,当对符合上文所介绍方法的实施例的类b和x进行融合时,关于其 模式计数P(b)和P(x)有三种可能的情境:(1)P(b)=P(x);(2)P(b)<P(x);和(3) P(b)>P(x)。在第一种情境下,类x可在其加入基类时被从列表中去除。在第二种情境 下,配置类x可被添加到基类,但模式计数要减至该基类的模式计数。此外,类x的一 个副本可被移回列表,新的模式计数等于P(x)-P(b)。最后,如果基类的模式计数大于 类x的模式计数,则类x可被从列表中去除,该基类的模式计数可被调整为一个新的(较 小的)值P(x),而前一个基类可被返回列表,模式计数等于P(b)-P(x)。可以注意到, 情境(2)和(3)维持列表的大小,而情境(1)则将列表的大小减一。

在某些实施例中,当没有更多的配置类与基类互补或不能满足条件(3)时,生成 基类的过程将终止。此时融合规程可以将第一个元素从列表中去除,尝试形成另一个基 组,直至配置类列表变空,在此情况下调度算法的第一阶段将返回结果:例如,基组的 列表{b1,b2,...,bn},和/或核心分布直方图H。该直方图的项H(k)表示有多少个基组接纳 着核心k。例如,H(3)=5表示核心3在5个不同的基类中出现。注意,在上述实施例 中,基类列表决定实际调度安排(对连续的核心进行测试将依照的顺序)。它还可以被 进一步修改,例如通过对列表重新排序的方式,以尝试对同一核心在相邻时间间隔内的 测试进行分组。

测试模式群集形成1020之后是生成ATE信道分配信息1030。根据所公开技术的特 定实施例,在分配过程的一次重复期间,ATE信道分配过程将以一个空闲信道c、基组 列表和直方图H开始。此技术将找出H(k)值最大的核心k,在有核心k出现的所有基组 内将信道c分配给核心k,并对这些基类中的信道计数器进行相应的减值。当一个信道 计数器达到零值时,H的相应项将被减值,以提示所有被请求的信道均已被分配给其中 一个基类内的一个给定核心。

可以看出,被分配给一给定信道的第一个核心,比如说F,通常是模式计数最大的 一个(在各基类中出现的次数最多)。然而,缺失核心F的时隙仍然可用。填充所述“孔 洞”的问题可通过调整两种不同技术的方式解决,如以下几段所示。

第一种方式,称为最佳拟合方案,将选择一个在对应于空闲时隙的基类中的存在最 显著的核心。此核心随后被分配给当前所考虑的信道。这种最佳拟合方式使用相同的策 略对待其余的空闲时隙,直至信道被完全分配。值得指出的是,此方案可被用于确保在 此过程中使用的ATE信道总数将一直等于早前在此技术的融合阶段确定的阈值Φ。然 而由于一个给定信道向许多核心进行的类似方式的分配,它可能导致TAM设计相对复 杂,如下所述。

另一种技术,称为平衡拟合方案,试图以额外ATE信道的代价减少分配给单一核 心的不同信道的数量。在某些实施例中,此技术将数值H{k)分为两个组成部分:核心k 仍可被分配给信道c的时隙数u,以及信道c已被分配给另一个核心的其余H(k)-u个 时隙。具有最大差值

δ=u-(H(k)-u)=2u-H(k)      (4)

的核心随后被分配一个信道,条件是δ>Δ,其中Δ是一个用户定义或预先确定的参数。 如果没有任何核心的δ大于Δ,则信道将在此特定时隙内保持空闲。可以看出,对于一 个给定的核心,空闲时隙数比已取用时隙数大得越多,用所述核心填充空闲时隙就越有 利,因为其所使用的不同信道的数量将保持在相对较小的水平。由于增加Δ值会使所公 开技术的某些实施例中所用信道数减少,使用非负的Δ值较好。

考虑一个针对Φ=4创建的基类的简单列表,示于图6上部。该列表由10个元素组 成,其中的每一个都被进一步分为代表成员核心的组件。每个框的大小正比于每个核心 的信道请求(竖向)和模式计数(横向)。值得指出的是,将ATE信道分配给直接取 自列表中的连续的核心将导致信道与核心之间有21个不同的连接。这一数字系通过对 图中每一行中出现的不同核心进行计数而得到。例如,第2行有6个需要由一给定ATE 信道服务的核心:M2、M4、M1、M3、M5和M7。该图的下部是这一特定的测试调度 问题的基于最佳拟合策略的解决方案(根据上文所述实施例)。其结果是,信道1被首 先分配给在多达6个基组内出现的核心M1,这是此阶段最活跃的组块。核心M7和M4 分别使用其余的3个和1个时隙。使用相同的技术反复分配后续信道,如图中所示。所 形成的调度方案将ATE信道与核心之间的连接数减至只有13。而且,这一结果又是全 部4个信道上不同核心的总和,如图6所示。

图6的解决方案还呈现出一种有趣的趋势:位于右侧的基类的模式计数呈现出远小 于其较早前的同类计数。这是在运行示例融合规程时基类列表维护操作的一个副作用。 如前所述,在本实施例中,一给定基类的组件具有相同的模式计数。因此,如本节前文 所述,列表中保存有计数逐渐减少的配置类。

测试访问网络架构

根据所公开技术的某些实施例,可以使用一个测试调度方案(例如,如前节所述生 成的测试调度方案)引导一个测试访问机制的设计过程。为了避免对不同的测试模式重 新安排线性方程,可以假设单个核心的EDT输入均以相同的升序部署(例如,一个单 一输入请求总是导致分配EDT输入1,一个双输入请求导致分配EDT输入1和2,而 一个三输入请求则将涉及EDT输入1、2和3,等等)。换言之,不允许排他性使用EDT 输入1和3。

在所公开技术的某些实施例中,测试访问电路包含如图7所示的可重排互相连接网 络。示例网络包含n个1位解复用器,其中n是ATE信道数。在所示实施例中,每个 解复用器用以将一个指定信道连接至一个单一的目的核心。相关联的地址寄存器对一给 定测试模式指定要选择哪个核心。其内容在扫入转换开始时通过同一ATE信道上载, 作为一个压缩测试向量的标题。解复用器输出数量至少等于其所服务的核心的数量。它 可以更大,因为一些解复用器可以为同一个核心的多个EDT输入提供数据。与此相反 的情况是,有多个解复用器(ATE信道)为同一EDT输入提供数据。置于每个核心之 前的或(OR)门可为此类连接提供便利。

原则上,测试访问电路的连线网络的设计可以根据调度算法所提供的数据以直接方 式进行。考虑一个在13个时隙内被分配9个ATE信道的7输入核心,如下:

(9)(69)(5679)(4569)(45679)(469)(569)(456789)(3456789) (2356789)(56789)(356789)(1356789)

例如,(69)项可被用于将ATE信道6和9分别与EDT输入1和2连接。然而,此规则 会导致将EDT输入1与7个ATE信道(9,6,5,4,3,2,1)链接,输入2会从5个ATE信 道(9,6,5,4,3)接收数据,等等以此类推,如图8a所示。这一示例网络总共形成26条连 线。可使用一种贪婪技术来消除此问题。例如,在某些实施例中,此技术首先确定在所 有分配中最常被使用的一个ATE信道。然后此信道被与EDT输入1连接,不管它在何 处使用。随后下一个最常使用的信道被用于在所有时隙内填充第一个未使用的EDT输 入。只要存在未连接的ATE信道,此技术就可继续使用。其结果是,对于较早前的示 例,可能得到以下信道分配(图8b):

(9)(96)(9657)(9654)(96574)(964)(965)(965784)(9657843) (9657832)(96578)(965783)(9657831)

可以看出,内部连接数已被减至13条线。

如表I中所示,对于较短的时间段,同时向几乎所有核心提供测试数据可能较为合 适。仅使用附加ATE信道传输少数几个测试模式可能并不可行。因此,在所公开技术 的一些实施例中,所述向量为分阶段逐步提供,每次将数据转换至一个核心子集,同时 冻结其余的核心,方式可以是时钟门控(可用情况下),或是将扫描链转变为一个具有 被禁用解压器的循环路径。

输出积分器

在所公开技术的示例实施例中,一个输出积分器(见图5)被用于对核心的单个输 出进行分组,并减少数据流的数量,以使得它们能够适应输出ATE信道数。尽管主要 通过使用XOR树实现对测试响应的融合,但将核心输出映射到输出信道应可防止高度 相关联的核心(有大量共同的模式)共用相同的输出信道。这是为了避免因同质的核心 (通常在广播模式中被激励,由此具有相同的模式计数)造成错误掩盖,在这种情况下 一个系统性缺陷可能同时在许多模块中表现出来。此外,同时在不同输出上观测正在测 试的核心可改善方案的诊断能力。一个类似的逻辑依据适用于同一核心的不同输出。它 们被作为完全关联的不同模块的输出,最终被连接至不同的ATE信道,由此可实现对 一给定核心的扫描链群组的更为精确的诊断。以下段落中归纳了一个示例输出积分器的 合成。

在所公开技术的某些实施例中,输出信道映射按以下方式进行。以ρxy作为核心x 与y(或单个核心的输出x与y)之间的关联系数。关联系数可被定义为x与y共用的测 试模式数与用以测试核心x的模式总数之比。应注意,通常ρxy≠ρyx。对于同一核心的相 同组块或输出,ρxy=1.0。初始时,尽管存在未分配的ATE信道,还是会选择有最高的 ρxy或ρxy值的两个核心x和y。x和y被分配至不同的XOR树,且x和y被标记为已连 接至输出。

在对XOR树初始化之后,只要存在未分配的核心(或它们的输出),此技术即可 反复应用以下操作。对于核心x和XOR树t(例如,对于每个核心x和对于每个XOR 树t),关联系数之和(ρxyxy)可针对已经连接至t的所有核心y进行计算。随后选 择此总和值最小的一个核心和一个XOR树来建立一个新的核心与输出的链接,而该核 心被标记为已连接。

实验结果

上文所介绍的示例方案的实施例在两个大型工业SoC设计上接受了测试。本节将报 告对固定型测试(stuck-at test)和启动关闭采集跳变测试(launch-off-capture transition test)所获得的结果。关于设计的基本数据有:核心数、测试模式数,以及可在前几节 中看到的配置类数。

实验结果被归纳于表III中。第一列给出核心数、所有核心总共使用的EDT信道总 数(此数值会限定在没有调度被使用的情况下的接口大小)、扫描链总数、扫描单元数 以及门计数。第二列规定了信道分配方法,而第三列则给出了类融合方法所使用的信道 数Φ。表III的其余部分列出了拟定方案的以下与性能关联的统计数据:

·最终所形成的基组数;

·在应用连续的测试模式时用以控制TAM解复用器的位的总数;

·一个互连网络内的内部连线数,如图8所示;

·由示例调度方法所确定的ATE输入信道的最终数量(应记住,此值将与在采用最佳 拟合技术来分配信道时提供的值保持相同);

·在此处以最长信道占用时间Q(参见图6,它可被视为与一给定信道关联的最宽的 矩形,尽管它可能在一个信道未被使用时具有很多孔洞)与所有核心中最大的模式计数 (D1为28073,D2为1302)的比值报告的测试应用时间;这一品质指数表示出与所有 核心均可被并行测试的情境相比,应用所有向量实际需要多长时间;

·以常规的基于EDT的方案与拟定方法所需测试数据量V之比计算的压缩增量;V= C·P·L,其中C为EDT输入的总数(示于第一列中),P给出所有核心中最大的模式计 数,L则是最长的扫描链的大小;新方案所使用的测试数据包括控制位和对所有基类的 总和–对于每一个基类b,C’·P(b)·L(b)被确定,其中C’为ATE输入信道数,P(b)给出 类b的模式计数,L(b)则为属于类b的核心内最长扫描链的大小;

·信道填充率P/(Q·Φ),其中P为通过所有ATE输入应用的所有测试模式的总和;它 表示ATE信道的实际使用情况,且它仅在所有信道均被不间断地使用,直至测试结束 的情况下才能达到1.0的值。对于图6的调度方案,信道填充率等于275/292=0.9418;

·信道开销,其以数字方式反映出针对核心的每个模式输入请求而为其分配的额外 ATE信道的数量;给定一个单个核心以及使用c个信道的测试模式,其按w·r/c计算, 其中r为用于提供测试模式的不同的ATE信道的实际数量,w为使用c个信道的测试模 式的比例;最终统计数据在表III中给出,平均值针对所有信道要求、继而针对所有核 心进行计算。

表III.实验结果

如表III中所示,对于每个设计和每种分配算法,报告了确保由示例调度方法所确 定的测试应用时间基本不受影响的ATE信道最小数量(以及相应的信道缩减系数)。 表中呈现出,可将EDT输入数缩减达5倍,并仍可在原时限内提供所有测试模式。ATE 接口带宽的进一步缩减实现了令人感兴趣的折中。例如,测试应用时间,尽管由于减少 输入信道而逐步增加,但却由可见的压缩比增益(最高达5倍)加以抵消。其结果是, 对于D1和D2,有效的EDT压缩比分别从78倍和393倍提高到392倍和1770倍。对 于设计D1,ATE信道与所造成的测试时间之间的内在关系在图9中示出。可以看出, 从54个信道(测试时间保持不受影响)降至15个输入(导致高压缩比),测试时间、 测试数据量与人可控制的TAM设计复杂度之间存在显著的折中,这也同样由ATE信道 的实际使用情况及其分配明确表现出来(见最后两列)。

示例计算环境

上文所述技术的任何方面均可使用一个分布式计算机网络加以执行。图11示出了 一种适用的示例网络。服务器计算机1100可以有一个关联的存储设备1102(在服务器 计算机内部或外部)。例如,服务器计算机1100可被配置为根据任何所公开方法生成 测试模式、压缩测试数据和测试调度,或生成用于实现任何所公开架构的诸如TAM等 设计数据(例如,作为测试模式生成工具等EDA软件工具的组成部分)。服务器计算 机1100可被连接至一个在1104处概要示出的网络,可包含,例如,广域网、局域网、 客户-服务器网、因特网或其他适合的网络。一个或多个客户计算机,例如在1106、1108 处所示,可使用一种网络协议连接至网络1104。此工作也可在一台有其自有存储器和一 个或多个CPU的单台专用工作站上进行。

图12示出了另一个示例网络。一台或多台计算机1202通过网络1204通信,形成 一个计算环境1200(例如,一个分布式计算环境)。计算环境1200中的每台计算机1202 均可被用于执行至少一部分测试模式和压缩测试数据生成、测试调度或测试硬件生成过 程。所示实施例中的网络1204也与一个或多个客户计算机1208连接。

图13显示,可使用一台远程服务器计算机(例如图11所示的服务器计算机1100) 或一个远程计算环境(例如图12所示的计算环境1200)对正在测试的电路的设计信息 (例如,HDL文件、连线表、GDSII文件、Oasis文件或其他表示正在测试的电路及其 扫描链的适用的设计文件)进行分析,以生成符合所公开技术的任何实施例的测试模式、 压缩测试数据、测试调度方案或测试硬件。例如在进程组块1302处,客户计算机将集 成电路设计信息发送至远程服务器或计算环境。在进程组块1304内,集成电路设计信 息被远程服务器或远程计算环境的相应组件接收并加载。在进程组块1306内,进行测 试模式和压缩测试数据生成、测试调度或测试硬件生成,以实现任何所公开实施例。在 进程组块1308处,远程服务器或计算环境将所形成的测试模式、控制信号或保存有所 生成测试硬件的设计数据发送给客户计算机,后者在进程组块1310处接收数据。

熟练掌握业内技术的人员可以明显知晓,图1300所示示例并非使用多台计算机生 成测试模式、压缩测试数据、测试调度或测试硬件的唯一方式。例如,CUT设计信息可 被保存在一种并不处在网络上并被单独发送至服务器或计算环境的计算机可读取介质 (例如,CD-ROM、DVD或便携式硬盘)上。或者,服务器计算机或远程计算环境可 以仅执行一部分压缩测试数据生成、测试调度或测试硬件生成过程。

结语

在例示和介绍所公开技术的原理之后,熟练掌握业内技术的人员可以明显知晓,所 公开的实施例可在不背离所述原则的条件下在安排方式和细节方面有所改动。鉴于所公 开技术的原理可适用于许多种可能的实施例,应该认识到,所示实施例只是所述技术的 优选示例,不应被视为限定本发明的适用范围。本发明的适用范围由以下权利要求及其 等效表述加以规定。由此我们要求所有属于这些权利要求范围和精神的内容作为我们的 发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号