首页> 中国专利> 用于实现层级式测试设计解决方案的方法和装置

用于实现层级式测试设计解决方案的方法和装置

摘要

本发明涉及用于实现层级式测试设计解决方案的方法和装置。具体地,公开了用于实现电路上的层级式测试设计(DFT)逻辑的方法和设备。该层级式DFT逻辑实现DFT电路,其可以专用于模块,并且可以将用于多个模块的DFT配置为共享顺序输入信号和/或共享顺序输出信号。在操作期间,第一模块的DFT电路可以将来自顺序输入信号的比特序列传播至第二模块的DFT电路,使得该比特序列可以包括用于控制该DFT电路的一组控制信号值,并且可以包括用于测试该模块的压缩测试向量。此外,用于第二模块的DFT电路可以生成顺序响应信号,其组合了来自第二模块的压缩响应向量和来自第一模块的DFT电路的顺序响应信号。

著录项

  • 公开/公告号CN101793942A

    专利类型发明专利

  • 公开/公告日2010-08-04

    原文格式PDF

  • 申请/专利权人 新思科技有限公司;

    申请/专利号CN200910208098.9

  • 申请日2009-10-27

  • 分类号G01R31/3185;

  • 代理机构北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 00:27:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-10-15

    授权

    授权

  • 2012-01-25

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

    实质审查的生效

  • 2010-08-04

    公开

    公开

说明书

技术领域

本公开总体上涉及电子设计自动化。更具体地,本公开涉及实现用于模块化电路设计的层级式测试设计(DFT)逻辑的方法和设备。

背景技术

半导体制造技术中的显著改进使得将上千万的器件集成到单个IC(集成电路)上成为可能。这些进展已经在半导体芯片的设计和制造中带来了新的挑战。具体地,芯片测试已经成为电路设计最具挑战的方面之一。

被测电路(CUT)可以视为具有输入和输出的组合逻辑和/或时序逻辑。可以通过首先对CUT的输入应用测试向量并且捕获其输出来测试CUT。继而可以通过比较CUT的实际输出与“良好”芯片的输出来标识CUT中的故障。用于测试芯片的常见技术包括利用测试设计(DFT)电路来增强CUT,其中DFT电路包括对CUT应用测试向量并且捕获来自该CUT的响应输出的触发器(flip-flop)。通常,测试向量被扫描至与CUT的输入相耦合的一组触发器中。接下来,对芯片进行钟控并且在第二组触发器中捕获该CUT的响应值,继而可以扫描出该响应值。最后,该响应值可以用于确定CUT是否有故障。

在多模块设计中,可以利用专用DFT电路来增强CUT的每个模块,以测试这些模块。遗憾的是,在具有大量模块的设计中,共享CUT的测试输入是不切实际的。具体地,或者是CUT的测试输入必须在模块集合之间进行划分,或者是模块需要依次从测试输入接收测试向量。这两种方法都有严重的缺点。

具体地,划分测试输入可能严重地限制可用来表示模块的测试向量的位数,和/或可能要求CUT具有不切实际的大量测试输入管脚。具体地,使用压缩扫描链的方法通常要求每个模块至少有五个测试管脚。因此,如果CUT具有大量使用压缩扫描链的模块,并且每个模块要求在封装上具有五个测试输入管脚,则划分方法显然是不切实际的。在第二种方法中,模块依次从测试输入接收测试向量,这种方法是不理想的,因为其每次只允许测试一个模块。该方法可能增加测试CUT所需的时间,并且难以甚至无法测试CUT模块间的交互。

发明内容

本发明的一些实施方式提供了用于测试电路的方法和装置。更具体地,一些实施方式支持具有平面自动测试图案生成(ATPG)的层级式DFT实现。

一些实施方式可以降低在层级式和低管脚数环境中测试数据和测试应用的时间。可以使用主动测试访问机制,其变成了压缩方案的一部分,并且对用于多压缩器解压缩器(CODEC)实现的测试数据进行统一化。

注意,CUT可以包括多个DFT核。每个DFT核可以包括:测试输入集,其配置用于接收压缩的测试向量;组合解压缩逻辑;组合压缩逻辑;以及响应输出集。在操作期间,测试输入集可以接收压缩的测试向量,组合解压缩逻辑可以对该压缩的测试向量进行解压缩以生成非压缩的测试向量,并且该非压缩的测试向量可以被扫描至扫描链集合中。捕获之后,可以从所述扫描链集合中扫描出响应向量,组合压缩逻辑可以通过压缩该响应向量来生成压缩的响应向量,并且响应输出集可以接收该压缩的响应向量。

本发明的一些实施方式将DFT核的测试输入与如下触发器串列对接,该触发器串列用于接收与针对该DFT核的压缩测试向量相关联的输入比特流。所述触发器串列中的某些触发器可以耦合至被配置用于向组合解压缩逻辑提供恒定输入值的触发器阵列。具有多个DFT核的CUT将具有多个触发器串列,其中每个触发器串列都与特定DFT核的测试输入对接。这些多个触发器串列可以链接在一起,从而形成一个或多个长触发器串列。这些长触发器串列继而可以用于为多DFT核提供压缩的测试向量。在一些实施方式中,压缩的测试向量可以以前向或反向输入至长触发器串列。

类似地,DFT核的测试输出可以与如下触发器串列对接,所述触发器串列用来生成与DFT核的压缩响应向量相关联的输出比特流。具有多DFT核的CUT将具有多个触发器串列,其中每个触发器串列与特定DFT核的测试输出对接。这些多个触发器串列可以链接在一起,从而形成一个或多个长触发器串列。这些长触发器串列继而可以用来输出针对多DFT核的压缩响应向量。在一些实施方式中,压缩响应向量可以以前向或反向从长触发器串列中输出。

附图说明

图1示出了根据一个实施方式的集成电路的设计和制作过程中的多个阶段;

图2A示出了利用多个嵌套电路模块实现的CUT;

图2B示出了在多个模块的DFT核之间共享测试信号的DFT实现;

图2C示出了在多个模块的DFT核之间划分测试信号的DFT实现;

图3示出了根据一个实施方式的用于测试电路的DFT逻辑;

图4示出了根据一个实施方式的层级式DFT实现;

图5示出了根据一个实施方式的与用于向DFT逻辑提供恒定输入值的触发器阵列相耦合的DFT逻辑;

图6A示出了根据一个实施方式的DFT逻辑的示例性应用,其中方向控制器以前向传播测试向量;

图6B示出了根据一个实施方式的DFT逻辑的示例性应用,其中方向控制器以反向传播测试向量;

图7给出了示出根据一个实施方式的用于测试电路的、由计算机系统执行的过程的流程图;

图8给出了示出根据一个实施方式的用于配置多路器集合以便将移位寄存器的输出与DFT核的测试输入对接的、由计算机系统执行的过程的流程图;

图9给出了示出用于配置多路器集合以便将DFT核的响应输出集与卷积压缩器的输入对接的过程的流程图;

图10给出了示出根据一个实施方式的用于配置具有不止一个模块的电路的层级式DFT逻辑的过程的流程图;

图11给出了示出根据一个实施方式的用于配置触发器阵列以便向组合解压缩逻辑提供恒定输入向量的过程的流程图;以及

图12示出了根据一个实施方式的促进配置用于在CUT上执行测试的DFT逻辑的示例性计算机系统。

在所有的附图中,相同的参考标号表示相同的附图元素。

具体实施方式

给出下文描述是为了使所属领域的任何技术人员都能够制造和使用该实施方式,并且下文描述是在特定应用及其需求条件的上下文中提供的。对所公开的实施方式的多种修改对于本领域技术人员将是显而易见的,并且可以将这里定义的普遍原则应用于其它实施方式和应用,而不脱离本发明的精神和范围。因而,本发明不限于所示出的实施方式,而是将符合与这里公开的原则和特征相一致的最宽的范围。

该详细描述中的数据结构和代码通常存储在计算机可读的存储介质上,其可能是任何可存储用于计算机系统的代码和/或数据的设备或介质。计算机可读的存储介质包括但不限于:易失性存储器、非易失性存储器、磁和光存储设备例如磁盘驱动器、磁带、CD(压缩光盘)、DVD(数字多功能光盘或数字视频光盘)或其它的已知或将来开发的可以存储计算机可读媒体的介质。

在该详细描述部分中所描述的方法和过程可以实现为代码和/或数据,其可以存储在上述计算机可读存储介质中。当计算机系统读取和执行存储在计算机可读存储介质上的代码和/或数据时,该计算机系统执行实现为存储在计算机可读存储介质内的数据结构和代码的方法和过程。

此外,下文描述的方法和过程可以包括在硬件模块中。例如,硬件模块可以包括但不限于,专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及目前已知的或以后开发的其他可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在此硬件模块内的方法和过程。

集成电路(IC)设计流程

图1示出了根据本发明一个实施方式的集成电路的设计和制作过程中的各个阶段。

该IC设计过程通常开始于产品构思(操作100),产品构思利用EDA过程(操作110)实现。一旦设计完成,便可以进行流片(事件140),并进行制作过程(操作150)以及封装和组装过程(操作160),从而产生成品芯片(结果170)。

EDA过程(操作110)包括如下文所述的操作112-130,其仅作说明用途而非意在限制本发明。具体地,实际的集成电路设计可能需要设计者以与下文描述的顺序不同的顺序来执行设计操作。

系统设计(操作112):在这一阶段,设计者描述其想要实现的功能。他们也可以执行假设规划来细化功能、检查成本等。在这个阶段可以进行硬件-软件架构划分。可以用于这一阶段的来自Synopsys公司的示例性EDA软件产品包括Model Architect、SystemStudio和Design

逻辑设计与功能验证(操作114):在这一阶段,编写用于系统内模块的VHDL或Verilog代码,并且针对功能准确性进行检查。更具体地,对设计进行检查以确保产生正确的输出。可以用于这个操作的来自Synopsys公司的示例性EDA软件产品包括DesignMagellanTM、ESP和

测试的综合与设计(操作116):在这一阶段,VHDL/Verilog被转译为网表。可以针对目标技术优化该网表。另外,可以设计并且执行测试用来检查成品芯片。可以用于这个操作的来自Synopsys公司的示例性EDA软件产品包括DesignPhysicalTest Compiler、Power CompilerTM、FPGA Compiler、和

网表验证(操作118):在这一阶段,检查网表与时间约束的兼容性以及与VHDL/Verilog源代码的对应性。可以用于这个操作的来自Synopsys公司的示例性EDA软件产品包括Prime和

设计规划(操作120):在这一阶段,针对定时和顶层布线来构建和分析芯片的总体布局。可以用于这一阶段的来自Synopsys公司的示例性EDA软件产品包括Astro TM和IC Compiler产品。

物理实现(操作122):在这一阶段进行放置(电路元件的定位)和布线(电路元件的连接)。可以用于这一阶段的来自Synopsys公司的示例性EDA软件产品包括AstroTM和IC Compiler产品。

分析和抽象(操作124):在这一阶段,在晶体管级验证电路功能,这继而允许假设细化。可以用于这个操作的来自Synopsys公司的示例性EDA软件产品包括AstroRailTM、PrimeRail、Prime和Star-RCXTTM

物理验证(操作126):在这一阶段,为确保制造、电子问题、光刻问题和电路的正确性而对设计进行检查。HerculesTM是可以用于这一阶段的来自Synopsys公司的示例性EDA软件产品。

解析度增强(操作128):这一阶段涉及对版图的几何操作以提高设计的可制造能力。可以用于这一阶段的来自Synopsys公司的示例性EDA软件产品包括Proteus/Progen、ProteusAF和PSMGen。

掩模数据准备(操作130):这一阶段提供用于掩模生产的“流片”数据以产生成品芯片。可以用于这一阶段的来自Synopsys公司的示例性EDA软件产品包括系列产品。

概述

被测电路(CUT)通常包括测试设计(DFT)电路,该DFT电路有助于在制作之后测试CUT。此DFT电路可以包括解压缩逻辑,其对测试向量进行解压缩,并且将解压缩的测试向量扫描至为该CUT提供测试向量的触发器中。此外,DFT电路还可以包括压缩逻辑,其从CUT扫描出响应向量,并且在将该响应向量传播至该CUT的输出之前压缩该响应向量。这些压缩的响应向量可以用于确定该CUT是否有故障。

包含电路设计作为整体的DFT逻辑(即,其实现为电路设计顶层的平面压缩解决方案)通常不受可用测试管脚数量的限制。然而,芯片制造商正在转向这样的设计过程,其中在将模块并入成品芯片中之前,将利用专用DFT核来增强电路设计的模块。这得到这样的电路设计,其中各个模块将定制的压缩/解压缩(CODEC)逻辑用于其DFT核,从而要求CUT实现如下测试访问机制(TAM),该TAM能够向层级式DFT核提供压缩的测试向量,而不会在顶层要求不合理的测试管脚数量。

图2A示出了利用多个嵌套电路模块实现的CUT。在具有多个模块的设计中(例如,具有模块202-208的CUT 200),CUT的每个模块可以利用专用DFT核来进行增强,以便为模块提供重点测试。遗憾的是,典型的CODEC技术本质上不是层级式的,这可能要求层级式CUT来实现可以将测试向量引导至特定模块的DFT核的TAM。

图2B示出了在多个模块的DFT核之间共享测试信号的DFT实现。此DFT实现包括TAM 210,其通过测试信号226向DFT核212-216传播测试向量,并且包括多个测试使能信号220-224用于激活针对DFT核212-216的测试。TAM 210可以激活DFT核212-216中的一个DFT核,以便通过激活相应的测试使能信号(例如,针对DFT核216的测试使能信号220)来测试相应的模块,并且该激活的DFT核通过响应信号228来传播该DFT核的响应向量。然而,假设一次只能激活一个DFT核,此DFT实现无法测试具有专用DFT核的模块间的交互。

图2C示出了在多个模块的DFT核之间划分测试信号的DFT实现。此DFT实现包括TAM 230,其通过测试信号240-244向DFT核232-236同时传播测试向量,并且DFT核232-236通过响应信号246-250传播DFT核232-236的响应向量。因此TAM 230可以同时对多个模块执行测试,但是,其代价是限制给定测试向量的大小。

本发明的实施方式提供用于在具有多个模块的层级式CUT上实现层级式DFT解决方案的方法和装置。在一些实施方式中,该层级式DFT解决方案可以通过在相应模块的DFT逻辑中实现TAM来实现平面ATPG解决方案(即,在全局级别插入测试以及从信号中接收响应)。在操作期间,顺序输入信号可以将比特序列传播至模块的DFT逻辑中,以便该比特序列可以包括用于控制DFT逻辑的操作模块的一组控制信号值,并且可以包括用于对模块进行测试的压缩测试向量。继而,TAM可以在每次移位的基础上(in a per-shift basis)将来自该比特序列的这些控制信号值和压缩测试向量传播至模块的DFT核,以便将测试向量和DFT配置的变化应用于DFT核。同时,TAM可以从DFT核捕获压缩的响应向量,以生成顺序响应信号。

DFT架构

图3示出了根据一个实施方式的用于测试电路的DFT逻辑。DFT逻辑300可以包括移位寄存器310、方向控制器320和方向控制器360、DFT核330和卷积压缩器370。在一些实施方式中,DFT核330可以包括测试输入340-342的集合、控制输入343-344的集合、组合解压缩器332、扫描链阵列350、组合压缩器334和多个响应输出346-349。测试输入340-342可以被配置用于接收压缩的测试向量,并且组合解压缩器332可以被配置用于对该压缩的测试向量进行解压缩以生成非压缩的测试向量。在一些实施方式中,组合解压缩器和组合压缩器被配置用于提供和观测来自小接口的大量扫描链。当需要固定数量的触发器来为模块提供测试时,具有比测试输入(例如,测试输入340-342)多3倍的内部链(例如,扫描链353-357)的DFT逻辑实现转变成在长度上短3倍的扫描链,这可以降低测试数据量和应用这些测试所需的时间。

将非压缩的测试向量扫描到扫描链集合(例如,扫描链352-357)中,并且DFT核330支持通过电路的逻辑来传播非压缩的测试向量。继而,该扫描链集合被配置用于收集来自电路的响应向量,并且响应向量从该扫描链集合被扫描出来。在一些实施方式中,针对DFT核330的控制信号(例如,输入343-344)通过扫描链阵列350随同其相应的非压缩测试向量和非压缩响应向量一起传播,这是通过由专门的多个扫描链(例如,扫描链358-359)将控制信号从组合解压缩器332传播至组合压缩器334。这么做允许一组控制信号对组合解压缩器332和组合压缩器334的操作模式进行同步,因为测试向量及其响应向量是通过扫描链阵列350来传播的。

组合压缩器334被配置用于:通过压缩从扫描链集合扫描出的响应向量来生成压缩的响应向量,并且响应输出346-349的集合被配置用于接收该压缩响应向量。在一些实施方式中,组合压缩器334利用部分基于Steiner三元系的异或逻辑门树来实现。在一些实施方式中,组合压缩器334包括掩模逻辑,其用于处理响应向量中的X(即,不予考虑的值)。

DFT核330具有两类输入信号:控制输入和测试输入。传播至移位寄存器310的输入流在传播至测试输入340-342之前,通过顺序输入信号302传播至控制信号343-344。此配置使控制信号343-344能够将控制信号值传播至适合于给定测试向量的DFT核330,从而为DFT核330提供每次移位重配置(per-shift reconfiguration)的能力。在一些实施方式中,移位寄存器310实现DFT核330的TAM,使得测试输入340-342将压缩的测试向量传播至DFT核330,并且控制信号343-344在每次移位的基础上控制DFT核330的测试功能。在DFT核的移位寄存器中实现TAM的作用有助于降低向DFT核提供控制信号和测试向量所需的管脚数量,并且有助于通过压缩的测试向量来提高故障的可达性和可测性。

在一些实施方式中,移位寄存器310被配置用于接收与来自顺序输入信号302的压缩测试向量相关联的输入比特流,并且用于将该压缩测试向量传播至DFT核330的测试输入340-342。移位寄存器310包括串联配置的触发器312-318的集合,使得一个触发器的数据输出耦合至后续触发器的数据输入。此外,来自移位寄存器310的输出的子集(例如,来自触发器314-318的数据输出)被配置用于向DFT核330提供一组控制信号。在一些变化中,来自移位寄存器310的测试向量输出与DFT核330的测试输入340-342直接耦合。在其它变化中,来自移位寄存器310的测试向量输出通过方向控制器320与DFT核330的测试输入340-342对接。在一些实施方式中,移位寄存器310由与DFT核330相同的时钟信号来驱动,因此允许值通过移位寄存器310和DFT核330同时传播。

在一些实施方式中,方向控制器320被配置用于将移位寄存器310的测试向量输出与DFT核330的测试输入340-342对接。方向控制器320可以包括多路器322-326的集合,其可以被配置用于以前向逐位方向或以反向逐位方向将压缩的测试向量输入至DFT核330的测试输入。也就是说,方向控制器320中的多路器322的第一数据输入耦合至与前向逐位方向相关联的移位寄存器310中的触发器的输出(例如,来自触发器318的数据输出),并且方向控制器320中的多路器322的第二数据输入耦合至与反向逐位方向相关联的移位寄存器310中的触发器的输出(例如,来自触发器314的数据输出)。以前向逐位方向或反向逐位方向将来自移位寄存器310的测试向量传播至DFT核330这一能力允许比特序列以双向移位方向流入测试输入340-342,这可以打破在将控制值和测试向量结合到顺序输入信号中时创建的依赖关系。

方向控制器320中的多路器322还包括选择输入,其被配置用于选择是将第一数据输入的值还是将第二数据输入的值传播至多路器322的数据输出,从而使多路器322的数据输出耦合至DFT核330的相应测试输入(例如,测试输入340)耦合。在这些实施方式的一些变化中,方向控制器320可以在移位寄存器310中实现。在其它变化中,方向控制器320可以在DFT核330的组合解压缩器332中实现。

在一些实施方式中,方向控制器360被配置用于将DFT核330的响应输出346-349与卷积压缩器370的响应向量输入对接。方向控制器360可以包括多路器362-368的集合,其可以被配置用于以前向逐位方向或反向逐位方向将压缩的响应向量输入至卷积压缩器370的输入。也就是说,方向控制器360中的多路器362的第一数据输入耦合至与前向逐位方向相关联的DFT核330的响应输出(例如,响应输出346),并且多路器362的第二数据输入耦合至与反向逐位方向相关联的DFT核330的响应输出(例如,响应输出349)。此外,多路器362包括选择输入,其被配置用于选择是将第一数据输入的值还是将第二数据输入的值传播至多路器362的数据输出,从而使多路器362的数据输出耦合至卷积压缩器370的相应输入(例如,触发器372的数据输入)。在这些实施方式的一些变化中,方向控制器360可以在DFT核330的组合压缩器334中实现。在其它变化中,方向控制器360可以在卷积压缩器370中实现。

在一些实施方式中,卷积压缩器370被配置用于接收来自DFT核330的压缩响应向量,并且生成与该压缩响应向量相关联的输出比特流。卷积压缩器370可以实现DFT逻辑300处的TAM,并且可以包括串联配置的触发器372-376的集合,使得异或运算符将一个触发器的数据输出与后续触发器的数据输入对接。也就是说,该异或运算符的第一输入与触发器(例如,触发器374)的输出耦合,该异或运算符的第二输入与DFT核330的响应输出(例如,响应输出348)耦合,并且该异或运算符的输出与后续触发器(例如,触发器376)的数据输入耦合。利用异或运算符在触发器串列中的两个触发器之间进行对接,这允许卷积压缩器370将来自该先前触发器的响应比特包含到顺序响应信号中。对用于压缩响应向量的组合压缩器的使用仅是为了说明目的,并不旨在限制本发明。具体地,可以使用的一些用于压缩测试向量的技术将对该领域的专业人员是显而易见的。

在一些实施方式中,卷积压缩器370的响应向量输入直接耦合至DFT核330的响应输出346-349。在其它实施方式中,卷积压缩器370的响应向量输入通过方向控制器360与DFT核330的响应输出346-349对接。

层级式DFT实现

在一些实施方式中,层级式DFT逻辑可以在具有不止一个模块的电路上实现,以便在不止一个DFT核之间共享顺序输入和输出信号。在一些实施方式中,当两个模块实现相同的(或非常相似的)功能时,或者当两个模块在其测试向量集合中具有重叠时,可以利用共享顺序输入和输出信号的DFT逻辑来增强这两个模块。在其它实施方式中,当两个模块是邻近模块时,可以利用共享顺序输入和输出信号来增强这两个模块。

图4示出了根据一个实施方式的层级式DFT实现。该层级式DFT实现400包括用于电路模块406的DFT核402、用于电路模块408的DFT核404、移位寄存器410与移位寄存器420、以及卷积压缩器430与卷积压缩器440。DFT核402可以从位移寄存器410接收压缩的测试向量和控制信号,并且可以向卷积压缩器430传播压缩的响应向量。类似地,DFT核404可以从移位寄存器420接收压缩的测试向量和控制信号,并且可以向卷积压缩器440传播压缩的响应向量。层级式DFT实现400从顺序输入信号452接收与压缩的测试向量相关联的比特序列,并且将与压缩的响应向量相关联的比特序列传输至顺序响应信号454。此配置在多个DFT核的移位寄存器和卷积压缩器之间共享顺序输入和输出信号,该配置允许层级式DFT实现在需要最小数量全局测试管脚的同时提供有效的测试。

在一些实施方式中,可以这样来构建层级式DFT实现400:将模块406的移位寄存器410配置为将顺序输入信号452与模块408的移位寄存器420对接。这样做使得用于模块406和模块408的DFT逻辑能够共享顺序输入信号452。此配置可以这样来完成:将移位寄存器410中的触发器418的数据输出耦合至触发器421的数据输入,并且将触发器421的数据输出耦合至移位寄存器420中的触发器422的数据输入。在一些实施方式中,触发器421可以包括使能控制信号,其有助于控制从移位寄存器410到DFT核404的数据流。

此外,该层级式DFT实现可以这样来构建:将模块408的卷积压缩器440配置为将顺序响应信号454与模块406的卷积压缩器430对接。这样做使得用于模块406和模块408的DFT逻辑能够共享顺序响应信号454。此配置可以如下实现:将异或运算符450的输出耦合至卷积压缩器440中的触发器(例如,触发器442)的数据输入,将与该触发器相关联的响应信号(例如,响应信号451)耦合至异或运算符450的第一输入,将触发器441的数据输出耦合至异或运算符450的第二输入,以及将卷积压缩器430的输出耦合至触发器441的数据输入。注意,在一些实施方式中,异或运算符的输出450可以耦合至卷积压缩器440中的任意触发器的数据输入。在一些实施方式中,触发器441可以包括使能控制信号,其有助于控制从卷积压缩器430到卷积压缩器440的数据流。

图5示出了根据一个实施方式的耦合至用于向DFT逻辑提供恒定输入值的触发器阵列的DFT逻辑。DFT逻辑500可以包括DFT核501、移位寄存器510和移位寄存器530、卷积压缩器520、触发器阵列540和扫描使能逻辑550。在一些实施方式中,移位寄存器510可以包括数量与DFT核501的测试输入的数量相等的触发器。例如,DFT核501可以包括三个测试输入(例如,测试输入504-506),其耦合至移位寄存器510中的三个触发器(例如,触发器512-516)。

在一些实施方式中,移位寄存器530被配置用于将顺序输入信号566与移位寄存器510中的触发器的数据输入对接。移位寄存器530可以包括布置为串列的多个触发器,使得移位寄存器530的数据输入(即,触发器532的数据输入)耦合至顺序输入信号566,并且该串列前面的触发器的数据输出(即,触发器538的数据输出)耦合至移位寄存器510的顺序输入。在一些实施方式中,移位寄存器530中触发器的数量可以等于针对DFT核501、移位寄存器510和卷积压缩器的控制信号输入的数量。例如,触发器538可以与模式控制信号560相关联,触发器536可以与方向控制信号561相关联,触发器534可以与掩模[0]控制信号562相关联,而触发器532可以与掩模[1]控制信号563相关联。

在一些实施方式中,触发器阵列540被配置用于将移位寄存器530的数据输出与DFT核501、移位寄存器510和卷积压缩器520的控制信号输入对接。例如,触发器542-548的数据输入分别耦合至触发器538-532的数据输出。此外,触发器542-548的数据输出分别耦合至控制信号560-563,所述控制信号560-563控制由DFT核501的组合解压缩器502和组合压缩器503、移位寄存器510和卷积压缩器520执行的操作。在一些实施方式中,触发器阵列540中触发器的数量可以等于移位寄存器530中触发器的数量。

在一些实施方式中,触发器阵列540被配置用于存储在扫描使能输入信号564的下降沿从移位寄存器530传播来的数据。在这些实施方式的一些变化中,触发器阵列540的使能输入信号567可以耦合至扫描使能逻辑550的输出。扫描使能逻辑550可以包括触发器552、倒相器554和布尔“与”运算符556。扫描使能输入信号564可以耦合至触发器552的数据输入和倒相器554的输入,并且触发器552和倒相器554的数据输出可以耦合至布尔“与”运算符556的输入。此外,布尔“与”运算符556的输出可以耦合至触发器阵列540的使能输入信号567。

示例性应用

图6A示出了根据一个实施方式的DFT逻辑的示例性应用,其中方向控制器以前向来传播测试向量。该DFT逻辑包括顺序输入信号602、移位寄存器604、方向控制器610、组合解压缩器612和扫描链620-628。在操作期间,顺序输入信号602接收压缩的测试序列{T0=0,T1=1,T2=0,T3=0,T4=1,T5=1,T6=1},并且该测试序列在多个时钟周期中被扫描到移位寄存器604中。同时,组合压缩器612从移位寄存器604接收压缩的测试向量,并且从顺序输入信号602接收“模式”控制值。

在此示例中,方向控制器610以前向配置,并且移位寄存器604和扫描链620-628在第五个时钟周期期间(即,当测试T5到达顺序输入信号602时)示出跨过触发器集合而存储的值。注意,沿着移位寄存器604的垂直数据依赖可以转化为扫描链620-628之间的倾斜依赖。更具体地,扫描链620对扫描链622具有前向倾斜依赖(由倾斜的虚线箭头示出)。

所创建的倾斜依赖取决于数据流的方向,并且取决于对组合解压缩器的模式控制信号的输入值。通过对组合解压缩器612的输入向量的方向进行反向,扫描链620-628之间的依赖可以反向。这可以大大提高压缩测试向量的质量。此外,改变压缩测试向量的方向还可以导致X消隐效应改变,从而增强响应观测。

图6B示出了根据一个实施方式的DFT逻辑的示例性应用,其中方向控制器以反向传播测试向量。该DFT逻辑包括顺序输入信号652、移位寄存器654、方向控制器660、组合解压缩器662和扫描链670-678。在操作期间,顺序输入信号625接收压缩的测试序列{T0=0,T1=1,T2=0,T3=0,T4=1,T5=1,T6=1},并该测试序列通过多个时钟周期被扫描到移位寄存器654中。同时,组合压缩器662从移位寄存器654接收压缩的测试向量,并且从顺序输入信号652接收“模式”控制值。

在此示例中,方向控制器660以反向配置,并且在当方向控制器660以反方向配置时,移位寄存器654和扫描链670-678在时刻T5示出跨过触发器集合而存储的值。注意,扫描链670对扫描链672具有反向倾斜依赖(由倾斜的虚线箭头示出),其不同于图6A的扫描链620和扫描链622之间的前向倾斜依赖。

在一些实施方式中,方向信号可以在每个移位操作处发生变化,从而允许扫描链接收在测试序列的进一步变化。注意,在将测试向量扫描到扫描链集合中的同时改变方向控制信号的值,可以产生跨过该扫描链的触发器的测试模式,该测试模式是与每个方向相关联的两个可能的测试模式的组合。更具体地,来自扫描链阵列的一列触发器具有与方向控制器前向配置或者反向配置相关联的一组测试值。

图7给出了示出根据一个实施方式的用于测试电路的、由计算机系统执行的过程。在一些实施方式中,该过程可以由计算机系统执行,该计算机系统包括一种存储有指令的计算机可读存储介质,其中当该计算机系统执行该指令时可使计算机系统执行该过程。可以这样来设计该系统:将第一触发器串列(即,移位寄存器)配置用于接收与压缩的测试向量相关联的输入比特流(操作702)。为此,该系统将第一触发器串列中的第一触发器的输出耦合至用于DFT核的测试输入集合中的第一测试输入。

该系统还将DFT核配置用于执行对CUT的模块的测试。为此,该系统将DFT核的测试输入集合配置用于接收压缩的测试向量(操作704),并且将DFT核的组合解压缩逻辑配置用于解压缩该压缩的测试向量(操作706)。接下来,该系统通过使用该组合解压缩逻辑来生成非压缩的测试向量(708),并且将非压缩的测试向量扫描到扫描链集合中(操作710)。此时,系统允许通过模块的逻辑来传播非压缩的测试向量,并且将扫描链配置用于从该模块收集响应向量,从而将非压缩的测试向量应用于该模块(操作712)。继而,系统将该扫描链集合的响应向量扫描出来(操作714),并且将组合压缩逻辑配置用于通过压缩该响应向量来产生压缩的响应向量(操作716)。系统继而配置将DFT核的响应输出集合用于接收该压缩的响应向量(操作718)。

此外,该系统将第二触发器串列(即,卷积压缩器)配置用于产生与压缩的响应向量相关联的输出比特流(操作720)。为此,该系统将响应输出集合中的第一响应输出耦合至第二触发器串列中的第二触发器的输入。

图8给出了示出根据一个实施方式的用于配置多路器集合(即,方向控制器)以便将移位寄存器的输出与DFT核的测试输入对接的、由计算机系统执行的过程的流程图。为此,该系统将方向控制器中的多路器的第一数据输入耦合至与前向逐位方向相关联的相应的移位寄存器输出(操作802)。继而,该系统将该多路器的第二数据输入耦合至与反向逐位方向相关联的移位寄存器中的第二触发器的输出(操作804)。接下来,该系统将该多路器的数据输出耦合至DFT核的相应测试输入(操作806),并且将该多路器的选择输入配置用于选择是将第一数据输入的值还是将第二数据输入的值传播至数据输出(操作808)。在一些实施方式中,多路器的选择输入耦合至方向输入信号,该方向输入信号指示方向控制器是以前向逐位方向还是以反向逐位方向来传播压缩的测试向量。

图9给出了示出用于配置多路器集合(即,方向控制器)以便将DFT核的响应输出集合与卷积压缩机的输入对接的过程的流程图。系统将方向控制器中的多路器的第一数据输入耦合至与前向逐位方向相关联的响应输出集合中的第一响应输出(操作902)。继而,该系统将该多路器的第二数据输入耦合至与反向逐位方向相关联的响应输出集合中的响应输出(操作904)。接下来,该系统将该多路器的数据输出耦合至卷积压缩器的输入(操作906),并且将该多路器配置用于选择输入,从而选择是将第一数据输入的值还是将第二数据输入的值传播至数据输出(操作908)。在一些实施方式中,多路器的选择输入耦合至方向输入信号,该方向输入信号指示方向控制器是以前向逐位方向还是以反向逐位方向来传播压缩的测试向量。

图10给出了示出根据一个实施方式的用于配置具有不止一个模块的电路的层级式DFT逻辑的过程的流程图。系统首先标识实现电路的模型集合(操作1002),并且从该模块集合中标识可以共享顺序输入信号和顺序输出信号的模块对(操作1004)。继而,该系统可以利用DFT逻辑来增强电路的相应模块(操作1006),并且将模块对配置用于共享顺序输入信号和顺序输出信号(操作1008)。

在一些实施方式中,当两个模块是相邻模块时,可以利用层级式DFT逻辑来增强这两个模块,以便共享顺序输入信号和顺序输出信号。在其它实施方式,当两个模块实现相同的(或基本相似的)功能时,或者当两个模块在其测试向量集合中具有重叠时,可以利用层级式DFT来增强这两个模块。为实现层级式DFT逻辑配置,系统将来自第一模块的移位寄存器的输出信号耦合至第二模块的顺序输入信号,并且将第一模块的顺序响应信号耦合至与第二模块的卷积压缩器相关联的异或运算符的输入。

图11给出了示出根据一个实施方式的用于配置触发器阵列以便为组合解压缩逻辑提供恒定输入向量的过程的流程图。系统将第一移位寄存器配置用于将顺序输入信号与DFT逻辑的第二移位寄存器以及将所存储的测试向量传播至DFT逻辑的触发器阵列对接。为此,系统将第一移位寄存器配置用于接收与压缩的测试向量相关联的输入比特流(操作1102)。接下来,系统将第一移位寄存器中的触发器输出耦合至第二移位寄存器的输入(操作1104)。系统继而将触发器阵列配置用于存储来自第一移位寄存器的输出向量(操作1106),并且将第二移位寄存器中的触发器输出耦合至组合解压缩逻辑的测试输入(操作1108)。该系统还将触发器阵列配置用于当扫描使能信号从逻辑“1”值转变为逻辑“0”值时存储其输入处的值(操作1110)。在一些变化中,系统将触发器阵列配置用于当扫描使能信号从逻辑“0”值转变为逻辑“1”值时存储其输入处的值。继而,系统将触发器阵列的输出耦合至DFT逻辑的控制输入(操作1112)。

计算系统

图12示出了根据一个实施方式的示例性计算机系统,其促进配置用于在CUT上执行测试的DFT逻辑。计算机系统1202包括处理器1204、存储器1206和存储设备1208。此外,计算机系统1202可以与显示设备1210和输入设备1212耦合。

存储设备1208存储操作系统1214和电路测试系统1216。电路测试系统1216可以包括图形用户接口(GUI)1218。在操作期间,电路测试系统1216从存储设备1208加载至存储器1206,并由处理器1204执行。在一些实施方式中,电路测试系统1216可以在硬件模块中实现,如ASIC或FPGA。

在一些实施方式中,电路测试系统1216可以配置CUT的模块中的DFT逻辑。例如,电路测试系统1216可以配置移位寄存器用于接收顺序输入信号,并且提供与压缩的测试向量和模式控制值相关联的DFT核。电路测试系统1216还可以将DFT核配置用于接收压缩的测试向量、对测试向量进行解压缩,以及将解压缩的扫描向量扫描到用于对模块进行测试的扫描链中。电路测试系统1216还可以将DFT核的组合压缩器配置用于将来自这些扫描链的响应向量扫描出来,并且在传播该压缩的响应向量至卷积压缩器之前压缩该响应向量。此外,电路测试系统1216可以将卷积压缩器配置用于将压缩响应向量的序列转换为顺序响应信号。

在其它实施方式中,电路测试系统1216可以配置用于测试CUT的多个模块的层级式DFT逻辑。为此,电路测试系统1216可以将来自第一模块的移位寄存器的输出信号耦合至第二模块的顺序输入信号,并且可以将第一模块的顺序响应信号耦合至与第二模块的卷积压缩器相关联的异或运算符的输入。

上文已经给出了对各种实施方式的描述,这仅仅是出于说明和描述的目的。其并非旨在于穷尽或者将本发明限制在所公开的形式。因此,许多修改和变化对本领域技术人员来说是显而易见的。此外,上述公开的内容并不试图限制本发明。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号