CN114510285A - Ate算法码形动态加载的装置及方法 - Google Patents

Ate算法码形动态加载的装置及方法 Download PDF

Info

Publication number
CN114510285A
CN114510285A CN202210042247.4A CN202210042247A CN114510285A CN 114510285 A CN114510285 A CN 114510285A CN 202210042247 A CN202210042247 A CN 202210042247A CN 114510285 A CN114510285 A CN 114510285A
Authority
CN
China
Prior art keywords
test
test item
module
programmable gate
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202210042247.4A
Other languages
English (en)
Inventor
刘红培
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ncatest Technologies Co Ltd
Original Assignee
Shanghai Ncatest Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Ncatest Technologies Co Ltd filed Critical Shanghai Ncatest Technologies Co Ltd
Priority to CN202210042247.4A priority Critical patent/CN114510285A/zh
Publication of CN114510285A publication Critical patent/CN114510285A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

一种ATE算法码形动态加载的装置及方法,该方法包括下位机模块接收第一编译器和第二编译器输出的文件,统计测试程序所包括的M个测试项目Module,依次通过码形引用文件Pmap检阅N个指令域的二进制数据数组的总和,在相应测试项目Module中是否大于一预定的K行;如果是,在调度执行到相关测试项目Module时通过向量处理器VP查找当前内存是否存在对应的ActiveModule,存在表明测试项目Module的数据已加载到FPGA则直接触发FPGA对测试项目Module起始地址的执行,不存在则使用码形引用文件Pmap的映射关系和原始的N个指令域的二进制数据数组拼接出当前测试项目Module的N个指令域数据并写入FPGA,并将新测试项目Module加载情况写入内存,触发FPGA对该测试项目Module起始地址的执行,实现ALPG的动态加载执行。

Description

ATE算法码形动态加载的装置及方法
技术领域
本发明涉及半导体自动化测试设备(Automatic Test Equipment,ATE)领域,更具体地,涉及一种ATE算法码形动态加载的装置及方法。
背景技术
目前,现场可编程门阵列(Field-Programmable Gate Array,简称FPGA),在PLD(Programmable Logic Device,)、PAL、GAL、CPLD(Complex Programmable Logic Device)等可编程器件的基础上进一步发展的产物。作为专用集成电路(ASIC)领域中的一种半定制电路而出现,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,因此,FPGA在半导体自动化测试设备ATE领域应用广泛。
然而,对于用于测试存储类芯片的半导体ATE系统,存储型ATE ALPG(算法图形产生器(Algorithmic Pattern Generator,ALPG)限于FPGA运行空间,限制了算法码形(Pattern)的动态加载,也就是说,将ALPG数据编译加载到FPGA时,受到运行空间只有4K行的限制,这就可能直接造成用于存储类芯片测试的算法码形所编译出的指令,在较复杂的场景下(例如,用户的多ALPG联调测试)就无法正常工作。
发明内容
本发明的目的在于克服现有技术存在的上述缺陷,提供一种ATE算法码形动态加载的装置及方法,其通过自动化的方式提高测试效率,避免人员重复劳动。
为实现上述目的,本发明的技术方案如下:
一种ATE算法码形动态加载的装置,其包括上位机模块、下位机模块和管脚PE模块,所述管脚PE模块用于连接所述下位机模块和至少一个待测芯片之间的传输通道;
所述上位机模块包括:
至少一个独立的算法码形生成器ALPG;其中,每个所述算法码形生成器ALPG包括M个测试项目Module;
第一编译器,用于对每一个独立的算法码形生成器ALPG进行编译,产生N个指令域的二进制数据数组、一个码形引用文件Pmap和第一公用配置文件;其中,所述码形引用文件Pmap映射所述M个测试项目Module与所述N个指令域的二进制数据数组的地址链接关系,所述第一公用配置文件;
第二编译器,用于通过编译生成波形配置文件WFM和第二公用配置文件DSS;其中,所述第二公用配置文件DSS用于给所述传输通道提供接口操作;
下位机模块,包括:
接收单元,用于接收所述第一编译器和第二编译器输出的文件;
可编程门阵列FPGA,用于存储并执行测试程序;
测试处理单元TPU,其通过所述码形引用文件Pmap检阅所述N个指令域的二进制数据数组的总和,在某一个所述测试项目Module中是否大于一预定的K行;
如果没有,则将所述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起始地址的执行。
进一步地,所述N为9。
进一步地,所述预定的K行为预定的4K行。
为实现上述目的,本发明又一技术方案如下:
一种ATE算法码形动态加载的方法,其包括:
步骤S1:上位机对每一个独立的算法码形生成器ALPG进行编译,产生N个指令域的二进制数据数组、一个码形引用文件Pmap和第一公用配置文件,以及通过编译生成波形配置文件WFM和第二公用配置文件DSS;其中,所述第二公用配置文件DSS用于给所述传输通道提供接口操作;
步骤S2:下位机接收所述第一编译器和第二编译器输出的文件,统计所述测试程序所包括的M个测试项目Module;依次通过所述码形引用文件Pmap检阅所述N个指令域的二进制数据数组的总和,在相应所述测试项目Module中是否大于一预定的K行;如果不是,执行步骤S3,否则执行步骤S4;
步骤S3:将所述N个指令域的二进制数据数组整个直接存放到向量处理器VP并写入所述可编程门阵列FPGA的测试程序中;执行步骤S7;
步骤S4:仅将所述波形配置文件WFM的通道和配置数据CommData写入所述可编程门阵列FPGA的测试程序中;以及当在依次调度执行到所述测试项目Module中时,通过所述向量处理器VP查找并判断当前所述测试处理单元TPU的内存是否存在对应的所述测试项目Module是否处于ActiveModule激活状态,如果是,执行步骤S5;否则,执行步骤S6;
步骤S5:所述测试项目Module的数据已加载到所述可编程门阵列FPGA的测试程序中,直接触发所述可编程门阵列FPGA的测试程序对所述测试项目Module起始地址的执行;执行步骤S7;
步骤S6:所述向量处理器VP使用所述码形引用文件Pmap映射的链接关系和原始的N个指令域数据拼接出当前所述测试项目Module的N个指令域数据并写入所述可编程门阵列FPGA的测试程序中,以及将所述测试项目Module加载情况写入所述测试处理单元TPU的内存,最终触发所述可编程门阵列FPGA的测试程序中对所述测试项目Module起始地址的执行;
步骤S7:ALPG的动态加载执行完成。
从上述技术方案可以看出,本发明的ATE算法码形动态加载的装置,可以实现巨量算法码形生成器ALPG在下位机系统的加载执行,满足了ATE测试应用人员对复杂场景的扩展。也就是说,使用本发明的技术方案后,下位机模块通过在测试处理单元TPU单元对算法码形生成器ALPG数据在可编程门阵列FPGA的动态组装加载,从而实现可编程门阵列FPGA可执行扩展。
附图说明
图1所示为本发明ATE算法码形动态加载的装置的示意图
图2所示为本发明ATE算法码形动态加载的方法流程示意图
具体实施方式
下面结合附图1-2,对本发明的具体实施方式作进一步的详细说明。
在下述的具体实施方式中,在详述本发明的实施方式时,为了清楚地表示本发明的结构以便于说明,特对附图中的结构不依照一般比例绘图,并进行了局部放大、变形及简化处理,因此,应避免以此作为对本发明的限定来加以理解。
本发明旨在使测试应用人员无需担心编写的算法码形生成器ALPG指令数据超过4K行,可以更多关注算法实现本身,以同时编写处理更多算法码形生成器ALPG的联调数据。
请参阅图1,图1所示为本发明ATE算法码形动态加载的装置的示意图。如图1所示,该ATE算法码形动态加载的装置,包括上位机模块、下位机模块和管脚PE模块,所述管脚PE模块用于连接所述下位机模块和至少一个待测芯片之间的传输通道。
在本发明的实施例中,所述上位机模块可以包括多个独立的算法码形生成器ALPG、第一编译器和第二编译器,即可以实现多算法码形生成器ALPG联调测试。并且,这些算法码形生成器ALPG可以包括M个测试项目Module。
第一编译器,用于对每一个独立的算法码形生成器ALPG进行编译,产生N个指令域的二进制数据数组、一个码形引用文件Pmap和第一公用配置文件;其中,所述码形引用文件Pmap映射所述M个测试项目Module与所述N个指令域的二进制数据数组的地址链接关系,所述第一公用配置文件通常用于配置输入的接口数据。在本发明的实施例中,N个指令域的二进制数据数组为9个指令域的二进制数据数组,且每一个指令域的二进制数据数组的长度相同。
第二编译器,用于通过编译生成波形配置文件WFM和第二公用配置文件DSS;其中,所述第二公用配置文件DSS用于给所述传输通道提供接口操作;波形配置文件WFM包括通道和配置数据CommData。
本领域技术人员清楚,对于存储型半导体ATE系统,将算法码形生成器ALPG数据编译加载到可编程门阵列FPGA时受到运行空间只有4K行的限制。其中,影响可编程门阵列FPGA的运行空间是第一编译器编译出的N个指令域的二进制数据数组,而第一编译器产生的一个码形引用文件Pmap和第一公用配置文件并不影响可编程门阵列FPGA的运行空间;同样,第二编译器编译生成波形配置文件WFM和第二公用配置文件DSS也不影响可编程门阵列FPGA的运行空间。
与现有技术相同的是,上位机模块把所述第一编译器和第二编译器输出的文件发送到下位机模块的接收单元,与现有技术不同的是,在本发明的实施例中,下位机模块除包括用于存储并执行测试程序的可编程门阵列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起始地址的执行。
也就是说,在本发明的实施例中,所述可编程门阵列FPGA的运行空间并不完全一次性加载M个测试项目Module,而是根据每一个测试项目Module在运行过程中动态加载N个指令域的二进制数据数组的。
请参阅图2,图2所示为本发明ATE算法码形动态加载的方法流程示意图。如图2所示,该ATE算法码形动态加载的方法,具体可以包括如下步骤:
步骤S1:上位机对每一个独立的算法码形生成器ALPG进行编译,产生N个指令域的二进制数据数组、一个码形引用文件Pmap和第一公用配置文件,以及通过编译生成波形配置文件WFM和第二公用配置文件DSS;其中,所述第二公用配置文件DSS用于给所述传输通道提供接口操作;
步骤S2:下位机接收所述第一编译器和第二编译器输出的文件,统计所述测试程序所包括的M个测试项目Module;依次通过所述码形引用文件Pmap检阅所述N个指令域的二进制数据数组的总和,在相应所述测试项目Module中是否大于一预定的4K行;如果不是,执行步骤S3,否则执行步骤S4;
步骤S3:将所述N个指令域的二进制数据数组整个直接存放到向量处理器VP并写入所述可编程门阵列FPGA的测试程序中;执行步骤S7;
步骤S4:仅将所述波形配置文件WFM的通道和配置数据CommData写入所述可编程门阵列FPGA的测试程序中;并且,当在依次调度执行到所述测试项目Module中时,通过所述向量处理器VP查找并判断当前所述测试处理单元TPU的内存是否存在对应的所述测试项目Module处于ActiveModule激活状态,如果是,执行步骤S5;否则,执行步骤S6;
步骤S5:所述测试项目Module的数据已加载到所述可编程门阵列FPGA的测试程序中,直接触发所述可编程门阵列FPGA的测试程序对所述测试项目Module起始地址的执行;执行步骤S7;
步骤S6:所述向量处理器VP使用所述码形引用文件Pmap映射的链接关系和原始的N个指令域数据拼接出当前所述测试项目Module的N个指令域数据并写入所述可编程门阵列FPGA的测试程序中,将所述测试项目Module加载情况写入所述测试处理单元TPU的内存,最终触发所述可编程门阵列FPGA的测试程序中对所述测试项目Module起始地址的执行;
步骤S7:ALPG的动态加载执行完成
以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

Claims (4)

1.一种ATE算法码形动态加载的装置,其特征在于,包括上位机模块、下位机模块和管脚PE模块,所述管脚PE模块用于连接所述下位机模块和至少一个待测芯片之间的传输通道;
所述上位机模块包括:
至少一个独立的算法码形生成器ALPG;其中,每个所述算法码形生成器ALPG包括M个测试项目Module;
第一编译器,用于对每一个独立的算法码形生成器ALPG进行编译,产生N个指令域的二进制数据数组、一个码形引用文件Pmap和第一公用配置文件;其中,所述码形引用文件Pmap映射所述M个测试项目Module与所述N个指令域的二进制数据数组的地址链接关系;
第二编译器,用于通过编译生成波形配置文件WFM和第二公用配置文件DSS;其中,所述第二公用配置文件DSS用于给所述传输通道提供接口操作;
下位机模块,包括:
接收单元,用于接收所述第一编译器和第二编译器输出的文件;
可编程门阵列FPGA,用于存储并执行测试程序;
测试处理单元TPU,其通过所述码形引用文件Pmap检阅所述N个指令域的二进制数据数组的总和,在某一个所述测试项目Module中是否大于一预定的K行;
如果没有,则将所述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起始地址的执行。
2.根据权利要求1所述的算法码形动态加载的装置,其特征在于,所述N为9。
3.根据权利要求1所述的算法码形动态加载的装置,其特征在于,所述预定的K行为预定的4K行。
4.一种ATE算法码形动态加载的方法,采用权利要求1所述的装置,其特征在于,包括:
步骤S1:上位机对每一个独立的算法码形生成器ALPG进行编译,产生N个指令域的二进制数据数组、一个码形引用文件Pmap和第一公用配置文件,以及通过编译生成波形配置文件WFM和第二公用配置文件DSS;其中,所述第二公用配置文件DSS用于给所述传输通道提供接口操作;
步骤S2:下位机接收所述第一编译器和第二编译器输出的文件,统计所述测试程序所包括的M个测试项目Module;依次通过所述码形引用文件Pmap检阅所述N个指令域的二进制数据数组的总和,在相应所述测试项目Module中是否大于一预定的K行;如果不是,执行步骤S3,否则执行步骤S4;
步骤S3:将所述N个指令域的二进制数据数组整个直接存放到向量处理器VP并写入所述可编程门阵列FPGA的测试程序中;执行步骤S7;
步骤S4:仅将所述波形配置文件WFM的通道和配置数据CommData写入所述可编程门阵列FPGA的测试程序中;并且,当在依次调度执行到所述测试项目Module中时,通过所述向量处理器VP查找并判断当前所述测试处理单元TPU的内存是否存在对应的所述测试项目Module处于ActiveModule激活状态,如果是,执行步骤S5;否则,执行步骤S6;
步骤S5:所述测试项目Module的数据已加载到所述可编程门阵列FPGA的测试程序中,直接触发所述可编程门阵列FPGA的测试程序对所述测试项目Module起始地址的执行;执行步骤S7;
步骤S6:所述向量处理器VP使用所述码形引用文件Pmap映射的链接关系和原始的N个指令域数据拼接出当前所述测试项目Module的N个指令域数据并写入所述可编程门阵列FPGA的测试程序中,将所述测试项目Module加载情况写入所述测试处理单元TPU的内存,最终触发所述可编程门阵列FPGA的测试程序中对所述测试项目Module起始地址的执行;
步骤S7:ALPG的动态加载执行完成。
CN202210042247.4A 2022-01-14 2022-01-14 Ate算法码形动态加载的装置及方法 Withdrawn CN114510285A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210042247.4A CN114510285A (zh) 2022-01-14 2022-01-14 Ate算法码形动态加载的装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210042247.4A CN114510285A (zh) 2022-01-14 2022-01-14 Ate算法码形动态加载的装置及方法

Publications (1)

Publication Number Publication Date
CN114510285A true CN114510285A (zh) 2022-05-17

Family

ID=81550033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210042247.4A Withdrawn CN114510285A (zh) 2022-01-14 2022-01-14 Ate算法码形动态加载的装置及方法

Country Status (1)

Country Link
CN (1) CN114510285A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145642A (zh) * 2022-06-14 2022-10-04 杭州未名信科科技有限公司 一种软件启动方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145642A (zh) * 2022-06-14 2022-10-04 杭州未名信科科技有限公司 一种软件启动方法和系统
CN115145642B (zh) * 2022-06-14 2024-05-17 杭州未名信科科技有限公司 一种软件启动方法和系统

Similar Documents

Publication Publication Date Title
CN109524055B (zh) 基于soc ate定位存储器失效位的方法及测试系统
US10422828B2 (en) Method and system for utilizing stand-alone controller in multiplexed handler test cell for indexless tandem semiconductor test
US10156611B2 (en) Executing code on a test instrument in response to an event
JPH0548494B2 (zh)
US5991215A (en) Method for testing a memory chip in multiple passes
CN212303083U (zh) 缺陷修复电路和存储器
CN114510285A (zh) Ate算法码形动态加载的装置及方法
CN114637638B (zh) 一种模板化的存储器测试图形发生器及方法
CN114398848A (zh) 一种测试向量生成方法、装置及存储介质
US20140289708A1 (en) Methods, Circuits, Devices, Systems and Associated Computer Executable Code for Testing Software Code
JP3871384B2 (ja) 半導体メモリ試験装置用不良解析メモリ
KR20020065920A (ko) 반도체 디바이스에 대한 결함 비트 맵을 디스플레이하기위해 리던던시 데이터를 사용하는 방법
US7149943B2 (en) System for flexible embedded Boundary Scan testing
JP2988380B2 (ja) 半導体試験装置およびこの試験装置を用いた試験方法
US20210255946A1 (en) Testing a code using real time analysis
CN115691632A (zh) 测试控制系统和方法
CN116225813A (zh) 模拟芯片的调试接口的系统、方法及应用
US20010025238A1 (en) Emulation system and method
US20060247879A1 (en) Site loops
JP2007058450A (ja) 半導体集積回路
US7058864B1 (en) Test for processor memory cache
US7613960B2 (en) Semiconductor device test apparatus and method
CN112597002A (zh) 一种基于Python脚本生成测试向量的方法
US20050187729A1 (en) Dynamic waveform resource management
US20030188273A1 (en) Simulation-based technique for contention avoidance in automatic test pattern generation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220517