发明名称 无理数存储测试向量的测试数据压缩方法
摘要 本发明公开了一种无理数存储测试向量的测试数据压缩方法,其为故障覆盖率引导的无理数存储测试向量的测试数据压缩方法,包括以下步骤:一、根据待测试集成电路的电路结构生成故障列表;二、对故障运行自动测试向量生成工具以此生成相应故障的测试向量;三、统计游程长度;四、初步估计无理数<img file="DDA0000706523520000011.GIF" wi="96" he="131" />的对应区间;五、二分无理数区间,逐次逼近;六、无关位填充;七、随机测试;八、判断步骤七的故障列表是否为空,如果故障列表为空,则转到步骤九,否则转到步骤二;九、结束,返回所有记录形如<img file="DDA0000706523520000012.GIF" wi="88" he="136" />的所有无理数对应的整数m和l。本发明将无理数编码与自动测试向量生成结合起来,一方面减少易测故障点对应测试向量的编码数;另一方面提高故障覆盖率。
申请公布号 CN104753541A 申请公布日期 2015.07.01
申请号 CN201510205839.3 申请日期 2015.04.27
申请人 安庆师范学院 发明人 詹文法
分类号 H03M7/30(2006.01)I;G01R31/28(2006.01)I 主分类号 H03M7/30(2006.01)I
代理机构 合肥市浩智运专利代理事务所(普通合伙) 34124 代理人 方荣肖
主权项 一种无理数存储测试向量的测试数据压缩方法,其为故障覆盖率引导的无理数存储测试向量的测试数据压缩方法,其特征在于:该测试数据压缩方法包括以下步骤:一、根据待测试集成电路的电路结构生成包含若干故障的故障列表;二、选择任一故障,运行自动测试向量生成工具以此生成相应故障的测试向量,同时将相应故障从该故障列表中删除使该故障列表中的所有故障测试完毕,最终形成级联后原始测试数据即测试向量序列S;三、统计级联后原始测试数据的游程长度Y<sub>1</sub>、Y<sub>2</sub>、……,Y<sub>n</sub>,其中,Y<sub>n</sub>表示为第n个测试向量的游程长度,n为正整数:将测试向量按0类型游程统计游程长度,直到无关位结束,若无关位与前一游程能组成同一游程,则舍弃最后一游程长度,只记前若干游程长度,否则记前所有游程长度;四、初步估计无理数<img file="FDA0000706523500000011.GIF" wi="104" he="147" />的对应区间,其中m、l为整数:步骤三中对应的游程长度为Y<sub>1</sub>、Y<sub>2</sub>、……,Y<sub>n</sub>,默认第1位为个位,其它全为小数部分,将其转化为小数得到Y<sub>1</sub>.Y<sub>2</sub>……Y<sub>n</sub>;记步骤c的小数Y<sub>1</sub>.Y<sub>2</sub>……Y<sub>n</sub>=x,则有x∈[Y<sub>1</sub>.Y<sub>2</sub>……Y<sub>n</sub>,Y<sub>1</sub>.Y<sub>2</sub>……(Y<sub>n</sub>+1)),初步估计x对应的无理数的区间<img file="FDA0000706523500000012.GIF" wi="145" he="94" /><img file="FDA0000706523500000013.GIF" wi="159" he="98" />方法如下:(1)令x<sup>k</sup>∈[(Y<sub>1</sub>.Y<sub>2</sub>……Y<sub>n</sub>)<sup>k</sup>,(Y<sub>1</sub>.Y<sub>2</sub>……(Y<sub>n</sub>+1))<sup>k</sup>);(2)计算k=2并保留一位小数时,则x<sup>k</sup>∈[A.A<sub>1</sub>,B.B<sub>1</sub>);(3)将[A.A<sub>1</sub>,B.B<sub>1</sub>)与无理数对应,则有<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mo>[</mo><mi>A</mi><mo>.</mo><msub><mi>A</mi><mn>1</mn></msub><mo>,</mo><mi>B</mi><mo>.</mo><msub><mi>B</mi><mn>1</mn></msub><mo>)</mo><mo>&Subset;</mo><mo>[</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo><mo>,</mo></mrow>]]></math><img file="FDA00007065235000000110.GIF" wi="615" he="83" /></maths>因此有a=A,b=B,即<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>x</mi><mo>&Element;</mo><mrow><mo>(</mo><msqrt><mi>a</mi></msqrt><mo>,</mo><msqrt><mi>b</mi></msqrt><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000706523500000014.GIF" wi="410" he="94" /></maths>五、二分无理数区间,逐次逼近:取<img file="FDA0000706523500000015.GIF" wi="215" he="133" />计算<img file="FDA0000706523500000016.GIF" wi="80" he="78" />并与x比较,将<img file="FDA0000706523500000017.GIF" wi="78" he="78" />对应的小数按0类型游程展开成序列,判断该序列前w位能否与测试向量序列S能否在所有确定位一一对应,如果能一一对应,转至步骤六;六、无关位填充:在步骤四中已经找到与x对应的无理数<img file="FDA0000706523500000018.GIF" wi="104" he="80" />即<img file="FDA0000706523500000019.GIF" wi="127" he="144" />将无理数展开成小数并按0类型的游程转换成序列,将该序列与测试向量序列S一一对应从头到尾,将所有无关位全部填充;七、随机测试:将<img file="FDA0000706523500000021.GIF" wi="102" he="144" />展开成小数,转换成游程长度再转换成0、1序列,该0、1序列长度取原测试向量长度的1000倍,将该0、1序列分割成1000个测试向量,运行故障模拟程序,检查其能测的故障,将能测故障从原始故障列表中删除,记录每个故障的第一个无理数<img file="FDA0000706523500000022.GIF" wi="102" he="146" />对应的整数m和l;八、判断步骤七的故障列表是否为空,如果故障列表为空,则转到步骤九,否则转到步骤二;九、结束,返回所有记录形如<img file="FDA0000706523500000023.GIF" wi="106" he="147" />的所有无理数对应的整数m和l。
地址 246000 安徽省安庆市宜秀区集贤北路1318号