一种基于并行施加测试激励的低功耗扫描测试方法及装置与流程

文档序号:13759359阅读:186来源:国知局
一种基于并行施加测试激励的低功耗扫描测试方法及装置与流程

本发明涉及集成电路的扫描测试技术领域,尤其涉及一种低功耗扫描测试方法及装置。



背景技术:

随着集成电路工艺尺寸的进一步减小,制造良率也越来越难以保证,可测性设计成为当今芯片研发与制造越来越不可或缺的技术。但是,由于故障测试强调高故障覆盖率与短测试时间,因此故障测试的激励所造成的芯片内部逻辑翻转概率要远大于正常功能模式下芯片内部逻辑的翻转概率,由此造成测试功耗数倍于正常功能模式下的功耗。若芯片在测试过程长时间处于高功耗状态,或是峰值功耗超出承受范围,则可能发生不可逆转的结构损伤,进而影响产品的可靠性与良品率。因此,低功耗可测性设计技术显得越来越重要。

如图1所示为当前传统的基于多扫描链结构的串行移位扫描测试结构,该测试方法需要将被测电路划分为m条扫描链,每条扫描链上的扫描单元数目可以不等。

将两组测试激励图案(test pattern)施加给被测电路,分别进行如下操作。其时序如图2所示:

1、串行移位模式。如图2中左斜线矩形区域覆盖的时间即为测试激励串行移入的阶段,右斜线矩形区域覆盖的时间即为测试响应串行移出的阶段。除了第一组测试激励的移入与最后一组测试响应的移出以外,上一组测试响应的移出与下一组测试激励的移入可以同时进行。串行移位模式总共持续的时间为:Tshift = n×(pat_nu+1);其中n是最长扫描链上触发器的个数,pat_nu是测试激励图案(test pattern)的个数。

2、响应捕获模式。如图2中竖线矩形区域覆盖的时间即为被测电路对刚移入的测试激励图案(test pattern)的响应捕获阶段。由于各扫描链的组合逻辑之间可能会存在相互交联的情况,所以必须对所有扫描链同时捕获。响应捕获模式总共持续的时间为:Tcapture = 1×pat_nu;

因此总的测试时间Ttest = Tshift+Tcapture = (n+1)×pat_nu+n

由上可知,传统的基于多扫描链结构的串行移位扫描测试方法虽然能够以少量的硬件开销有效地达到很高的故障覆盖率,但存在以下缺点:

1、串行移位模式下扫描单元巨大的移位功耗:由于上述的传统多扫描链结构的可测性设计在扫描测试模式下会进行大量的串行移位操作,但凡测试激励(或测试响应)中0→1或1→0的跳变,都会沿着扫描链上的每一个扫描单元一直传递,直至该组测试激励施加完毕(或上一组激励的捕获响应都完全移出);

2、串行移位模式下组合逻辑巨大的动态功耗:由于上述的传统多扫描链结构的可测性设计中扫描单元(以扫描触发器为例)的值频繁的翻转,由扫描触发器Q端所驱动的组合逻辑也会因Q端值的跳变而跳变,进而产生不必要的组合逻辑翻转功耗。

3、测试过程中时钟树巨大的功耗:由图2可以看出在整个测试过程中,每一条扫描链的测试时钟都处于活跃状态,对于大型芯片设计而言,时钟树的功耗会占很大一部分。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、灵活性高、功耗低、测试时间短、能够适用于多条扫描链的扫描测试的基于并行施加测试激励的低功耗扫描测试方法及装置。

为解决上述技术问题,本发明提出的技术方案为:一种基于并行施加测试激励的低功耗扫描测试方法,其特征在于,包括如下步骤:

S1. 将被测电路中的扫描单元划分构建成为若干条等长的扫描链;

S2. 依次向各扫描链施加测试使能信号和测试时钟脉冲,直到遍历完所有扫描链;

S3. 同时对所有扫描链施加捕获时钟,同时捕获各扫描链中扫描单元的响应输出,并依次输出所捕获的响应输出。

作为本发明的进一步改进,所述步骤S1的具体步骤包括:

S1.1. 获取所述被测电路中扫描单元的总数dff_sum,向被测电路中增加m×n-dff_sum个虚拟扫描单元,将所述被测电路划分为m条扫描链,每条扫描链包含n个扫描单元;

S1.2. 打断扫描链中各扫描单元之间的串行通路,建立被测电路的并行输入与并行输出。

作为本发明的进一步改进,所述打断扫描链中各扫描单元之间的串行通路通过切断同一条扫描链上前级扫描单元的Q端与下级扫描单元的SI端之间的连接实现。

作为本发明的进一步改进,所述建立被测电路的并行输入与并行输出包括:

S1.2.1. 修改扫描链中各扫描单元的测试激励的施加路径:将各扫描链中位置序号相同的扫描单元的SI端并联,共用同一个测试激励施加端口,建立起被测电路的并行输入;

S1.2.2. 修改扫描链中各扫描单元的捕获响应输出路径:在扫描单元的Q端后设置一个三态门,将三态门的使能端与扫描单元的SE端连接,使所述三态门和所述扫描单元被同一个使能信号触发,将各扫描链中位置序号相同的扫描单元的三态门的输出端并联,建立起被测电路的并行输出。

作为本发明的进一步改进,所述步骤S2的具体步骤包括:依次为每条扫描链施加长度为一个测试时针周期的测试使能信号和长度为半个测试时钟周期的测试时钟脉冲,为每条扫描链施加的所述测试时钟脉冲均比所述测试使能信号晚半个测试时钟周期,直到遍历完所有扫描链。

一种基于并行施加测试激励的低功耗扫描测试装置,包括:

扫描链构建模块:用于将被测电路中的扫描单元划分构建成为若干条等长的扫描链;

扫描激励模块:用于依次向各扫描链施加测试使能信号和测试时钟脉冲,直到遍历完所有扫描链;

扫描捕获模块:用于同时对所有扫描链施加捕获时钟,同时捕获各扫描链中扫描单元的响应输出,并依次输出所捕获的响应输出。

作为本发明的进一步改进,所述扫描链构建模块包括:

扫描链划分模块:用于获取所述被测电路中扫描单元的总数dff_sum,向被测电路中增加m×n-dff_sum个虚拟扫描单元,将所述被测电路划分为m条扫描链,每条扫描链包含n个扫描单元;

并行输入输出构建模块:用于打断扫描链中各扫描单元之间的串行通路,建立被测电路的并行输入与并行输出。

作为本发明的进一步改进,所述并行输入输出构建模块还用于切断同一条扫描链上前级扫描单元的Q端与下级扫描单元的SI端之间的连接。

作为本发明的进一步改进,所述并行输入输出构建模块包括:

并行输入构建模块:用于修改扫描链中各扫描单元的测试激励的施加路径:将各扫描链中位置序号相同的扫描单元的SI端并联,共用同一个测试激励施加端口,建立起被测电路的并行输入;

并行输出构建模块:用于修改扫描链中各扫描单元的捕获响应输出路径:在扫描单元的Q端后设置一个三态门,将三态门的使能端与扫描单元的SE端连接,使所述三态门和所述扫描单元被同一个使能信号触发,将各扫描链中位置序号相同的扫描单元的三态门的输出端并联,建立起被测电路的并行输出。

作为本发明的进一步改进,所述扫描激励模块用于依次为每条扫描链施加长度为一个测试时针周期的测试使能信号和长度为半个测试时钟周期的测试时钟脉冲,为每条扫描链施加的所述测试时钟脉冲均比所述测试使能信号晚半个测试时钟周期,直到遍历完所有扫描链。

与现有技术相比,本发明的优点在于:

1、本发明通过打断扫描链,避免了传统扫描测试中串行移位模式下测试码(或捕获响应)中0→1或1→0跳变沿扫描单元一直传递的行波效应,从而减少了扫描单元上的动态功耗,进而也减少了扫描单元驱动的组合逻辑因扫描单元值的跳变而跳变的动态功耗。

2、本发明通过轮询测试时钟脉冲轮流激活每一条扫描链,未被激活的扫描链上时钟树功耗为0,从而减少了测试过程中时钟树上的功耗。

3、本发明通过一拍之内只同时为同一条扫描链上的所有扫描单元施加激励,避免了传统测试中串行移位模式下被测电路中所有扫描单元与所有组合逻辑都处于活跃状态的情况,因此如果传统测试的峰值功耗出现在串行移位过程中(据工程经验,多是如此),则可以减小峰值功耗。

4、本发明通过轮流激活每一条扫描链,一拍之内同时为同一条扫描链上的所有扫描单元施加激励。也即传统的基于多扫描链结构的串行移位测试方式是一拍为一列m个扫描单元赋值,而改进后的基于并行施加测试激励的测试方式一拍为一行n个扫描单元赋值。将测试时间从传统的(n+1)×pat_nu+n转变成(m+1)×pat_nu+m。而据工程经验,通常n要远远大于m,因此缩短了测试时间。

附图说明

图1为传统的基于多扫描链结构的串行移位扫描测试结构示意图。

图2为传统的基于多扫描链结构的串行移位扫描测试方法时序示意图。

图3为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法的实现流程示意图。

图4为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法所构建的扫描链电路结构示意图。

图5为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法控制时序示意图。

图6为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法对具有11个扫描单元的测试电路构建扫描链示意图。

图7为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法对具有11个扫描单元的测试电路所施加测试激励时序示意图。

图8为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法对具有11个扫描单元的测试电路的捕获响应时序示意图。

图9为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法对具有11个扫描单元的测试电路的移出响应时序示意图。

图10为本发明具体实施例基于并行施加测试激励的低功耗扫描测试装置结构框图。

图11为本发明具体实施例基于并行施加测试激励的低功耗扫描测试方法所构建的测试电路示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图3所示,本实施例1. 一种基于并行施加测试激励的低功耗扫描测试方法,包括如下步骤:S1. 将被测电路中的扫描单元划分构建成为若干条等长的扫描链;S2. 依次向各扫描链施加测试使能信号和测试时钟脉冲,直到遍历完所有扫描链;S3. 同时对所有扫描链施加捕获时钟,同时捕获各扫描链中扫描单元的响应输出,并依次输出所捕获的响应输出。在本初稿例中,步骤S1的具体步骤为:S1.1. 获取被测电路中扫描单元的总数dff_sum,向被测电路中增加m×n-dff_sum个虚拟扫描单元,将被测电路划分为m条扫描链,每条扫描链包含n个扫描单元;S1.2. 打断扫描链中各扫描单元之间的串行通路,建立被测电路的并行输入与并行输出。打断扫描链中各扫描单元之间的串行通路通过切断同一条扫描链上前级扫描单元的Q端与下级扫描单元的SI端之间的连接实现。

在本实施例中,步骤S1.2中建立被测电路的并行输入与并行输出的具体步骤为:S1.2.1. 修改扫描链中各扫描单元的测试激励的施加路径:将各扫描链中位置序号相同的扫描单元的SI端并联,共用同一个测试激励施加端口,建立起被测电路的并行输入;S1.2.2. 修改扫描链中各扫描单元的捕获响应输出路径:在扫描单元的Q端后设置一个三态门,将三态门的使能端与扫描单元的SE端连接,使所述三态门和所述扫描单元被同一个使能信号触发,将各扫描链中位置序号相同的扫描单元的三态门的输出端并联,建立起被测电路的并行输出。在本实施例中,步骤S2的具体步骤包括:依次为每条扫描链施加长度为一个测试时针周期的测试使能信号和长度为半个测试时钟周期的测试时钟脉冲,为每条扫描链施加的测试时钟脉冲均比测试使能信号晚半个测试时钟周期,直到遍历完所有扫描链。

在本实施例中,扫描单元为触发器。如图4所示的根据本发明的方法所构建的测试电路示意图。在构建扫描链中,通过EDA综合工具,如synopsys公司的Design Compiler,统计被测电路中触发器的个数,如图6所示,可获得如图6所示被测电路中触发器的个数为dff_sum=11个。因为11是一个质数,除了能被1或11整除,没有其他的可拆分的因数。如果按照传统的串行移位扫描测试方法,如果划分为3条扫描链,则将会得到每条链上分别有4,4,3个触发器的3条扫描链。本发明的方法要求每条扫描链中触发器的个数相等,如果不向被测电路中增加触发器,则要么只能构建一条具有11个触发器的扫描链,要么只能构建11条只包含1个触发器的扫描链。在本实施例中,通过综合考虑触发器的引脚数目、测试功耗、面积开销与测试时间,确定将被测电路划分为m=3条扫描链,每条扫描链包含n=4个触发器,m×n≥dff_sum。因此,需要向被测电路中增加m×n-dff_sum=3×4-11=1个虚拟触发器,以满足每条扫描链中触发器的个数相等。在本实施例中,所增加的虚拟触发器的Q端与D端连接,当然,也可以采用其它方式,如将虚拟触发器的D端直接接地或者接电源。当然,可以根据实际需要选择将被测电路划分成适当条数的扫描链,如划分为2条扫描链,每条扫描链包括6个触发器。在本实施例中,由于Dummy(虚拟)触发器并不与被测电路的组合逻辑交连,所以不会对被测电路的正常功能造成任何影响。在对被测电路的触发器划分为3条扫描链后,每条扫描链包括4个触发器,第1条扫描链包括触发器DFF1、DFF2、DFF3和DFF4,第2条扫描链包括触发器DFF5、DFF6、DFF7和DFF8,第3条扫描链包括触发器DFF9、DFF10、DFF11和Dummy触发器。按照触发器在扫描链中的位置序号,将触发器分级,DFF1、DFF5和DFF9分别为3条扫描链中的第一级触发器,DFF2、DFF6和DFF10分别为3条扫描链中的第二级触发器,DFF3、DFF7和DFF11分别为3条扫描链中的第三级触发器,DFF4、DFF8和Dummy分别为3条扫描链中的第四级触发器。在本实施例中,为了建立各扫描链的并行输入输出,需要打断扫描链中各触发器之间的串行通路,切断同一条扫描链中前级触发器的Q端与下级触发器的SI端之间的连接。并且,修改扫描链中各扫描单元的测试激励的施加路径:将各扫描链中位置序号相同(即属于同一级)的触发器的SI端并联,共用一个测试激励施加端口,建立起被测电路的并行输入。在本实施例中,通过TCL语言脚本对被测电路的扫描结构进行改进。修改扫描链中各触发器的捕获响应输出路径:在触发器的Q端后设置一个三态门,将三态门的使能端与触发器的SE端连接,使三态门和扫描单元被同一个使能信号触发,将各扫描链中位置序号相同(即属于同一级)的触发器的三态门的输出端并联,建立起被测电路的并行输出。在本实施例中,将触发器DFF1、DFF5和DFF9的SI端并联,共用同一个测试激励施加端口SCin[0],将触发器DFF1、DFF5和DFF9后接的三态门的输出端并联,共用一个输出端Scout[0],依此类推,触发器DFF2、DFF6和DFF10共同的测试激励为SCin[1],共同的输出端为Scout[1],触发器DFF3、DFF7和DFF11共同的测试激励为SCin[2],共同的输出端为Scout[2],触发器DFF4、DFF8和Dummy共同的测试激励为SCin[3],共同的输出端为Scout[3]。Clk端为触发器的时钟脉冲输入端,处于同一扫描链上的扫描单元具有相同的时钟脉冲,SE端为触发器的测试使能信号输入端,处于同一扫描链上的扫描单元具有相同的测试使能信号。在本实施例中,三态门和扫描单元被同一个使能信号触发,当三态门与触发器具有相同的测试使能,如触发器为高电平测试使能,三态门也为高电平测试使能,则直接将三太门的使能端与触发器的SE端连接即可。如果三态门与触发器的测试使能不同,则通过在触发器的SE端与三态门的使能端之间串联一个反相器,从而使得三太门和扫描单元能够被同一个使能信号触发。在本实施例中,修改扫描链中各触发器的捕获响应输出路径既可以在门级网表中修改,也可以通过定制集成扫描触发器和三态门于一体的专用于并行施加测试激励的扫描触发器来实现。

在本实施例中,如图5所示,依次为每条扫描链施加长度为一个测试时针周期的测试使能信号和长度为半个测试时钟周期的测试时钟脉冲,为每条扫描链施加的所述测试时钟脉冲均比所述测试使能信号晚半个测试时钟周期,直到遍历完所有扫描链。在本实施例具有11个触发器的被测电路中,向测试电路所施加测试激励时序如图7所示,测试电路的捕获响应时序如图8所示,测试电路的移出响应时序如图9所示。在所有扫描链被测试时钟脉冲与测试使能信号轮询完,且测试激励已经使输出端的响应稳定之后,在下一轮第一条扫描链的测试时钟脉冲到来之前,将输出端的值与期望输出值进行比较,评估测试结果。

在本实施例中,以触发器作为扫描单元的一种具体形式进行说明,D端为触发器的正常功能的数据输入端,Q端为触发器的正常功能的数据输出端,SI端为触发器的测试激励输入端,SE端为触发器的测试使能信号输入端,Clk端为触发器的时钟脉冲输入端。对于不同的扫描单元,各端口的命名可能不一致,但只要是端口所实现的功能相同或等同,均应落入本发明的保护范围。如图10所示,本实施例一种基于并行施加测试激励的低功耗扫描测试装置包括:扫描链构建模块:用于将被测电路中的扫描单元划分构建成为若干条等长的扫描链;扫描激励模块:用于依次向各扫描链施加测试使能信号和测试时钟脉冲,直到遍历完所有扫描链;扫描捕获模块:用于同时对所有扫描链施加捕获时钟,同时捕获各扫描链中扫描单元的响应输出,并依次输出所捕获的响应输出。

在本实施例中,扫描链构建模块包括:扫描链划分模块:用于获取被测电路中扫描单元的总数dff_sum,向被测电路中增加m×n-dff_sum个Q端与D端连接的虚拟扫描单元,将被测电路划分为m条扫描链,每条扫描链包含n个扫描单元;并行输入输出构建模块:用于打断扫描链中各扫描单元之间的串行通路,建立被测电路的并行输入与并行输出。并行输入输出构建模块还用于切断同一条扫描链上前级扫描单元的Q端与下级扫描单元的SI端之间的连接。

在本实施例中,并行输入输出构建模块包括:并行输入构建模块:用于修改扫描链中各扫描单元的测试激励的施加路径:将各扫描链中位置序号相同的扫描单元的SI端并联,共用同一个测试激励施加端口,建立起被测电路的并行输入;并行输出构建模块:用于修改扫描链中各扫描单元的捕获响应输出路径:在扫描单元的Q端后设置一个三态门,将三态门的使能端与扫描单元的SE端连接,使所述三态门和所述扫描单元被同一个使能信号触发,将各扫描链中位置序号相同的扫描单元的三态门的输出端并联,建立起被测电路的并行输出。

在本实施例中,扫描激励模块用于依次为每条扫描链施加长度为一个测试时针周期的测试使能信号和长度为半个测试时钟周期的测试时钟脉冲,为每条扫描链施加的测试时钟脉冲均比测试使能信号晚半个测试时钟周期,直到遍历完所有扫描链。在本实施例中,扫描激励模块通过设置计数器的模及组合逻辑,产生轮询的测试时钟脉冲、轮询的测试使能信号,扫描捕获模块产生捕获时钟,通过本实施例所构建的扫描电路如图11所示。

在本实施例中,通过打断扫描链,避免了传统扫描测试中串行移位模式下测试码(或捕获响应)中0→1或1→0跳变沿扫描单元一直传递的行波效应,从而减少了扫描单元上的动态功耗,进而也减少了扫描单元驱动的组合逻辑因扫描单元值的跳变而跳变的动态功耗。本实施例通过轮询测试时钟脉冲轮流激活每一条扫描链,未被激活的扫描链上时钟树功耗为0,从而减少了测试过程中时钟树上的功耗。本实施例通过一拍之内只同时为同一条扫描链上的所有扫描单元施加激励,避免了传统测试中串行移位模式下被测电路中所有扫描单元与所有组合逻辑都处于活跃状态的情况,因此如果传统测试的峰值功耗出现在串行移位过程中(据工程经验,多是如此),则可以减小峰值功耗。本实施例通过轮流激活每一条扫描链,一拍之内同时为同一条扫描链上的所有扫描单元施加激励。也即传统的基于多扫描链结构的串行移位测试方式是一拍为一列m个扫描单元赋值,而改进后的基于并行施加测试激励的测试方式一拍为一行n个扫描单元赋值。将测试时间从传统的(n+1)×pat_nu+n转变成(m+1)×pat_nu+m。而据工程经验,通常n要远远大于m,因此缩短了测试时间。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1