CN107544017B - 基于向量压缩的低功耗加权伪随机测试方法及相关设备 - Google Patents
基于向量压缩的低功耗加权伪随机测试方法及相关设备 Download PDFInfo
- Publication number
- CN107544017B CN107544017B CN201710567584.4A CN201710567584A CN107544017B CN 107544017 B CN107544017 B CN 107544017B CN 201710567584 A CN201710567584 A CN 201710567584A CN 107544017 B CN107544017 B CN 107544017B
- Authority
- CN
- China
- Prior art keywords
- test
- lfsr
- pseudo
- scanning
- scan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000013598 vector Substances 0.000 title claims abstract description 156
- 238000007906 compression Methods 0.000 title claims abstract description 42
- 230000006835 compression Effects 0.000 title claims abstract description 42
- 238000010998 test method Methods 0.000 title claims abstract description 25
- 238000012360 testing method Methods 0.000 claims abstract description 324
- 238000000034 method Methods 0.000 claims description 91
- 230000008569 process Effects 0.000 claims description 29
- 230000007704 transition Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 18
- 230000000630 rising effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 5
- 229920000333 poly(propyleneimine) Polymers 0.000 description 18
- 238000003780 insertion Methods 0.000 description 14
- 230000037431 insertion Effects 0.000 description 14
- 238000013459 approach Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 238000012966 insertion method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 101710104624 Proline/betaine transporter Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000010899 nucleation Methods 0.000 description 2
- 238000013021 overheating Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- 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/31704—Design for test; Design verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/35—Delay-insensitive circuit design, e.g. asynchronous or self-timed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Abstract
本发明提供了一种基于向量压缩的低功耗加权伪随机测试方法及相关设备;测试方法包括:建立扫描森林;将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中;对被激活的扫描链子集置入加权伪随机信号;根据本原多项式和注入的附加变量对LFSR中的全部的确定向量进行编码,并生成伪随机测试向量;对伪随机测试向量进行压缩;根据压缩后的伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。本发明能够有效地把低功耗的伪随机测试码产生(PRPG)和确定的BIST结合在一起,且硬件开销低,更不会带来额外的延迟开销、结构简单、便于工业界广泛使用,易于嵌入现有的EDA工具中,能够支持伪随机测试和确定自测试,也可独立用于确定测试压缩。
Description
技术领域
本发明涉及集成电路延迟测试可测试性技术领域,具体涉及一种基于向量压缩的低功耗加权伪随机测试方法及相关设备。
背景技术
随着电路规模的增大,测试功能和测试能耗之间的差距变得越来越大。现在,电路的功能越来越复杂,芯片过热的问题也显现出来,芯片过热会导致产品寿命的缩短。但是,目前由于随机码交换活动的增多,现在的测试比之前的扫描测试需要更大的功耗。
最近的研究方法主要是针对通过允许自动选择低功耗的伪随机测试模式来减少扫描切换的开关活动。然而,很多以前的低功耗自测试方法可能会导致故障覆盖率降低。因此,获取较高的故障覆盖率在低功耗自测试方案中也是非常重要的。加权伪随机测试模型可以有效地提高故障股概率,但是这些方法由于频繁的对触发器的扫描,通常会导致更多的能耗。此外,大部分之前的确定自测试方法都没有关注过低功耗的问题。
因此,如何找到一种有效的低功耗的确定自测试方法是非常必要的。
发明内容
针对现有技术中的缺陷,本发明提供一种基于向量压缩的低功耗加权伪随机测试方法及相关设备;能够有效地把低功耗的伪随机测试码产生(PRPG)和确定的BIST结合在一起,且硬件开销低,更不会带来额外的延迟开销、结构简单、便于工业界广泛使用,易于嵌入现有的EDA工具中,能够支持伪随机测试和确定自测试,也可独立用于确定测试压缩。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供了一种基于向量压缩的低功耗加权伪随机测试方法,所述测试方法包括:
建立扫描森林,其中,所述扫描森林中的相移器上连接有多个多路输出选择器,且每个所述多路输出选择器均用于驱动多个扫描树,每个扫描树中均包括多个扫描链;
将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中,其中,相同的扫描链子集中的全部扫描链均由相同的时钟信号驱动;
根据触发后摘取LOC方法,对被激活的扫描链子集置入加权伪随机信号;
根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码;
根据编码后的所述确定向量生成所述伪随机测试向量;
对所述伪随机测试向量进行压缩;
以及,根据压缩后的所述伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。
进一步地,在所述应用所述扫描森林进行伪随机测试测试方法之前,所述测试方法还包括:
确定所述扫描森林中的难测故障子集;
根据增益函数确定部分难测故障子集的测试点;
以及,在逻辑电路中插入所述测试点。
进一步地,所述根据增益函数确定部分难测故障子集的测试点,包括:
根据如公式一所示的增益函数G确定部分难测故障子集的测试点:
在公式一中,F是部分难测故障子集,t是下降或上升的转换故障;
所述节点l上升转换故障的可检测度det(f)1根据公式二进行估算:
det(f)1=C0(l)·C1(l')·O(l') 公式二
节点l下降转换故障的可检测度det(f)2根据公式三进行估算:
det(f)2=C1(l)·C0(l')·O(l') 公式三
在公式二和公式三中,C1(l)、C0(l)和O(l)分别为节点l的1可控度、0可控度和可观察度;
其中,某一节点l在两帧电路模型中的第一帧的位置为l、在两帧电路模型中的第二帧中相应位置为l',节点l上升和下降转换的可检测性定位为指定输入数量来检测双帧电路中的转换故障。
进一步地,所述测试周期的数量为1000个时钟周期;
且每个测试周期均包括:移位周期、启动周期和捕获周期;
所述移位周期的数量小于或大于扫描链深度。
进一步地,所述根据本原多项式和注入的附加变量对所有确定的伪随机测试向量进行编码,包括:
若未包括附加变量的线性反馈移位寄存器LFSR无法编码得到全部的确定向量,则应用所述本原多项式的第一维度,在所述LFSR中加入一个附加变量;
判断当前所述LFSR中是否存在未被编码的确定测试向量;
若当前的所述LFSR中还存在未被编码的确定测试向量,则继续向所述LFSR中加入附加变量,再返回重新判断当前所述LFSR中是否存在未被编码的确定测试向量,直到所述LFSR中的附加变量的数量达到的预设上限值。
进一步地,所述根据本原多项式和注入的附加变量对所有确定的伪随机测试向量进行编码,还包括:
若所述LFSR中的附加变量的数量达到的预设上限值,且当前的所述LFSR中还存在未被编码的确定测试向量;则依次在所述本原多项式的其他维度中重复判断所述LFSR中是否存在未被编码的确定测试向量,并继续向所述LFSR中加入附加变量,直到得到所述LFSR编码的所有确定向量;
其中,所述本原多项式的维度不低于20。
进一步地,所述对所述伪随机测试向量进行压缩,包括:
将所有扫描链分成多个子集,其中在扫描置入期间只有一个扫描树子集被激活,并通过门控逻辑来控制整个测试应用过程;
将编码种子移入所述LFSR中,当编码种子应用于激活的扫描树的第一个子集时,将附加变量注入到LFSR中;
当将相同的附加变量置入到所述LFSR时,将所述LFSR中的结果置入到第二个激活的扫描树中,直到所有扫描树都接收到测试向量;
当LFSR的状态被保存在影子寄存器中时,移出捕获的响应;
启动低功耗重播种过程,保存在影子寄存器中的状态将被加载到LFSR中;当注入相同的附加变量时,LFSR中的值被移动到扫描树的第一个激活的子集;在影子寄存器中的状态重新加载到LFSR之后,将附加变量移入第二个激活的扫描树子集中;同时,将相同的附加变量序列注入到LFSR中,直到所有扫描触发器都被新数据重新加载;
所有扫描触发器在启动周期后的单个捕获周期捕获测试响应;对未覆盖的故障进行故障模拟,若存在任何一个测试向量能够覆盖该故障,则将该故障从故障列表中删除;若存在一个测试向量的检测到的故障列表为空,则将该测试向量从测试集中删除,直到完成给定次数的低功耗重播种操作。
第二方面,本发明还提供一种基于向量压缩的低功耗加权伪随机测试系统,所述测试系统包括:
扫描森林建立单元,用于建立扫描森林,其中,所述扫描森林中的相移器上连接有多个多路输出选择器,且每个所述多路输出选择器均用于驱动多个扫描树,每个扫描树中均包括多个扫描链;
扫描链子集设置单元,用于将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中,其中,相同的扫描链子集中的全部扫描链均由相同的时钟信号驱动;
加权伪随机信号设置单元,用于根据触发后摘取LOC方法,对被激活的扫描链子集置入加权伪随机信号;
确定向量编码单元,用于根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码;
伪随机测试向量生成单元,用于根据编码后的所述确定向量生成所述伪随机测试向量;
伪随机测试向量压缩单元,用于对所述伪随机测试向量进行压缩;
伪随机测试结果获取单元,用于根据压缩后的所述伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。
第三方面,本发明还提供一种基于向量压缩的低功耗加权伪随机测试设备,所述测试设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述测试方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述测试方法的步骤。
由上述技术方案可知,本发明所述的一种基于向量压缩的低功耗加权伪随机测试方法及相关设备;测试方法包括:建立扫描森林;将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中;对被激活的扫描链子集置入加权伪随机信号;根据本原多项式和注入的附加变量对LFSR中的全部的确定向量进行编码,并生成伪随机测试向量;对伪随机测试向量进行压缩;根据压缩后的伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。本发明能够有效地把低功耗的伪随机测试码产生(PRPG)和确定的BIST结合在一起,且硬件开销低,更不会带来额外的延迟开销、结构简单、便于工业界广泛使用,易于嵌入现有的EDA工具中,能够支持伪随机测试和确定自测试,也可独立用于确定测试压缩。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种基于向量压缩的低功耗加权伪随机测试方法的一种具体实施方式的流程示意图;
图2是本发明的一种基于向量压缩的低功耗加权伪随机测试方法的另一种具体实施方式的流程示意图;
图3是DFT结构示意图;
图4是基于确定自测试的低功耗测试压缩(无PRPG)DFT结构示意图;
图5是本确定测试的扫描树的示意图;
图6是本发明的一个测试点的测试点插入方法的示意图;
图7是本发明的两个测试点的测试点插入方法的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例一提供了一种基于向量压缩的低功耗加权伪随机测试方法的一种具体实施方式,参见图1,所述基于向量压缩的低功耗加权伪随机测试方法具体包括如下内容:
步骤100:建立扫描森林,其中,所述扫描森林中的相移器上连接有多个多路输出选择器,且每个所述多路输出选择器均用于驱动多个扫描树,每个扫描树中均包括多个扫描链。
步骤200:将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中,其中,相同的扫描链子集中的全部扫描链均由相同的时钟信号驱动。
步骤300:根据触发后摘取LOC方法,对被激活的扫描链子集置入加权伪随机信号。
可以理解的是,首先,本申请提出了DFT架构,扫描森林在第一阶段用于伪随机测试。相移器(PS)的每个阶段驱动多个扫描链,其中同一扫描树中的所有扫描链均由PS的同一级驱动。与以前的方法使用的多扫描链架构不同,相移器的在每个阶段驱动多路输出选择器,并且每个多路输出选择器驱动多个扫描树。
每个扫描信号驱动多个扫描树,其中不同的扫描链分配不同的权值。与PS的每个阶段驱动一个扫描链的多扫描链架构相比,该技术还可以显着地减小相移器的尺寸。根据本申请的技术,相移器(PS)的每个级,驱动一个多路输出选择器(DMUX(demultiplexer))而不是扫描链。
然后,本申请使用LOC(launch-off-capture)方法。在扫描链的当前子集的加权伪随机测试模式应用期间,对应于所有固化扫描链中扫描触发器的PPI被固定为常数值。低功耗加权伪随机测试向量产生过程如下:第一组扫描链被激活,其他扫描链仍然保持固化。如果一个扫描链进入扫描状态,本申请就是用加权伪随机向量产生器对扫描链置入加权伪随机信号;被固化的扫描链设为扫描对应的所有扫描单元置为固定值。当上述操作持续给定时钟周期后(定为1000个时钟周期),激活第二组扫描链,继续上述操作步骤。这个过程一直继续下去直到所有的扫描链都执行一遍。然后,再次激活第一组扫描链,重复上述操作直到指定时钟周期的伪随机测试完成为止。
选择所有测试使能信号的权值的技术和以前方法的技术之间的区别在于使用不同的增益函数和不同的可测性度量。DFT架构也与之前的方法不同,对于每轮伪随机测试码生成,本申请的方法为每个子电路设置1000个周期。每个测试周期包含一系列移位周期,随后是启动周期和捕获周期。移位周期的数量可以小于或大于扫描链深度。
本发明还提出一种新的低功耗测试压缩技术,该方法可有效地压缩测试激励数据,同时可大幅降低测试功耗。本项目拟实现可容忍含unknown信号基于MISR的测试响应压缩。测试压缩采用扫描森林及一种基于编码的测试压缩技术。可在每一个内核加入上述低功耗测试压缩结构。扫描输入可以不需要附加管脚,控制信号可共享。
可以提出一种合理的假设:产生unknown响应信号的位置限于少部分的扫描单元。拟采用一种新的关联测度,将产生unknown信号的扫描单元汇聚在相同的扫描链中或异或树中。可采用一种新的测试码产生器,该测试码产生方法可尽可能避免将故障效应传输到unknown信号源。拟提出一种新的测度来引导测试效应传输,希望不要将测试效应传输至潜在的unknown信号源。该测度可以类似于可观测度,可以和申请人以往提出的输入影响范围的测度联合使用提出一种回避unknown信号的新的测试精简算法。本申请只需对测试码产生器及故障模拟器作少量的修改就能实现。
和之前的方法不同,本申请对于伪随机测试生成和确定性阶段都使用相同的LFSR。然而,本申请的方法在两个阶段使用不同的多路输出选择器(DMUX(demultiplexer))和门控逻辑。本申请重新配置扫描树来适应低功耗BIST和低功耗重播种。本申请重新配置扫描树是因为当通过门控技术设置的不同扫描树子集的数量对于低功耗PRPG阶段较大时,故障覆盖率的下降是有很大影响的。但是,对于确定BIST阶段,该参数可以设置得更大,这有助于压缩确定性测试数据。因为注入相同的一组附加变量,并且所有的扫描树子集都使用相同的种子。该参数可能会影响测试的功耗。
本申请重新配置扫描结构的一种简单方法是将每个扫描链分成多个扫描段,也就是说,wPRPG阶段中的任何扫描树都可以被重新配置成多个扫描树。从单个扫描树重新配置的所有扫描树都连接到同一个多路输出选择器,因此,本申请需要用不同的多路输出选择器,因为两个阶段的扇出因子是不同的。wPRPG阶段和确定BIST阶段共享相同的相移器(PS)。相移器在每个阶段直接驱动多路输出选择器,其输出端连接到另外两个多路输出选择器(DMUX),来实现重构扫描树的两个阶段。本申请使用可重构的扫描结构可以把额外的连接开销控制得非常低。
本申请在多路输出选择器下面再连接两个多路输出选择器是为了在两个阶段电路中驱动扫描树。本申请插入两个不同的门控逻辑,一个用于wPRPG阶段,另一个用于确定BIST。本申请这个新的方法称为dBIST。门控逻辑的每对引脚连接到一个额外的多路输出选择器,以便控制不同阶段的时钟信号。来自门控逻辑的每个引脚驱动一组扫描树。本申请的方法使用常规的测试使能信号来在确定BIST期间控制扫描树。
此外,本申请首先提出了一种新的算法去选择一个适当的本原多项式与注入的附加变量来编码所有确定测试向量,这种方法可以对wPRPG之后所有的确定测试向量进行编码。在这种情况下,本申请可以为两个阶段使用不同的LFSR和相移器。由于两个阶段的LFSR尺寸通常非常小,面积开销是可以忽略不计的。同时,由于扫描树结构和门控技术的提出,两个阶段的LFSR的尺寸都非常小。
本申请也注入附加变量。本申请提出了一种新的方案来选择LFSR的大小和附加变量个数,是的确定测试向量的数据量最小。通常,当在伪随机测试阶段采用设计良好的相移器时,由本原多项式构造的小LFSR就足够了。
本申请用于生成本原多项式的工具只能处理128位字长计算机的多项式。但是,根据实验结果,只有非常小的不超过30位的LFSR可以用于所有的电路。这是因为本申请在LFSR中添加了一些附加变量。
本申请提出了一种新的程序来选择具有最小维度的本原多项式,这个本原多项式可以对多有的确定测试向量进行编码。通常,所有确定测试向量的确定位的数量是完全不同的。当一些附加变量被注入到LFSR中时,本申请的方法选择维度较低的本原多项式。
本申请的方法选择了一个度数不低于20的本原多项式。本申请首先考虑的是没有附加变量的LFSR。如果这种LFSR不能编码出所有的确定向量,本申请就考虑加入一个附加变量。如果还存在没有被编码的确定测试向量,本申请的方法就是考虑加入两个附加变量。这个过程一直重复直到达到附加变量的最大值。如果这时还存在没有被编码的确定测试向量,本申请就考虑使用本原多项式的第二个度数。相似的,如果所有其他的本原多项式的度数都被使用了,然后还存在没有被编码的确定测试向量,本申请就把最大的度数加1。这个过程一直重复直到本申请能够编码所有的确定向量。
本申请将使用一个有效的编码方案来减少对确定测试向量中伪随机产生错误的存储需求。编码种子首先被移入LFSR。然后本申请把确定测试向量移入门控逻辑下激活的扫描树。其中每一个扫描进入信号驱动一些扫描树,但是同一时刻只有一颗扫描树是被激活的。当种子被激活时,附加变量也被加入LFSR。
当接收到测试数据时,第一组的扫描树被固化。第二组扫描树随机被激活,同时其他组的扫描树也是固化状态的。种子可以被存储在额外的寄存器中。这个寄存器的时钟周期和LFSR是一致的。在增加附加变量时,扫描转移操作始终被重复。这个过程将一致持续下去直到所有的扫描树都接受了测试数据。
当把测试数据应用到原始输入时,本申请会在启动周期中激活所有的扫描触发器,然后是捕获周期。新的方法只能在启动和捕获周期中降低转移功耗而不是降低测试功耗。
为了在确定BIST阶段响应测试压缩,由同一时钟信号驱动的所有扫描链的输出连接到相同的XOR网络。所有的扫描链的输出都连接到XOR网络,XOR网络的输出端连接到MISR。当在下一个测试向量中转移时,在扫描触发器中捕获的测试向量的测试响应在几个时钟周期内转移。
然后本申请设L,i,v,Smax分别表示LFSR的大小,加入附加变量所需的时钟周期,附加变量的个数和确定位的大小。本申请假设在第k层的确定位的大小为bk,在第j个周期之后的附加变量时间是Vj。这其中需要满足的必要条件是L+i·v≥Smax和
LFSR的大小和LFSR中附加变量总数的合计必须要比确定向量的确定位的最大值要大。因此,条件L+i·v≥Smax必须要满足。在任何时钟周期,LFSR的大小和附加变量的数量的总和必须要比转移的测试数据的触发器的确定位综合要大。此外,为了保证线性方程组有解,必须满足的条件。
当多路输出选择器(DMUX)增加时,测试时间并没有增加。原因在于当多路输出选择器增加时,扫描树的深度也会降低。但是,当多路输出选择器增加时,可以更好的压缩测试数据量,后面提出的实验结果证实了这一点。
为什么当多路输出选择器增加时可以更好地压缩测试数据?原因可能如下:(1)将扫描树分割为更多子集时,可以更容易的找到线性方程组的解。在插入足够多的附加变量之前,线性方程组的数量会少一些。因此,注入到LFSR的附加变量可以少一些。(2)如果LFSR注入的附加变量的数量保持不变,则扫描树的深度降低,附加变量的总数可以更少。在本文中,附加变量T的总数为T=v·d,其中v和d是附加变量的数量和扫描树的深度。
由于扫描链在确定BIST阶段与PRPG阶段连接相同的异或门,所以用于PRPG阶段的XOR网络可以是确定BIST阶段的子网络。如果两条扫描链(c1,1,c1,2,...,c1,l)和(c2,1,c2,2,...,c2,l)中的任何节点c1,1和c2,1,c1,2和c2,2,……,c1,l和c2,l在两帧内没有交集,就认为两条扫描链是兼容的。本申请可以确认,如果两条扫描链是兼容的,那么两条扫描链的任何子链也是兼容的。
步骤400:根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码。
步骤500:根据编码后的所述确定向量生成所述伪随机测试向量。
步骤600:对所述伪随机测试向量进行压缩。
步骤700:根据压缩后的所述伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。
可以理解的是,本申请提出了一种新的低功耗重播种方案。和之前的方法完全不同,本申请根据确定位把随机故障的确定向量来排序。本申请的方法将所有扫描链分成多个子集,其中在扫描置入期间只有一个扫描树子集被激活,并通过门控逻辑来控制整个测试应用过程。根据以下的算法把每个确定测试向量移入扫描树中:首先,本申请把种子移入LFSR,当把种子应用于激活的扫描树的第一个子集时,本申请把附加变量注入到LFSR中。然后,当将相同的附加变量置入到LFSR时,将LFSR中的结果置入到第二个激活的扫描树。该过程一直持续到所有扫描树都已经接收到测试向量。
捕获过程是在低功耗转移周期后开始,所有扫描树在单个启动周期(launchcycle)之后捕获测试响应。当LFSR的状态被保存在影子寄存器中时,捕获的响应被移出。然后低功耗重播种过程开始。保存在影子寄存器中的状态将被加载到LFSR中。当注入相同的附加变量时,LFSR中的值被移动到扫描树的第一个激活的子集。在影子寄存器中的状态重新加载到LFSR之后,它们被移入第二个激活的扫描树子集中。同时,将相同的附加变量序列注入到LFSR中。该过程继续,直到所有扫描触发器都被新数据重新加载。
所有扫描触发器在启动周期后的单个捕获周期捕获测试响应。对未覆盖的故障进行故障模拟,如果找到任何一个测试向量能够覆盖该故障,就把该故障从故障列表中删除。如果存在一个测试向量的检测到的故障列表为空,则将该测试向量从测试集中删除。一直重复该操作直到完成给定次数的低功耗重播种操作。
从上述描述可知,本发明的实施例提供了一种基于向量压缩的低功耗加权伪随机测试方法,能够有效地把低功耗的伪随机测试码产生(PRPG)和确定的BIST结合在一起,且硬件开销低,更不会带来额外的延迟开销、结构简单、便于工业界广泛使用,易于嵌入现有的EDA工具中,能够支持伪随机测试和确定自测试,也可独立用于确定测试压缩。
在一种具体实施方式中,所述测试周期的数量为1000个时钟周期;且每个测试周期均包括:移位周期、启动周期和捕获周期;
所述移位周期的数量小于或大于扫描链深度。
所述根据本原多项式和注入的附加变量对所有确定的伪随机测试向量进行编码,包括:
若未包括附加变量的线性反馈移位寄存器LFSR无法编码得到全部的确定向量,则应用所述本原多项式的第一维度,在所述LFSR中加入一个附加变量;
判断当前所述LFSR中是否存在未被编码的确定测试向量;
若当前的所述LFSR中还存在未被编码的确定测试向量,则继续向所述LFSR中加入附加变量,再返回重新判断当前所述LFSR中是否存在未被编码的确定测试向量,直到所述LFSR中的附加变量的数量达到的预设上限值。
所述根据本原多项式和注入的附加变量对所有确定的伪随机测试向量进行编码,还包括:
若所述LFSR中的附加变量的数量达到的预设上限值,且当前的所述LFSR中还存在未被编码的确定测试向量;则依次在所述本原多项式的其他维度中重复判断所述LFSR中是否存在未被编码的确定测试向量,并继续向所述LFSR中加入附加变量,直到得到所述LFSR编码的所有确定向量;
其中,所述本原多项式的维度不低于20。
所述对所述伪随机测试向量进行压缩,包括:
将所有扫描链分成多个子集,其中在扫描置入期间只有一个扫描树子集被激活,并通过门控逻辑来控制整个测试应用过程;
将编码种子移入所述LFSR中,当编码种子应用于激活的扫描树的第一个子集时,将附加变量注入到LFSR中;
当将相同的附加变量置入到所述LFSR时,将所述LFSR中的结果置入到第二个激活的扫描树中,直到所有扫描树都接收到测试向量;
当LFSR的状态被保存在影子寄存器中时,移出捕获的响应;
启动低功耗重播种过程,保存在影子寄存器中的状态将被加载到LFSR中;当注入相同的附加变量时,LFSR中的值被移动到扫描树的第一个激活的子集;在影子寄存器中的状态重新加载到LFSR之后,将附加变量移入第二个激活的扫描树子集中;同时,将相同的附加变量序列注入到LFSR中,直到所有扫描触发器都被新数据重新加载;
所有扫描触发器在启动周期后的单个捕获周期捕获测试响应;对未覆盖的故障进行故障模拟,若存在任何一个测试向量能够覆盖该故障,则将该故障从故障列表中删除;若存在一个测试向量的检测到的故障列表为空,则将该测试向量从测试集中删除,直到完成给定次数的低功耗重播种操作。
在一种具体实施方式中,参见图2,所述应用所述扫描森林进行伪随机测试测试方法之前,所述测试方法还具体包括如下内容:
步骤A00:确定所述扫描森林中的难测故障子集。
步骤B00:根据增益函数确定部分难测故障子集的测试点。
步骤C00:在逻辑电路中插入所述测试点。
所述根据增益函数确定部分难测故障子集的测试点,包括:
根据如公式一所示的增益函数G确定部分难测故障子集的测试点:
在公式一中,F是部分难测故障子集,t是下降或上升的转换故障;
所述节点l上升转换故障的可检测度det(f)1根据公式二进行估算:
det(f)1=C0(l)·C1(l')·O(l') 公式二
节点l下降转换故障的可检测度det(f)2根据公式三进行估算:
det(f)2=C1(l)·C0(l')·O(l') 公式三
在公式二和公式三中,C1(l)、C0(l)和O(l)分别为节点l的1可控度、0可控度和可观察度;
其中,某一节点l在两帧电路模型中的第一帧的位置为l、在两帧电路模型中的第二帧中相应位置为l',节点l上升和下降转换的可检测性定位为指定输入数量来检测双帧电路中的转换故障。
可以理解的是,测试点插入是减少测试数据量的有效方法。测试点插入方法最初主要用于单固定型故障测试,并不能够直接用于LOC延迟测试。本申请在本发明中,提出使用增益函数的方式来进行度量,提出了一种新的测试点插入方法。增益函数的度量必须制定输入难测故障子集,测试点插入的目标是使得选定的难测故障易测。本申请的方法使用以下的增益函数来选择测试点。
其中F是20%的难测故障,t是下降或上升转换故障。假设在第一帧中的位置l,在两个阶段电路模型的第二帧中相应位置为l'。上升和下降转换的可检测性定位为必须指定输入数量来检测双帧电路中的转换故障。
节点l上升转换故障的可检测度量可以估计如下:
Δ|det(l/r)|=Δ|C0(l)∪C1(l')∪O(l')| (2)
对于l的下降转换,可以估计如下:
Δ|det(l/r)|=Δ|C1(l)∪C0(l')∪O(l')| (3)
其中C1(l),C0(l)和O(l)表示为了l的1可控度,0可控度,可观察度。
本申请的方法选择20%最难以检测的故障作为插入测试点的候选者。本申请分别尝试把1可控或0可控测试点插入所有的候选者。本申请使用同样的方法来估计相应节点的变化,来确定控制点的位置和类型,引入最大的可检测性变化。继续上述过程,直到插入所有测试点。当更新输入影响措施时,所有控制点和观察点都插入到两个阶段电路的两个帧中。
本申请的方法插入三种不同类型的测试点,1可控、0可控和可观察点。测试点连接到两帧电路的PPI中。如果PPI和插入控制点的节点在两个阶段电路中没有任何共同的后继,则控制点的额外引脚可以连接到PPI。如果任何一对A,B和PPI在两个阶段电路中没有任何共同的后继,则插入到A和B中的两个控制点的两个额外引脚可以连接到相同的PPI。
测试点在A处的额外引脚(在第二帧中为A')连接到PPII。要求I和A在两个阶段电路中没有任何常见的组合后继。在A和B插入两个测试点。它们的额外引脚连接到相同的PPII。要求任何一对A,B和I在两个阶段电路中没有任何相同的组合后继。
当考虑插入控制测试点以提高测试数据压缩率时,有一点复杂。控制点有助于提高难以检测的故障的可控性,因为在电路的第一帧中应该产生下降或上升转换的第一个值。控制点插入还可以提高第二帧中节点的可控性和可观察性。在这两种情况下,可以提高难以检测的故障的可检测性。因此,本申请必须将控制点的额外引脚附加到PPI。如何选择PPI连接控制点的额外引脚?本申请的方法选择在两个阶段电路中不与节点A收敛的PPI中的一个,在插入第一帧中的控制点之后具有最佳的可控性。
观察点插入更容易。只有第二个电路框架的可观察性才能提高难以检测的过渡故障的可检测性。因此,本申请仅考虑电路第二帧节点的可观察性提高。第一帧节点的可观察性改善对LOC测试的任何故障的可检测性没有任何影响。
为进一步的说明本方案,本发明还提供一种基于向量压缩的低功耗加权伪随机测试方法的应用实例,具体包括如下内容:
本应用实例主要分为三个部分:(1)低功耗确定自测试,(2)低功耗重播种,(3)测试点插入。
(1)低功耗确定自测试
首先,本申请提出了DFT架构,以实现LOC转换故障测试的低功耗加权伪随机测试产生器(wPRPG)。此外,基于此实现用于LOC延迟测试的低功耗加权PRPG的技术。
如图3的扫描森林结构所示,扫描森林在第一阶段用于伪随机测试。相移器(PS)的每个阶段驱动多个扫描链,其中同一扫描树中的所有扫描链均由PS的同一级驱动。与以前的方法使用的多扫描链架构不同,相移器的在每个阶段驱动多路输出选择器,并且每个多路输出选择器驱动多个扫描树。
每个扫描信号驱动多个扫描树,如图3所示,其中不同的扫描链分配不同的权值。与PS的每个阶段驱动一个扫描链的多扫描链架构相比,该技术还可以显着地减小相移器的尺寸。根据本申请的技术,相移器(PS)的每个级,如图3所示,驱动一个多路输出选择器(DMUX(demultiplexer))而不是扫描链。
然后,本申请使用LOC(launch-off-capture)方法。在扫描链的当前子集的加权伪随机测试模式应用期间,对应于所有固化扫描链中扫描触发器的PPI被固定为常数值。低功耗加权伪随机测试向量产生过程如下:第一组扫描链被激活,其他扫描链仍然保持固化。如果一个扫描链进入扫描状态,本申请就是用加权伪随机向量产生器对扫描链置入加权伪随机信号;被固化的扫描链设为扫描对应的所有扫描单元置为固定值。当上述操作持续给定时钟周期后(定为1000个时钟周期),激活第二组扫描链,继续上述操作步骤。这个过程一直继续下去直到所有的扫描链都执行一遍。然后,再次激活第一组扫描链,重复上述操作直到指定时钟周期的伪随机测试完成为止。
选择所有测试使能信号的权值的技术和以前方法的技术之间的区别在于使用不同的增益函数和不同的可测性度量。DFT架构如图3所示,也与之前的方法不同。对于每轮伪随机测试码生成,本申请的方法为每个子电路设置1000个周期。每个测试周期包含一系列移位周期,随后是启动周期和捕获周期。移位周期的数量可以小于或大于扫描链深度。
如图4所示,本应用实例还提出一种新片上网络实现的低功耗测试压缩技术,该方法可有效地压缩测试激励数据,同时可大幅降低测试功耗。本项目拟实现可容忍含unknown信号基于MISR的测试响应压缩。测试压缩采用扫描森林及一种基于编码的测试压缩技术。可在每一个内核加入上述低功耗测试压缩结构。扫描输入可以不需要附加管脚,控制信号可共享。
可以提出一种合理的假设:产生unknown响应信号的位置限于少部分的扫描单元。拟采用一种新的关联测度,将产生unknown信号的扫描单元汇聚在相同的扫描链中或异或树中。可采用一种新的测试码产生器,该测试码产生方法可尽可能避免将故障效应传输到unknown信号源。拟提出一种新的测度来引导测试效应传输,希望不要将测试效应传输至潜在的unknown信号源。该测度可以类似于可观测度,可以和申请人以往提出的输入影响范围的测度联合使用提出一种回避unknown信号的新的测试精简算法。本申请只需对测试码产生器及故障模拟器作少量的修改就能实现。
和之前的方法不同,本申请对于伪随机测试生成和确定性阶段都使用相同的LFSR。然而,本申请的方法在两个阶段使用不同的多路输出选择器(DMUX(demultiplexer))和门控逻辑。本申请重新配置扫描树来适应低功耗BIST和低功耗重播种。本申请重新配置扫描树是因为当通过门控技术设置的不同扫描树子集的数量对于低功耗PRPG阶段较大时,故障覆盖率的下降是有很大影响的。但是,对于确定BIST阶段,该参数可以设置得更大,这有助于压缩确定性测试数据。因为注入相同的一组附加变量,并且所有的扫描树子集都使用相同的种子。该参数可能会影响测试的功耗。
如图5所示,本申请重新配置扫描结构的一种简单方法是将每个扫描链分成多个扫描段,也就是说,wPRPG阶段中的任何扫描树都可以被重新配置成多个扫描树。从单个扫描树重新配置的所有扫描树都连接到同一个多路输出选择器,因此,本申请需要用不同的多路输出选择器,因为两个阶段的扇出因子是不同的。wPRPG阶段和确定BIST阶段共享相同的相移器(PS)。相移器在每个阶段直接驱动多路输出选择器,其输出端连接到另外两个多路输出选择器(DMUX),来实现重构扫描树的两个阶段。本申请使用可重构的扫描结构可以把额外的连接开销控制得非常低。
本申请在多路输出选择器下面再连接两个多路输出选择器是为了在两个阶段电路中驱动扫描树。本申请插入两个不同的门控逻辑,一个用于wPRPG阶段,另一个用于确定BIST。本申请这个新的方法称为dBIST。门控逻辑的每对引脚连接到一个额外的多路输出选择器,以便控制不同阶段的时钟信号。来自门控逻辑的每个引脚驱动一组扫描树。本申请的方法使用常规的测试使能信号来在确定BIST期间控制扫描树。
此外,本申请首先提出了一种新的算法去选择一个适当的本原多项式与注入的附加变量来编码所有确定测试向量,这种方法可以对wPRPG之后所有的确定测试向量进行编码。在这种情况下,本申请可以为两个阶段使用不同的LFSR和相移器。由于两个阶段的LFSR尺寸通常非常小,面积开销是可以忽略不计的。同时,由于扫描树结构和门控技术的提出,两个阶段的LFSR的尺寸都非常小。
本申请也注入附加变量。本申请提出了一种新的方案来选择LFSR的大小和附加变量个数,是的确定测试向量的数据量最小。通常,当在伪随机测试阶段采用设计良好的相移器时,由本原多项式构造的小LFSR就足够了。
本申请用于生成本原多项式的工具只能处理128位字长计算机的多项式。但是,根据实验结果,只有非常小的不超过30位的LFSR可以用于所有的电路。这是因为本申请在LFSR中添加了一些附加变量。
本申请提出了一种新的程序来选择具有最小维度的本原多项式,这个本原多项式可以对多有的确定测试向量进行编码。通常,所有确定测试向量的确定位的数量是完全不同的。当一些附加变量被注入到LFSR中时,本申请的方法选择维度较低的本原多项式。
本申请的方法选择了一个度数不低于20的本原多项式。本申请首先考虑的是没有附加变量的LFSR。如果这种LFSR不能编码出所有的确定向量,本申请就考虑加入一个附加变量。如果还存在没有被编码的确定测试向量,本申请的方法就是考虑加入两个附加变量。这个过程一直重复直到达到附加变量的最大值。如果这时还存在没有被编码的确定测试向量,本申请就考虑使用本原多项式的第二个度数。相似的,如果所有其他的本原多项式的度数都被使用了,然后还存在没有被编码的确定测试向量,本申请就把最大的度数加1。这个过程一直重复直到本申请能够编码所有的确定向量。
本申请将使用一个有效的编码方案来减少对确定测试向量中伪随机产生错误的存储需求。编码种子首先被移入LFSR。然后本申请把确定测试向量移入门控逻辑下激活的扫描树。其中每一个扫描进入信号驱动一些扫描树,但是同一时刻只有一颗扫描树是被激活的。当种子被激活时,附加变量也被加入LFSR。
当接收到测试数据时,第一组的扫描树被固化。第二组扫描树随机被激活,同时其他组的扫描树也是固化状态的。种子可以被存储在额外的寄存器中。这个寄存器的时钟周期和LFSR是一致的。在增加附加变量时,扫描转移操作始终被重复。这个过程将一致持续下去直到所有的扫描树都接受了测试数据。
当把测试数据应用到原始输入时,本申请会在启动周期中激活所有的扫描触发器,然后是捕获周期。新的方法只能在启动和捕获周期中降低转移功耗而不是降低测试功耗。
为了在确定BIST阶段响应测试压缩,由同一时钟信号驱动的所有扫描链的输出连接到相同的XOR网络。所有的扫描链的输出都连接到XOR网络,XOR网络的输出端连接到MISR。当在下一个测试向量中转移时,在扫描触发器中捕获的测试向量的测试响应在几个时钟周期内转移。
然后本申请设L,i,v,Smax分别表示LFSR的大小,加入附加变量所需的时钟周期,附加变量的个数和确定位的大小。本申请假设在第k层的确定位的大小为bk,在第j个周期之后的附加变量时间是Vj。这其中需要满足的必要条件是L+i·v≥Smax和
LFSR的大小和LFSR中附加变量总数的合计必须要比确定向量的确定位的最大值要大。因此,条件L+i·v≥Smax必须要满足。在任何时钟周期,LFSR的大小和附加变量的数量的总和必须要比转移的测试数据的触发器的确定位综合要大。此外,为了保证线性方程组有解,必须满足的条件。
如图5所示,当多路输出选择器(DMUX)增加时,测试时间并没有增加。原因在于当多路输出选择器增加时,扫描树的深度也会降低。但是,当多路输出选择器增加时,可以更好的压缩测试数据量,后面提出的实验结果证实了这一点。
为什么当多路输出选择器增加时可以更好地压缩测试数据?原因可能如下:(1)将扫描树分割为更多子集时,可以更容易的找到线性方程组的解。在插入足够多的附加变量之前,线性方程组的数量会少一些。因此,注入到LFSR的附加变量可以少一些。(2)如果LFSR注入的附加变量的数量保持不变,则扫描树的深度降低,附加变量的总数可以更少。在本文中,附加变量T的总数为T=v·d,其中v和d是附加变量的数量和扫描树的深度。
由于扫描链在确定BIST阶段与PRPG阶段连接相同的异或门,所以用于PRPG阶段的XOR网络可以是确定BIST阶段的子网络。如果两条扫描链(c1,1,c1,2,...,c1,l)和(c2,1,c2,2,...,c2,l)中的任何节点c1,1和c2,1,c1,2和c2,2,……,c1,l和c2,l在两帧内没有交集,就认为两条扫描链是兼容的。本申请可以确认,如果两条扫描链是兼容的,那么两条扫描链的任何子链也是兼容的。
(2)低功耗重播种
本申请提出了一种新的低功耗重播种方案。和之前的方法完全不同,本申请根据确定位把随机故障的确定向量来排序。本申请的方法将所有扫描链分成多个子集,其中只有一个子集的扫描树在一个时钟周期内被激活。通过门控逻辑来控制整个测试应用程序,本申请根据以下的算法把每个确定测试向量移入扫描树中:首先,本申请把种子移入LFSR,当把种子应用于激活的扫描树的第一个子集时,本申请把附加变量注入到LFSR中。然后,本申请再把LFSR中的结果传递到第二个激活的扫描树。该过程一直持续到所有扫描树都已经接收到测试向量。
捕获过程是在低功耗转移周期后开始,所有扫描树在单个启动周期之后捕获测试响应。当LFSR的状态被保存在影子寄存器中时,捕获的响应被移出。然后低功耗重播种过程开始。保存在影子寄存器中的状态将被加载到LFSR中。当注入相同的附加变量时,LFSR中的值被移动到扫描树的第一个激活的子集。在影子寄存器中的状态重新加载到LFSR之后,它们被移入第二个激活的扫描树子集中。同时,将相同的附加变量序列注入到LFSR中。该过程继续,直到所有扫描触发器都被新数据重新加载。
所有扫描触发器在启动周期后的单个捕获周期捕获测试响应。对未覆盖的故障进行故障模拟,如果找到任何一个测试向量能够覆盖该故障,就把该故障从故障列表中删除。如果存在一个测试向量的检测到的故障列表为空,则测试向量将从测试集中删除。一直重复该操作直到给定的数量。
(3)测试点插入
测试点插入是减少测试数据量的有效方法。测试点插入方法最初主要用于单固定型故障测试,并不能够直接用于LOC延迟测试。本申请在本发明中,提出使用增益函数的方式来进行度量,提出了一种新的测试点插入方法。增益函数的度量必须制定输入难测故障子集,测试点插入的目标是使得选定的难测故障易测。本申请的方法使用以下的增益函数来选择测试点。
其中F是20%的难测故障,t是下降或上升转换故障。假设在第一帧中的位置l,在两个阶段电路模型的第二帧中相应位置为l'。上升和下降转换的可检测性定位为必须指定输入数量来检测双帧电路中的转换故障。
节点l上升转换故障的可检测度量可以估计如下:
Δ|det(l/r)|=Δ|C0(l)∪C1(l')∪O(l')| (2)
对于l的下降转换,可以估计如下:
Δ|det(l/r)|=Δ|C1(l)∪C0(l')∪O(l')| (3)
其中C1(l),C0(l)和O(l)表示为了l的1可控度,0可控度,可观察度。
本申请的方法选择20%最难以检测的故障作为插入测试点的候选者。本申请分别尝试把1可控或0可控测试点插入所有的候选者。本申请使用同样的方法来估计相应节点的变化,来确定控制点的位置和类型,引入最大的可检测性变化。继续上述过程,直到插入所有测试点。当更新输入影响措施时,所有控制点和观察点都插入到两个阶段电路的两个帧中。
本申请的方法插入三种不同类型的测试点,1可控、0可控和可观察点。测试点连接到两帧电路的PPI中。如果PPI和插入控制点的节点在两个阶段电路中没有任何共同的后继,则控制点的额外引脚可以连接到PPI。如果任何一对A,B和PPI在两个阶段电路中没有任何共同的后继,则插入到A和B中的两个控制点的两个额外引脚可以连接到相同的PPI。
如图6所示,测试点在A处的额外引脚(在第二帧中为A')连接到PPII。要求I和A在两个阶段电路中没有任何常见的组合后继。如图7所示,在A和B插入两个测试点。它们的额外引脚连接到相同的PPII。要求任何一对A,B和I在两个阶段电路中没有任何相同的组合后继。
当考虑插入控制测试点以提高测试数据压缩率时,有一点复杂。控制点有助于提高难以检测的故障的可控性,因为在电路的第一帧中应该产生下降或上升转换的第一个值。控制点插入还可以提高第二帧中节点的可控性和可观察性。在这两种情况下,可以提高难以检测的故障的可检测性。因此,本申请必须将控制点的额外引脚附加到PPI。如何选择PPI连接控制点的额外引脚?本申请的方法选择在两个阶段电路中不与节点A收敛的PPI中的一个,在插入第一帧中的控制点之后具有最佳的可控性。
观察点插入更容易。只有第二个电路框架的可观察性才能提高难以检测的过渡故障的可检测性。因此,本申请仅考虑电路第二帧节点的可观察性提高。第一帧节点的可观察性改善对LOC测试的任何故障的可检测性没有任何影响。
本发明的实施例二还提供一种基于向量压缩的低功耗加权伪随机测试系统,所述测试系统包括:
扫描森林建立单元,用于建立扫描森林,其中,所述扫描森林中的相移器上连接有多个多路输出选择器,且每个所述多路输出选择器均用于驱动多个扫描树,每个扫描树中均包括多个扫描链。
扫描链子集设置单元,用于将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中,其中,相同的扫描链子集中的全部扫描链均由相同的时钟信号驱动。
加权伪随机信号设置单元,用于根据触发后摘取LOC方法,对被激活的扫描链子集置入加权伪随机信号。
确定向量编码单元,用于根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码。
伪随机测试向量生成单元,用于根据编码后的所述确定向量生成所述伪随机测试向量。
伪随机测试向量压缩单元,用于对所述伪随机测试向量进行压缩。
伪随机测试结果获取单元,用于根据压缩后的所述伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。
从上述描述可知,本发明的实施例提供了一种基于向量压缩的低功耗加权伪随机测试系统,能够有效地把低功耗的伪随机测试码产生(PRPG)和确定的BIST结合在一起,且硬件开销低,更不会带来额外的延迟开销、结构简单、便于工业界广泛使用,易于嵌入现有的EDA工具中,能够支持伪随机测试和确定自测试,也可独立用于确定测试压缩。
本发明的实施例三提供了一种基于向量压缩的低功耗加权伪随机测试设备的一种具体实施方式,所述低功耗加权伪随机测试设备具体包括如下内容:
所述测试设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述测试方法的全部步骤。
本发明的实施例四提供了一种计算机可读存储介质的一种具体实施方式,所述计算机可读存储介质具体包括如下内容:
所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述测试方法的全部步骤。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于向量压缩的低功耗加权伪随机测试方法,其特征在于,所述测试方法包括:
建立扫描森林,其中,所述扫描森林中的相移器上连接有多个多路输出选择器,且每个所述多路输出选择器均用于驱动多个扫描树,每个扫描树中均包括多个扫描链;
将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中,其中,相同的扫描链子集中的全部扫描链均由相同的时钟信号驱动;
根据触发后摘取LOC方法,对被激活的扫描链子集置入加权伪随机信号;
根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码;
根据编码后的所述确定向量生成伪随机测试向量;
对所述伪随机测试向量进行压缩;
以及,根据压缩后的所述伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。
2.根据权利要求1所述的测试方法,其特征在于,在应用所述扫描森林进行伪随机测试之前,所述测试方法还包括:
确定所述扫描森林中的难测故障子集;
根据增益函数确定部分难测故障子集的测试点;
以及,在逻辑电路中插入所述测试点。
3.根据权利要求2所述的测试方法,其特征在于,所述根据增益函数确定部分难测故障子集的测试点,包括:
根据如公式一所示的增益函数G确定部分难测故障子集的测试点:
在公式一中,F是部分难测故障子集,t是下降或上升的转换故障;
节点l上升转换故障的可检测度det(f)1根据公式二进行估算:
det(f)1=C0(l)·C1(l')·O(l') 公式二
节点l下降转换故障的可检测度det(f)2根据公式三进行估算:
det(f)2=C1(l)·C0(l')·O(l') 公式三
在公式二和公式三中,C1(l)、C1(l')、C0(l)、C0(l')和O(l')分别为节点l在第一帧时的1可控度、节点l在第二帧时的1可控度、节点l在第一帧时的0可控度、节点l在第二帧时的0可控度和节点l在第二帧时的可观察度;
其中,某一节点l在两帧电路模型中的第一帧的位置为l、在两帧电路模型中的第二帧中相应位置为l',节点l上升和下降转换的可检测性定位为指定输入数量来检测双帧电路中的转换故障。
4.根据权利要求1所述的测试方法,其特征在于,测试周期的数量为1000个时钟周期;
且每个测试周期均包括:移位周期、启动周期和捕获周期;
所述移位周期的数量小于或大于扫描链深度。
5.根据权利要求1所述的测试方法,其特征在于,所述根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码,包括:
若未包括附加变量的线性反馈移位寄存器LFSR无法编码得到全部的确定向量,则应用所述本原多项式的第一维度,在所述LFSR中加入一个附加变量;
判断当前所述LFSR中是否存在未被编码的确定测试向量;
若当前的所述LFSR中还存在未被编码的确定测试向量,则继续向所述LFSR中加入附加变量,再返回重新判断当前所述LFSR中是否存在未被编码的确定测试向量,直到所述LFSR中的附加变量的数量达到预设上限值。
6.根据权利要求5所述的测试方法,其特征在于,所述根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码,还包括:
若所述LFSR中的附加变量的数量达到预设上限值,且当前的所述LFSR中还存在未被编码的确定测试向量;则依次在所述本原多项式的其他维度中重复判断所述LFSR中是否存在未被编码的确定测试向量,并继续向所述LFSR中加入附加变量,直到得到所述LFSR编码的所有确定向量;
其中,所述本原多项式的维度不低于20。
7.根据权利要求1所述的测试方法,其特征在于,所述对所述伪随机测试向量进行压缩,包括:
将所有扫描链分成多个扫描树子集,其中在扫描置入期间只有一个扫描树子集被激活,并通过门控逻辑来控制整个测试应用过程;
将编码种子移入所述LFSR中,当编码种子应用于第一个激活的扫描树子集时,将附加变量注入到LFSR中;
当将相同的附加变量置入到所述LFSR时,将所述LFSR中的结果置入到第二个激活的扫描树子集中,直到所有扫描树子集都接收到测试向量;
当LFSR的状态被保存在影子寄存器中时,移出捕获的响应;
启动低功耗重播种过程,保存在影子寄存器中的状态将被加载到LFSR中;当注入相同的附加变量时,LFSR中的值被移动到第一个激活的扫描树子集;在影子寄存器中的状态重新加载到LFSR之后,将附加变量移入第二个激活的扫描树子集中;同时,将相同的附加变量注入到LFSR中,直到所有扫描触发器都被新数据重新加载;
所有扫描触发器在启动周期后的单个捕获周期捕获测试响应;对未覆盖的故障进行故障模拟,若存在任何一个测试向量能够覆盖该故障,则将该故障从故障列表中删除;若存在一个测试向量的检测到的故障列表为空,则将该测试向量从测试集中删除,直到完成给定次数的低功耗重播种操作。
8.一种基于向量压缩的低功耗加权伪随机测试系统,其特征在于,所述测试系统包括:
扫描森林建立单元,用于建立扫描森林,其中,所述扫描森林中的相移器上连接有多个多路输出选择器,且每个所述多路输出选择器均用于驱动多个扫描树,每个扫描树中均包括多个扫描链;
扫描链子集设置单元,用于将由同一个多路输出选择器控制的全部扫描链均设置在相同的扫描链子集中,其中,相同的扫描链子集中的全部扫描链均由相同的时钟信号驱动;
加权伪随机信号设置单元,用于根据触发后摘取LOC方法,对被激活的扫描链子集置入加权伪随机信号;
确定向量编码单元,用于根据本原多项式和注入的附加变量对线性反馈移位寄存器LFSR中的全部的确定向量进行编码;
伪随机测试向量生成单元,用于根据编码后的所述确定向量生成伪随机测试向量;
伪随机测试向量压缩单元,用于对所述伪随机测试向量进行压缩;
伪随机测试结果获取单元,用于根据压缩后的所述伪随机测试向量进行伪随机测试,计算得到伪随机测试结果。
9.一种基于向量压缩的低功耗加权伪随机测试设备,其特征在于,所述测试设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710567584.4A CN107544017B (zh) | 2017-07-12 | 2017-07-12 | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 |
US15/972,599 US10747926B2 (en) | 2017-07-12 | 2018-05-07 | Low-power test compression for launch-on-capture transition fault testing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710567584.4A CN107544017B (zh) | 2017-07-12 | 2017-07-12 | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544017A CN107544017A (zh) | 2018-01-05 |
CN107544017B true CN107544017B (zh) | 2020-06-16 |
Family
ID=60970623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710567584.4A Active CN107544017B (zh) | 2017-07-12 | 2017-07-12 | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10747926B2 (zh) |
CN (1) | CN107544017B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845248B (zh) * | 2018-05-02 | 2020-10-23 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
CN109143039B (zh) * | 2018-10-09 | 2020-06-16 | 清华大学 | 单固定型故障低功耗测试方法 |
CN109656350B (zh) * | 2018-12-25 | 2022-07-05 | 上海琪埔维半导体有限公司 | 一种基于dft扫描链的低功耗实现方法 |
CN110197698B (zh) * | 2019-05-23 | 2021-03-05 | 东莞记忆存储科技有限公司 | 自动测试ssd不同电源状态影响的方法及装置 |
CN110221196B (zh) * | 2019-06-25 | 2020-06-16 | 清华大学 | 单固定型故障基于可测试性影响锥的测试精简方法及系统 |
CN110413256B (zh) * | 2019-07-23 | 2021-10-22 | 江苏芯盛智能科技有限公司 | 一种二元随机序列检测方法、系统、设备及计算机介质 |
CN112649723B (zh) * | 2019-10-11 | 2021-11-12 | 清华大学 | 转换延迟故障测试压缩环境下测试精简方法和装置 |
CN111044887B (zh) * | 2019-12-09 | 2022-05-13 | 北京时代民芯科技有限公司 | 一种ddr2/3 phy bist命令通道测试向量生成方法 |
US11175338B2 (en) | 2019-12-31 | 2021-11-16 | Alibaba Group Holding Limited | System and method for compacting test data in many-core processors |
JP7305583B2 (ja) * | 2020-03-05 | 2023-07-10 | 株式会社東芝 | 半導体集積回路 |
CN111817918B (zh) * | 2020-07-08 | 2021-12-10 | 中国人民解放军32181部队 | 一种通信分机加解密模块的故障检测方法及系统 |
CN116775386A (zh) * | 2022-03-07 | 2023-09-19 | 华为技术有限公司 | 用于生成测试向量的方法、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950974B1 (en) * | 2001-09-07 | 2005-09-27 | Synopsys Inc. | Efficient compression and application of deterministic patterns in a logic BIST architecture |
CN104040499A (zh) * | 2011-12-20 | 2014-09-10 | 国际商业机器公司 | 带有基于内部表决的内置自测(bist)的多核心处理器 |
CN105682171A (zh) * | 2016-03-09 | 2016-06-15 | 北京航空航天大学 | 基于时空相关性分簇的无线传感器网络压缩数据收集方法 |
CN106546907A (zh) * | 2016-10-27 | 2017-03-29 | 清华大学 | 一种低功耗扫描自测试电路以及自测试方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4602210A (en) * | 1984-12-28 | 1986-07-22 | General Electric Company | Multiplexed-access scan testable integrated circuit |
US7137053B2 (en) * | 2001-09-04 | 2006-11-14 | Verigg Ipco | Bandwidth matching for scan architectures in an integrated circuit |
US7509550B2 (en) * | 2003-02-13 | 2009-03-24 | Janusz Rajski | Fault diagnosis of compressed test responses |
US7779381B2 (en) * | 2006-09-11 | 2010-08-17 | Cadence Design Systems, Inc. | Test generation for low power circuits |
US7925465B2 (en) * | 2007-02-12 | 2011-04-12 | Mentor Graphics Corporation | Low power scan testing techniques and apparatus |
US20090150112A1 (en) * | 2007-12-05 | 2009-06-11 | Sun Microsystems, Inc. | Scan method and system of testing chip having multiple cores |
US8166359B2 (en) * | 2007-12-20 | 2012-04-24 | Mentor Graphics Corporation | Selective per-cycle masking of scan chains for system level test |
WO2010124148A1 (en) * | 2009-04-22 | 2010-10-28 | Mentor Graphics Corporation | At-speed scan testing with controlled switching activity |
US8832512B2 (en) * | 2010-03-16 | 2014-09-09 | Mentor Graphics Corporation | Low power compression of incompatible test cubes |
US9651622B2 (en) * | 2014-03-07 | 2017-05-16 | Mentor Graphics Corporation | Isometric test compression with low toggling activity |
US9984962B2 (en) * | 2015-08-31 | 2018-05-29 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems and methods for hybrid flexible electronics with rigid integrated circuits |
US10338138B2 (en) * | 2015-12-31 | 2019-07-02 | Chinsong Sul | Low cost design for test architecture |
US10996273B2 (en) * | 2018-03-22 | 2021-05-04 | Siemens Industry Software Inc. | Test generation using testability-based guidance |
-
2017
- 2017-07-12 CN CN201710567584.4A patent/CN107544017B/zh active Active
-
2018
- 2018-05-07 US US15/972,599 patent/US10747926B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950974B1 (en) * | 2001-09-07 | 2005-09-27 | Synopsys Inc. | Efficient compression and application of deterministic patterns in a logic BIST architecture |
CN104040499A (zh) * | 2011-12-20 | 2014-09-10 | 国际商业机器公司 | 带有基于内部表决的内置自测(bist)的多核心处理器 |
CN105682171A (zh) * | 2016-03-09 | 2016-06-15 | 北京航空航天大学 | 基于时空相关性分簇的无线传感器网络压缩数据收集方法 |
CN106546907A (zh) * | 2016-10-27 | 2017-03-29 | 清华大学 | 一种低功耗扫描自测试电路以及自测试方法 |
Also Published As
Publication number | Publication date |
---|---|
US10747926B2 (en) | 2020-08-18 |
CN107544017A (zh) | 2018-01-05 |
US20190018910A1 (en) | 2019-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107544017B (zh) | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 | |
US7644333B2 (en) | Restartable logic BIST controller | |
US6067651A (en) | Test pattern generator having improved test sequence compaction | |
US7506232B2 (en) | Decompressor/PRPG for applying pseudo-random and deterministic test patterns | |
US7840865B2 (en) | Built-in self-test of integrated circuits using selectable weighting of test patterns | |
JP3920640B2 (ja) | 集積回路テスト環境のためのテストパターン圧縮方法 | |
US11156662B2 (en) | Software defined LFSR for LOC delay testing low-power test compression | |
US5574733A (en) | Scan-based built-in self test (BIST) with automatic reseeding of pattern generator | |
US7484151B2 (en) | Method and apparatus for testing logic circuit designs | |
US20030154433A1 (en) | Method and apparatus for broadcasting scan patterns in a scan-based integrated circuit | |
US5479414A (en) | Look ahead pattern generation and simulation including support for parallel fault simulation in LSSD/VLSI logic circuit testing | |
WO2003104828B1 (en) | VARIABLY PULSE SCAN TEST CIRCUITS AND ASSOCIATED METHOD | |
Rajski et al. | Embedded deterministic test for low-cost manufacturing | |
Filipek et al. | Low-power programmable PRPG with test compression capabilities | |
US9075110B2 (en) | Fault detection system, acquisition apparatus, fault detection method, program, and non-transitory computer-readable medium | |
EP0481097B1 (en) | Method and apparatus for testing a VLSI device | |
US6708305B1 (en) | Deterministic random LBIST | |
US6865706B1 (en) | Apparatus and method for generating a set of test vectors using nonrandom filling | |
CN109143039B (zh) | 单固定型故障低功耗测试方法 | |
Wohl et al. | Increasing scan compression by using X-chains | |
Mrugalski et al. | TestExpress-new time-effective scan-based deterministic test paradigm | |
CN112154338A (zh) | 用于测试压缩的灵活的等距解压缩器架构 | |
Krishna et al. | Hybrid BIST using an incrementally guided LFSR | |
Novak et al. | Test-per-clock testing of the circuits with scan | |
CN211402637U (zh) | 扫描链动态重配置的确定型test-per-clock测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |