一种数字集成电路功能测试仪转让专利

申请号 : CN201110181692.0

文献号 : CN102353891B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 詹惠琴周建古军徐林金鸣郝叶军王寅李旭刚

申请人 : 电子科技大学

摘要 :

本发明公开了一种数字集成电路的功能测试仪,在时序控制模块的控制下,功能测试的读测试矢量、格式化编码、测试结果的采集与比较以及写结果矢量四个阶段实现了并行工作。由于在读取测试矢量环节只需要关心测试矢量存储器的读取时间,在格式化编码环节只需要关心测试矢量的建立和保持时间,在测试结果的采集和比较环节只需要关心输出延迟时间和建立时间的差,保证能采回输出,在写结果存储器环节只需要关心写结果存储器的时间。这样,相比于传统方法的最小测试周期需要大于四个环节分别要求的时间之和,本发明可实现的最小测试周期只要大于四个时间中最大的即可,于是在测试同一种数字集成电路的情况下,本发明相对于传统的方法可以很大程度上提高测试速度。

权利要求 :

1.一种数字集成电路功能测试仪包括矢量存储器、读测试矢量模块、格式化编码模块、输入电平转换模块、程控电源模块、输出电平转换模块、采集与比较模块、写结果矢量模块以及结果存储器,程控电源模块为输入电平转换模块、输出电平转换模块提供电平转换所需的高低电平电压,其特征在于,还包括一时序控制模块、地址总线产生模块;

在时序控制模块的控制下,在第一个测试周期,地址总线产生模块地址指针指向第一条测试矢量的地址,地址总线产生模块输出第一条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第一条测试矢量及其对应的测试期望结果,然后经过第一个测试周期后,第一条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;

在第二个测试周期,格式化编码模块对读取的第一条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块进行电平转换,接着将格式化编码后的第一条测试矢量施加到被测数字集成电路的输入管脚,经过第二个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块地址指针加1,指向下一条测试矢量的地址,地址总线产生模块输出第二条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第二条测试矢量及其对应的测试期望结果,然后经过第二个测试周期后,第二条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;

在第三个测试周期,被测数字集成电路的输出经输出电平转换模块进行电平转换后,由采集与比较模块采回,并作为第一条测试矢量的测试结果与时序控制模块中暂存的第一条测试矢量对应的测试期望结果进行比较;同时,格式化编码模块对读取的第二条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块进行电平转换,接着将格式化编码后的第二条测试矢量施加到被测数字集成电路的输入管脚,经过第三个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块地址指针加1,指向下一条测试矢量的地址,地址总线产生模块输出第三条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第三条测试矢量及其对应的测试期望结果,然后经过第三个测试周期后,第三条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;

在第四个测试周期,写结果矢量模块将第一条测试矢量的测试结果及与其测试期望结果的比较结果存入结果存储器中;同时,被测数字集成电路的输出经输出电平转换模块进行电平转换后,由采集与比较模块采回,并作为第二条测试矢量的测试结果与时序控制模块期暂存的第二条测试矢量对应的测试期望结果进行比较;同时,格式化编码模块对读取的第三条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块进行电平转换,接着将格式化编码后的第三条测试矢量施加到被测数字集成电路的输入管脚,经过第四个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块地址指针加1,指向下一条测试矢量的地址,地址总线产生模块输出第四条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第四条测试矢量及其对应的测试期望结果,然后经过第四个测试周期后,第四条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;

至此,后面的每一个测试周期,依次读取下一条测试矢量及其对应的测试期望结果,对读取的测试矢量进行格式编码和电平转换并施加到被测数字集成电路的输入管脚,对上一条测试矢量的测试结果采回和比较,对上上一条测试矢量的测试结果及与其测试期望结果的比较结果存入结果存储器,从而完成数字集成电路的功能测试。

2.根据权利要求1所述的数字集成电路功能测试仪,其特征在于,所述的时序控制模块通过读矢量控制脉冲、格式化编码控制脉冲、采集与比较控制脉冲、输出写结果控制脉冲四个控制脉冲触发启动读测试矢量模块、格式化编码模块、采集与比较模块、写结果矢量模块;

四个控制脉冲产生电路包括预置分频器、一T触发器以及六个D触发器;预置分频器使能端以及T触发器和六个D触发器的清零信号端CLR均接测试开始控制信号,T触发器和六个D触发器的时钟端CLK均接预置分频器的输出,T触发器的输入端T接高电平1,输出接一D触发器的输入端D,该D触发器的输出Q端接下一D触发器输入端D,下一D触发器的输出Q端接下下一D触发器输入端D,这样将六个D触发器依次连接;T触发器输出的脉冲信号作为读矢量控制脉冲,第二个D触发器输出的脉冲信号作为格式化编码控制脉冲,第四个D触发器输出的脉冲信号作为采集与比较控制脉冲,第六个D触发器输出的脉冲信号作为输出写结果控制脉冲;

预置分频器对工作时钟进行分频,预置分频器的分频数由数字集成电路测试仪的测试速度决定,预置分频数的计算公式如下:

*

N预置分频数=fclk/(2ftest)

其中,ftest为测试频率,fclk为工作时钟频率;

预置分频器输出到T触发器的时钟端CLK,数字集成电路功能测试开始时,测试开始控制信号由0变为1,使触发器和预置分频器开始工作,T触发器为上升沿触发,每个上升沿会触发输出翻转,依次连接的D触发器为上升沿触发。

3.根据权利要求2所述的数字集成电路功能测试仪,其特征在于,所述的格式化编码模块包括:

一建立时间D触发器,其输入端D接高电平1,时钟端CLK接来自时序控制模块的格式化编码控制脉冲;

一建立时间计数器,其使能端接建立时间D触发器的输出端Q,其计数时钟端接工作时钟;

一建立时间比较器,其一个比较输入接建立时间计数器的计数输出,另一个比较输入端接格式建立点数寄存器,其输出端在两个比较输入端相等时,输出高电平信号;建立时间比较器输出端接建立时间计数器的高电平清零端,同时,通过一非门接建立时间D触发器的低电平清零端;

一返回时间D触发器,其输入端D接高电平1,时钟端接建立时间比较器输出端;

一返回时间计数器,其使能端接返回时间D触发器的输出端,其计数时钟端接工作时钟;

一返回时间比较器,其一个比较输入端接返回时间计数器的计数输出,另一个比较输入端接格式返回点数寄存器,其输出端在两个比较输入端相等时,输出高电平信号;返回时间比较器输出端接返回时间计数器的高电平清零端,同时,通过一非门接返回时间D触发器的低电平清零端;

一格式化编码状态机,其时间建立端接建立时间比较器输出,时间返回端接返回时间比较器输出,测试矢量输入端接来自读测试矢量模块从矢量存储器读取并输出的测试矢量,格式化编码控制脉冲输入端接来自时序控制模块的格式化编码控制脉冲,时钟端接工作时钟,复位端接测试开始控制信号,测试矢量格式端接编码格式寄存器;格式化编码端将格式化编码后的测试矢量输出给输入电平转换模块进行电平转换,接着将格式化编码后的测试矢量施加到被测数字集成电路的输入管脚;格式化编码状态机有四个状态,即初始状态,开始状态,建立状态和返回状态;

测试开始控制信号由0变为1,格式化编码状态机的复位端不再复位,格式化编码状态机进入初始状态;格式化编码控制脉冲到来时,使格式化编码状态机进入开始状态,并按照编码格式输出信号,编码格式由编码格式寄存器输出测试矢量格式端的信号选择,同时,上升沿使建立时间D触发器输出高电平,使能建立时间计数器开始计数,当建立时间计数器计到预置的格式建立点数,建立时间比较器输出高电平,这个高电平同时反馈回来使建立时间D触发器和建立时间计数器清零,同时建立时间计数器停止计数,直到下一个格式化编码控制脉冲上升沿的到来,格式化编码状态机进入建立状态;

同样的原理,建立时间比较器输出高电平时,上升沿触发返回时间D触发器输出高电平使能返回时间计数器开始计数,当返回时间计数器计到格式返回点数的时候,返回时间比较器输出高电平,这个高电平同时反馈回来使返回时间D触发器和返回时间计数器清零,同时返回时间计数器停止计数,直到建立时间比较器再次输出高电平,格式化编码状态机进入返回状态;

测试开始控制信号由0变为1,返回开始状态,等待格式化编码控制脉冲触发下一周期的到来,对下一输入测试矢量进行格式化编码。

4.根据权利要求2所述的数字集成电路功能测试仪,其特征在于,所述的采集与比较模块中有一采集与比较控制脉冲延时电路,该电路包括:

一D触发器,其输入端D接高电平1,时钟端接来自时序控制模块的采集与比较控制脉冲;

一计数器,其使能端接D触发器的输出端Q,其计数时钟端接工作时钟;

一比较器,其一个比较输入端接建立时间计数器的计数输出,另一个比较输入端接采集与比较点数寄存器,其输出端在两个比较输入端相等时,输出高电平信号;比较器输出端接计数器的高电平清零端,同时,通过一非门接D触发器的低电平清零端;

来自时序控制模块的采集与比较控制脉冲触发D触发器输出高电平使能计数器开始计数,当计数器计到预置的采集与比较点数时,比较器输出高电平,同时高电平反馈回来使D触发器和计数器输出清零,相应地比较器因为输入不相等输出又变回零,比较器输出一个延迟的采集与比较控制脉冲,然后进行采集和比较,用延迟的采集与比较控制脉冲触发启动采集与比较模块,将采集的测试结果和比较结果锁定。

说明书 :

一种数字集成电路功能测试仪

技术领域

[0001] 本发明属于测试技术领域,更为具体地讲,涉及一种数字集成电路功能测试仪。

背景技术

[0002] 当今集成电路产业飞速发展,集成电路种类越来越多,而数字集成电路在其中占据了很大的份额。数字集成电路功能繁多,管脚数各异,速度千差万别。数字集成电路产业的发展为我们追求的数字化生活奠定了坚实的基础,大量的芯片被生产出来,由于芯片在设计制造封装使用过程中都有可能出现故障,因而要对其进行测试。
[0003] 数字集成电路测试包含功能测试、直流参数测试和交流参数测试。在三种测试中功能测试是基础,另外两种测试都是建立在功能测试之上的。测试速度是功能测试仪最重要的指标之一。
[0004] 图1是传统的数字集成电路测试仪的原理框图。
[0005] 如图1所示,传统的数字集成电路测试仪包含:测试矢量存储器、读测试矢量模块、格式化编码模块、输入电平转换模块、程控电源模块、输出电平转换模块,采集测试结果与判断模块、写结果矢量模块以及结果存储器。
[0006] 传统的数字集成电路功能测试仪采用了串行的工作方式,测试仪首先读取存储在矢量存储器里面的测试矢量,接着对测试矢量进行格式化编码,之后在输入电平转换模块中对被测数字集成电路进行激励,然后通过输出电平转换模块中采集被测数字集成电路的激励响应并与期望结果进行比较,最后将测试结果写入结果存储器。
[0007] 图2是图1所示的数字集成电路测试仪的功能测试时序图。
[0008] 如图2所示,一条测试矢量的功能测试包含读测试矢量、格式化编码、采集测试结果以及写测试结果四个工作环节,每个环节都是建立在前面的环节基础上的,只有当前面的所有环节都执行完成,后面的环节才可以执行。在其整个工作过程中,所有的环节都是在一个测试周期内完成的,测试效率较低,无法满足需求。
[0009] 传统的数字集成电路功能测试仪功能测试速度不高,就在于在一个测试周期内要实现四个环节,要在一个测试周期内同时满足测试矢量的读取时间、被测试器件的建立时间和返回时间、输出延迟和写结果存储器的时间,这样能实现的最小测试周期必须大于这四个时间之和,因而限制了测试速度的提高。
[0010] 近二十年来数字集成电路的工作速度年均增长30%,而测试仪的速度却增长缓慢,测试仪的速度已经越来越跟不上数字集成电路的速度。在假设传统功能测试仪四个环节的时间都是被测数字集成电路的工作周期的情况下,功能测试要达到被测试集成电路的速度,需要其可以提供4倍于被测数字集成电路速度,即使研制出如此高速的功能测试仪,其成本也是非常昂贵的。

发明内容

[0011] 本发明的目的在于克服现有技术的不足,提供一种测试速度高的数字集成电路功能测试仪。
[0012] 为实现上述目的,本发明的数字集成电路功能测试仪包括矢量存储器、读测试矢量模块、格式化编码模块、输入电平转换模块、程控电源模块、输出电平转换模块、采集与比较模块、写结果矢量模块以及结果存储器,程控电源模块为输入电平转换模块、输出电平转换模块提供电平转换所需的高低电平电压,其特征在于,还包括一时序控制模块、地址总线产生模块;
[0013] 在时序控制模块的控制下,在第一个测试周期,地址总线产生模块地址指针指向第一条测试矢量的地址,地址总线产生模块输出第一条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第一条测试矢量及其对应的测试期望结果,然后经过第一个测试周期后,第一条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;
[0014] 在第二个测试周期,格式化编码模块对读取的第一条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块进行电平转换,接着将格式化编码后的第一条测试矢量施加到被测数字集成电路的输入管脚,经过第二个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块地址指针加1,指向下一条测试矢量的地址,地址总线产生模块输出第二条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第二条测试矢量及其对应的测试期望结果,然后经过第二个测试周期后,第二条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;
[0015] 在第三个测试周期,被测数字集成电路的输出经输出电平转换模块进行电平转换后,由采集与比较模块采回,并作为第一条测试矢量的测试结果与时序控制模块中暂存的第一条测试矢量对应的测试期望结果进行比较;同时,格式化编码模块对读取的第二条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块进行电平转换,接着将格式化编码后的第二条测试矢量施加到被测数字集成电路的输入管脚,经过第三个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块地址指针加1,指向下一条测试矢量的地址,地址总线产生模块输出第三条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第三条测试矢量及其对应的测试期望结果,然后经过第三个测试周期后,第三条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存;
[0016] 在第四个测试周期,写结果矢量模块将第一条测试矢量的测试结果及与其测试期望结果的比较结果存入结果存储器中;同时,被测数字集成电路的输出经输出电平转换模块进行电平转换后,由采集与比较模块采回,并作为第二条测试矢量的测试结果与时序控制模块期暂存的第二条测试矢量对应的测试期望结果进行比较;同时,格式化编码模块对读取的第三条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块进行电平转换,接着将格式化编码后的第三条测试矢量施加到被测数字集成电路的输入管脚,经过第四个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块地址指针加1,指向下一条测试矢量的地址,地址总线产生模块输出第四条测试矢量的地址给矢量存储器,读测试矢量模块从矢量存储器中读取第四条测试矢量及其对应的测试期望结果,然后经过第四个测试周期后,第四条测试矢量已经被稳定地被读取,对应的测试期望结果送入时序控制模块暂存。
[0017] 至此,后面的每一个测试周期,依次读取下一条测试矢量及其对应的测试期望结果,对读取的测试矢量进行格式编码和电平转换并施加到被测数字集成电路的输入管脚,对上一条测试矢量的测试结果采回和比较,对上上一条测试矢量的测试结果及与其测试期望结果的比较结果存入结果存储器,从而完成数字集成电路的功能测试。
[0018] 本发明的发明目的是这样实现的:
[0019] 在本发明中,数字集成电路的功能测试在时序控制模块的控制下,功能测试的读测试矢量、格式化编码、测试结果的采集与比较以及写结果矢量四个阶段实现了并行工作。由于在读取测试矢量环节只需要关心测试矢量存储器的读取时间,在格式化编码环节只需要关心测试矢量的建立和保持时间,在测试结果的采集和比较环节只需要关心输出延迟时间和建立时间的差,保证能采回输出,在写结果存储器环节只需要关心写结果存储器的时间。这样,相比于传统方法的最小测试周期需要大于四个环节分别要求的时间之和,本发明可实现的最小测试周期只要大于四个时间中最大的即可,于是在测试同一种数字集成电路的情况下,本发明相对于传统的方法可以很大程度上提高测试速度。

附图说明

[0020] 图1是传统的数字集成电路测试仪的原理框图;
[0021] 图2是图1所示的数字集成电路测试仪的功能测试时序图;
[0022] 图3是本发明数字集成电路测试仪一具体实施方式的原理框图;
[0023] 图4是图3所示的数字集成电路测试仪的功能测试流水化作业模式图;
[0024] 图5是图3所示的数字集成电路测试仪的功能测试时序图;
[0025] 图6是图3所示的时序控制模块中控制脉冲产生电路一种具体实施方式电路图;
[0026] 图7是五种编码格式输出时序图;
[0027] 图8是图3所示的格式化编码模块一种具体实施方式电路图;
[0028] 图9是图8中所示的格式化编码状态机状态转换关系图;
[0029] 图10是图3所示的采集与比较模块中采集与比较控制脉冲延时电路的一种具体实施方式电路图;
[0030] 图11是图3所示的时序控制模块中各信号的时序图;
[0031] 图12是数字集成电路74LS163的功能时序图;
[0032] 图13是本发明数字集成电路测试仪一实例的面板图。

具体实施方式

[0033] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0034] 实施例
[0035] 图3是本发明数字集成电路测试仪一具体实施方式的原理框图。
[0036] 在本实施例中,如图1所示,本发明的数字集成电路测试仪包括矢量存储器1、读测试矢量模块2、格式化编码模块3、输入电平转换模块4、程控电源模块5、输出电平转换模块6、采集与比较模块7、写结果矢量模块8、结果存储器9,时序控制模块10、地址总线产生模块11。程控电源模5块为输入电平转换模块4、输出电平转换模块6提供电平转换所需的高低电平电压。
[0037] 在第一个测试周期,时序控制模块10通过对地址总线的控制,使地址总线产生模块11中读RAM地址线的指针指向第一条测试矢量地址,并输出第一条测试矢量的地址给矢量存储器1;同时,输出读矢量控制脉冲给读测试矢量模块2,触发启动读测试矢量模块2,读测试矢量模块2从矢量存储器1中读取第一条测试矢量及其对应的测试期望结果,然后经过第一个测试周期后,第一条测试矢量已经被稳定地被读取,作为测试激励输出给格式化编码模块3,对应的测试期望结果送入时序控制模块10暂存。
[0038] 在第二个测试周期,时序控制模块10输出格式化编码控制脉冲给式化编码模块3,触发启动格式化编码模块3,格式化编码模块3对读取的第一条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块4进行电平转换,将格式化编码后的第一条测试矢量施加到被测数字集成电路的输入管脚,经过第二个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块11中读RAM地址线的指针加
1,指向第二条测试矢量的地址,地址总线产生模块11中读RAM地址线输出第二条测试矢量的地址给矢量存储器1,时序控制模块10输出读矢量控制脉冲给读测试矢量模块2,触发启动读测试矢量模块2,读测试矢量模块2从矢量存储器1中读取第二条测试矢量及其对应的测试期望结果,然后经过第二个测试周期后,第二条测试矢量已经被稳定地被读取,作为测试激励输出给格式化编码模块3,对应的测试期望结果送入时序控制模块10暂存。
[0039] 在第三个测试周期,被测数字集成电路的输出经输出电平转换模块6进行电平转换后,由采集与比较模块7采回,并作为第一条测试矢量的测试结果与时序控制模块1中暂存的第一条测试矢量对应的测试期望结果进行比较,时序控制模块10输出采集与比较控制脉冲给采集与比较模块7,触发启动采集与比较模块7,将采集的测试结果和比较结果锁定;同时,时序控制模块10输出格式化编码控制脉冲给式化编码模块3,触发启动格式化编码模块3,格式化编码模块3对读取的第二条测试矢量设置合适的时钟建立点和返回点,进行合适的格式化编码,并输出给输入电平转换模块4进行电平转换,接着将格式化编码后的第二条测试矢量施加到被测数字集成电路的输入管脚,经过第三个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块11中读RAM地址线的指针加1,指向第三条测试矢量的地址,地址总线产生模块11中读RAM地址线输出第三条测试矢量的地址给矢量存储器1,时序控制模块10输出读矢量控制脉冲给读测试矢量模块2,触发启动读测试矢量模块2,读测试矢量模块2从矢量存储器1中读取第三条测试矢量及其对应的测试期望结果,然后经过第三个测试周期后,第三条测试矢量已经被稳定地被读取,作为测试激励输出给格式化编码模块3,对应的测试期望结果送入时序控制模块10暂存。
[0040] 在第四个测试周期,时序控制模块10通过对地址总线的控制,使地址总线产生模块11中写RAM地址线的指针指向第一条写测试矢量地址,输出写结果控制脉冲给写结果矢量模块8,触发启动写结果矢量模块8将第一条测试矢量的测试结果及与其测试期望结果的比较结果存入结果存储器9中,地址总线产生模块11中写RAM地址线的指针加1;同时,被测数字集成电路的输出经输出电平转换模块6进行电平转换后,由采集与比较模块7采回,并作为第二条测试矢量的测试结果与时序控制模块10中暂存的第二条测试矢量对应的测试期望结果进行比较,时序控制模块10输出采集与比较控制脉冲给采集与比较模块7,触发启动采集与比较模块7,将采集的测试结果和比较结果锁定;同时,时序控制模块
10输出格式化编码控制脉冲给式化编码模块3,触发启动格式化编码模块3,格式化编码模块3对读取的第三条测试矢量设置合适的时钟建立点和返回点,进行合格式化编码,并输出给输入电平转换模块4进行电平转换,接着将格式化编码后的第三条测试矢量施加到被测数字集成电路的输入管脚,经过第四个测试周期后,被测数字集成电路稳定输出;同时,地址总线产生模块11地址指针加1,指向下一条测试矢量的地址,地址总线产生模块11中读RAM地址线输出第四条测试矢量的地址给矢量存储器1,时序控制模块10输出读矢量控制脉冲给读测试矢量模块2,触发启动读测试矢量模块2从矢量存储器1中读取第四条测试矢量及其对应的测试期望结果,然后经过第四个测试周期后,第四条测试矢量已经被稳定地被读取,作为测试激励输出给格式化编码模块3,对应的测试期望结果送入时序控制模块
10暂存。
[0041] 至此,后面的每一个测试周期,依次读取下一条测试矢量及其对应的测试期望结果,对读取的测试矢量进行格式编码和电平转换并施加到被测数字集成电路的输入管脚,对上一条测试矢量的测试结果采回和比较,对上上一条测试矢量的测试结果及与其测试期望结果的比较结果存入结果存储器,从而完成数字集成电路的功能测试。
[0042] 图4是图3所示的数字集成电路测试仪的功能测试流水化作业模式图。
[0043] 在本实施例中,如图3所示,在本发明数字集成电路测试仪,功能测试的四个环节使用四级流水线实现,第一级实现读测试矢量,第二级实现格式化编码输出,第三级实现采集与比较,第四级实现写结果矢量到结果存储器中,四级环节都依次延迟一个测试周期启动。
[0044] 首先,在第一条测试周期内读取第一条测试矢量,经过一个测试周期的时间,测试矢量已经稳定的被读取了;在第二个测试周期内对需要设置合适的时钟建立点和返回点,进行合适的格式化编码,被测数字集成电路的输入管脚施加格式化编码后的第一条测试矢量,同时读取第二条测试矢量;在第三个周期,被数字集成电路的输出被采集与比较模块采集回来并与期望结果进行比较,同时读取第三条测试矢量以及输出格式化编码后的第二条测试矢量;接着在第四个测试周期将采集到的第一条测试结果矢量及与其测试期望结果的比较结果写入结果矢量存储器里面,同时读第四条测试矢量、对第三条测试矢量进行格式化编码输出以及采集第二条测试结果矢量,至此,后面的每一个周期,四个环节都同时作业,每一个周期可以完成一条测试矢量的测试工作。
[0045] 由于在读取测试矢量环节只需要关心测试矢量存储器的读取时间,在格式化编码环节只需要关心测试矢量输出的建立和保持时间,在测试结果采集和比较环节只需要关心输出延迟时间和建立时间的差,在写结果存储器环节只需要关心写结果存储器的时间。这样,相比于传统方法的最小测试周期需要大于四个环节分别要求的时间之和,本发明可实现的最小测试周期只要大于四个时间中最大的即可,于是在测试同一种数字集成电路的情况下,本发明相对于传统的方法可以很大程度上提高测试速度。
[0046] 图5是图3所示的数字集成电路测试仪的功能测试时序图。
[0047] 在本实施例中,如图5所示,数字集成电路测试仪由FPGA来实现完成的,为了并行完成四个环节,设计四个时钟:读矢量控制脉冲trig_readtask、格式化编码控制脉冲trig_codetask、采集与比较控制脉冲trig_collecttask、输出写结果控制脉冲trig_writetask来分别触发启动读测试矢量,格式化编码输出,采集与比较以及写结果这四个任务,因为要实现四个任务依次延迟一个测试周期启动,所以四个时钟信号也需依次延迟一个测试周期。
[0048] 图6是图3所示的时序控制模块中控制脉冲产生电路一种具体实施方式电路图。
[0049] 在本实施例中,如图6所示,时序控制模块10中读矢量控制脉冲trig_readtask、格式化编码控制脉冲trig_codetask、采集与比较控制脉冲trig_collecttask、输出写结果控制脉冲trig_writetask四个控制脉冲的产生电路包括1倍频电路、预置分频器、一T触发器以及六个D触发器;预置分频器使能端以及T触发器和六个D触发器的清零信号端CLR均接测试开始控制信号start_control,T触发器和六个D触发器的时钟端CLK均接预置分频器的输出,T触发器的输入端T接高电平1,输出接一D触发器的输入端D,该D触发器的输出Q端接下一D触发器输入端D,下一D触发器的输出Q端接下下一D触发器输入端D,这样将六个D触发器依次连接;T触发器输出的脉冲信号作为读矢量控制脉冲trig_readtask,第二个D触发器输出的脉冲信号作为格式化编码控制脉冲trig_codetask,第四个D触发器输出的脉冲信号作为采集与比较控制脉冲trig_collecttask,第六个D触发器输出的脉冲信号作为输出写结果控制脉冲trig_writetask。
[0050] 1倍频电路将20MHz输入时钟进行10倍倍频,输出200MHz的工作时钟clk_200Mhz。预置分频器的分频数由数字集成电路测试仪的测试速度决定,预置分频数的计算公式如下:
[0051] N预置分频数=fclk/(2*ftest)
[0052] 其中,ftest为测试频率,在本实施例中为10MHz时,fclk为工作时钟频率,在本实施例中为200MHz,则预置分频数N预置分频数10。
[0053] 预置分频器对工作时钟进行分频,输入到T触发器的T时钟端CLK。数字集成电路功能测试开始时,测试开始控制信号start_control由0变为1,使触发器和预置分频器开始工作,预置分频器输出2倍于测试频率的时钟信号,也就是20MHz,T触发器FF1为上升沿触发,每个上升沿会触发输出翻转,于是T触发器FF1的输出频率为10MHz的时钟信号,恰好是测试频率,依次连接的D触发器FF2、FF3、FF4、FF5、FF6、FF7为上升沿触发,触发时钟,即预置分频器输出是20MHz时钟信号,于是每个D触发器会引起50ns的延时,也就是半个测试周期,两个D触发器就会延迟一个测试周期,所以读矢量控制脉冲trig_readtask、格式化编码控制脉冲trig_codetask、采集与比较控制脉冲trig_collecttask、输出写结果控制脉冲trig_writetask依次延迟一个测试周期,用这四个时钟分别触发四个任务的开始,下面对每个任务的实现进行解释。
[0054] (1)、读取测试矢量
[0055] 读矢量控制脉冲trig_readtask触发读测试矢量任务的开始,同时,地址总线产生模块11地址指针加1,指向当前测试矢量的地址。在该任务中,需要等待地址总线稳定了再向RAM发出读信号,由于RAM输出有也一定的建立时间,所以读矢量控制脉冲输出后,还需要足够的时间等待RAM输出稳定后,读测试矢量模块2再读取,具体等待时间根据RAM的特性而定。
[0056] (2)、格式化编码输出
[0057] 图7是五种编码格式输出时序图。测试矢量的格式很重要,NRZ、DNRZ、RZ、RO、SBC是常见的五种编码格式。
[0058] 通常来说,输入信号有两类:控制信号和数据信号。数据信号在控制信号决定的时间点提供数据读入或锁定到器件内部逻辑。
[0059] 第一个要决定的是控制信号的有效时沿和数据信号的建立和返回时间,这些信息将决定周期内各输入信号时间沿的位置。
[0060] 接下来决定各输入信号的格式。时钟信号通常使用RZ(正脉冲)或RO(负脉冲)格式;上升沿有效的信号如片选(CS)或读(READ)常使用RZ格式;下降沿有效的信号如输出始能(/OE)常使用RO格式;拥有建立和保持时间要求的数据信号常使用SBC格式;其他的输入信号则可以使用NRZ或DNRZ格式。
[0061] 图8是图3所示的格式化编码模块一种具体实施方式电路图。
[0062] 在本实施例,如图8所示,实现信号格式化编码的FPGA电路,即格式化编码模块包括:
[0063] 一建立时间D触发器FF8,其输入端D接高电平1,时钟端CLK接来自时序控制模块10的格式化编码控制脉冲trig_codetask;
[0064] 一建立时间计数器CT1,其使能端EN接建立时间D触发器FF8的输出端Q,其计数时钟端CLK接工作时钟clk_200Mhz;
[0065] 一建立时间比较器CP1,其一个比较输入端b[..]接建立时间计数器CT1的计数输出Q[..],另一个比较输入端a[..]接格式建立点数寄存器,其输出端在两个比较输入端相等时,输出高电平信号;建立时间比较器CP1输出端接建立时间计数器CT1的高电平清零端CLR,同时,通过一非门接建立时间D触发器FF8的低电平清零端CLR;
[0066] 一返回时间D触发器FF9,其输入端D接高电平1,时钟端CLK接建立时间比较器CP1输出端;
[0067] 一返回时间计数器CT2,其使能端EN接返回时间D触发器FF9的输出端Q,其计数时钟端CLK接工作时钟clk_200Mhz;
[0068] 一返回时间比较器CP2,其一个比较输入端a[..]接返回时间计数器CT2的计数输出Q[..],另一个比较输入端b[..]接格式返回点数寄存器,其输出端在两个比较输入端相等时,输出高电平信号;返回时间比较器CP2输出端接返回时间计数器CT2的高电平清零端CLR,同时,通过一非门接返回时间D触发器FF9的低电平清零端CLR;
[0069] 一格式化编码状态机VECTOR_CODE,其时间建立端clk_set接建立时间比较器CP1输出,时间返回端clk_return接返回时间比较器CP2输出,测试矢量输入端vector_in接来自读测试矢量模块从矢量存储器读取并输出的测试矢量,格式化编码控制脉冲输入端trig_codetask接来自时序控制模块10的格式化编码控制脉冲trig_codetask,时钟端clk接工作时钟clk_200Mhz,复位端reset接测试开始控制信号start_control,测试矢量格式端code_style[..]接编码格式寄存器;格式化编码端code_out将格式化编码后的测试矢量输出给输入电平转换模块进行电平转换,接着将格式化编码后的测试矢量施加到被测数字集成电路的输入管脚;格式化编码状态机有四个状态,即初始状态idle_state,开始状态start_state,建立状态set_state和返回状态return_state。
[0070] 图9是图8中所示的格式化编码状态机状态转换关系图。
[0071] 参见图8、图9,测试开始控制信号start_control由0变为1,格式化编码状态机的复位端reset不再复位,格式化编码状态机进入初始状态idle_state;格式化编码控制脉冲trig_codetask到来时,使格式化编码状态机VECTOR_CODE进入开始状态start_state,并按照编码格式输出信号,编码格式由编码格式寄存器输出测试矢量格式端code_style[..]的信号选择,同时,上升沿使建立时间D触发器FF8输出高电平,使能建立时间计数器CT1开始计数,当建立时间计数器CT1计到预置的格式建立点数,在本实施例中,工作时钟clk_200Mhz为200MHz,因此,每点为5ns,建立时间比较器CP1输出高电平,这个高电平同时反馈回来使建立时间D触发器FF8和建立时间计数器CT1清零,同时建立时间计数器CT1停止计数,直到下一个格式化编码控制脉冲trig_codetask上升沿的到来,因为建立时间计数器CT1输出为零,所以建立时间比较器CP1输出也变为零,所以时间建立端clk_set接收到的为一个脉冲信号,格式化编码状态机进入建立状态set_state;
[0072] 同样的原理,建立时间比较器CP1输出高电平时,上升沿触发返回时间D触发器FF9输出高电平使能返回时间计数器CT2开始计数,当返回时间计数器CT2计到格式返回点数的时候,返回时间比较器CP2输出高电平,这个高电平同时反馈回来使返回时间D触发器FF9和返回时间计数器CT2清零,同时返回时间计数器CT2停止计数,直到建立时间比较器CP1再次输出高电平,时间返回端clk_return接收到的也为一个脉冲信号,格式化编码状态机进入返回状态return_state。
[0073] 当测试开始控制信号start_control由0变为1变高后,格式化编码状态机开始工作,进入初始状态idle_state,当检测到trig_codetask的上升沿后进入开始状态start_state,对应图7的STATE1,并按照编码格式输出信号,编码格式由编码格式寄存器输出测试矢量格式端code_style[..]的信号选择,具体参见图7,VHDL程序如下:
[0074] case code_style is
[0075] when"000"=>code_out<=vector_in;--NRZ
[0076] when"001"=>code_out<=vector_pre;--DNRZ,vector_pre表示前一周期输出值[0077] when"010"=>code_out<='0';--RZ
[0078] when"011"=>code_out<='1';--RO
[0079] when"100"=>code_out<=not vector_in;--SBC
[0080] when others=>code_out<='Z';--invalid
[0081] end case;
[0082] 进入开始状态start_state后,若检测到时间建立端clk_set上升沿则进入建立状态set_state,对应图7的STATE2,此状态无论哪种状态,输出都是输入矢量,执行的程序如下:
[0083] case code_style is
[0084] when"000"=>code_out<=vector_in;--NRZ
[0085] when"001"=>code_out<=vector_in;--DNRZ
[0086] when"010"=>code_out<=vector_in;--RZ
[0087] when"011"=>code_out<=vector_in;--RO
[0088] when"100"=>code_out<=vector_in;--SBC
[0089] when others=>code_out<='Z';--invalid
[0090] end case;
[0091] 进入建立状态set_state后,若检测到时间返回端clk_return上升沿则进入返回状态return_state,对应图7的STATE3,此状态执行的程序如下:
[0092] case code_style is
[0093] when"000"=>code_out<=vector_in;--NRZ
[0094] when"001"=>code_out<=vector_in;--DNRZ
[0095] when"010"=>code_out<='0';--RZ
[0096] when"011"=>code_out<='1';--RO
[0097] when"100"=>code_out<=not vector_in;--SBC
[0098] when others=>code_out<='Z';--invalid
[0099] end case;
[0100] 测试开始控制信号由0变为1,返回开始状态idle_state,等待格式化编码控制脉冲trig_codetask触发下一周期的到来,对下一输入测试矢量进行格式化编码。
[0101] (3)、采集与比较
[0102] 图10是图3所示的采集与比较模块中采集与比较控制脉冲延时电路的一种具体实施方式电路图。
[0103] 在本实施例中,如图10所示,采集与比较控制脉冲延时电路包括:
[0104] 一D触发器FF10,其输入端D接高电平1,时钟端CLK接来自时序控制模块10的采集与比较控制脉冲trig_collecttask;
[0105] 一计数器CT3,其使能端EN接D触发器FF10的输出端Q,其计数时钟端CLK接工作时钟clk_200Mhz;
[0106] 一比较器CP3,其一个比较输入端b[..]接建立时间计数器CT3的计数输出Q[..],另一个比较输入端a[..]接采集与比较点数寄存器,其输出端在两个比较输入端相等时,输出高电平信号;比较器CP3输出端接计数器CT3的高电平清零端CLR,同时,通过一非门接D触发器FF10的低电平清零端CLR;
[0107] 本发明实现采集与比较模块的FPGA电路,来自时序控制模块10的采集与比较控制脉冲trig_collecttask触发D触发器FF10输出高电平使能计数器CT3开始计数,当CT3计到预置的采集与比较点数时,比较器CP3输出高电平,同时高电平反馈回来使FF10和CT3输出清零,相应地比较器CP3因为输入不相等输出又变回零。所以该电路的作用是在trig_collecttask上升沿来时开始计数,当计数到预置的点数时,输出一个延迟的采集与比较控制脉冲clk_collect,然后进行采集和比较,用延迟的采集与比较控制脉冲clk_collect触发启动采集与比较模块7,将采集的测试结果和比较结果锁定。
[0108] (4)、存储结果矢量
[0109] 输出写结果控制脉冲trig_writetask触发写结果矢量任务,同时触发写RAM地址线加1,写RAM的FPGA逻辑只要按照器件的操作时序编写即可,这里不再作详细的叙述。
[0110] 图11是时序控制模块中各信号的时序图。
[0111] 在本实施例中,如图11所示,实现的是5MHz的测试速度,采用正脉冲,即RZ编码格式,格式建立时间为50ns,返回时间为100ns,采集时刻为5ns=25ns。因为计数器CT1、CT2、CT3的时钟为200M时钟,则对应图9与图10中的格式建立点数codesettime、格式返回点数codereturntime和采集与比较点数collecttime分别为50ns/5ns=10、100ns/5ns=20、25ns/5ns=5,图中code_style设为‘2’表示选择的是RZ编码格式。从图11可以看出,各个信号的输出,满足数字集成电路功能测试仪并行测试的需要。
[0112] 实例
[0113] 本发明方案在数字集成电路测试仪中使用,经过对多种数字集成电路芯片测试,实现了预期的目标。下面是实现对74LS163的测试,74LS163是4位二进制同步计数器,它具有同步清零、同步置数的功能。器件手册给出了功能时序图如图12所示。
[0114] 分析功能时序图,有以下特点:(1)芯片同步清零、(2)重新置位为12、(3)计数从12计到15,再返回到0重新开始计数、(4)当ENP或者ENT无效时,输出保持。另外,VCC和GND是芯片电源和地,CLR、CLK、A、B、C、D、ENP、LOAD、ENT是芯片的输入引脚,QA、QB、QC、QD、RCO是芯片的输出引脚,根据功能时序图编辑输入引脚的测试矢量如表1所示。。
[0115]
[0116] 表1
[0117] 分析测试要求,仅对时钟CLK采用RZ(正脉冲)格式编码,根据74LS163工作时序上给定的建立时间为20ns,考虑到测试系统的延时以及负载电容效应等影响,启动点选择6,这样建立时间有6×5ns=30ns;芯片的时钟脉宽最小值都为20ns,我们设定其脉宽为30ns,这样时钟信号在对应测试周期有效上升沿到来后需要30ns+30ns=60ns后其有效脉宽结束,返回点为30ns÷5ns=6;由器件手册可以得到管脚芯片Edge818的最大输入延时在
20ns左右,比较器最大延时在25ns左右,74LS163的传输延时在20ns左右,3个延时相加得到65ns,所以从格式启动脉冲过后65ns就可以采集到比较器输出的结果矢量;另外读取RAM至少需要20ns,写结果矢量至少需要20ns。
[0118] 20ns(读取RAM时间)+60ns(格式建立时间+格式返回时间)+(65-30)ns(采集结果延时-格式返回时间)+20ns(写结果矢量)=135ns。
[0119] 如果采用传统的测试方法,则一个测试周期必须大于135ns。
[0120] 如果采用本发明的数字集成电路功能测试仪,只需要测试周期大于四个之中最大的时间即60ns,所以可以实现10M的测试速度。
[0121] 图13是本发明数字集成电路测试仪一实例的面板图。
[0122] 如图13所示,在本实例中,测试面板右侧显示的是测试74LS163的响应波形,其中PIN0~PIN15分别对应的是被测芯片的1脚~16脚,其对应关系如表2所示:
[0123]PINx 74LS163 PINx 74LS163
0 CLR 8 LOAD
1 CLK 9 ENT
2 A 10 QD
3 B 11 QC
4 C 12 QB
5 D 13 QA
6 ENP 14 RCO
7 GND 15 VCC
[0124] 表2
[0125] 波形图中对应的芯片输入引脚显示的是输入到被测芯片的测试矢量,芯片输出引脚显示的是采集到的结果矢量。分析波形图,在第二个时钟周期,CLR有效使输出清零,第三个时钟周期,LOAD有效将输出置为输入值12。从第四个周期到第八个周期,ENP和ENT均有效,芯片开始计数,每一个周期,计数器输出加1,在第六个周期计到15,所以RCO输出1,然后第七个周期计数器重新从0形如计数,因为第九个周期及第十个周期ENP或ENT为低,所以计数器停止计数并保持输出。测试结果与器件的功能时序图一致。
[0126] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。