一种IOL测试验证方法和装置与流程

文档序号:12593373阅读:1427来源:国知局
一种IOL测试验证方法和装置与流程

本发明涉及集成电路设计领域,尤其涉及一种IOL测试验证方法和装置。



背景技术:

随着集成电路的高速发展,FPGA作为一种可编程逻辑器件,在短短二十多年中从电子设计的外围器件逐渐演变为数字系统的核心。伴随半导体工艺技术的进步,FPGA器件的设计技术取得了飞跃发展及突破,达到了高密度、高保密、低功耗、低成本、系统集成、动态可重构等特点。FPGA已经在通信、航天、消费电子等领域得到广泛应用,为了继续提高性能和降低功耗,采用20nm、14nm工艺已成为必然选择。

然而在FPGA集成密度越来越高,芯片面积越来越大的同时,FPGA芯片的外围管脚也越来越多,并且每个管脚都关系着芯片功能能否正常使用,如何快速的定位芯片管脚是否正常,需要一种简单高效的方法来实现,IOL应运而生。然而,IOL内嵌测试固然是一种高效简单的测试方法,但是缺乏对IOL本身的正常与否的验证,使IOL测试结果的正确性得不到保证。



技术实现要素:

本发明旨在解决现有技术中FPGA中的IOL测试缺乏验证手段,正确性得不到保证的问题。

为解决上述技术问题,本发明实施例提供一种IOL测试验证方法,包括:

将FPGA中的各个待验证的IOL单元串接,并建立与各级所述IOL单元对应的比对链;

将激励输入串接的所述IOL单元中的第一级IOL单元和所述比对链,所述激励沿着串接的所述IOL单元进行传递,其中,上一级的所述IOL单元的输出作为下一级的所述IOL单元的输入;

将各级所述IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断所述IOL单元功能和/或连接关系是否正常。

可选的,所述将各级IOL单元的输出与对应的比对链的输出进行比对包括:

当所述IOL单元配置为旁路、锁存器、寄存器中的至少一种时,将各级所述IOL的输出与相应的所述比较链的输出进行异或比对,并通过或门输出所述比对结果。

可选的,所述将各级IOL单元的输出与对应的比对链的输出进行比对包括:

当所述IOL单元配置为GDDR模式时,将各级所述IOL的输出与相应的所述比较链的输出进行异或比对,并通过或门输出所述比对结果。

可选的,所述将各级IOL单元的输出与对应的比对链的输出进行比对包括:

当所述IOL单元配置为MDDR模式时,将各级所述IOL的输出与相应的所述比较链的输出进行异或比对,并通过或门输出所述比对结果。

可选的,在根据比对结果判断所述IOL单元功能和/或连接关系是否正常之前,还包括:

将最后一级所述IOL单元的输出结果与预设结果进行比较,并根据比较结果以及所述比对结果判断所述IOL单元功能和/或连接关系是否正常。

本发明还提供了一种IOL测试验证装置,包括:

创建模块,将FPGA中的各个待验证的IOL单元串接,并建立与各级所述IOL单元对应的比对链;

输入模块,用于将激励输入串接的所述IOL单元中的第一级单元和所述比对链,所述激励沿着串接的所述IOL单元进行传递,其中,上一级的所述IOL单元的输出作为下一级的所述IOL单元的输入;

比对模块,用于将各级所述IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断所述IOL单元功能和/或连接关系是否正常。

可选的,所述比对模块还用于:

当所述IOL单元配置为旁路、锁存器、寄存器中的至少一种时,将各级所述IOL的输出与相应的所述比较链的输出进行异或比对,并通过或门输出所述比对结果。

可选的,所述比对模块还用于:

当所述IOL单元配置为GDDR模式时,将各级所述IOL的输出与相应的所述比较链的输出进行异或比对,并通过或门输出所述比对结果。

可选的,所述比对模块还用于:

当所述IOL单元配置为MDDR模式时,将各级所述IOL的输出与相应的所述比较链的输出进行异或比对,并通过或门输出所述比对结果。

可选的,还包括比较模块,用于将最后一级所述IOL单元的输出结果与预设结果进行比较,并根据比较结果以及所述比对结果判断所述IOL单元功能和/或连接关系是否正常。

本发明的有益效果是:

本发明实施例提供了一种IOL测试验证方法和装置,将FPGA中的各个待验证的IOL单元串接,并建立与各级IOL单元对应的比对链;将激励输入串接的IOL单元中的第一级IOL单元和比对链,激励沿着串接的IOL单元进行传递,其中,上一级的IOL单元的输出作为下一级的IOL单元的输入,将各级IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断IOL单元功能和/或连接关系是否正常。通过本发明的实施,通过IOL单元链与比对链之间的输出的比对,实现了对IOL功能正常与否以及各单元的引脚的连接关系正确是否的验证,保证了IOL测试的准确性。

附图说明

图1为本发明实施例一的IOL测试验证方法流程图;

图2为本发明实施例一的FPGA中的IOL单元组成示意图;

图3为本发明实施例一的异或比对输出组成示意图;

图4为本发明实施例二的IOL测试装置模块示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一:

本实施例提供一种IOL测试验证方法,请参见图1,具体包括:

S101、将FPGA中的各个待验证的IOL单元串接,并建立与各级IOL单元对应的比对链;

S102、将激励输入串接的IOL单元中的第一级IOL单元和比对链,激励沿着串接的IOL单元进行传递,其中,上一级的IOL单元的输出作为下一级的IOL单元的输入;

S103、将各级IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断IOL单元功能和/或连接关系是否正常。

在数字集成电路的设计中,尺寸越来越小,芯片管脚越来越密集,需要一种简单高效的方法来实现芯片的快速筛选,甄别正常的和连接故障的芯片,IOL内嵌测试就是这样一种高效的测试方法。

在本实施例中,请参考图2,首先,需要将FPGA中的各个待验证的IOL单元串接起来,各个IOL单元分别命名为IOL_UNIT_1、IOL_UNIT_2……,TPG表示Test Pattern Generator,即测试模式发生器,用于生成激励;clk_in和rst_in分别表示时钟信号的输入和复位信号的输入,是整个系统的输入信号所在;激励以IO的形式经过各个IOL单元,且同时经过与各个IOL单元对应的比对链中的寄存器reg,最后,从Result_out输出最终的结果。将上一级的输出接口与下一级的输入接口相连,让经过上一级IOL单元的信号输入到下一级IOL单元中;各个待验证的IOL单元串接,输入的信号从第一级的IOL单元经过各级IOL单元后,从最后一级的IOL单元输出。

在进行验证时,将激励输入串接的IOL单元的第一级IOL单元和比对链;激励在每经过一个IOL单元时形成一个相应的响应,然后,这个响应作为下一级IOL单元的输出,直到最后到达最后一级IOL单元并输出最终的响应结果。

同样的,输入的激励除了经过各个IOL单元之外,还会经过与各级IOL单元对应的比对链,比对链由各个寄存器构成。在经过各个寄存器后,上一级寄存器所产生的响应作为下一级寄存器的输入,各级寄存器的时延与激励经过对应的IOL单元的时延一致。

那么,在本实施例中,通过比对各个IOL单元的输出与相应的比对链的输出,就可以知道当前IOL单元是否正常,和/或当前相关的单元之间的连接关系是否正常,包括引脚是否正常、相连的芯片是否故障等等。

在本实施例中,IOL单元可以配置为多种状态,包括:寄存器状态,GDDR状态以及MDDR状态,在不同的状态下,IOL自身的参数设置各不相同,各个状态在同一时间只能存在一种。

其中,寄存器状态可以包括:旁路、锁存器、寄存器中的至少一种。配置IOL单元为寄存器状态,即将IOL单元配置为旁路、锁存器、寄存器中的任意一种。在本实施例中,将各级IOL单元的输出与对应的比对链的输出进行比对包括:当IOL单元配置为旁路、锁存器、寄存器中的至少一种时,将各级IOL的输出与相应的比较链的输出进行异或比对,并通过或门输出比对结果。进行异或比对,也可以叫做,通过异或门输出,异或的特点是,若输入相同,则输出低电平,即0,若输入不同,则输出高电平,即1;由于将各级IOL与相应的比较链的输出进行异或比对,那么,当异或比对的结果是0时,说明二者相同,则进一步可以确定IOL单元的状态是正常的;当异或比对的结果是1时,则说明二者不同,有理由认为IOL单元的状态错误,或者是管脚的连接错误。

请参考图3,图3示出了经过IOL单元后的输出结果与经过比对链的输出结果经过异或比对再通过或门输出比对结果的示意图。其中,XOR表示异或器,OR表示或门,Or_out表示或门的输出。比对结果就是异或比对的结果,其中包括0或者1;在这之后,再通过或门输出比对结果,则表示,多个比对结果再通过或门,输出一个结果。其中,可以是连续迭代的通过或门输出比对结果,比如,经过第一级的IOL单元后的异或比对所产生的比对结果,与经过第二级的IOL单元后的异或比对所产生的比对结果,这两个比对结果经过或门输出,然后,输出的结果再和经过第三级的IOL单元的异或比对所产生的比对结果经过或门输出。这样的方式,在每经过一个IOL单元后,经过或门输出的比对结果,可以很好发现存在问题,并可以直接定位到问题所在。比如,若前三级的经过或门输出的比对结果是0,而经过第四级之后,输出的比对结果变成了1,那么,就可以认为第四级的IOL单元出现了异常,可能是IOL单元本身出现了异常,也可能是相连的管脚出现了异常。

除此之外,还可以将各个IOL单元的输出进行异或比对之后,将所有的比对结果通过或门输出。不论采取何种或门输出的方式,输出的结果都仅仅只有一个字节,从而很大程度上节约了存储的容量,保证了系统的正常运行。

在本实施例中,将各级IOL单元的输出与对应的比对链的输出进行比对还可以包括:

当IOL单元配置为GDDR模式时,将各级IOL输出与相应的比较链的输出进行异或比对,并通过或门输出比对结果。此时产生的激励会根据GDDR模式的端口变化发生相应的改变,保证激励的数量与端口数量一致。激励要同时输入到比对链中,比对链中的每个寄存器单元产生的时延要与单个IOL单元产生的时延一致,由于IOL单元的GDDR模式对激励不产生变化,只产生时延,所以IOL的输出与比对链对应的寄存器单元的输出进行异或比对,即在异或器中进行比较,完全一致就可以确定IOL正常。然后,就可以将比对结果经过或门输出,此处的异或比对和或门输出与上述的类似,这里不再赘述。

在本实施例中,将各级IOL单元的输出与对应的比对链的输出进行比对还可以包括:

当IOL单元配置为MDDR模式时,将各级IOL输出与相应的比较链的输出进行异或比对,并通过或门输出比对结果。此时产生的激励会根据MDDR模式的端口变化发生相应的改变,保证激励的数量与端口数量一致。TPG的激励同时要输入到比较链中,比较链中的每个寄存器单元产生的时延要和单个IOL单元产生的时延一致,由于IOL单元的MDDR模式对激励不产生变化,只产生时延,所以IOL单元的输出与对应比较链的寄存器的输出在异或器中进行比对,完全一致就可以确定IOL单元正常。

由于IOL单元在处于各种模式下时,其都不会对激励产生变化,只产生延时,那么,输入的激励的波形在最终也不会发生变化,只是其波形的位置发生的平移。

此外,在本实施例中,在根据比对结果判断IOL单元功能和/或连接关系是否正常之前,还可以包括:将最后一级IOL单元的输出结果与预设结果进行比较,并根据比较结果以及比对结果判断IOL单元功能和/或连接关系是否正常。在最终判断IOL单元以及连接关系是否正常时,除了参照前述的比对结果,即各级IOL单元之间先异或比对再通过或门输出比对结果,还可以将最后一级IOL单元输出的结果与预设结果进行比较,其中预设结果是将激励输入到IOL单元所产生的理论上的最终结果,这样可以增大验证本实施例中的IOL单元测试功能是否正常的可靠性。

在验证过程中,可以选择IOL单元的寄存器特性或者GDDR特性或者MDDR特性进行测试,选择不同特性可以通过下载不同的位流实现,再通过激励对时钟和复位信号进行驱动,或者使用信号源和晶振进行驱动。驱动的时间要足够覆盖所有的IOL单元,即要从第一级IOL单元覆盖到最后一级IOL单元,而应尽量避免在激励未传递到IOL链路最后一级时中止,这会在一定程度上影响验证的可靠性。针对这一问题,可以通过结束标志位finish flag判断解决,由于激励的产生是通过TPG,而TPG是由计数器所构成,所以预计出激励从第一级IOL单元到最后一级IOL单元的时间,在TPG计数器到达这一时间点后自动拉起finish flag为高,finish flag为高后,证明测试时间充分,保证所有IOL都完成测试,可以结束测试。也就是说,如果激励从第一级IOL单元到最后一级IOL单元的设定时间是1000s,那么,设置结束时间为1100s为结束标志位的时间,输入激励经过了1100s时,自动拉起finish flag为高,证明已充分测试完成,测试结果可靠,可结束测试。

本实施例中的验证方法可以仅输出1bit结果,检测结果如果为1则说明FPGA内部的IOL单元有工作不正常的情况,如果为0则说明FPGA内部的IOL单元工作均正常。如果是用在筛选芯片功能上,1bit结果已足够说明此芯片是否工作正常。如果要定位具体某一个IOL单元的问题,可以通过每个IOL单元上的PIN口观察IOL单元传递的数据是否符合激励的输入,一次观测就可以确定具体的某一个IOL单元出现问题。

本实施例提供了一种IOL测试验证方法,将FPGA中的各个待验证的IOL单元串接,并建立与各级IOL单元对应的比对链;将激励输入串接的IOL单元中的第一级IOL单元和比对链,激励沿着串接的IOL单元进行传递,其中,上一级的IOL单元的输出作为下一级的IOL单元的输入,将各级IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断IOL单元功能和/或连接关系是否正常。通过本发明的实施,通过IOL单元链与比对链之间的输出的比对,实现了对IOL功能正常与否以及各单元的引脚的连接关系正确是否的验证,保证了IOL测试的准确性。

实施例二:

本实施例提供了一种IOL测试验证方法,请参见图4,具体包括:

创建模块401,用于将FPGA中的各个待验证的IOL单元串接,并建立与各级IOL单元对应的比对链;

输入模块402,用于将激励输入串接的IOL单元中的第一级IOL单元和比对链,激励沿着串接的IOL单元进行传递,其中,上一级的IOL单元的输出作为下一级的IOL单元的输入;

比对模块403,用于将各级IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断IOL单元功能和/或连接关系是否正常。

在数字集成电路的设计中,尺寸越来越小,芯片管脚越来越密集,需要一种简单高效的方法来实现芯片的快速筛选,甄别正常的和连接故障的芯片,IOL内嵌测试就是这样一种高效的测试方法。

在本实施例中,首先,需要将FPGA中的各个待验证的IOL单元串接起来,将上一级的输出接口与下一级的输入接口相连,让经过上一级IOL单元的信号输入到下一级IOL单元中;各个待验证的IOL单元串接,输入的信号从第一级的IOL单元经过各级IOL单元后,从最后一级的IOL单元输出。

在进行验证时,将激励输入串接的IOL单元的第一级IOL单元和比对链;激励在每经过一个IOL单元时形成一个相应的响应,然后,这个响应作为下一级IOL单元的输出,直到最后到达最后一级IOL单元并输出最终的响应结果。

同样的,输入的激励除了经过各个IOL单元之外,还会经过与各级IOL单元对应的比对链,比对链由各个寄存器构成。在经过各个寄存器后,上一级寄存器所产生的响应作为下一级寄存器的输入,各级寄存器的时延与激励经过对应的IOL单元的时延一致。

那么,在本实施例中,通过比对各个IOL单元的输出与相应的比对链的输出,就可以知道当前IOL单元是否正常,和/或当前相关的单元之间的连接关系是否正常,包括引脚是否正常、相连的芯片是否故障等等。

在本实施例中,IOL单元可以配置为多种状态,包括:寄存器状态,GDDR状态以及MDDR状态,在不同的状态下,IOL自身的参数设置各不相同,各个状态在同一时间只能存在一种。

其中,寄存器状态可以包括:旁路、锁存器、寄存器中的至少一种。配置IOL单元为寄存器状态,即将IOL单元配置为旁路、锁存器、寄存器中的任意一种。在本实施例中,比对模块403还可以用于:当IOL单元配置为旁路、锁存器、寄存器中的至少一种时,将各级IOL的输出与相应的比较链的输出进行异或比对,并通过或门输出比对结果。进行异或比对,也可以叫做,通过异或门输出,异或的特点是,若输入相同,则输出低电平,即0,若输入不同,则输出高电平,即1;由于将各级IOL与相应的比较链的输出进行异或比对,那么,当异或比对的结果是0时,说明二者相同,则进一步可以确定IOL单元的状态是正常的;当异或比对的结果是1时,则说明二者不同,有理由认为IOL单元的状态错误,或者是管脚的连接错误。

比对结果就是异或比对的结果,其中包括0或者1;在这之后,再通过或门输出比对结果,则表示,多个比对结果再通过或门,输出一个结果。其中,可以是连续迭代的通过或门输出比对结果,比如,经过第一级的IOL单元后的异或比对所产生的比对结果,与经过第二级的IOL单元后的异或比对所产生的比对结果,这两个比对结果经过或门输出,然后,输出的结果再和经过第三级的IOL单元的异或比对所产生的比对结果经过或门输出。这样的方式,在每经过一个IOL单元后,经过或门输出的比对结果,可以很好发现存在问题,并可以直接定位到问题所在。比如,若前三级的经过或门输出的比对结果是0,而经过第四级之后,输出的比对结果变成了1,那么,就可以认为第四级的IOL单元出现了异常,可能是IOL单元本身出现了异常,也可能是相连的管脚出现了异常。

除此之外,还可以将各个IOL单元的输出进行异或比对之后,将所有的比对结果通过或门输出。不论采取何种或门输出的方式,输出的结果都仅仅只有一个字节,从而很大程度上节约了存储的容量,保证了系统的正常运行。

在本实施例中,比对模块403还可以用于:

当IOL单元配置为GDDR模式时,将各级IOL输出与相应的比较链的输出进行异或比对,并通过或门输出比对结果。此时产生的激励会根据GDDR模式的端口变化发生相应的改变,保证激励的数量与端口数量一致。激励要同时输入到比对链中,比对链中的每个寄存器单元产生的时延要与单个IOL单元产生的时延一致,由于IOL单元的GDDR模式对激励不产生变化,只产生时延,所以IOL的输出与比对链对应的寄存器单元的输出进行异或比对,即在异或器中进行比较,完全一致就可以确定IOL正常。然后,就可以将比对结果经过或门输出,此处的异或比对和或门输出与上述的类似,这里不再赘述。

在本实施例中,比对模块403还可以用于:

当IOL单元配置为MDDR模式时,将各级IOL输出与相应的比较链的输出进行异或比对,并通过或门输出比对结果。此时产生的激励会根据MDDR模式的端口变化发生相应的改变,保证激励的数量与端口数量一致。TPG的激励同时要输入到比较链中,比较链中的每个寄存器单元产生的时延要和单个IOL单元产生的时延一致,由于IOL单元的MDDR模式对激励不产生变化,只产生时延,所以IOL单元的输出与对应比较链的寄存器的输出在异或器中进行比对,完全一致就可以确定IOL单元正常。

由于IOL单元在处于各种模式下时,其都不会对激励产生变化,只产生延时,那么,输入的激励的波形在最终也不会发生变化,只是其波形的位置发生的平移。

此外,在本实施例中,还可以包括比较模块404,用于:将最后一级IOL单元的输出结果与预设结果进行比较,并根据比较结果以及比对结果判断IOL单元功能和/或连接关系是否正常。在最终判断IOL单元以及连接关系是否正常时,除了参照前述的比对结果,即各级IOL单元之间先异或比对再通过或门输出比对结果,还可以将最后一级IOL单元输出的结果与预设结果进行比较,其中预设结果是将激励输入到IOL单元所产生的理论上的最终结果,这样可以增大验证本实施例中的IOL单元测试功能是否正常的可靠性。

在验证过程中,可以选择IOL单元的寄存器特性或者GDDR特性或者MDDR特性进行测试,选择不同特性可以通过下载不同的位流实现,再通过激励对时钟和复位信号进行驱动,或者使用信号源和晶振进行驱动。驱动的时间要足够覆盖所有的IOL单元,即要从第一级IOL单元覆盖到最后一级IOL单元,而应尽量避免在激励未传递到IOL链路最后一级时中止,这会在一定程度上影响验证的可靠性。针对这一问题,可以通过结束标志位finish flag判断解决,由于激励的产生是通过TPG,而TPG是由计数器所构成,所以预计出激励从第一级IOL单元到最后一级IOL单元的时间,在TPG计数器到达这一时间点后自动拉起finish flag为高,finish flag为高后,证明测试时间充分,保证所有IOL都完成测试,可以结束测试。也就是说,如果激励从第一级IOL单元到最后一级IOL单元的设定时间是1000s,那么,设置结束时间为1100s为结束标志位的时间,输入激励经过了1100s时,自动拉起finish flag为高,证明已充分测试完成,测试结果可靠,可结束测试。

本实施例中的验证方法可以仅输出1bit结果,检测结果如果为1则说明FPGA内部的IOL单元有工作不正常的情况,如果为0则说明FPGA内部的IOL单元工作均正常。如果是用在筛选芯片功能上,1bit结果已足够说明此芯片是否工作正常。如果要定位具体某一个IOL单元的问题,可以通过每个IOL单元上的PIN口观察IOL单元传递的数据是否符合激励的输入,一次观测就可以确定具体的某一个IOL单元出现问题。

本实施例提供了一种IOL测试验证装置,将FPGA中的各个待验证的IOL单元串接,并建立与各级IOL单元对应的比对链;将激励输入串接的IOL单元中的第一级IOL单元和比对链,激励沿着串接的IOL单元进行传递,其中,上一级的IOL单元的输出作为下一级的IOL单元的输入,将各级IOL单元的输出与对应的比对链的输出进行比对,根据比对结果判断IOL单元功能和/或连接关系是否正常。通过本发明的实施,通过IOL单元链与比对链之间的输出的比对,实现了对IOL功能正常与否以及各单元的引脚的连接关系正确是否的验证,保证了IOL测试的准确性。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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