首页> 中国专利> 适用于多扫描链设计芯核的SOC测试数据的压缩方法

适用于多扫描链设计芯核的SOC测试数据的压缩方法

摘要

适用于多扫描链设计芯核的SOC测试数据的压缩方法,它涉及到SOC测试技术领域。它是为解决现有测试方法在对多扫描链设计芯核进行测试时,测试数据量过大,存在非模型故障的覆盖率不高且解码器的硬件代价过大而提出的。它的步骤一、将测试集TD按照多链形式排列;步骤二、用近似团划分算法分组;步骤三、将各组按降序排序;步骤四、设定字典条目数量E;步骤五、“0+索引编码”、“1+测试片段”表示各组测试片段,得到压缩后的测试集TE。本发明能直接用芯核厂商提供的测试数据,在不关心电路内部结构、不需要进行故障仿真和测试生成的条件下对多扫描链设计芯核进行测试数据压缩,压缩后的测试集仍然具有较高的故障覆盖率,且解码器硬件规模较小。

著录项

  • 公开/公告号CN101042714A

    专利类型发明专利

  • 公开/公告日2007-09-26

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学;

    申请/专利号CN200710072150.3

  • 发明设计人 彭喜元;俞洋;彭宇;孙宁;赵光权;

    申请日2007-04-29

  • 分类号G06F17/50(20060101);

  • 代理机构23109 哈尔滨市松花江专利商标事务所;

  • 代理人朱永林

  • 地址 150001 黑龙江省哈尔滨市南岗区西大直街92号

  • 入库时间 2023-12-17 19:07:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-06-19

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20090121 终止日期:20120429 申请日:20070429

    专利权的终止

  • 2009-01-21

    授权

    授权

  • 2007-11-21

    实质审查的生效

    实质审查的生效

  • 2007-09-26

    公开

    公开

说明书

技术领域

本发明涉及的是多扫描链设计的可复用IP(Intellectual Property)芯核的SOC测试的技术领域。

背景技术

随着微电子技术的快速发展,集成电路进入了超深亚微米时代,电子器件的尺寸越来越小,芯片规模越来越大,这使得将复杂系统集成在单个芯片上成为可能,在这种情况下,系统芯片SOC(System on a chip)应运而生。SOC能将多种功能的IP(Intellectual Property)核,如微处理器、存储器等集成在一个单独的芯片上,实现完整的系统功能,从而极大地缩小了系统体积,提高了系统的性能。与此同时,在SOC的集成中使用经过预先设计和验证的可复用IP核能大大提高设计效率,缩短设计周期,减少产品的上市时间。这种新的设计模式为SOC系统集成缩短了设计周期,降低了设计风险,但也给SOC的测试带来了极大的挑战。

在SOC的集成过程中,出于对知识产权的保护,芯核提供商通常不会为SOC集成商提供芯核的内部结构信息,系统集成者只能将其作为“黑盒”处理,因此很难采用传统的测试生成和测试压缩方法开发出实用的测试方案,造成了测试优化设计的困难。

与此同时,为了降低设计和测试成本,SOC的测试必须迅速而有效,而测试一片SOC所花费的时间与其测试数据量是密切相关的。随着SOC内部集成芯核数目的增加和功能的复杂,相应的测试数据量也随之迅速增加,而自动测试设备(ATE)的数据存储深度、工作时钟的增长却较为缓慢,两者之间的矛盾越来越突出。因此,如何有效减少测试数据量、缩短测试时间,以提高生产能力、降低测试成本,是SOC测试中必须面临的挑战。

为了解决SOC的测试难题,对SOC的测试问题展开相关理论和方法的研究,对于实际应用具有十分重要的意义。在近些年的研究成果中,测试资源划分(Test Resource Partition,TRP)是一种比较有实用价值的解决方案,主要可以归纳为三方面:

1、测试紧缩(Test Compaction)。测试紧缩主要是通过处理测试向量集中的无关位(Don’t-care bit)来减少测试数据量,分为动态紧缩方法和静态紧缩方法两种。动态紧缩是在测试生成的过程中进行的,需要修改测试生成器,可能需要在测试生成中进行多次回溯,从而导致测试生成的时间较长;静态紧缩则是在测试生成后进行,通常只是对生成的测试集进行故障仿真,采用相应的方法减少测试向量的数量,但非模型故障的覆盖率可能要受到影响。

2、内建自测试(Built-In Self-Test,BIST)。BIST也是一种常用的降低测试数据量的方法,常用于存储器核的测试。其基本思想是利用芯片自身的测试生成器在片上直接生成测试向量,完成测试,常用的有基于线性反馈移位寄存器(LFSR)和基于细胞机(CA)的方法。由于BIST生成的测试向量多是伪随机向量,因此故障覆盖率不高、测试序列较长。虽然通过加权随机向量测试、混合模式BIST等方法可以进一步提高测试效率,但随着电路规模的扩大,难测故障越来越多,需要付出的硬件开销也显著增加。因此BIST方法目前仅在存储器的测试中得到了广泛的应用,对于DSP等实现逻辑功能的其它芯核的测试仍然不成熟,而且只有当芯核具备BIST结构时,SOC才可能考虑采用BIST的测试方案。

3、测试压缩(Test Compression)。测试压缩的主要思想是将预先得到测试向量经过压缩存储在ATE中,测试时,通过芯片上的解码器进行解压。这是一种无损压缩技术,能保证故障覆盖率不降低。这种方法将一些测试资源从ATE移入到芯片中,以达到减少测试数据量、缩短测试时间的目的。目前在这方面的研究成果主要有基于统计编码、游程编码、Golomb编码、FDR编码以及VIHC编码等方法。采用这些编码方法进行数据压缩时,一个解码器的硬件代价通常为几十个门级。对于单扫描链设计的芯核来说,仅仅增加一个解码器,解码的硬件代价不大,因此这些方法比较有效。

综上所述,以上三种方法都具有各自的优点,在其所适合的测试应用范围内,都是比较有效的。然而,在对多扫描链设计芯核的测试时,因其测试数据量非常大,而且存在对于非模型故障的覆盖率不高或解码器硬件代价过大的问题。

发明内容

本发明是为解决现有测试方法在对多扫描链设计的芯核进行检测时,因其测试数据量非常大,而且存在非模型故障的覆盖率不高或解码器硬件代价过大的问题,进而提供的一种适用于多扫描链设计芯核的SOC测试数据的压缩方法。

本发明的测试数据压缩方法步骤为:

步骤一、根据芯核内部扫描链数量将测试集TD按照多扫描链形式排列,即用测试片段的形式表示测试向量集合;

步骤二、采用基于最大度顶点的近似团划分算法(MDCP),根据测试片段的相容性将测试片段分组,使得同一组内的所有测试向量可以用同一个测试片段表示,每一组用 >>>G>i>>=>{>>s>>i>1>>>,>>s>>i>2>>>,>LL>,>>s>>i>>n>i>>>>}> >表示,共分为k组,1≤i≤k,其中sij表示第i组内的第j个测试片段,第i组包含ni个测试片段,i,j,k均为整数;

步骤三、根据每一组内的测试片段数目ni将各组按降序排序;

步骤四、根据解压电路的硬件容量设定字典条目数量E,对于排序后的前E组测试片段,为每组确定一个字典索引和字典条目,完成字典的创建;

步骤五、对于排序后的前E组测试片段,每个片段用“0+索引编码”表示,对于后K-E组测试片段,每个片段用“1+测试片段”表示,而得到压缩后的测试集TE

本发明能直接利用芯核厂商提供的测试数据,并且在不关心电路内部结构、不需要进行故障仿真和测试生成的条件下能对多扫描链设计芯核的测试数据进行压缩。该方法能保证压缩后的测试集仍然具有较高的故障覆盖率,,并且解码器硬件规模较小。本发明适用于基于可复用IP核设计的SOC的测试;应用这种测试数据压缩方法后,ATE和硬件解压缩电路之间只需要一个通道来驱动芯核内部的多条扫描链,减少了ATE通道数量;本发明将频率指示索引字典和基于MDCP的测试片段分组方法有机地结合在一起,能有效地降低测试数据量,提高数据压缩效率。

具体实施方式

具体实施方式一:

本实施方式的测试数据压缩方法步骤为:

步骤一、根据芯核内部扫描链数量将测试集TD按照多扫描链形式排列,即用测试片段的形式表示测试向量集合;

步骤二、采用基于最大度顶点的近似团划分算法(MDCP),根据测试片段的相容性将测试片段分组,使得同一组内的所有测试向量可以用同一个测试片段表示,每一组用 >>>G>i>>=>{>>s>>i>1>>>,>>s>>i>2>>>,>LL>,>>s>>i>>n>i>>>>}> >表示,共分为k组,1≤i≤k,其中sij表示第i组内的第j个测试片段,第i组包含ni个测试片段,i,j,k均为整数;

步骤三、根据每一组内的测试片段数目ni将各组按降幂排序;

步骤四、根据解压电路的硬件容量设定字典条目数量E,对于排序后的前E组测试片段,为每组确定一个字典索引和字典条目,完成字典的创建;

步骤五、对于排序后的前E组测试片段,每个片段用“0+索引编码”表示,对于后K-E组测试片段,每个片段用“1+测试片段”表示,而得到压缩后的测试集TE

本具体实施方式的测试数据压缩方法步骤二中所述的基于最大度顶点的近似团划分算法(MDCP)的步骤为:

步骤1、根据测试片段之间的相容关系建立无向图G=(V,E),其中每个顶点代表一个测试片段,若某两个测试片段之间存在相容关系,则这两个点之间用一条无向边连接;

步骤2、在G中寻找度数最大的点v;

步骤3、建立子图H,H由所有与v相连的顶点构成;

步骤4、在子图H中搜索具有最多邻居的公共顶点对,合并该顶点对,即删除这两个点及其引出的所有边,增加一个超结点及其引出的所有边;

步骤5、更新子图H、图G;

步骤6、若图G中仍然存在边,即E≠Φ,则重复步骤2,否则停止运算,得到k个超结点。

测试片段分组法:为了使各个测试片段的出现频率相对集中,即为了保证较短的索引被引用的次数较多,关键的一个步骤是对测试片段进行分组,使得同一组内的测试片段两两相容或相同,同组的测试片段可以合并为一个新片段,且总组数尽可能少。这个问题我们称之为测试片段分组问题,可以抽象为图论中的团划分问题(Clique-Partition)。我们用无向图G=(V,E)来表示各个测试片段及其相关性,G的构成按照如下规则进行:图G的每个顶点代表一个测试片段,因此顶点集{v1,v2,……,vl}代表了l个测试片段;若某两个测试片段之间存在相容或相同关系,则对应的两个顶点之间存在一条边,因此边的集合E体现了测试向量之间的相关性。若G的子图H=(S,EH)中任意两个顶点之间都存在一条边,则称子图H为G的一个完全子图,子图H的顶点集S为G的团。团划分问题的任务就是将图G划分成若干个团,使团的数目最少。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号