一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

ATE算法码形动态加载的装置及方法与流程

2022-05-18 13:04:49 来源:中国专利 TAG:

ate算法码形动态加载的装置及方法
技术领域
1.本发明涉及半导体自动化测试设备(automatic test equipment,ate)领域,更具体地,涉及一种ate算法码形动态加载的装置及方法。


背景技术:

2.目前,现场可编程门阵列(field-programmable gate array,简称fpga),在pld(programmable logic device,)、pal、gal、cpld(complex programmable logic device)等可编程器件的基础上进一步发展的产物。作为专用集成电路(asic)领域中的一种半定制电路而出现,fpga既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,因此,fpga在半导体自动化测试设备ate领域应用广泛。
3.然而,对于用于测试存储类芯片的半导体ate系统,存储型ate alpg(算法图形产生器(algorithmic pattern generator,alpg)限于fpga运行空间,限制了算法码形(pattern)的动态加载,也就是说,将alpg数据编译加载到fpga时,受到运行空间只有4k行的限制,这就可能直接造成用于存储类芯片测试的算法码形所编译出的指令,在较复杂的场景下(例如,用户的多alpg联调测试)就无法正常工作。


技术实现要素:

4.本发明的目的在于克服现有技术存在的上述缺陷,提供一种ate算法码形动态加载的装置及方法,其通过自动化的方式提高测试效率,避免人员重复劳动。
5.为实现上述目的,本发明的技术方案如下:
6.一种ate算法码形动态加载的装置,其包括上位机模块、下位机模块和管脚pe模块,所述管脚pe模块用于连接所述下位机模块和至少一个待测芯片之间的传输通道;
7.所述上位机模块包括:
8.至少一个独立的算法码形生成器alpg;其中,每个所述算法码形生成器alpg包括m个测试项目module;
9.第一编译器,用于对每一个独立的算法码形生成器alpg进行编译,产生n个指令域的二进制数据数组、一个码形引用文件pmap和第一公用配置文件;其中,所述码形引用文件pmap映射所述m个测试项目module与所述n个指令域的二进制数据数组的地址链接关系,所述第一公用配置文件;
10.第二编译器,用于通过编译生成波形配置文件wfm和第二公用配置文件dss;其中,所述第二公用配置文件dss用于给所述传输通道提供接口操作;
11.下位机模块,包括:
12.接收单元,用于接收所述第一编译器和第二编译器输出的文件;
13.可编程门阵列fpga,用于存储并执行测试程序;
14.测试处理单元tpu,其通过所述码形引用文件pmap检阅所述n个指令域的二进制数据数组的总和,在某一个所述测试项目module中是否大于一预定的k行;
15.如果没有,则将所述n个指令域的二进制数据数组整个直接存放到向量处理器vp并写入所述可编程门阵列fpga的测试程序中;
16.如果有超过,先将所述波形配置文件wfm的通道和配置数据commdata写入所述可编程门阵列fpga的测试程序中;
17.其中,当在依次调度执行到相应所述测试项目module中时,通过所述向量处理器vp查找并判断当前所述测试处理单元tpu的内存是否存在对应的所述测试项目module是否处于activemodule激活状态,如果是,表明所述测试项目module的数据已加载到所述可编程门阵列fpga的测试程序中,则直接触发所述可编程门阵列fpga的测试程序对所述测试项目module起始地址的执行;如果不是,所述向量处理器vp使用所述码形引用文件pmap映射的链接关系和原始的n个指令域数据中拼接出当前所述测试项目module的n个指令域数据,并写入所述可编程门阵列fpga的测试程序中,并将所述测试项目module加载情况写入所述测试处理单元tpu的内存,最终触发所述可编程门阵列fpga的测试程序中对所述测试项目module起始地址的执行。
18.进一步地,所述n为9。
19.进一步地,所述预定的k行为预定的4k行。
20.为实现上述目的,本发明又一技术方案如下:
21.一种ate算法码形动态加载的方法,其包括:
22.步骤s1:上位机对每一个独立的算法码形生成器alpg进行编译,产生n个指令域的二进制数据数组、一个码形引用文件pmap和第一公用配置文件,以及通过编译生成波形配置文件wfm和第二公用配置文件dss;其中,所述第二公用配置文件dss用于给所述传输通道提供接口操作;
23.步骤s2:下位机接收所述第一编译器和第二编译器输出的文件,统计所述测试程序所包括的m个测试项目module;依次通过所述码形引用文件pmap检阅所述n个指令域的二进制数据数组的总和,在相应所述测试项目module中是否大于一预定的k行;如果不是,执行步骤s3,否则执行步骤s4;
24.步骤s3:将所述n个指令域的二进制数据数组整个直接存放到向量处理器vp并写入所述可编程门阵列fpga的测试程序中;执行步骤s7;
25.步骤s4:仅将所述波形配置文件wfm的通道和配置数据commdata写入所述可编程门阵列fpga的测试程序中;以及当在依次调度执行到所述测试项目module中时,通过所述向量处理器vp查找并判断当前所述测试处理单元tpu的内存是否存在对应的所述测试项目module是否处于activemodule激活状态,如果是,执行步骤s5;否则,执行步骤s6;
26.步骤s5:所述测试项目module的数据已加载到所述可编程门阵列fpga的测试程序中,直接触发所述可编程门阵列fpga的测试程序对所述测试项目module起始地址的执行;执行步骤s7;
27.步骤s6:所述向量处理器vp使用所述码形引用文件pmap映射的链接关系和原始的n个指令域数据拼接出当前所述测试项目module的n个指令域数据并写入所述可编程门阵列fpga的测试程序中,以及将所述测试项目module加载情况写入所述测试处理单元tpu的内存,最终触发所述可编程门阵列fpga的测试程序中对所述测试项目module起始地址的执行;
28.步骤s7:alpg的动态加载执行完成。
29.从上述技术方案可以看出,本发明的ate算法码形动态加载的装置,可以实现巨量算法码形生成器alpg在下位机系统的加载执行,满足了ate测试应用人员对复杂场景的扩展。也就是说,使用本发明的技术方案后,下位机模块通过在测试处理单元tpu单元对算法码形生成器alpg数据在可编程门阵列fpga的动态组装加载,从而实现可编程门阵列fpga可执行扩展。
附图说明
30.图1所示为本发明ate算法码形动态加载的装置的示意图
31.图2所示为本发明ate算法码形动态加载的方法流程示意图
具体实施方式
32.下面结合附图1-2,对本发明的具体实施方式作进一步的详细说明。
33.在下述的具体实施方式中,在详述本发明的实施方式时,为了清楚地表示本发明的结构以便于说明,特对附图中的结构不依照一般比例绘图,并进行了局部放大、变形及简化处理,因此,应避免以此作为对本发明的限定来加以理解。
34.本发明旨在使测试应用人员无需担心编写的算法码形生成器alpg指令数据超过4k行,可以更多关注算法实现本身,以同时编写处理更多算法码形生成器alpg的联调数据。
35.请参阅图1,图1所示为本发明ate算法码形动态加载的装置的示意图。如图1所示,该ate算法码形动态加载的装置,包括上位机模块、下位机模块和管脚pe模块,所述管脚pe模块用于连接所述下位机模块和至少一个待测芯片之间的传输通道。
36.在本发明的实施例中,所述上位机模块可以包括多个独立的算法码形生成器alpg、第一编译器和第二编译器,即可以实现多算法码形生成器alpg联调测试。并且,这些算法码形生成器alpg可以包括m个测试项目module。
37.第一编译器,用于对每一个独立的算法码形生成器alpg进行编译,产生n个指令域的二进制数据数组、一个码形引用文件pmap和第一公用配置文件;其中,所述码形引用文件pmap映射所述m个测试项目module与所述n个指令域的二进制数据数组的地址链接关系,所述第一公用配置文件通常用于配置输入的接口数据。在本发明的实施例中,n个指令域的二进制数据数组为9个指令域的二进制数据数组,且每一个指令域的二进制数据数组的长度相同。
38.第二编译器,用于通过编译生成波形配置文件wfm和第二公用配置文件dss;其中,所述第二公用配置文件dss用于给所述传输通道提供接口操作;波形配置文件wfm包括通道和配置数据commdata。
39.本领域技术人员清楚,对于存储型半导体ate系统,将算法码形生成器alpg数据编译加载到可编程门阵列fpga时受到运行空间只有4k行的限制。其中,影响可编程门阵列fpga的运行空间是第一编译器编译出的n个指令域的二进制数据数组,而第一编译器产生的一个码形引用文件pmap和第一公用配置文件并不影响可编程门阵列fpga的运行空间;同样,第二编译器编译生成波形配置文件wfm和第二公用配置文件dss也不影响可编程门阵列fpga的运行空间。
40.与现有技术相同的是,上位机模块把所述第一编译器和第二编译器输出的文件发送到下位机模块的接收单元,与现有技术不同的是,在本发明的实施例中,下位机模块除包括用于存储并执行测试程序的可编程门阵列fpga外,还包括测试处理单元tpu。测试处理单元tpu,其通过所述码形引用文件pmap检阅所述n个指令域的二进制数据数组的总和,在某一个所述测试项目module中是否大于一预定的4k行;如果没有,则将所述n个指令域的二进制数据数组整个直接存放到向量处理器vp并写入所述可编程门阵列fpga的测试程序中;如果有超过,先将所述波形配置文件wfm的通道和配置数据commdata写入所述可编程门阵列fpga的测试程序中;并且,当在依次调度执行到相应所述测试项目module时,通过所述向量处理器vp查找并判断当前所述测试处理单元tpu的内存是否存在对应的所述测试项目module处于activemodule激活状态,如果是,表明所述测试项目module的数据已加载到所述可编程门阵列fpga的测试程序中,则直接触发所述可编程门阵列fpga的测试程序对所述测试项目module起始地址的执行;如果不是,所述向量处理器vp使用所述码形引用文件pmap映射的链接关系和原始的n个指令域数据拼接出当前所述测试项目module的n个指令域数据,写入所述可编程门阵列fpga的测试程序中,并将所述测试项目module加载情况写入所述测试处理单元tpu的内存,最终触发所述可编程门阵列fpga的测试程序中对所述测试项目module起始地址的执行。
41.也就是说,在本发明的实施例中,所述可编程门阵列fpga的运行空间并不完全一次性加载m个测试项目module,而是根据每一个测试项目module在运行过程中动态加载n个指令域的二进制数据数组的。
42.请参阅图2,图2所示为本发明ate算法码形动态加载的方法流程示意图。如图2所示,该ate算法码形动态加载的方法,具体可以包括如下步骤:
43.步骤s1:上位机对每一个独立的算法码形生成器alpg进行编译,产生n个指令域的二进制数据数组、一个码形引用文件pmap和第一公用配置文件,以及通过编译生成波形配置文件wfm和第二公用配置文件dss;其中,所述第二公用配置文件dss用于给所述传输通道提供接口操作;
44.步骤s2:下位机接收所述第一编译器和第二编译器输出的文件,统计所述测试程序所包括的m个测试项目module;依次通过所述码形引用文件pmap检阅所述n个指令域的二进制数据数组的总和,在相应所述测试项目module中是否大于一预定的4k行;如果不是,执行步骤s3,否则执行步骤s4;
45.步骤s3:将所述n个指令域的二进制数据数组整个直接存放到向量处理器vp并写入所述可编程门阵列fpga的测试程序中;执行步骤s7;
46.步骤s4:仅将所述波形配置文件wfm的通道和配置数据commdata写入所述可编程门阵列fpga的测试程序中;并且,当在依次调度执行到所述测试项目module中时,通过所述向量处理器vp查找并判断当前所述测试处理单元tpu的内存是否存在对应的所述测试项目module处于activemodule激活状态,如果是,执行步骤s5;否则,执行步骤s6;
47.步骤s5:所述测试项目module的数据已加载到所述可编程门阵列fpga的测试程序中,直接触发所述可编程门阵列fpga的测试程序对所述测试项目module起始地址的执行;执行步骤s7;
48.步骤s6:所述向量处理器vp使用所述码形引用文件pmap映射的链接关系和原始的
n个指令域数据拼接出当前所述测试项目module的n个指令域数据并写入所述可编程门阵列fpga的测试程序中,将所述测试项目module加载情况写入所述测试处理单元tpu的内存,最终触发所述可编程门阵列fpga的测试程序中对所述测试项目module起始地址的执行;
49.步骤s7:alpg的动态加载执行完成
50.以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献