一种基于测试向量相容的三游程编码压缩方法及其解压缩方法

文档序号:5928012阅读:247来源:国知局
专利名称:一种基于测试向量相容的三游程编码压缩方法及其解压缩方法
技术领域
本发明涉及集成电路测试技术,尤其涉及一种基于测试向量相容的三游程编码压 缩方法及其解压缩方法。
背景技术
芯片制造技术的进步使单一的硅片上能集成上亿个晶体管,同时新的设计方法的 产生,特别是向SOC设计方法的转变,大量的IP (Intellectual Property)核组合在一起 形成片上系统(SOC,System-On-Chip),导致芯片规模直线上升,为了达到很高的错误覆盖 率用于测试芯片的数据变的十分庞大,进而测试时间变得冗长。这就使得测试单个SOC所 用的测试向量超出了测试设备性能允许的范围,测试设备面临容量不足以及输入输出带宽 过小的问题。同时芯片的对从设计到最终上市的时间要求很紧,从而使得给予测试的时间 变得更少。如今测试成本已经成为芯片成本的主要组成部分,如何减少测试成本进而减少 芯片成本成为研究人员日益关注的问题。BIST (Built-In-klf-Test)测试方法众所周之 的测试特定芯片结构的方法,它在芯片内部自动生成用于测试的伪随机向量序列,但具有 芯片面积开销较大,测试时间长和难测故障等一些缺点。另一种很受研究人员重视的方法 是通过测试数据的压缩/解压缩解决测试设备性能不足的问题以及缩短测试时间的问题。
数据压缩主要包含两类基于线性反馈移位寄存器LFSRainear Feedback Shift Register)的重播种技术和基于编码的技术。LFSR在压缩存在大量无关位的测试集时有很 大的优势,不适合确定位个数过多的情况。基于编码的技术通过对测试集定长或者变长的 序列进行编码,可以有效减少测试数据量。在测试集中有大量的不定值“X”存在,可以将 “X”设为“0”或“1”;测试集中相邻的向量具有很好的相关性,它们之间只有很少的位数值 是不同的。利用这个结果可以得到新的差分测试集,该集合具有更好的“0”的游程,编码效 率更高;也可以合并相邻的向量,减少向量个数,对合并后的向量压缩,也能很大的提高压 缩率。把压缩后的数据放入ATE (Automatic Test Equipment)内存中,由芯片的解码模块 进行解码,还原测试向量,减少了测试机与被测芯片的带宽和测试时间。
当前的基于编码的数据压缩技术仅对单个向量进行编码而没有结合向量相容性, 仍存在较大的数据测试量,测试时间相对较长的技术缺陷,以及解码时,测试机和被测电路 的带宽要求较高。发明内容
本发明的目的是针对当前的基于编码的数据压缩方法只对单个向量进行编码而 没有结合向量相容性、数据测试量较大、测试时间较长的不足,以及现有的解压缩方法的测 试机和被测电路的带宽要求较高的不足,本发明提供一种根据相容性最大的关系把测试向 量合并、大大减少了数据测试量、缩短测试时间的基于测试向量相容的三游程编码压缩方 法,以及解码时能极大地降低测试机和被测电路的带宽的编码解压缩方法。
为了解决上述技术问题提出的技术方案为一种基于测试向量相容的三游程编码压缩方法,所述压缩方法包括如下步骤1)确定测试向量的三种游程的编码,即“1”的游程,“0”的游程和不相容位上的值“C” 的游程;2)由被测电路得到第一测试向量集R,选取第一测试向量集R中任一个第一向量 7,将 第一向量G从第一测试向量集R中移出,放入测试向量组S中,测试向量组S内的向量个 数《为1,设第二测试向量集H,第二测试向量集H与第一测试向量集R相同;3)从第二测试向量集H中找出与第一向量相容性最大的第二向量t2,并将第二向量 2从第二测试向量集H中移出;4)若/^大于,并且第二测试集H不是空集,则返回步骤3),若第二测试集H为 空集,则到步骤7)完成分组,若小于化 ■,则到步骤5),其中,为测试向量之间不相容 位的最大个数,/ 为第一向量、与第二向量t2不相容位的个数;5)将第二向量G移入测试向量组S中,向量个数 的值增加1,求出第一向量与第 二向量t2相容后的第四向量t4 ;6)对测试向量组S编码,计算第一测试向量组S的压缩率2和第二向量t2的压缩率 Λ comp,判断第二向量t2是否要从测试向量组S移出,若第二测试向量集H为空集,则到步骤 7),若第二测试向量集H不为空集,则到步骤3);7)完成对测试向量组S的分组,对测试向量组S编码,得到表示测试向量组S内向量个 数 的编码I、表示不相容位个数的编码#以及表示不相容位上值信息的编码认由第一 向量h得到第六向量‘第六向量t6的编码为T6_Code,从第一测试向量集R中移出测试 向量组S内的向量;8)若第一测试向量集R为空集,则分组结束,若第一测试向量集R不为空集,则回到步 骤2)开始下一测试向量组。
所述步骤1)包括1. 1)游程0和游程1的码字由前缀、后缀和标记码组成,将码字分组,设编码组为4, 其中A为组号,码字的前缀和后缀的位数均为I若对0游程编码,则标记码为1,否则为0, 标记码在前缀之前;1. 2)码字前缀最后一位为“0”,其余位为“1”;码字后缀是由f个01组合组成,顺序按 大小排列;1. 3)对于长度为1的“0”游程或“1”游程,通过以下公式确定该游程落在哪一个编码组
权利要求
1.一种基于测试向量相容的三游程编码压缩方法,其特征在于所述压缩方法包括如 下步骤(1)确定测试向量的三种游程的编码,即“1”的游程,“0”的游程和不相容位上的值“C” 的游程;(2)由被测电路得到第一测试向量集R,选取第一测试向量集R中任一个第一向量 7,将 第一向量G从第一测试向量集R中移出,放入测试向量组S中,测试向量组S内的向量个 数《为1,设第二测试向量集H,第二测试向量集H与第一测试向量集R相同;(3)从第二测试向量集H中找出与第一向量相容性最大的第二向量t2,并将第二向量 2从第二测试向量集H中移出;(4)若/^大于,并且第二测试集H不是空集,则返回步骤3),若第二测试集H为 空集,则到步骤7)完成分组,若小于化 ■,则到步骤5),其中,为测试向量之间不相容 位的最大个数,/ 为第一向量、与第二向量t2不相容位的个数;(5)将第二向量G移入测试向量组S中,向量个数 的值增加1,求出第一向量与第 二向量t2相容后的第四向量t4 ;(6)对测试向量组S编码,计算第一测试向量组S的压缩率2和第二向量t2的压缩率 Λ comp,判断第二向量t2是否要从测试向量组S移出,若第二测试向量集H为空集,则到步骤 (7),若第二测试向量集H不为空集,则到步骤3);(7)完成对测试向量组S的分组,对测试向量组S编码,得到表示测试向量组S内向量个 数 的编码I、表示不相容位个数的编码#以及表示不相容位上值信息的编码认由第一 向量h得到第六向量‘第六向量t6的编码为T6_Code,从第一测试向量集R中移出测试 向量组S内的向量;(8)若第一测试向量集R为空集,则分组结束,若第一测试向量集R不为空集,则回到步 骤2)开始下一测试向量组。
2.如权利要求1所述的一种基于测试向量相容的三游程编码压缩方法,其特征在于 所述步骤1)包括(1. 1)游程0和游程1的码字由前缀、后缀和标记码组成,将码字分组,设编码组为4, 其中A为组号,码字的前缀和后缀的位数均为I若对0游程编码,则标记码为1,否则为0, 标记码在前缀之前;(1. 2)码字前缀最后一位为“0”,其余位为“1”;码字后缀是由f个01组合组成,顺序按 大小排列;(1. 3)对于长度为1的“0”游程或“1”游程,通过以下公式确定该游程落在哪一个编码组—(1 + 2)-A=log 2 -1(1. 4)游程“C”的码字分两种情况,若游程“C”前面是游程“ 1 ”,则码字是由等于游程长 度的个数的“ 1,,和末尾的“0”组成,反之前面是游程“0”,则码字是由等于游程长度的个数 的“0”和末尾的“1”组成;(1. 5)设七ax为测试集中最大的编码组,Amax加1的组编码前缀作为测试向量组与测试向量组的分割码kp_code。
3.如权利要求1或2所述的一种基于测试向量相容的三游程编码压缩方法及其解压 缩方法,其特征在于所述步骤3)包括3. 1)设定测试集中每个向量都有四种可能的取值“0”、“l”、“z”、“c”,“^”表示不定 值,既可取“1”也可取“0”,选取第二测试向量集H中任一个第二向量G,其中i为第一向量 G和第二向量G内第i个元素的位置,函数Tbr(G(i),G(i)) % tt (i)和&(i)的相容计 算结果,当函数Tbr化(i),G(i))值为“1”时,G (i)和G (i)相容且取值为“1”,当函数 Torit1 (i),&(i))值为“0” 时,G (i)和 & (i)相容且取值为“0”,当 Tbr ⑷{i),t2{i)) 的值为“C”时,G (i)和G (i)不相容且取值为“C”,3. 2)选取第二测试向量集H中任一个第三向量 ,,其中J·为第三向量t3内第j·个元素 的位置,函数Tbr (GCZ),G (/)) % tt C/)和G C/)的相容结果,设为第一向量G与第二 向量G不相容位的个数,即Tbr⑷{i),t2{i))中值“C”的个数,设&为第一向量与第三向 量不相容位的个数,即Tor H1 U),G C/))中值“C,,的个数;3.3)比较/与巧,若/ 大于/ ,,则/^取/ ,的值,第二向量G取第三向量t3的值,若未 遍历第二测试向量集H,则到步骤3. 2),若遍历第二测试集H,将第二向量G从第二测试向 量集H中移出,然后到步骤4)。
4.如权利要求3所述的一种基于测试向量相容的三游程编码压缩方法,其特征在于 所述步骤5)包括
5.1)将第二向量t2移入测试向量组S中, 增加1,第四向量&第A个位置的元素t4 ⑷的值由Torit1 (Iht2UY)计算得到。5.如权利要求1或2所述的一种基于测试向量相容的三游程编码压缩方法,其特征在 于所述步骤6)包括
6.1)由第四向量&得到第五向量~,通过把第四向量G中的值“ 0 ”、“ 1,,和“C,,复制 到第五向量G中相同的位置,而第四向量G中的值1”被它前面最近的值“0”或“1”替换 后再复制到第五向量G中;6. 2)对第五向量G进行编码,用前面定义的三种游程编码得到t5的编码T5_Code,编 码长度为Icode ;6. 3)测试向量组S中向量个数 和不相容个数巧由1和#位二进制信息表示,测试向 量组S中不相容位上的值由C位二进制表示,其中巧的值为第四向量G内“C”出现的次 数,也即第一向量与第二向量t2不相容位的个数,
7.1)由第一向量得到第六向量‘通过把第一向量G中的值“0”、“1”和“C”复制 到第六向量t6中相同的位置,而第一向量中的值1”被它前面最近的值“O”或“1”替换 后再复制到第六向量G中;7. 2)根据三游程编码规则对第六向量G进行编码,得到t6的编码T6_Code ;7. 3)测试向量组S中向量个数 和不相容个数由1和#位二进制信息表示,测试向 量组S中不相容位上的值由C位二进制表示,其中/7的值为第一向量内“C”出现的次数 即不相容位个数;
全文摘要
一种基于测试向量相容的三游程编码压缩方法,首先确定测试向量的编码,从测试向量集中取出任意一个测试向量t1,通过把与t1相容性最大的向量合并,并同时进行“0”的游程,“1”的游程和不相容值“c”游程的编码。以及提供解压缩方法,由解码器负责解码,将编码移入到被测电路保存,编码解码,直到还原被压缩之前的向量。本发明根据相容性最大的关系把测试向量集合并,并将合并后的向量同时进行三种游程的编码,在编码两端分别插入头信息和分割码,极大的减少了总的测试位数。解码时,将测试向量组的编码移入被测电路保存,可以重复利用,极大地降低了测试机与被测电路的带宽少。
文档编号G01R31/3185GK102043126SQ20101053933
公开日2011年5月4日 申请日期2010年11月11日 优先权日2010年11月11日
发明者万民永, 严晓浪, 潘赟 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1