一种测试激励分段及编码方法与流程

文档序号:16478907发布日期:2019-01-02 23:53阅读:166来源:国知局
一种测试激励分段及编码方法与流程

本发明涉及数字集成电路测试领域,特别是集成电路可测性设计领域,具体涉及一种测试激励分段及编码方法。



背景技术:

现阶段的数字集成电路扫描测试,通过使用自动测试设备(ate)的方法,完成全部测试向量的扫描测试。完成一个测试向量的测试需要经历测试激励扫描输入、测试响应生成及测试响应输出三个过程。影响数字芯片测试成本的两个主要因素是测试数据存储开销和测试应用时间开销,已有的测试向量压缩编码方法可以较好的降低测试数据存储开销,但在测试激励的快速输入和测试响应的快速输出方面存在一定的局限性。常用的测试向量压缩编码方法主要有pr码、哈夫曼码、fdr码、9c码、bm码及efdr码等,这些方法可以取得较好的压缩效果,可以有效降低测试数据的存储开销。但是,测试向量经过压缩编码后,完成一个测试向量的测试,测试激励的串行输入需要占用接近50%的测试应用时间。

基于此,为了降低测试激励的传输时间和减少测试激励并行输入需要占用的输入端口数量,本发明提出了一种新的测试激励分段和编码方法,在ate的一个或两个测试周期内,使用芯片的5个输入端口可以快速输入8位测试激励,大幅度减少测试激励扫描输入的时钟周期数。



技术实现要素:

本发明的目的在于提供一种测试激励分段及编码方法,该方法可以减少测试激励并行输入需要占用的芯片输入端口数量,还可以降低测试激励的传输时间。

为实现上述目的,本发明的技术方案是:一种测试激励分段及编码方法,将测试激励进行均匀分段操作,而后,根据每一分段的测试数据之间的相容性,将每一分段的8位数据编码为5位数据。

在本发明一实施例中,还包括将每一分段的8位数据编码为5位数据后,使用芯片的5个输入端完成8位测试激励的输入。

在本发明一实施例中,测试数据之间的相容性定义方式如下:将当前分段的8位数据和前一个分段的8位数据按照位置进行对比,若对应的两数据位相同或者若当前分段中有为x位的数据位,则定义该数据位或该些数据位具有相容性。

在本发明一实施例中,所述x位即当前分段数据中取值不会影响扫描测试故障覆盖率的数据位。

在本发明一实施例中,将每一分段的8位数据编码为5位数据的方式如下:

设测试激励当前分段的数据用8位数据表示为t8t7t6t5t4t3t2t1t8t7t6t5t4t3t2t1中n个数据位具有相容性,且t8t7t6t5t4t3t2t1中为x位的数据位被置1后的数据用s8s7s6s5s4s3s2s1表示,t8t7t6t5t4t3t2t1编码后的数据用e5e4e3e2e1表示,与前一个解码后的测试激励分段对比,当前分段需要取反的数据位数量用p表示,其取值范围是

的情况下,表示当前分段的数据与前一个解码后的数据对比,当前分段t8t7t6t5t4t3t2t1的8位数据中需要取反的位数为0,e5e4e3编码为000,该情况下的e2e1取值可以被忽略,可以直接使用前一个分段的解码数据作为当前分段的解码数据;在的情况下解码电路仅需一个ate的测试周期;

的情况下,表示当前分段的数据与前一个分段的数据相比,当前分段t8t7t6t5t4t3t2t1的8位数据中只有一位需要取反,即共有8种状态;当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的低四位时,e5e4e3编码为001,e2e1的二进制形式根据t4t3t2t1的位置进行二进制编码;当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的高四位时,e5e4e3为010,e2e1的二进制形式根据t8t7t6t5的位置进行二进制编码;在的情况下解码电路仅需一个ate的测试周期;

的情况下,表示当前分段的数据与上一个分段的数据相比,当前分段t8t7t6t5t4t3t2t1的8位数据有多位需要取反操作,为了减少解码电路的复杂性,用两个ate的测试周期完成分段数据的传输,e5被设置为标志位并固定编码为1,在ate的第一个测试周期内将e4e3e2e1编码为s4s3s2s1,在ate的第二个周期内将e4e3e2e1被编码为s8s7s6s5

测试激励的第一个分段统一按照的情况执行编码。

在本发明一实施例中,将每一分段的8位数据编码为5位数据的具体实现步骤如下:

(1)将测试激励的每一分段中为x位的数据位均置1,并计算当前测试激励的分段数量,用k表示;

(2)按照的情况,对测试激励的第一个分段数据进行编码,即更新s8s7s6s5s4s3s2s1为第一个分段数据将e5编码为1,在第一个测试周期将e4e3e2e1编码为s4s3s2s1,第二个测试周期将e4e3e2e1编码为s8s7s6s5

(3)根据后一个分段数据计算p的值,若跳至步骤(4),若跳至步骤(5);若跳至步骤(6);

(4)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为000,跳转至步骤(7);

(5)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为001,e2e1根据的情况进行编码,跳转至步骤(7);

(6)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5编码为1,在第一个测试周期将e4e3e2e1编码为s4s3s2s1,第二个测试周期将e4e3e2e1编码为s8s7s6s5,跳转至步骤(7);

(7)返回步骤(3),重复操作,直至最后一个分段,并在最后一个分段编码完成后,将e5e4e3编码为011。

在本发明一实施例中,在的情况下,当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的低四位时,e2e1的二进制形式根据t4t3t2t1的位置进行二进制编码的方式为:若t1为需要取反的位,则e2e1为00;若t2为需要取反的位,则e2e1为01;若t3为需要取反的位,则e2e1为10;若t4为需要取反的位,则e2e1为11;当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的高四位时,e2e1的二进制形式根据t8t7t6t5的位置进行二进制编码的方式为:若t5为需要取反的位,则e2e1为00;若t6为需要取反的位,则e2e1为01;若t7为需要取反的位,则e2e1为10;若t8为需要取反的位,则e2e1为11。

相较于现有技术,本发明具有以下有益效果:本发明在保证测试故障覆盖率的前提下,可以减少测试激励并行输入需要占用的芯片输入端口数量,还可以降低测试激励的传输时间。

附图说明

图1为本发明方法流程示意图。

图2为相邻分段之间的数据相容性定义方式示意图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

如图1所示,本发明提供了一种测试激励分段及编码方法,将测试激励进行均匀分段操作,而后,根据每一分段的测试数据之间的相容性,将每一分段的每8位数据编码为5位数据。

图2中,相邻分段之间不相容的测试数据用灰色表示,相邻分段之间相容的测试数据用白色表示。

一种测试激励分段及编码方法,将测试激励进行均匀分段操作,而后,根据每一分段的测试数据之间的相容性,将每一分段的8位数据编码为5位数据。

在本发明一实施例中,还包括将每一分段的8位数据编码为5位数据后,使用芯片的5个输入端完成8位测试激励的输入。

在本发明一实施例中,测试数据之间的相容性定义方式如下:将当前分段的8位数据和前一个分段的8位数据按照位置进行对比,若对应的两数据位相同或者若当前分段中有为x位的数据位,则定义该数据位或该些数据位具有相容性。

在本发明一实施例中,所述x位即当前分段数据中取值不会影响扫描测试故障覆盖率的数据位。

在本发明一实施例中,将每一分段的8位数据编码为5位数据的方式如下:

设测试激励当前分段的数据用8位数据表示为t8t7t6t5t4t3t2t1t8t7t6t5t4t3t2t1中n个数据位具有相容性,且t8t7t6t5t4t3t2t1中为x位的数据位被置1后的数据用s8s7s6s5s4s3s2s1表示,t8t7t6t5t4t3t2t1编码后的数据用e5e4e3e2e1表示,与前一个解码后的测试激励分段对比,当前分段需要取反的数据位数量用p表示,其取值范围是

的情况下,表示当前分段的数据与前一个解码后的数据对比,当前分段t8t7t6t5t4t3t2t1的8位数据中需要取反的位数为0,e5e4e3编码为000,该情况下的e2e1取值可以被忽略,可以直接使用前一个分段的解码数据作为当前分段的解码数据;在的情况下解码电路仅需一个ate的测试周期;

的情况下,表示当前分段的数据与前一个分段的数据相比,当前分段t8t7t6t5t4t3t2t1的8位数据中只有一位需要取反,即共有8种状态;当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的低四位时,e5e4e3编码为001,e2e1的二进制形式根据t4t3t2t1的位置进行二进制编码;当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的高四位时,e5e4e3为010,e2e1的二进制形式根据t8t7t6t5的位置进行二进制编码;在的情况下解码电路仅需一个ate的测试周期;

的情况下,当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的低四位时,e2e1的二进制形式根据t4t3t2t1的位置进行二进制编码的方式为:若t1为需要取反的位,则e2e1为00;若t2为需要取反的位,则e2e1为01;若t3为需要取反的位,则e2e1为10;若t4为需要取反的位,则e2e1为11;当当前分段取反的数据发生在t8t7t6t5t4t3t2t1的高四位时,e2e1的二进制形式根据t8t7t6t5的位置进行二进制编码的方式为:若t5为需要取反的位,则e2e1为00;若t6为需要取反的位,则e2e1为01;若t7为需要取反的位,则e2e1为10;若t8为需要取反的位,则e2e1为11;

的情况下,表示当前分段的数据与上一个分段的数据相比,当前分段t8t7t6t5t4t3t2t1的8位数据有多位需要取反操作,为了减少解码电路的复杂性,用两个ate的测试周期完成分段数据的传输,e5被设置为标志位并固定编码为1,在ate的第一个测试周期内将e4e3e2e1编码为s4s3s2s1,在ate的第二个周期内将e4e3e2e1被编码为s8s7s6s5

测试激励的第一个分段统一按照的情况执行编码。

在本发明一实施例中,将每一分段的8位数据编码为5位数据的具体实现步骤如下:

(1)将测试激励的每一分段中为x位的数据位均置1,并计算当前测试激励的分段数量,用k表示;

(2)按照的情况,对测试激励的第一个分段数据进行编码,即更新s8s7s6s5s4s3s2s1为第一个分段数据将e5编码为1,在第一个测试周期将e4e3e2e1编码为s4s3s2s1,第二个测试周期将e4e3e2e1编码为s8s7s6s5

(3)根据后一个分段数据计算p的值,若跳至步骤(4),若跳至步骤(5);若跳至步骤(6);

(4)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为000,跳转至步骤(7);

(5)更新s8s7s6s5s4s3s2s1为后一个分段数据,将e5e4e3编码为001,e2e1根据的情况进行编码,跳转至步骤(7);

(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表示,其取值范围是

的情况下,表示与上一个分段的数据相比,当前分段的“t8t7t6t5t4t3t2t1”8位数据只有一位需要取反,共有8种状态。当e5e4e3被编码为3’b001的时候表示取反的数据发生在“t8t7t6t5t4t3t2t1”的低四位,用e2e1的二进制形式对“t4t3t2t1”的位置进行二进制编码;当e5e4e3被编码为3’b010的时候表示取反的数据发生在“t8t7t6t5t4t3t2t1”的高四位,用e2e1的二进制形式对“t8t7t6t5”的位置进行二进制编码。详细的编码方式如表1所示:

表1中,e5e4e3表示编码结果的高3位,e2e1表示编码结果的低2位,clockcycle表示解码电路需要的时钟周期数量。在的情况下,表示与前一个解码后的数据对比,当前分段需要取反的位数为0,e5e4e3编码为3’b000,该情况下的e2e1取值可以被忽略,可以直接使用上一个分段的解码数据作为当前分段的解码数据;

的情况下,表示与上一个分段的数据相比,当前分段的8位数据有多位需要取反操作,为了减少解码电路的复杂性,用两个ate的测试周期完成分段数据的传输,e5被设置为标志位并固定编码为1,在ate的第一个周期内将e4e3e2e1编码为s4s3s2s1,在ate的第二个周期内将e4e3e2e1被编码为s8s7s6s5。测试激励的第一个分段统一按照的情况执行编码。详细的编码方式如表2所示:

本发明的编码算法描述如下:

(1)测试激励的所有“x”位全部置1,固定分段数据宽度为8位,计算当前测试激励的分段数量,用k表示;

(2)按照步骤(6),对第一个分段数据编码;

(3)根据下一个分段数据计算p的值,若跳至步骤(4),若跳至步骤(5);若跳至步骤(6);

(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,按照的方式编码,需要两个ate测试时钟周期,第一个周期把e5编码为1,e4e3e2e1编码为8’b11100111的低四位,第二个周期将e5编码为1,e4e3e2e1编码为8’b11100111的高四位。第二个分段数据是8’b11xxxx01,将该分段的全部“x”位置1后变为8’b11111101,将第二个分段数据和第一个分段数据按位对比,发现共有3位数据需要取反操作,所以对应的,属于的编码情况,按照表2的编码方法进行编码。第三个分段数据是8’bx1xx11xx,将该分段的全部“x”位置1后,s8s7s6s5s4s3s2s1的值为8’b11111111,将该数据与上一个分段数据对比,发现只需要对s2进行取反操作即可完成测试数据的传输,属于的情况,根据表2和表1的编码方法,将e5e4e3编码为001,e2e1编码为01。第四个分段数据是8’bxxx1x1xx,将该分段的全部“x”位置1后,s8s7s6s5s4s3s2s1的值为8’b11111111,当前分段的数据和上一个分段的数据完全一致,没有需要取反的操作位,属于的情况,根据表2的编码方法,将e5e4e3e2e1编码为5’b000xx。表3中的测试激励共有16个分段,后续的分段数据的编码方式与上述三种情况类似处理。每个分段数据位宽是8位,共有128位测试数据,按照串行传输方式一共需要128个ate测试周期,使用本研究的编码方法,仅需要24个ate测试时钟周期完成,节约了81.3%的传输时间。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1