集成电路测试中的测试数据压缩方法

文档序号:5920356阅读:149来源:国知局
专利名称:集成电路测试中的测试数据压缩方法
集成电路测试中的测试数据压缩方法
技术领域
本发明是关于一种集成电路测试技术,特别是对系统芯片(System-on-a-Chip, SoC)的外建自测试(Built-Out Self-Test, B0ST)方法中测试数据的压缩方法。
背景技术
集成电路技术的发展使得可在一个芯片中集成数以亿计的器件,并且可以集成预 先设计和经过验证的IP,如存储器,微处理器,DSP等。这种多元化的集成芯片已经成为能 处理各种信息的集成系统,被称为片上系统或系统芯片(SoC)。SoC大大降低了系统成本, 缩短了设计周期,加快了产品上市时间,但是SoC产品的测试面临越来越多的挑战,如1、芯片测试点少,可直接控制或观测的测试点有限,通常只能通过芯片有限的输 入/输出引脚进行测试,而芯片内部节点很难通过宏观机械装置直接控制或观测。2、自动测试设备(ATE)价格昂贵,芯片的设计和制造技术发展速度比ATE的设计 和制造技术发展快,芯片的时钟频率已超过了目前最先进的ATE的频率,无法进行全速测 试ο3、测试数据量大,SoC中集成的IP越多,所需测试数据量就越大。预计到2014年 存储测试向量所需存储器的容量是1999年的150倍,将会超过ATE的存储深度。芯片的测试已成为制约集成电路发展的一个“瓶颈”。已有大量的文献对集成电路 的测试方法展开研究,主要有内建自测试(Built-in Self-Test, BIST)和外建自测试两种 方法。内建自测试方法,依靠芯片自身的资源完成对芯片的测试。此方法将测试模式生 成器(TPG)、测试过程控制和测试响应评价功能模块嵌入在被测电路(CUT)上,摆脱了对 ATE的依赖,减少了测试费用。但由于BIST生成的多是伪随机测试向量,测试时通常存在着 抗随机故障(Random Resistant Fault,RRF),故BIST存在故障覆盖率不高、测试序列较长 的弊端。虽然可以通过加权或采用混合模式的BIST等方法来进一步提高测试效,但随着电 路规模的扩大,RRF的增多,要付出的硬件开销将显著增加。外建自测试方法又称为测试源划分技术,此方法将所需的测试向量经过压缩存储 在ATE中,测试期间,通过片上的解压电路将其还原施加到被测电路上。它同样是将一些测 试资源从ATE移入到芯片中,以达到减少测试数据量、缩短测试时间的目的,并能允许使用 低速ATE而不降低测试质量。该方法不需要了解被测设计(Design Under Test,DUT)的具 体内部结构,可以很好的保护知识产权,因而得到了广泛地应用。当前的测试数据通常以种子或被压缩的形式存储在ATE的存储器中,由于集成电 路测试数据量非常庞大和ATE存储器容量有限,在实际的集成电路测试时,这些测试数据 就必须被裁减或需要分批装入ATE存储器,这就降低了测试质量或增加了测试成本,所以 必须研究出一种算法,使测试数据可以一次性装入ATE存储器或可以直接应用到被测设计 而不需要多次重载。传统的方法中,这些种子或代码字(被压缩的形式)都是被直接(静态)存储在ATE存储器中,其所占的存储容量将随着原始测试数据量的增加而增加,虽然ATE中存储的是压缩的形式,但其体积仍然很大,因此逐渐增长的测试数据量对ATE的存储提出了挑战。

发明内容本发明所要解决的技术问题在于提供一种使测试数据可以一次性装入ATE存储 器并可以直接应用到被测电路上的集成电路测试中的测试数据压缩方法,从理论上可以无 限压缩测试数据,可以从根本上解决测试数据的存储问题。本发明是通过以下技术方案解决上述技术问题的本发明中自动测试设备内的 测试数据不直接采用代码或种子来存储,而是采用存储原始测试数据的某种规律,测试应 用时,通过芯片上的解压电路将该规律还原得到所要的原始测试数据,这样,代码字在解压 时,不需要直接存储,而是由运算动态产生,因此可称为动态压缩算法。更进一步的,本发明方法的特征是将整个测试集的存储变换成对一个或若干个对 应的无理数的存储。所述将整个测试集的存储变换成对一个或若干个对应的无理数的存储的具体步 骤为a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T,记其测试向量个 数为N;b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部;C、无关位填充。按顺序从头开始填充无关位,填充的原则为如果该无关位与前面 出现的连续0的个数小于指定常数K,则该无关位填充为0 ;否则该无关位填充为1 ;K等于 原始测试数据中的最大游程长度;d、统计游程长度,按顺序从头开始统计游程长度;e、转化为小数,将游程长度信息转化为小数来表示,转化原则为将第一个游程长 度定义为小数的个位,其它全部作为小数的小数部分;f、转化为无理数,为了叙述方便,记小数为X,无理数为€ (m, η, 1,k全部是整
I
数)。上述问题实际上就是找适当的整数m,n,1,k,使€展开成小数时,其前ρ (ρ为小数
I
X的所有位数)项正好等于X。压缩时只用存储整数m,n,l,k和P,该整数的存储可以用定 长码,如经典的游程编码,也可以用变长码,如Golomb码或FDR码等。可以对上述描述进一 步变换,即选择合适的整数m,n,l,k,使(lx)k在适当的精度的四舍五入情况下与mn相等。 本过程的难点是由于χ的小数位数可能非常多,在编程时无法用程序语言中现成的变量来 表示,这可以通过文件来模拟乘法运算得到,最后对(Ix)k和mn的比较也是采用模拟按位比 较的方法,即先判断小数(lx)k四舍五入后的小数是不是各位都是0,如果是0,再比较四舍 五入后的整数部分是否等于mn。如对于小数1. 732,其平方1. 7 3 22 = 2 . 99 9 8 24,判断该数 是否在适当的精度的四舍五入情况下与3相等,即将该小数四舍五入后得到3. 00,然后判 断小数部分是否全为0,最后再比较整数部分是否与3相等。由于在实际的测试数据计算过 程中,小数部分的位数相当多,而整数部分的位数相对比较少,因此可以采用先比较四舍五 入后的(lx)k和mn的整数部分,在整数部分相等的情况下再检查(lx)k四舍五入后小数各位是否全为O。
本发明集成电路测试中的测试数据压缩方法的优点在于通过将整个测试集编码 的存储转化为对编码规律的存储,即将整个测试集变换成对一个或若干个确定的无理数的 存储,与传统的技术相比,从理论上可以无限压缩测试数据,可以从根本上解决测试数据的 存储问题。
具体实施方式将整个测试集的存储变换成对一个或若干个对应的无理数的存储的具体步骤 为a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T,记其测试向量个 数为N;b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部;C、无关位填充。按顺序从头开始填充无关位,填充的原则为如果该无关位与前面 出现的连续0的个数小于指定常数K,则该无关位填充为0 ;否则该无关位填充为1 ;K等于 原始测试数据中的最大游程长度;d、统计游程长度,按顺序从头开始统计游程长度;e、转化为小数,将游程长度信息转化为小数来表示,转化原则为将第一个游程长 度定义为小数的个位,其它全部作为小数的小数部分;f、转化为无理数,为了叙述方便,记小数为X,无理数为(m, η, 1,k全部是整
1
数)。上述问题实际上就是找适当的整数m,n,1,k,使展开成小数时,其前ρ (ρ为小数
/
X的所有位数)项正好等于X。压缩时只用存储整数m,n,l,k和P,该整数的存储可以用定 长码,如经典的游程编码,也可以用变长码,如Golomb码或FDR码等。可以对上述描述进一 步变换,即选择合适的整数m,n,l,k,使(lx)k在适当的精度的四舍五入情况下与mn相等。 本过程的难点是由于χ的小数位数可能非常多,在编程时无法用程序语言中现成的变量来 表示,这可以通过文件来模拟乘法运算得到,最后对(Ix)k和mn的比较也是采用模拟按位比 较的方法,即先判断小数(lx)k四舍五入后的小数是不是各位都是0,如果是0,再比较四舍 五入后的整数部分是否等于mn。如对于小数1. 732,其平方1. 7 3 22 = 2 . 99 9 8 24,判断该数 是否在适当的精度的四舍五入情况下与3相等,即将该小数四舍五入后得到3. 00,然后判 断小数部分是否全为0,最后再比较整数部分是否与3相等。由于在实际的测试数据计算过 程中,小数部分的位数相当多,而整数部分的位数相对比较少,因此可以采用先比较四舍五 入后的(lx)k和mn的整数部分,在整数部分相等的情况下再检查(lx)k四舍五入后小数各 位是否全为0。压缩效果分析本研究提出不直接采用代码字或种子来存储测试数据,而是采用存储原始测试数 据的某种规律。解压时再通过该规律还原所要的原始测试数据。这是完全可行的,例如,对 于为01000000010001001 (17位)的原始测试数据,如果采用0类型的游程编码方法,其对 应的游程长度分别为1,7,3,2。而VJ所对应的小数的前四个数字正好也是1,7,3,2。适当的选取小数点的位数,就可以使原始测试数据游程长度与无理数展开后所得小数的前若干项 相同,故可以不用直接对原始测试数据编码,而是将原始数据的这种规律用一个对应的无 理数来标记。测试应用时只用将该无理数转化为小数就可以得到所需要的游程长度。这样 存储的就是原始测试数据的规律,而不是直接用代码字或种子来存储,理想情况下可以将 单个测试向量,甚至整个测试集转化为一个无理数来存储。即将传统的对整个测试集的存 储变成对一个或若干个确定的无理数的存储,可以从根本上解决测试数据的存储问题。该 研究理论上可以无限压缩原始数据。 虽然以上描 述了本发明的具体实施方式
,但是熟悉本技术领域的技术人员应当理 解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本 领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的 权利要求所保护的范围内。
权利要求
一种集成电路测试中的测试数据压缩方法,其特征在于采用存储原始测试数据的规律,测试应用时,再将该规律还原得到所要的原始测试数据。
2.如权利要求1所述的集成电路测试中的测试数据压缩方法,其特征在于将整个原 始测试数据的存储变换成对一个或若干个对应的无理数的存储。
3.如权利要求2所述的集成电路测试中的测试数据压缩方法,其特征在于所述将整 个测试集的存储变换成对一个或若干个对应的无理数的存储的具体步骤为a、采用自动测试模式生成工具,生成确定的完全测试集T,记测试向量个数为N;b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部;c、无关位填充,按顺序从头开始填充无关位,填充的原则为如果该无关位与前面出现 的连续O的个数小于指定常数K,则该无关位填充为O ;否则该无关位填充为1 ;K等于原始 测试数据中的最大游程长度;d、统计游程长度,按顺序从头开始统计游程长度;e、转化为小数,将游程长度信息转化为小数来表示,转化原则为将第一个游程长度定 义为小数的个位,其它全部作为小数的小数部分;f、转化为无理数,记小数为X,无理数为,其中m,η,1,k全部是整数,当展开II成小数时,其前P项正好等于X,P为小数X的所有位数,数据压缩时只存储整数m,η, 1,k和ρ。
4.如权利要求2所述的集成电路测试中的测试数据压缩方法,其特征在于所述将整 个测试集的存储变换成对一个或若干个对应的无理数的存储的具体步骤为a、采用自动测试模式生成工具,生成确定的完全测试集T,记测试向量个数为N;b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部;c、无关位填充,按顺序从头开始填充无关位,填充的原则为如果该无关位与前面出现 的连续O的个数小于指定常数K,则该无关位填充为O ;否则该无关位填充为1 ;K等于原始 测试数据中的最大游程长度;d、统计游程长度,按顺序从头开始统计游程长度;e、转化为小数,将游程长度信息转化为小数来表示,转化原则为将第一个游程长度定 义为小数的个位,其它全部作为小数的小数部分;f、转化为无理数,记小数为X,无理数为,其中m,η,1,k全部是整数,使(Ix)k^ mn,I数据压缩时只存储整数m,η,1,k和ρ。
5.如权利要求3或4所述的集成电路测试中的测试数据压缩方法,其特征在于所述 步骤f中整数的存储用定长码或者用变长码。
全文摘要
本发明提供一种集成电路测试中的测试数据压缩方法,采用存储原始测试数据的规律,测试应用时,再将该规律还原得到所要的原始测试数据。即将整个原始测试数据的存储变换成对一个或若干个对应的无理数来存储。具体步骤为采用自动测试模式生成工具生成确定的完全测试集,记为测试向量集;将所有测试向量级联;无关位填充;统计游程长度;转化为小数;转化为无理数。本发明的优点在于通过将整个测试集编码的存储转化为对编码规律的存储,从理论上可以无限压缩测试数据,可以从根本上解决测试数据的存储问题。
文档编号G01R31/28GK101968528SQ201010262928
公开日2011年2月9日 申请日期2010年8月19日 优先权日2010年8月19日
发明者孙秀芳, 石冰, 詹文法, 韩建华, 马俊 申请人:詹文法
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1