本发明涉及数字集成电路测试领域,特别是集成电路可测性设计领域,具体涉及一种测试激励分段及编码方法。
背景技术:
现阶段的数字集成电路扫描测试,通过使用自动测试设备(ate)的方法,完成全部测试向量的扫描测试。完成一个测试向量的测试需要经历测试激励扫描输入、测试响应生成及测试响应输出三个过程。影响数字芯片测试成本的两个主要因素是测试数据存储开销和测试应用时间开销,已有的测试向量压缩编码方法可以较好的降低测试数据存储开销,但在测试激励的快速输入和测试响应的快速输出方面存在一定的局限性。常用的测试向量压缩编码方法主要有pr码、哈夫曼码、fdr码、9c码、bm码及efdr码等,这些方法可以取得较好的压缩效果,可以有效降低测试数据的存储开销。但是,测试向量经过压缩编码后,完成一个测试向量的测试,测试激励的串行输入需要占用接近50%的测试应用时间。
基于此,为了降低测试激励的传输时间和减少测试激励并行输入需要占用的输入端口数量,本发明提出了一种新的测试激励分段和编码方法,在ate的一个或两个测试周期内,使用芯片的5个输入端口可以快速输入8位测试激励,大幅度减少测试激励扫描输入的时钟周期数。
技术实现要素:
本发明的目的在于提供一种测试激励分段及编码方法,该方法可以减少测试激励并行输入需要占用的芯片输入端口数量,还可以降低测试激励的传输时间。
为实现上述目的,本发明的技术方案是:一种测试激励分段及编码方法,将测试激励进行均匀分段操作,而后,根据每一分段的测试数据之间的相容性,将每一分段的8位数据编码为5位数据。
在本发明一实施例中,还包括将每一分段的8位数据编码为5位数据后,使用芯片的5个输入端完成8位测试激励的输入。
在本发明一实施例中,测试数据之间的相容性定义方式如下:将当前分段的8位数据和前一个分段的8位数据按照位置进行对比,若对应的两数据位相同或者若当前分段中有为x位的数据位,则定义该数据位或该些数据位具有相容性。
在本发明一实施例中,所述x位即当前分段数据中取值不会影响扫描测试故障覆盖率的数据位。
在本发明一实施例中,将每一分段的8位数据编码为5位数据的方式如下:
设测试激励当前分段的数据用8位数据表示为t8t7t6t5t4t3t2t1,t8t7t6t5t4t3t2t1中n个数据位具有相容性,且t8t7t6t5t4t3t2t1中为x位的数据位被置1后的数据用s8s7s6s5s4s3s2s1表示,t8t7t6t5t4t3t2t1编码后的数据用e5e4e3e2e1表示,与前一个解码后的测试激励分段对比,当前分段需要取反的数据位数量用p表示,其取值范围是
在
在
在
测试激励的第一个分段统一按照
在本发明一实施例中,将每一分段的8位数据编码为5位数据的具体实现步骤如下:
(1)将测试激励的每一分段中为x位的数据位均置1,并计算当前测试激励的分段数量,用k表示;
(2)按照
(3)根据后一个分段数据计算p的值,若
(4)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为000,跳转至步骤(7);
(5)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为001,e2e1根据
(6)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5编码为1,在第一个测试周期将e4e3e2e1编码为s4s3s2s1,第二个测试周期将e4e3e2e1编码为s8s7s6s5,跳转至步骤(7);
(7)返回步骤(3),重复操作,直至最后一个分段,并在最后一个分段编码完成后,将e5e4e3编码为011。
在本发明一实施例中,在
相较于现有技术,本发明具有以下有益效果:本发明在保证测试故障覆盖率的前提下,可以减少测试激励并行输入需要占用的芯片输入端口数量,还可以降低测试激励的传输时间。
附图说明
图1为本发明方法流程示意图。
图2为相邻分段之间的数据相容性定义方式示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
如图1所示,本发明提供了一种测试激励分段及编码方法,将测试激励进行均匀分段操作,而后,根据每一分段的测试数据之间的相容性,将每一分段的每8位数据编码为5位数据。
图2中,相邻分段之间不相容的测试数据用灰色表示,相邻分段之间相容的测试数据用白色表示。
一种测试激励分段及编码方法,将测试激励进行均匀分段操作,而后,根据每一分段的测试数据之间的相容性,将每一分段的8位数据编码为5位数据。
在本发明一实施例中,还包括将每一分段的8位数据编码为5位数据后,使用芯片的5个输入端完成8位测试激励的输入。
在本发明一实施例中,测试数据之间的相容性定义方式如下:将当前分段的8位数据和前一个分段的8位数据按照位置进行对比,若对应的两数据位相同或者若当前分段中有为x位的数据位,则定义该数据位或该些数据位具有相容性。
在本发明一实施例中,所述x位即当前分段数据中取值不会影响扫描测试故障覆盖率的数据位。
在本发明一实施例中,将每一分段的8位数据编码为5位数据的方式如下:
设测试激励当前分段的数据用8位数据表示为t8t7t6t5t4t3t2t1,t8t7t6t5t4t3t2t1中n个数据位具有相容性,且t8t7t6t5t4t3t2t1中为x位的数据位被置1后的数据用s8s7s6s5s4s3s2s1表示,t8t7t6t5t4t3t2t1编码后的数据用e5e4e3e2e1表示,与前一个解码后的测试激励分段对比,当前分段需要取反的数据位数量用p表示,其取值范围是
在
在
在
在
测试激励的第一个分段统一按照
在本发明一实施例中,将每一分段的8位数据编码为5位数据的具体实现步骤如下:
(1)将测试激励的每一分段中为x位的数据位均置1,并计算当前测试激励的分段数量,用k表示;
(2)按照
(3)根据后一个分段数据计算p的值,若
(4)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为000,跳转至步骤(7);
(5)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为001,e2e1根据
(6)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5编码为1,在第一个测试周期将e4e3e2e1编码为s4s3s2s1,第二个测试周期将e4e3e2e1编码为s8s7s6s5,跳转至步骤(7);
(7)返回步骤(3),重复操作,直至最后一个分段,并在最后一个分段编码完成后,将e5e4e3编码为011。
以下为本发明的具体实现过程。
本发明的测试激励分段及编码方法的技术方案是:首先,将测试激励进行了均匀分段操作,测试激励的分段宽度固定为8位。其次,根据每个分段的测试数据之间的相容性,将每个分段的8位数据编码为5位数据,在自动测试设备(ate)的一个或两个时钟周期内,使用芯片的5个输入端完成了8位测试激励输入,芯片内部增加了对应的解码电路,实现了测试激励的快速输入。下面结合编码真值表详细参数本发明的技术方案:
测试向量由测试激励和测试响应构成,测试激励中的某些数据位,其取值为0或取值为1不会影响扫描测试的故障覆盖率,这些数据位称为“x”bits。测试激励经过分段后,每个分段的数据位宽为8位,本研究的数据相容性定义如下:将当前分段的8位数据和前一个分段的8位数据按照位置进行对比,如果对应的两位数据相同或者当前分段的数据为“x”位,则定义这两位数具有相容性。
按照数据宽度为8位的方式对测试激励进行分段操作,每个分段数据宽度是8位,经过编码后可以固定使用5位来表示。假设编码前的数据用“t8t7t6t5t4t3t2t1”表示,编码后的数据用“e5e4e3e2e1”来表示,“t8t7t6t5t4t3t2t1”中“x”位被置1后的数据用“s8s7s6s5s4s3s2s1”表示,与上一个解码后的分段的测试数据对比,当前分段需要取反的数据位数量用p表示,其取值范围是
在
表1中,e5e4e3表示编码结果的高3位,e2e1表示编码结果的低2位,clockcycle表示解码电路需要的时钟周期数量。在
在
本发明的编码算法描述如下:
(1)测试激励的所有“x”位全部置1,固定分段数据宽度为8位,计算当前测试激励的分段数量,用k表示;
(2)按照步骤(6),对第一个分段数据编码;
(3)根据下一个分段数据计算p的值,若
(4)更新s8s7s6s5s4s3s2s1,将e5e4e3编码为3’b000;
(5)更新s8s7s6s5s4s3s2s1,将e5e4e3编码为3’b001,e2e1根据表1进行编码;
(6)更新s8s7s6s5s4s3s2s1,将e5编码为1,在第一个测试周期将e4e3e2e1编码为s4s3s2s1,第二个测试周期将e4e3e2e1编码为s8s7s6s5;
(7)返回步骤(3),重复操作,在最后一个分段编码完成后,将e5e4e3编码为3’b011;
为了更清晰说明编码方法,一个详细的测试激励编码过程如表3所示,每个分段的数据位宽为8位,共有16个分段。
表3中的测试激励共有16个分段,每个分段宽度为8位,第一个分段数据为8’b11x00xx1,将第一个分段的全部“x”位置1后变为8’b11100111,按照
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。