CN115656788B - Chip testing system, method, equipment and storage medium - Google Patents

Chip testing system, method, equipment and storage medium Download PDF

Info

Publication number
CN115656788B
CN115656788B CN202211660349.9A CN202211660349A CN115656788B CN 115656788 B CN115656788 B CN 115656788B CN 202211660349 A CN202211660349 A CN 202211660349A CN 115656788 B CN115656788 B CN 115656788B
Authority
CN
China
Prior art keywords
test command
test
ate
queue
chip
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.)
Active
Application number
CN202211660349.9A
Other languages
Chinese (zh)
Other versions
CN115656788A (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.)
Beijing Xinchi Semiconductor Technology Co ltd
Original Assignee
Nanjing Semidrive Technology 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 Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202211660349.9A priority Critical patent/CN115656788B/en
Publication of CN115656788A publication Critical patent/CN115656788A/en
Application granted granted Critical
Publication of CN115656788B publication Critical patent/CN115656788B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本公开提供了一种芯片测试系统、方法、设备及存储介质,所述系统包括:ATE机台用于将测试命令写入待测试芯片的ATE控制器;ATE控制器用于将测试命令队列发送至各个测试命令对应的CPU;CPU用于执行测试命令并在执行完测试命令后将执行结果写入ATE控制器的返回结果队列;待测试芯片的指纹引擎,用于根据CPU的访问信息生成与测试命令对应的指纹信息并将指纹信息写入ATE控制器的返回结果队列;ATE机台还用于读取ATE控制器中各个测试命令对应的执行结果和指纹信息,并将执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较确定测试命令是否通过测试。该系统提高了测试速度降低了测试成本。

Figure 202211660349

The present disclosure provides a chip testing system, method, device and storage medium, the system includes: an ATE controller for writing a test command into a chip to be tested by an ATE machine; and an ATE controller for sending a test command queue to The CPU corresponding to each test command; the CPU is used to execute the test command and write the execution result into the return result queue of the ATE controller after the test command is executed; the fingerprint engine of the chip to be tested is used to generate and test according to the access information of the CPU The fingerprint information corresponding to the command and write the fingerprint information into the return result queue of the ATE controller; the ATE machine is also used to read the execution result and fingerprint information corresponding to each test command in the ATE controller, and write the execution result and fingerprint information separately The preset execution result corresponding to each test command is compared with the preset fingerprint information to determine whether the test command passes the test. The system improves the test speed and reduces the test cost.

Figure 202211660349

Description

一种芯片测试系统、方法、设备及存储介质A chip test system, method, equipment and storage medium

技术领域technical field

本公开涉及芯片技术领域,尤其涉及一种芯片测试系统、方法、设备及存储介质。The present disclosure relates to the field of chip technology, and in particular to a chip testing system, method, device and storage medium.

背景技术Background technique

SoC(System-on-a-Chip,单片系统)芯片在投入使用前通常需要进行测试,在测试没问题的情况下才会投入使用。常用的针对芯片的测试方法为SCAN(扫描)测试法。SCAN是一种纯数字逻辑的测试法,对于存在模拟电路模块的芯片通常无法通过SCAN测试法完成测试。SoC (System-on-a-Chip, single-chip system) chips usually need to be tested before they are put into use, and they will be put into use only when there is no problem in the test. The commonly used test method for chips is SCAN (scanning) test method. SCAN is a purely digital logic test method. For chips with analog circuit modules, the test cannot usually be completed by the SCAN test method.

而目前,芯片的结构越来越复杂,芯片中可能会包含模拟电路模块和数模混合电路模块等,在对这类复杂的芯片进行测试时,芯片的这些电路模块不能通过诸如SCAN等纯数字逻辑的方法进行测试,必须通过ATE(Automatic Test Equipment,自动化测试设备)机台发送响应,让芯片运行响应的方式进行测试。由于在通过ATE机台进行芯片测试的方式中,测试只能逐一运行,并且每个测试都需要通过ATE机台的接口向芯片发送响应,并读取芯片的运行数据,以判断测试是否正确完成,这导致芯片的测试时间过长,测试成本过高。并且,对于复杂芯片内部的一些非易失性内存,无法使用通用的ATE机台测试方法进行测试,通常需要针对非易失性内存进行专门的ATE测试开发,这也导致测试时间过长测试成本高昂。At present, the structure of the chip is becoming more and more complex, and the chip may contain analog circuit modules and digital-analog hybrid circuit modules. When testing such complex chips, these circuit modules of the chip cannot pass pure digital circuits such as SCAN To test with a logical method, you must send a response through the ATE (Automatic Test Equipment, automated test equipment) machine, and let the chip run the response to test. Because in the way of chip testing through ATE machine, the tests can only be run one by one, and each test needs to send a response to the chip through the interface of the ATE machine, and read the running data of the chip to judge whether the test is completed correctly , which leads to too long test time of the chip and high test cost. In addition, for some non-volatile memory inside complex chips, it is impossible to use the general ATE machine test method for testing, and usually requires special ATE test development for non-volatile memory, which also leads to long test time and test cost high.

因此,如何降低芯片测试时间,节省芯片测试成本成为了一个亟待解决的问题。Therefore, how to reduce the chip testing time and save the chip testing cost has become an urgent problem to be solved.

发明内容Contents of the invention

本公开提供了一种芯片测试系统、方法、设备及存储介质,以至少解决现有技术中存在的以上技术问题。The present disclosure provides a chip testing system, method, device and storage medium to at least solve the above technical problems existing in the prior art.

根据本公开的第一方面,提供了一种芯片测试系统,所述系统包括:According to a first aspect of the present disclosure, a chip testing system is provided, the system comprising:

自动化测试设备ATE机台,用于将测试命令写入待测试芯片的ATE控制器;Automatic test equipment ATE machine, used to write test commands into the ATE controller of the chip to be tested;

所述ATE控制器,用于读取所述ATE机台写入的测试命令,并将测试命令队列发送至各个测试命令对应的各个CPU;其中,所述测试命令队列包括多个测试命令,每个测试命令对应待测试芯片的一个CPU;The ATE controller is configured to read the test command written by the ATE machine, and send the test command queue to each CPU corresponding to each test command; wherein, the test command queue includes a plurality of test commands, each A test command corresponds to a CPU of the chip to be tested;

待测试芯片的各个CPU,用于读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列;Each CPU of the chip to be tested is used to read the test command corresponding to itself in the test command queue, execute the test command, and write the execution result into the ATE controller after executing the test command The return result queue;

待测试芯片的指纹引擎,用于在所述各个CPU执行测试命令的过程中获取所述各个CPU的访问信息,并根据所述访问信息生成与所述测试命令对应的指纹信息,并在所述测试命令执行完成后将所述指纹信息写入所述ATE控制器的返回结果队列;其中,所述CPU的访问信息包括CPU的访问地址、访问数据和控制信号;The fingerprint engine of the chip to be tested is used to obtain the access information of each CPU during the execution of the test command by each CPU, and generate fingerprint information corresponding to the test command according to the access information, and perform After the test command is executed, write the fingerprint information into the return result queue of the ATE controller; wherein, the access information of the CPU includes the access address, access data and control signal of the CPU;

所述ATE机台,还用于读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息,基于测试命令的ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较,如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。The ATE machine is also used to read the execution result and fingerprint information corresponding to each test command in the return result queue of the ATE controller, and determine the preset execution result and preset execution result corresponding to each test command based on the ID of the test command. Fingerprint information, and compare the execution result and fingerprint information of each test command with the preset execution result and preset fingerprint information corresponding to each test command, if the execution result and fingerprint information of each test command are respectively corresponding to the test command If the preset execution result is consistent with the preset fingerprint information, the test command passes the test; otherwise, the test result is determined as the test command fails the test.

在一可实施方式中,所述ATE控制器,具体用于读取所述ATE机台写入的测试命令,并将针对测试命令队列的中断信号发送至各个测试命令对应的各个CPU的中断控制器,并在所述各个CPU基于中断控制器接收的中断信号,读取了所述测试命令队列中自身所对应的测试命令之后,释放该测试命令在所述测试命令队列所占用的空间;In a possible implementation manner, the ATE controller is specifically configured to read the test command written by the ATE machine, and send the interrupt signal for the test command queue to the interrupt control of each CPU corresponding to each test command device, and after each CPU has read the test command corresponding to itself in the test command queue based on the interrupt signal received by the interrupt controller, release the space occupied by the test command in the test command queue;

所述ATE机台,还用于检测测试命令队列中是否存在被释放的空间,如果是,向所述ATE控制器写入新的测试命令。The ATE machine is also used to detect whether there is freed space in the test command queue, and if so, write a new test command to the ATE controller.

在一可实施方式中,所述ATE机台,具体用于In a possible implementation manner, the ATE machine is specifically used for

读取所述ATE控制器的返回结果队列状态,判断所述ATE控制器的返回结果队列中是否存在运算结果,如果是,读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息,以使所述ATE控制器释放所读取的执行结果和指纹信息在所述ATE控制器的返回结果队列占用的空间。Read the return result queue status of the ATE controller, judge whether there is an operation result in the return result queue of the ATE controller, if yes, read the execution corresponding to each test command in the return result queue of the ATE controller The result and fingerprint information, so that the ATE controller releases the space occupied by the read execution result and fingerprint information in the return result queue of the ATE controller.

在一可实施方式中,所述待测试芯片中用于执行测试命令的测试函数固化在所述待测试芯片的ROM存储器或所述待测试芯片的SRAM存储器中;In a possible implementation manner, the test function for executing the test command in the chip to be tested is solidified in the ROM memory of the chip to be tested or the SRAM memory of the chip to be tested;

所述各个CPU,具体用于读取所述测试命令队列中自身所对应的测试命令,根据测试命令跳转至存储了所述测试函数的目标存储器,利用所述目标存储器中的所述测试函数执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列。Each of the CPUs is specifically configured to read the test command corresponding to itself in the test command queue, jump to the target memory storing the test function according to the test command, and use the test function in the target memory Execute the test command, and write the execution result into the return result queue of the ATE controller after the test command is executed.

在一可实施方式中,所述待测试芯片的指纹引擎,还用于将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器中;In a possible implementation manner, the fingerprint engine of the chip to be tested is also used to store fingerprint information corresponding to each key test node of each test command in the SRAM memory in the chip to be tested;

所述ATE机台,还用于在存在测试命令的指纹信息与该测试命令对应的预设指纹信息不一致时,调取所述SRAM存储器中存储的该测试命令的各个关键测试节点对应的指纹信息与所述预设指纹信息进行对比,确定出异常的测试节点。The ATE machine is also used to call the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory when the fingerprint information of the test command is inconsistent with the preset fingerprint information corresponding to the test command Compared with the preset fingerprint information, abnormal test nodes are determined.

在一可实施方式中,所述ATE控制器,还用于针对每个测试命令队列,确定该测试命令队列中的所有测试命令是否在预设时间段内返回对应的执行结果,如果否,确定该测试命令队列的测试命令执行异常。In a possible implementation manner, the ATE controller is also used for each test command queue to determine whether all test commands in the test command queue return corresponding execution results within a preset time period, and if not, determine The execution of the test command in the test command queue is abnormal.

根据本公开的第二方面,提供了一种芯片测试方法,所述方法应用于芯片测试系统的待测试芯片,所述待测试芯片包括ATE控制器、至少一个CPU和指纹引擎,所述方法包括:According to a second aspect of the present disclosure, a chip testing method is provided, the method is applied to a chip to be tested in a chip testing system, the chip to be tested includes an ATE controller, at least one CPU, and a fingerprint engine, and the method includes :

所述ATE控制器,读取所述芯片测试系统的ATE机台写入的测试命令,并将测试命令队列发送至各个测试命令对应的CPU;其中,所述测试命令队列包括多个测试命令,每个测试命令对应待测试芯片的一个CPU;The ATE controller reads the test command written by the ATE machine of the chip test system, and sends the test command queue to the CPU corresponding to each test command; wherein the test command queue includes a plurality of test commands, Each test command corresponds to a CPU of the chip to be tested;

各个所述CPU,读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列;Each of the CPUs reads the test command corresponding to itself in the test command queue, executes the test command, and writes the execution result into the return result queue of the ATE controller after executing the test command ;

所述指纹引擎,在所述各个CPU执行测试命令的过程中获取所述各个CPU的访问信息,并根据所述访问信息生成与所述测试命令对应的指纹信息,并在所述测试命令执行完成后将所述指纹信息写入所述ATE控制器的返回结果队列,以使所述ATE机台执行如下步骤:The fingerprint engine obtains the access information of each CPU during the execution of the test command by each CPU, and generates fingerprint information corresponding to the test command according to the access information, and generates the fingerprint information corresponding to the test command when the test command is executed. Then write the fingerprint information into the return result queue of the ATE controller, so that the ATE machine performs the following steps:

读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息,基于测试命令的ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较,如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试;其中,所述CPU的访问信息包括CPU的访问地址、访问数据和控制信号。Read the execution result and fingerprint information corresponding to each test command in the return result queue of the ATE controller, determine the preset execution result and preset fingerprint information corresponding to each test command based on the ID of the test command, and store the corresponding test results of each test command The execution result and fingerprint information are compared with the preset execution result and preset fingerprint information corresponding to each test command, if the execution result and fingerprint information of each test command are respectively compared with the preset execution result and preset fingerprint information corresponding to the test command If they are consistent, it is determined that the test result is that the test command passes the test; otherwise, it is determined that the test result is that the test command fails the test; wherein, the access information of the CPU includes the access address, access data and control signals of the CPU.

在一可实施方式中,所述读取所述芯片测试系统的ATE机台写入的测试命令,并将测试命令队列发送至各个测试命令对应的CPU,包括:In a possible implementation manner, the reading of the test command written by the ATE machine of the chip test system, and sending the test command queue to the corresponding CPU of each test command includes:

读取所述ATE机台写入的测试命令,并将针对测试命令队列的中断信号发送至各个测试命令对应的各个CPU的中断控制器;Read the test command written by the ATE machine, and send the interrupt signal for the test command queue to the interrupt controller of each CPU corresponding to each test command;

在所述各个CPU基于中断控制器接收的中断信号,读取了所述测试命令队列中自身所对应的测试命令后,释放该测试命令在所述测试命令队列所占用的空间,以使:所述ATE机台检测测试命令队列中是否存在被释放的空间,如果是,向所述ATE控制器写入新的测试命令。After each CPU reads the test command corresponding to itself in the test command queue based on the interrupt signal received by the interrupt controller, the space occupied by the test command in the test command queue is released, so that: The ATE machine detects whether there is released space in the test command queue, and if so, writes a new test command to the ATE controller.

在一可实施方式中,所述待测试芯片中用于执行测试命令的测试函数固化在所述待测试芯片的ROM存储器或所述待测试芯片的SRAM存储器中;In a possible implementation manner, the test function for executing the test command in the chip to be tested is solidified in the ROM memory of the chip to be tested or the SRAM memory of the chip to be tested;

所述读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列,包括:The reading the test command corresponding to itself in the test command queue, executing the test command, and writing the execution result into the return result queue of the ATE controller after executing the test command, including:

读取所述测试命令队列中自身所对应的测试命令;Read the test command corresponding to itself in the test command queue;

根据测试命令跳转至存储了所述测试函数的目标存储器;Jumping to the target memory storing the test function according to the test command;

利用所述目标存储器中的所述测试函数执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列。Execute the test command by using the test function in the target memory, and write the execution result into the return result queue of the ATE controller after the test command is executed.

在一可实施方式中,所述方法还包括:In one possible embodiment, the method also includes:

所述指纹引擎,将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器中;以使:所述ATE机台,在存在测试命令的指纹信息与该测试命令对应的预设指纹信息不一致时,调取所述SRAM存储器中存储的该测试命令的各个关键测试节点对应的指纹信息与所述预设指纹信息进行对比,确定出异常的测试节点。The fingerprint engine stores the fingerprint information corresponding to each key test node of each test command in the SRAM memory in the chip to be tested; so that: the ATE machine, when the fingerprint information of the test command exists and the test When the preset fingerprint information corresponding to the command is inconsistent, the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory is called to compare with the preset fingerprint information, and the abnormal test node is determined.

在一可实施方式中,所述方法还包括:In one possible embodiment, the method also includes:

所述ATE控制器,针对每个测试命令队列,确定该测试命令队列中的所有测试命令是否在预设时间段内返回对应的执行结果,如果否,确定该测试命令队列的测试命令执行异常。The ATE controller, for each test command queue, determines whether all test commands in the test command queue return corresponding execution results within a preset time period, and if not, determines that the test command execution of the test command queue is abnormal.

根据本公开的第三方面,提供了一种芯片测试方法,所述方法应用于芯片测试系统的ATE机台,所述方法包括:According to a third aspect of the present disclosure, a chip testing method is provided, the method is applied to an ATE machine of a chip testing system, and the method includes:

将测试命令写入待测试芯片的ATE控制器,以使:所述ATE控制器将测试命令队列发送至各个测试命令对应的各个CPU;待测试芯片的各个CPU,读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列;待测试芯片的指纹引擎,在所述各个CPU执行测试命令的过程中获取所述各个CPU的访问信息,并根据所述访问信息生成与所述测试命令对应的指纹信息,并将所述指纹信息写入所述ATE控制器的返回结果队列;其中,所述测试命令队列包括多个测试命令,每个测试命令对应待测试芯片的一个CPU,所述CPU的访问信息包括CPU的访问地址、访问数据和控制信号;The test command is written into the ATE controller of the chip to be tested, so that: the ATE controller sends the test command queue to each CPU corresponding to each test command; each CPU of the chip to be tested reads the test command queue The test command corresponding to itself, and execute the test command, and write the execution result into the return result queue of the ATE controller after executing the test command; the fingerprint engine of the chip to be tested is in each CPU Obtain the access information of each CPU during the process of executing the test command, and generate fingerprint information corresponding to the test command according to the access information, and write the fingerprint information into the return result queue of the ATE controller; Wherein, the test command queue includes a plurality of test commands, each test command corresponds to a CPU of the chip to be tested, and the access information of the CPU includes the access address, access data and control signals of the CPU;

读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息;Read execution results and fingerprint information corresponding to each test command in the return result queue of the ATE controller;

基于测试命令的ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较;Determine the preset execution result and preset fingerprint information corresponding to each test command based on the ID of the test command, and compare the execution result and fingerprint information of each test command with the preset execution result and preset fingerprint information corresponding to each test command ;

如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。If the execution result and fingerprint information of each test command are consistent with the preset execution result and preset fingerprint information corresponding to the test command, the test result is determined to be that the test command passes the test; otherwise, the test result is determined to be that the test command fails the test .

根据本公开的第四方面,提供了一种电子设备,包括:According to a fourth aspect of the present disclosure, an electronic device is provided, including:

至少一个处理器;以及at least one processor; and

与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor, to enable the at least one processor to perform the methods described in the present disclosure.

根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the method described in the present disclosure.

本公开的芯片测试系统、方法、设备及存储介质,ATE机台不再需要逐一向芯片写入测试程序并读取测试数据,只需向待测试芯片发送测试命令,然后可以利用待测试芯片内的多个CPU执行测试命令队列中的各个测试命令,由于CPU的运行速度远高于ATE接口传输速度,因此利用待测试芯片自身的CPU执行测试程序可以成倍数的提高测试速度,从而减少了测试时间,降低了测试成本。并且,待测试芯片返回ATE机台的结果是通过待测试芯片自身的指纹引擎自动生成的,不需要ATE机台再花费额外的时间读取结果进行比较,也就是说,ATE机台只需要通过待测试芯片的ATE接口发送测试命令、读取测试结果,即可确定测试命令是否通过测试,这大大减少了ATE机台与待测试芯片的ATE接口传输的数据量,从而大大提高了测试速度,进一步地减少了测试时间,降低了测试成本。In the chip testing system, method, equipment and storage medium of the present disclosure, the ATE machine no longer needs to write test programs and read test data to the chip one by one, but only needs to send a test command to the chip to be tested, and then can use the chip to be tested. Multiple CPUs execute each test command in the test command queue. Since the operating speed of the CPU is much higher than the transmission speed of the ATE interface, using the CPU of the chip to be tested to execute the test program can increase the test speed exponentially, thus reducing the test time. time, reducing the cost of testing. Moreover, the result of the chip to be tested returned to the ATE machine is automatically generated by the fingerprint engine of the chip to be tested, and the ATE machine does not need to spend extra time to read the results for comparison, that is, the ATE machine only needs to The ATE interface of the chip to be tested sends the test command and reads the test result to determine whether the test command passes the test, which greatly reduces the amount of data transmitted between the ATE machine and the ATE interface of the chip to be tested, thus greatly improving the test speed. The test time is further reduced and the test cost is reduced.

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will be readily understood through the following description.

附图说明Description of drawings

通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:The above and other objects, features and advantages of exemplary embodiments of the present disclosure will become readily understood by reading the following detailed description with reference to the accompanying drawings. In the drawings, several embodiments of the present disclosure are shown by way of illustration and not limitation, in which:

在附图中,相同或对应的标号表示相同或对应的部分。In the drawings, the same or corresponding reference numerals denote the same or corresponding parts.

图1示出了本公开实施例提供的芯片测试系统的一种结构示意图;FIG. 1 shows a schematic structural diagram of a chip testing system provided by an embodiment of the present disclosure;

图2示出了本公开实施例提供的芯片测试系统的一种示意图;FIG. 2 shows a schematic diagram of a chip testing system provided by an embodiment of the present disclosure;

图3示出了本公开实施例提供的芯片测试系统的另一种示意图;FIG. 3 shows another schematic diagram of a chip testing system provided by an embodiment of the present disclosure;

图4示出了本公开实施例提供的芯片测试系统的又一种示意图;FIG. 4 shows another schematic diagram of a chip testing system provided by an embodiment of the present disclosure;

图5示出了本公开实施例提供的应用于芯片的芯片测试方法的一种流程示意图;FIG. 5 shows a schematic flowchart of a chip testing method applied to a chip provided by an embodiment of the present disclosure;

图6示出了本公开实施例提供的应用于ATE机台的芯片测试方法的一种流程示意图;FIG. 6 shows a schematic flowchart of a chip testing method applied to an ATE machine provided by an embodiment of the present disclosure;

图7示出了本公开实施例一种电子设备的组成结构示意图。FIG. 7 shows a schematic diagram of the composition and structure of an electronic device according to an embodiment of the present disclosure.

具体实施方式Detailed ways

为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。In order to make the purpose, features, and advantages of the present disclosure more obvious and understandable, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present disclosure. Obviously, the described The embodiments are only some of the embodiments of the present disclosure, but not all of them. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without making creative efforts belong to the protection scope of the present disclosure.

由于目前测试芯片的方法测试时间过长、测试成本过高,因此,为了降低芯片测试时间,节省芯片测试成本,本公开提供了一种芯片测试系统、方法、设备及存储介质。Because the current method for testing chips takes too long and the testing cost is too high, therefore, in order to reduce the chip testing time and save the chip testing cost, the present disclosure provides a chip testing system, method, device and storage medium.

下面将结合本公开实施例中的附图,对本公开实施例的技术方案进行描述。The technical solutions of the embodiments of the present disclosure will be described below with reference to the drawings in the embodiments of the present disclosure.

图1示出了本公开实施例提供的芯片测试系统的一种结构示意图,如图1所示,所述系统包括:Fig. 1 shows a schematic structural diagram of a chip testing system provided by an embodiment of the present disclosure. As shown in Fig. 1, the system includes:

自动化测试设备ATE机台101,用于将测试命令写入待测试芯片的ATE控制器;Automated testing equipment ATE machine 101, for writing test commands into the ATE controller of the chip to be tested;

所述ATE控制器102,用于读取所述ATE机台写入的测试命令,并将测试命令队列发送至各个测试命令对应的各个CPU;其中,所述测试命令队列包括多个测试命令,每个测试命令对应待测试芯片的一个CPU;The ATE controller 102 is configured to read the test command written by the ATE machine, and send the test command queue to each CPU corresponding to each test command; wherein, the test command queue includes a plurality of test commands, Each test command corresponds to a CPU of the chip to be tested;

待测试芯片的各个CPU103,用于读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列;Each CPU103 of the chip to be tested is used to read the test command corresponding to itself in the test command queue, execute the test command, and write the execution result into the ATE controller after executing the test command The return result queue;

待测试芯片的指纹引擎104,用于在所述各个CPU执行测试命令的过程中获取所述各个CPU的访问信息,并根据所述访问信息生成与所述测试命令对应的指纹信息,并在所述测试命令执行完成后将所述指纹信息写入所述ATE控制器的返回结果队列;其中,所述CPU的访问信息包括CPU的访问地址、访问数据和控制信号;The fingerprint engine 104 of the chip to be tested is used to obtain the access information of each CPU during the execution of the test command by each CPU, and generate fingerprint information corresponding to the test command according to the access information, and perform After the execution of the test command is completed, the fingerprint information is written into the return result queue of the ATE controller; wherein, the access information of the CPU includes the access address, access data and control signal of the CPU;

所述ATE机台101,还用于读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息,基于测试命令的ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较,如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。The ATE machine 101 is also used to read the execution result and fingerprint information corresponding to each test command in the return result queue of the ATE controller, and determine the preset execution result and preset execution result corresponding to each test command based on the ID of the test command. Set fingerprint information, and compare the execution results and fingerprint information of each test command with the preset execution results and preset fingerprint information corresponding to each test command, if the execution results and fingerprint information of each test command correspond to the test command If the preset execution result is consistent with the preset fingerprint information, the test result is determined to be that the test command passes the test; otherwise, the test result is determined to be that the test command fails the test.

采用本公开的芯片测试系统,ATE机台不再需要逐一向芯片写入测试程序并读取测试数据,只需向待测试芯片发送测试命令,然后可以利用待测试芯片内的多个CPU执行测试命令队列中的各个测试命令,由于CPU的运行速度远高于ATE接口传输速度,因此利用待测试芯片自身的CPU执行测试程序可以成倍数的提高测试速度,从而减少了测试时间,降低了测试成本。并且,待测试芯片返回ATE机台的结果是通过待测试芯片自身的指纹引擎自动生成的,不需要ATE机台再花费额外的时间读取结果进行比较,也就是说,ATE机台只需要通过待测试芯片的ATE接口发送测试命令、读取测试结果,即可确定测试命令是否通过测试,这大大减少了ATE机台与待测试芯片的ATE接口传输的数据量,从而大大提高了测试速度,进一步地减少了测试时间,降低了测试成本。With the chip test system of the present disclosure, the ATE machine no longer needs to write test programs and read test data to the chip one by one, but only needs to send test commands to the chip to be tested, and then can use multiple CPUs in the chip to be tested to perform the test For each test command in the command queue, since the running speed of the CPU is much higher than the transmission speed of the ATE interface, using the CPU of the chip to be tested to execute the test program can increase the test speed exponentially, thereby reducing the test time and cost. . Moreover, the result of the chip to be tested returned to the ATE machine is automatically generated by the fingerprint engine of the chip to be tested, and the ATE machine does not need to spend extra time to read the results for comparison, that is, the ATE machine only needs to The ATE interface of the chip to be tested sends the test command and reads the test result to determine whether the test command passes the test, which greatly reduces the amount of data transmitted between the ATE machine and the ATE interface of the chip to be tested, thus greatly improving the test speed. The test time is further reduced and the test cost is reduced.

本公开中,测试命令中不仅包含测试命令ID还包括测试命令对应的CPU的ID,ATE控制器可以根据测试命令中包含的CPU的ID将测试命令发送给CPU ID对应的CPU,以使该CPU执行该测试命令。ATE机台在将测试命令写入待测试芯片的ATE控制器之前,可以将空闲的CPU的ID分配给测试命令,以使ATE控制器将该测试命令发送给该空闲的CPU,利用该空闲的CPU执行该测试命令,提高CPU的在进行芯片测试时的利用率。基于此,在一可实施方式中,所述ATE控制器,具体用于读取所述ATE机台写入的测试命令,并将针对测试命令队列的中断信号发送至各个测试命令对应的各个CPU的中断控制器,并在所述各个CPU基于中断控制器接收的中断信号,读取了所述测试命令队列中自身所对应的测试命令之后,释放该测试命令在所述测试命令队列所占用的空间;In the present disclosure, the test command includes not only the test command ID but also the ID of the CPU corresponding to the test command, and the ATE controller can send the test command to the CPU corresponding to the CPU ID according to the CPU ID contained in the test command, so that the CPU Execute the test command. Before the ATE machine writes the test command into the ATE controller of the chip to be tested, it can assign the ID of the idle CPU to the test command, so that the ATE controller sends the test command to the idle CPU, and utilizes the idle CPU The CPU executes the test command to increase the utilization rate of the CPU when performing chip testing. Based on this, in a possible implementation manner, the ATE controller is specifically configured to read the test command written by the ATE machine, and send an interrupt signal for the test command queue to each CPU corresponding to each test command interrupt controller, and after each CPU has read the test command corresponding to itself in the test command queue based on the interrupt signal received by the interrupt controller, release the test command occupied by the test command queue space;

所述ATE机台,还用于检测测试命令队列中是否存在被释放的空间,如果是,向所述ATE控制器写入新的测试命令。The ATE machine is also used to detect whether there is freed space in the test command queue, and if so, write a new test command to the ATE controller.

具体的,所述ATE控制器的内部的命令队列可以接收所述ATE机台写入的测试命令,并发送中断信号至测试命令对应的各个CPU的中断控制器,在各个CPU基于中断控制器接收的中断信号读取了自身所对应的测试命令之后,所述ATE控制器可以释放被读取的测试命令在测试命令队列所占用的空间。Specifically, the internal command queue of the ATE controller can receive the test command written by the ATE machine, and send an interrupt signal to the interrupt controller of each CPU corresponding to the test command, and each CPU receives the test command based on the interrupt controller. After the interrupt signal reads the test command corresponding to itself, the ATE controller can release the space occupied by the read test command in the test command queue.

在一可实施方式中,所述ATE机台,具体用于读取所述ATE控制器的返回结果队列状态,判断所述ATE控制器的返回结果队列中是否存在运算结果,如果是,读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息,以使所述ATE控制器释放所读取的执行结果和指纹信息在所述ATE控制器的返回结果队列占用的空间。In a possible implementation manner, the ATE machine is specifically used to read the return result queue status of the ATE controller, determine whether there is an operation result in the return result queue of the ATE controller, and if so, read Execution results and fingerprint information corresponding to each test command in the return result queue of the ATE controller, so that the ATE controller releases the read execution results and fingerprint information in the return result queue of the ATE controller. space.

在一可实施方式中,所述待测试芯片中用于执行测试命令的测试函数固化所述待测试芯片的ROM存储器或所述待测试芯片的SRAM存储器中;In a possible implementation manner, the test function used to execute the test command in the chip to be tested is solidified in the ROM memory of the chip to be tested or the SRAM memory of the chip to be tested;

所述各个CPU,具体用于读取所述测试命令队列中自身所对应的测试命令,根据测试命令跳转至存储了所述测试函数的目标存储器,利用所述目标存储器中的所述测试函数执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列。Each of the CPUs is specifically configured to read the test command corresponding to itself in the test command queue, jump to the target memory storing the test function according to the test command, and use the test function in the target memory Execute the test command, and write the execution result into the return result queue of the ATE controller after the test command is executed.

在本实施方式中,ATE机台可以在测试开始之前将用于执行测试命令的测试函数下载到待测试芯片内部的SRAM或ROM中。测试命令的参数可以为CPU指向存储了测试函数的目标存储器。如果目标存储器是待测试芯片的ROM存储器,表示待测试芯片的ROM存储器中存储了测试函数,则测试命令的参数可以为CPU指向ROM存储器中测试函数的地址,以使CPU利用ROM存储器中的测试函数执行所述测试命令;如果目标存储器是待测试芯片的SRAM存储器,表示待测试芯片的SRAM存储器中存储了测试函数,则测试命令的参数可以为CPU指向SRAM存储器中测试函数的地址,以使CPU利用SRAM存储器中的测试函数执行所述测试命令。In this embodiment, the ATE machine can download the test function for executing the test command to the SRAM or ROM inside the chip to be tested before the test starts. The parameter of the test command may point the CPU to the target memory storing the test function. If the target memory is the ROM memory of the chip to be tested, it means that the test function is stored in the ROM memory of the chip to be tested, then the parameter of the test command can point to the address of the test function in the ROM memory for the CPU, so that the CPU can use the test function in the ROM memory. Function executes described test command; If the target memory is the SRAM memory of the chip to be tested, it means that the test function is stored in the SRAM memory of the chip to be tested, then the parameter of the test command can point to the address of the test function in the SRAM memory for the CPU, so that The CPU executes the test command using the test function in the SRAM memory.

在一可实施方式中,测试命令的节点指纹信息存储参数可以指示所述待测试芯片的指纹引擎是否存储各个关键测试节点对应的指纹信息,当节点指纹信息存储参数是指示待测试芯片的指纹引擎是否存储各个关键测试节点对应的指纹信息的状态时,则所述待测试芯片的指纹引擎,还可以用于将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器中;In a possible implementation manner, the node fingerprint information storage parameter of the test command can indicate whether the fingerprint engine of the chip to be tested stores the fingerprint information corresponding to each key test node, when the node fingerprint information storage parameter indicates that the fingerprint engine of the chip to be tested When storing the state of the fingerprint information corresponding to each key test node, the fingerprint engine of the chip to be tested can also be used to store the fingerprint information corresponding to each key test node of each test command in the chip to be tested In SRAM memory;

所述ATE机台,还用于在存在测试命令的指纹信息与该测试命令对应的预设指纹信息不一致时,调取所述SRAM存储器中存储的该测试命令的各个关键测试节点对应的指纹信息与所述预设指纹信息进行对比,确定出异常的测试节点。The ATE machine is also used to call the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory when the fingerprint information of the test command is inconsistent with the preset fingerprint information corresponding to the test command Compared with the preset fingerprint information, abnormal test nodes are determined.

在一可实施方式中,所述ATE控制器,还用于针对每个测试命令队列,确定该测试命令队列中的所有测试命令是否在预设时间段内返回对应的执行结果,如果否,确定该测试命令队列的测试命令执行异常。In a possible implementation manner, the ATE controller is also used for each test command queue to determine whether all test commands in the test command queue return corresponding execution results within a preset time period, and if not, determine The execution of the test command in the test command queue is abnormal.

在一可实施方式中,所述待测试芯片的指纹引擎,还用于将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器中;In a possible implementation manner, the fingerprint engine of the chip to be tested is also used to store fingerprint information corresponding to each key test node of each test command in the SRAM memory in the chip to be tested;

所述ATE机台,还用于在存在测试命令的指纹信息与该测试命令对应的预设指纹信息不一致时,调取所述SRAM存储器中存储的该测试命令的各个关键测试节点对应的指纹信息与所述预设指纹信息进行对比,确定出异常的测试节点。The ATE machine is also used to call the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory when the fingerprint information of the test command is inconsistent with the preset fingerprint information corresponding to the test command Compared with the preset fingerprint information, abnormal test nodes are determined.

采用本公开的芯片测试系统,ATE机台不再需要逐一向芯片写入测试程序并读取测试数据,只需向待测试芯片发送测试命令,然后可以利用待测试芯片内的多个CPU执行测试命令队列中的各个测试命令,由于CPU的运行速度远高于ATE接口传输速度,因此利用待测试芯片自身的CPU执行测试程序可以成倍数的提高测试速度,从而减少了测试时间,降低了测试成本。并且,待测试芯片返回ATE机台的结果是通过待测试芯片自身的指纹引擎自动生成的,不需要ATE机台再花费额外的时间读取结果进行比较,也就是说,ATE机台只需要通过待测试芯片的ATE接口发送测试命令、读取测试结果,即可确定测试命令是否通过测试,这大大减少了ATE机台与待测试芯片的ATE接口传输的数据量,从而大大提高了测试速度,进一步地减少了测试时间,降低了测试成本。With the chip test system of the present disclosure, the ATE machine no longer needs to write test programs and read test data to the chip one by one, but only needs to send test commands to the chip to be tested, and then can use multiple CPUs in the chip to be tested to perform the test For each test command in the command queue, since the running speed of the CPU is much higher than the transmission speed of the ATE interface, using the CPU of the chip to be tested to execute the test program can increase the test speed exponentially, thereby reducing the test time and cost. . Moreover, the result of the chip to be tested returned to the ATE machine is automatically generated by the fingerprint engine of the chip to be tested, and the ATE machine does not need to spend extra time to read the results for comparison, that is, the ATE machine only needs to The ATE interface of the chip to be tested sends the test command and reads the test result to determine whether the test command passes the test, which greatly reduces the amount of data transmitted between the ATE machine and the ATE interface of the chip to be tested, thus greatly improving the test speed. The test time is further reduced and the test cost is reduced.

在一可实施方式中,图2示出了本公开实施例提供的芯片测试系统的一种示意图。如图2所示,ATE Tester为ATE机台;SoC为待测试芯片;ATE test是指测试命令;ATE CTRL为待测试芯片的ATE控制器,ATE CTRL中的ATE test pattern structure是指测试命令队列;SRAM为待测试芯片的SRAM存储器,SRAM中的ATE programs是指ATE机台写入SRAM的测试程序,SRAM中的Signature Dump area是SRAM中用来存储指纹引擎写入的各个测试命令的各个关键测试节点对应的指纹信息的区域;CPU0和CPU1等是待测试芯片的CPU;SignatureEngine是待测试芯片的指纹引擎;Interrupt Controller是指CPU的中断控制器;ROM是待测试芯片的ROM存储器,ROM中的ATE functions是指ROM存储的用于执行测试命令的函数;NV memories是指待测试芯片内部的一些非易失性内存;Analog IPs是指模拟芯片,MixSignal IPs是指混合信号;Test ID是指测试命令的ID,Signature是指测试命令对应的指纹信息,Results是指测试命令对应的执行结果。Pattern0和Pattern1指ATE机台写入ATE控制器的多组测试命令。In a possible implementation manner, FIG. 2 shows a schematic diagram of a chip testing system provided by an embodiment of the present disclosure. As shown in Figure 2, ATE Tester is the ATE machine; SoC is the chip to be tested; ATE test is the test command; ATE CTRL is the ATE controller of the chip to be tested, and ATE test pattern structure in ATE CTRL is the test command queue ;SRAM is the SRAM memory of the chip to be tested. The ATE programs in the SRAM refer to the test programs written into the SRAM by the ATE machine. The Signature Dump area in the SRAM is used to store the keys of each test command written by the fingerprint engine in the SRAM. The fingerprint information area corresponding to the test node; CPU0 and CPU1 are the CPU of the chip to be tested; SignatureEngine is the fingerprint engine of the chip to be tested; Interrupt Controller is the interrupt controller of the CPU; ATE functions refer to the functions stored in ROM for executing test commands; NV memories refer to some non-volatile memories inside the chip to be tested; Analog IPs refers to analog chips, MixSignal IPs refers to mixed signals; Test ID refers to The ID of the test command, Signature refers to the fingerprint information corresponding to the test command, and Results refers to the execution result corresponding to the test command. Pattern0 and Pattern1 refer to multiple sets of test commands written by the ATE machine to the ATE controller.

以图2为例,ATE Tester可以将测试命令写入待测试芯片的ATE CTRL;ATE CTRL可以读取写入的测试命令,并将针对包含测试命令ID的ATE test pattern structure的中断信号发送至各个测试命令对应的各个CPU的中断控制器Interrupt Controller,并在CPU基于中断控制器接收的中断信号读取对应的测试命令后,释放该测试命令在测试命令队列中占用的空间,便于ATE CTRL继续写入新的测试命令。待测试芯片的各个CPU可以读取中断控制器Interrupt Controller被写入的测试命令,并利用ROM中存储的用于执行测试命令的函数ATE functions执行测试命令。如果执行测试命令的函数无法调用ROM存储器中的测试程序时,ATE Tester可以向SRAM中的ATE programs写入测试程序,并向CPU发送跳转命令,使CPU跳转至SRAM中的ATE programs,利用SRAM中的ATE programs中的测试程序执行测试命令,CPU在执行完测试命令后将执行结果Results写入ATE CTRL的返回结果队列;Taking Figure 2 as an example, the ATE Tester can write the test command into the ATE CTRL of the chip to be tested; the ATE CTRL can read the written test command and send the interrupt signal for the ATE test pattern structure containing the test command ID to each The interrupt controller Interrupt Controller of each CPU corresponding to the test command, and after the CPU reads the corresponding test command based on the interrupt signal received by the interrupt controller, releases the space occupied by the test command in the test command queue, so that ATE CTRL can continue to write Enter a new test command. Each CPU of the chip to be tested can read the test command written by the interrupt controller Interrupt Controller, and use the function ATE functions for executing the test command stored in the ROM to execute the test command. If the function executing the test command cannot call the test program in the ROM memory, the ATE Tester can write the test program to the ATE programs in the SRAM, and send a jump command to the CPU to make the CPU jump to the ATE programs in the SRAM, using The test program in the ATE programs in the SRAM executes the test command, and the CPU writes the execution result Results into the return result queue of ATE CTRL after executing the test command;

待测试芯片的指纹引擎Signature Engine,可以在各个CPU执行测试命令的过程中获取各个CPU的访问信息,并根据访问信息生成与测试命令对应的指纹信息Signature,并在测试命令执行完成后将指纹信息Signature写入ATE CTRL的返回结果队列;ATE CTRL的返回结果队列中写入的还包括各个测试命令的ID,即Test ID;The fingerprint engine Signature Engine of the chip to be tested can obtain the access information of each CPU during the execution of the test command by each CPU, and generate the fingerprint information Signature corresponding to the test command according to the access information, and send the fingerprint information to the test command after the test command is executed Signature is written into the return result queue of ATE CTRL; the return result queue of ATE CTRL also includes the ID of each test command, that is, Test ID;

然后ATE CTRL可以针对各个测试命令,将该测试命令对应的Test ID、指纹信息Signature和执行结果Results返回至ATE Tester,则ATE Tester可以读取各个测试命令对应的Test ID、指纹信息Signature和执行结果Results,并基于Test ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较,如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。Then ATE CTRL can return the Test ID, fingerprint information Signature and execution result Results corresponding to the test command to ATE Tester for each test command, and then ATE Tester can read the Test ID, fingerprint information Signature and execution result corresponding to each test command Results, and determine the preset execution results and preset fingerprint information corresponding to each test command based on the Test ID, and compare the execution results and fingerprint information of each test command with the preset execution results and preset fingerprint information corresponding to each test command Comparison, if the execution result and fingerprint information of each test command are consistent with the preset execution result and preset fingerprint information corresponding to the test command, it is determined that the test result is that the test command passes the test; otherwise, it is determined that the test result is that the test command does not Passed the test.

在一可实施方式中,图3示出了本公开实施例提供的芯片测试系统的另一种示意图。如图3所示,Results Fifo是指ATE控制器的返回结果队列,Test FIFO是指测试命令队列,CPU0至CPUn都是待测试芯片SoC的CPU。如图3所示,本公开中,ATE CTRL可以将测试命令队列发送给多个CPU,多个CPU可以并行执行各自对应的测试命令,ATE CTRL可以将各个CPU的Test ID、指纹信息Signature和执行结果Results构成的信息队列组成返回结果队列,返回至ATE Tester,供ATE Tester读取结果并进行比较。而多个CPU并行执行测试命令可以进一步提升测试效率。In a possible implementation manner, FIG. 3 shows another schematic diagram of a chip testing system provided by an embodiment of the present disclosure. As shown in Figure 3, Results Fifo refers to the return result queue of the ATE controller, Test FIFO refers to the test command queue, and CPU0 to CPUn are the CPUs of the chip SoC to be tested. As shown in Figure 3, in this disclosure, ATE CTRL can send the test command queue to multiple CPUs, multiple CPUs can execute their corresponding test commands in parallel, and ATE CTRL can send the Test ID, fingerprint information Signature and execution of each CPU The information queue formed by Results constitutes the return result queue, which is returned to ATE Tester for ATE Tester to read and compare the results. The parallel execution of test commands by multiple CPUs can further improve test efficiency.

在一可实施方式中,图4示出了本公开实施例提供的芯片测试系统的又一种示意图。如图4所示,对于每个测试命令,也可以根据该测试命令的执行时间判断测试结果是否正常,如果测试命令的执行时间在合理时间范围内,则判断测试命令的执行结果正常,当测试命令的执行时间超出合理时间范围时,则判断测试命令的执行结果异常。如果测试命令长时间没有返回测试结果,则可以判断该测试命令timeout(超时),表示测试命令的执行结果异常。In a possible implementation manner, FIG. 4 shows another schematic diagram of a chip testing system provided by an embodiment of the present disclosure. As shown in Figure 4, for each test command, it is also possible to judge whether the test result is normal according to the execution time of the test command. If the execution time of the test command is within a reasonable time range, it is judged that the execution result of the test command is normal. When the test When the execution time of the command exceeds the reasonable time range, it is judged that the execution result of the test command is abnormal. If the test command does not return a test result for a long time, it can be judged that the test command timeout (timeout), indicating that the execution result of the test command is abnormal.

采用本公开实施例提供的芯片测试系统,可以在SoC芯片并行执行多个测试命,实现流水作业,并且测试命令对应的返回结果不需要与测试命令队列中各个测试命令的顺序一致,可以乱序返回,然后根据测试命令的ID查找对应的预设执行结果和预设指纹信息进行比对,大大提高了测试效率。并且,本公开实施例提供的芯片测试系统可以利用待测试芯片内部的内多个CPU及其硬件资源进行测试,不需要ATE机台执行测试程序,而且每次返回的结果是通过指纹引擎自动生成的, ATE机台只需要通过SoC ATE接口发送测试命令读取测试结果,即可判断测试命令是否正常执行,这大大减少了ATE机台和待测试芯片之间传输的数据量,从而大大提高了测试的速度,提升了测试效率,同时也降低了对于ATE机台的需求,进而降低了测试成本。By adopting the chip test system provided by the embodiment of the present disclosure, multiple test commands can be executed in parallel on the SoC chip to realize pipeline operation, and the returned results corresponding to the test commands do not need to be consistent with the order of each test command in the test command queue, and can be out of order. Return, and then search for the corresponding preset execution result according to the ID of the test command and compare it with the preset fingerprint information, which greatly improves the test efficiency. Moreover, the chip testing system provided by the embodiments of the present disclosure can use multiple CPUs and hardware resources inside the chip to be tested for testing, without the need for an ATE machine to execute the test program, and the results returned each time are automatically generated by the fingerprint engine Yes, the ATE machine only needs to send a test command through the SoC ATE interface to read the test result, and then judge whether the test command is executed normally, which greatly reduces the amount of data transmitted between the ATE machine and the chip to be tested, thereby greatly improving The speed of the test improves the test efficiency, and also reduces the demand for ATE machines, thereby reducing the test cost.

基于同一发明构思,根据本公开上述实施例提供的芯片测试系统,相应地,本公开另一实施例还提供了一种应用于芯片测试系统的待测试芯片测试方法。图5示出了本公开实施例提供的应用于芯片的芯片测试方法的一种流程示意图,所述方法应用于芯片测试系统的待测试芯片,所述待测试芯片包括ATE控制器、至少一个CPU和指纹引擎,如图5所示,所述方法包括:Based on the same inventive concept, according to the chip testing system provided by the above-mentioned embodiments of the present disclosure, another embodiment of the present disclosure also provides a chip testing method applied to the chip testing system. 5 shows a schematic flow chart of a chip testing method applied to a chip provided by an embodiment of the present disclosure. The method is applied to a chip to be tested in a chip testing system, and the chip to be tested includes an ATE controller and at least one CPU. And fingerprint engine, as shown in Figure 5, described method comprises:

S501,所述ATE控制器,读取所述芯片测试系统的ATE机台写入的测试命令,并将测试命令队列发送至各个测试命令对应的CPU。S501. The ATE controller reads test commands written by the ATE machine of the chip testing system, and sends a test command queue to a CPU corresponding to each test command.

本公开中,ATE机台可以将多个测试命令写入ATE控制器的模式结构队列中,写入多个测试命令后的模式结构队列可以作为一个测试命令队列。每个测试命令队列包含的信息包括但不限于:各个测试命令的ID、各个测试命令对应的CPU的ID、各个测试命令的起始地址、各个测试命令的对应的测试数据长度、是否dump(转储)数据、每个测试命令对应的测试程序的起始地址等。In the present disclosure, the ATE machine can write multiple test commands into the pattern structure queue of the ATE controller, and the pattern structure queue after writing the multiple test commands can be used as a test command queue. The information contained in each test command queue includes but is not limited to: the ID of each test command, the ID of the CPU corresponding to each test command, the start address of each test command, the corresponding test data length of each test command, whether to dump (transfer storage) data, the start address of the test program corresponding to each test command, etc.

本公开中,测试命令队列可以包括多个测试命令,每个测试命令对应待测试芯片的一个CPU,每个测试命令对应的CPU即为用于执行该测试命令的CPU。测试命令中不仅包含测试命令ID还包括测试命令对应的CPU的ID,ATE控制器可以根据测试命令中包含的CPU的ID将测试命令发送给CPU ID对应的CPU,以使该CPU执行该测试命令。ATE机台在将测试命令写入待测试芯片的ATE控制器之前,可以将空闲的CPU的ID分配给测试命令,以使ATE控制器将该测试命令发送给该空闲的CPU,利用该空闲的CPU执行该测试命令,提高CPU的在进行芯片测试时的利用率。基于此,ATE控制器在读取出ATE机台写入的多个测试命令后,可以通过测试命令队列的形式,根据测试命令队列中各个测试命令对应的CPU的ID,将测试命令队列分别发送给各个测试命令对应的CPU。In the present disclosure, the test command queue may include multiple test commands, each test command corresponds to a CPU of the chip to be tested, and the CPU corresponding to each test command is the CPU for executing the test command. The test command includes not only the test command ID but also the ID of the CPU corresponding to the test command, and the ATE controller can send the test command to the CPU corresponding to the CPU ID according to the CPU ID contained in the test command, so that the CPU executes the test command . Before the ATE machine writes the test command into the ATE controller of the chip to be tested, it can assign the ID of the idle CPU to the test command, so that the ATE controller sends the test command to the idle CPU, and utilizes the idle CPU The CPU executes the test command to increase the utilization rate of the CPU when performing chip testing. Based on this, after the ATE controller reads the multiple test commands written by the ATE machine, it can send the test command queues respectively according to the ID of the CPU corresponding to each test command in the test command queue in the form of Give each test command the corresponding CPU.

在一可实施方式中,S501的具体实现方式可以包括如下步骤A1-A2:In a possible implementation manner, the specific implementation of S501 may include the following steps A1-A2:

步骤A1,读取所述ATE机台写入的测试命令,并将针对测试命令队列的中断信号发送至各个测试命令对应的各个CPU的中断控制器。Step A1, read the test command written by the ATE machine, and send the interrupt signal for the test command queue to the interrupt controller of each CPU corresponding to each test command.

步骤A2,在所述各个CPU基于中断控制器接收的中断信号读取了所述测试命令队列中自身所对应的测试命令之后,释放该测试命令在所述测试命令队列所占用的空间,以使:所述ATE机台检测测试命令队列中是否存在被释放的空间,如果是,向所述ATE控制器写入新的测试命令。Step A2, after each CPU reads the test command corresponding to itself in the test command queue based on the interrupt signal received by the interrupt controller, release the space occupied by the test command in the test command queue, so that : The ATE machine detects whether there is freed space in the test command queue, and if so, writes a new test command to the ATE controller.

本公开中,每个测试命令会占用测试命令队列的空间。而待测试芯片的ATE控制器的内部的命令队列可以接收ATE机台写入的测试命令,在ATE控制器在读取ATE机台写入的测试命令后,可以将测试命令队列发送至各个测试命令对应的各个CPU的中断控制器。待测试芯片的CPU可以从自身的中断控制器中读取对应的测试命令并执行测试命令,并且,CPU执行测试命令的过程是CPU对待测试芯片的访问顺序。In the present disclosure, each test command occupies space in the test command queue. The internal command queue of the ATE controller of the chip to be tested can receive the test command written by the ATE machine. After the ATE controller reads the test command written by the ATE machine, it can send the test command queue to each test The interrupt controller of each CPU corresponding to the command. The CPU of the chip to be tested can read the corresponding test command from its own interrupt controller and execute the test command, and the process of the CPU executing the test command is the access sequence of the CPU to the chip to be tested.

而当待测试芯片的CPU从自身的中断控制器中读取了对应的测试命令后,ATE控制器可以释放该测试命令所占用的测试命令队列的空间。After the CPU of the chip to be tested reads the corresponding test command from its own interrupt controller, the ATE controller can release the space of the test command queue occupied by the test command.

而ATE机台可以每隔预设时长检测测试命令队列中是否存在被释放的空间,如果检测到了测试命令队列中存在被释放的空间,可以向ATE控制器写入新的测试命令。或者,在ATE控制器可以释放该测试命令所占用的测试命令队列的空间后,ATE控制器还可以向ATE机台发送测试命令队列存在空余空间的信息,ATE机台在接收到测试命令队列存在空余空间的信息后,可以向ATE控制器写入新的测试命令。The ATE machine can detect whether there is freed space in the test command queue every preset time period, and if it detects that there is freed space in the test command queue, it can write a new test command to the ATE controller. Or, after the ATE controller can release the space of the test command queue occupied by the test command, the ATE controller can also send the information that there is free space in the test command queue to the ATE machine, and the ATE machine can After receiving the information of the free space, a new test command can be written to the ATE controller.

S502,各个所述CPU,读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列。S502, each of the CPUs reads the test command corresponding to itself in the test command queue, executes the test command, and writes the execution result into the return of the ATE controller after executing the test command result queue.

在一可实施方式中,所述待测试芯片中用于执行测试命令的函数固化所述待测试芯片的ROM存储器或所述待测试芯片的SRAM存储器中。所述读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列的步骤,具体可以包括如下步骤B1-B3:In a possible implementation manner, the function for executing the test command in the chip to be tested is solidified in the ROM memory of the chip to be tested or the SRAM memory of the chip to be tested. The step of reading the test command corresponding to itself in the test command queue, executing the test command, and writing the execution result into the return result queue of the ATE controller after executing the test command, Specifically, the following steps B1-B3 may be included:

步骤B1,读取所述测试命令队列中自身所对应的测试命令。Step B1, read the test command corresponding to itself in the test command queue.

待测试芯片的各个CPU可以读取测试命令队列中自身所对应的测试命令。Each CPU of the chip to be tested can read the test command corresponding to itself in the test command queue.

步骤B2,根据测试命令跳转至存储了所述测试函数的目标存储器。Step B2, jumping to the target memory storing the test function according to the test command.

本公开中,ATE机台可以在测试开始之前将用于执行测试命令的测试函数下载到待测试芯片内部的SRAM或ROM中。测试命令的参数可以为CPU指向存储了测试函数的目标存储器。如果目标存储器是待测试芯片的ROM存储器,表示待测试芯片的ROM存储器中存储了测试函数,则测试命令的参数可以为CPU指向ROM存储器中测试函数的地址,以使CPU利用ROM存储器中的测试函数执行所述测试命令;如果目标存储器是待测试芯片的SRAM存储器,表示待测试芯片的SRAM存储器中存储了测试函数,则测试命令的参数可以为CPU指向SRAM存储器中测试函数的地址,以使CPU利用SRAM存储器中的测试函数执行所述测试命令。In the present disclosure, the ATE machine can download the test function for executing the test command into the SRAM or ROM inside the chip to be tested before the test starts. The parameter of the test command may be that the CPU points to the target memory storing the test function. If the target memory is the ROM memory of the chip to be tested, it means that the test function is stored in the ROM memory of the chip to be tested, then the parameter of the test command can point to the address of the test function in the ROM memory for the CPU, so that the CPU can use the test function in the ROM memory. Function executes described test command; If the target memory is the SRAM memory of the chip to be tested, it means that the test function is stored in the SRAM memory of the chip to be tested, then the parameter of the test command can point to the address of the test function in the SRAM memory for the CPU, so that The CPU executes the test command using the test function in the SRAM memory.

步骤B3,利用所述目标存储器中的所述测试函数执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列。Step B3, using the test function in the target memory to execute the test command, and write the execution result into the return result queue of the ATE controller after the test command is executed.

CPU在接收到测试命令后,如果目标存储器是待测试芯片的ROM存储器,表示待测试芯片的ROM存储器中存储了测试函数,则测试命令的参数可以为CPU指向ROM存储器中测试函数的地址,CPU可以利用ROM存储器中的测试函数执行所述测试命令;如果目标存储器是待测试芯片的SRAM存储器,表示待测试芯片的SRAM存储器中存储了测试函数,则测试命令的参数可以为CPU指向SRAM存储器中测试函数的地址,CPU可以利用SRAM存储器中的测试函数执行所述测试命令。并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列。After the CPU receives the test command, if the target memory is the ROM memory of the chip to be tested, it means that the test function is stored in the ROM memory of the chip to be tested, then the parameter of the test command can point to the address of the test function in the ROM memory for the CPU, and the CPU Can utilize the test function in the ROM memory to carry out described test command; If the target memory is the SRAM memory of the chip to be tested, it means that the test function is stored in the SRAM memory of the chip to be tested, then the parameter of the test command can point to the SRAM memory for the CPU The address of the test function, the CPU can use the test function in the SRAM memory to execute the test command. And write the execution result into the return result queue of the ATE controller after executing the test command.

S503,所述指纹引擎,在所述各个CPU执行测试命令的过程中获取所述各个CPU的访问信息,并根据所述访问信息生成与所述测试命令对应的指纹信息,并在所述测试命令执行完成后将所述指纹信息写入所述ATE控制器的返回结果队列,以使所述ATE机台执行信息比较步骤。S503, the fingerprint engine acquires the access information of each CPU during the execution of the test command by each CPU, and generates fingerprint information corresponding to the test command according to the access information, and executes the test command After the execution is completed, the fingerprint information is written into the return result queue of the ATE controller, so that the ATE machine performs the information comparison step.

其中,所述ATE机台执行信息比较步骤包括:读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息,基于测试命令的ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较,如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。Wherein, the step of comparing the execution information of the ATE machine includes: reading the execution results and fingerprint information corresponding to each test command in the return result queue of the ATE controller, and determining the preset execution corresponding to each test command based on the ID of the test command result and preset fingerprint information, and compare the execution result and fingerprint information of each test command with the preset execution result and preset fingerprint information corresponding to each test command, if the execution result and fingerprint information of each test command are respectively compared with the The preset execution result corresponding to the test command is consistent with the preset fingerprint information, and the test result is determined as the test command passed the test; otherwise, the test result is determined as the test command failed the test.

其中,所述CPU的访问信息包括CPU的访问地址、访问数据和控制信号。Wherein, the CPU access information includes CPU access address, access data and control signals.

预设执行结果为测试命令理论上对应的执行结果,预设指纹信息为执行测试命令的过程中理论上可以生成的指纹信息。The preset execution result is the theoretically corresponding execution result of the test command, and the preset fingerprint information is the fingerprint information that can be theoretically generated during the process of executing the test command.

指纹引擎是待测试芯片中的一个全自动的硬件单元,指纹引擎可以在CPU执行测试命令的过程中不断地检测CPU的访问信息,并且,将CPU每次访问芯片后的访问信息生成对应的指纹信息。因此,指纹引擎根据CPU的访问信息生成的与测试命令对应的指纹信息实际上是一个指纹信息序列,该指纹信息序列包括CPU每次访问芯片后的访问信息生成对应的指纹信息。指纹引擎在生成指纹信息后可以将指纹信息写入ATE控制器。本公开中,指纹引擎可以采用指纹生成算法,利用访问信息生成对应的指纹信息。具体的,指纹生成算法可以是压缩函数算法、哈希算法或CRC32(循环冗余校验)算法等。例如,指纹引擎可以采用CRC32算法,通过任意长度输入数据生成32比特的指纹信息。The fingerprint engine is a fully automatic hardware unit in the chip to be tested. The fingerprint engine can continuously detect the access information of the CPU during the execution of the test command by the CPU, and generate corresponding fingerprints from the access information of the CPU each time it accesses the chip. information. Therefore, the fingerprint information corresponding to the test command generated by the fingerprint engine according to the access information of the CPU is actually a fingerprint information sequence, and the fingerprint information sequence includes the fingerprint information corresponding to the access information generated by the CPU after each access to the chip. After the fingerprint engine generates the fingerprint information, it can write the fingerprint information into the ATE controller. In the present disclosure, the fingerprint engine may use a fingerprint generation algorithm to generate corresponding fingerprint information using the access information. Specifically, the fingerprint generation algorithm may be a compression function algorithm, a hash algorithm, or a CRC32 (cyclic redundancy check) algorithm or the like. For example, the fingerprint engine can use the CRC32 algorithm to generate 32-bit fingerprint information through input data of any length.

采用实际操作循环编码CRC32或哈希算法等,利用访问信息生成对应的指纹信息。Use the actual operation cycle coding CRC32 or hash algorithm, etc., and use the access information to generate the corresponding fingerprint information.

当CPU结束执行后,CPU可以将执行测试命令的执行结果、指纹信息以及测试命令的ID都写入ATE控制器,ATE控制器将执行结果、指纹信息以及测试命令的ID返回给ATE机台。ATE机台在接收到ATE控制器返回的信息后,即可以读取指纹信息、执行结果和测试命令ID,然后根据测试命令ID,将该测试命令ID对应的预设执行结果与返回的执行结果进行对比,以及,将该测试命令ID对应的预设指纹信息与返回的指纹信息进行对比,如果针对芯片的各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,则可以确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。When the CPU finishes executing, the CPU can write the execution result, fingerprint information and test command ID of the test command to the ATE controller, and the ATE controller will return the execution result, fingerprint information and test command ID to the ATE machine. After receiving the information returned by the ATE controller, the ATE machine can read the fingerprint information, execution result and test command ID, and then according to the test command ID, the preset execution result corresponding to the test command ID and the returned execution result Compare, and compare the preset fingerprint information corresponding to the test command ID with the returned fingerprint information, if the execution result and fingerprint information of each test command for the chip are respectively the preset execution result and the preset execution result corresponding to the test command Assuming that the fingerprint information is consistent, it can be determined that the test command passes the test as a result of the test; otherwise, it is determined that the test command fails the test.

对于一个测试命令队列,本公开可以通过比较ATE控制器返回给ATE机台的指纹信息判断测试命令是否通过测试,因为CPU执行测试命令的过程中任意一步的执行错误都会导致返回的指纹信息与预设指纹信息不同。因此,ATE机台只需要对比测试命令的执行结果与预设执行结果,以及对比指纹信息与预设指纹信息,不需要参与芯片内部CPU执行测试命令的过程。For a test command queue, this disclosure can judge whether the test command has passed the test by comparing the fingerprint information returned by the ATE controller to the ATE machine, because any execution error in the process of executing the test command by the CPU will cause the returned fingerprint information to be different from the expected one. Let the fingerprint information be different. Therefore, the ATE machine only needs to compare the execution result of the test command with the preset execution result, and compare the fingerprint information with the preset fingerprint information, and does not need to participate in the process of executing the test command by the CPU inside the chip.

并且,本公开中,由于每个测试命令的执行结果、指纹信息和测试命令的ID也是一个队列,该队列的顺序不需要与测试命令队列中各个测试命令的顺序相对应,ATE控制器返回每个测试命令的执行结果、指纹信息和测试命令的ID构成的信息队列时不需要遵循测试命令队列中各个测试命令的顺序。例如,如果测试命令队列中各个测试命令的顺序为:测试命令D1、测试命令D2和测试命令D3。当CPU最先执行完测试命令D2,且生成了测试命令D2的执行结果、指纹信息和测试命令D2的ID对应的信息队列。则ATE控制器可以不遵循测试命令队列中各个测试命令的顺序,先将测试命令D2的执行结果、指纹信息和测试命令D2的ID对应的信息队列返回给ATE机台,ATE机台可以根据返回的信息队列中测试命令D2的ID直接查找测试命令D2对应的预设执行结果和预设指纹信息,用于与返回的测试命令D2的执行结果和指纹信息进行对比。And, in the present disclosure, since the execution result of each test command, the fingerprint information and the ID of the test command are also a queue, the order of the queue does not need to correspond to the order of each test command in the test command queue, and the ATE controller returns each The information queue formed by the execution result of each test command, the fingerprint information and the ID of the test command does not need to follow the order of each test command in the test command queue. For example, if the sequence of each test command in the test command queue is: test command D1, test command D2 and test command D3. When the CPU finishes executing the test command D2 first, and generates an information queue corresponding to the execution result of the test command D2, the fingerprint information, and the ID of the test command D2. Then the ATE controller may not follow the order of each test command in the test command queue, and first return the execution result of the test command D2, the fingerprint information and the information queue corresponding to the ID of the test command D2 to the ATE machine, and the ATE machine can return it according to the The ID of the test command D2 in the information queue directly searches for the preset execution result and preset fingerprint information corresponding to the test command D2, which is used for comparison with the returned execution result and fingerprint information of the test command D2.

采用本公开的芯片测试方法,ATE机台不再需要逐一向芯片写入测试程序并读取测试数据,只需向待测试芯片发送测试命令,然后可以利用待测试芯片内的多个CPU执行测试命令队列中的各个测试命令,由于CPU的运行速度远高于ATE接口传输速度,因此利用待测试芯片自身的CPU执行测试程序可以成倍数的提高测试速度,从而减少了测试时间,降低了测试成本。并且,待测试芯片返回ATE机台的结果是通过待测试芯片自身的指纹引擎自动生成的,不需要ATE机台再花费额外的时间读取结果进行比较,也就是说,ATE机台只需要通过待测试芯片的ATE接口发送测试命令、读取测试结果,即可确定测试命令是否通过测试,这大大减少了ATE机台与待测试芯片的ATE接口传输的数据量,从而大大提高了测试速度,进一步地减少了测试时间,降低了测试成本。With the chip testing method of the present disclosure, the ATE machine no longer needs to write test programs and read test data to the chip one by one, but only needs to send test commands to the chip to be tested, and then can use multiple CPUs in the chip to be tested to perform the test For each test command in the command queue, since the running speed of the CPU is much higher than the transmission speed of the ATE interface, using the CPU of the chip to be tested to execute the test program can increase the test speed exponentially, thereby reducing the test time and cost. . Moreover, the result of the chip to be tested returned to the ATE machine is automatically generated by the fingerprint engine of the chip to be tested, and the ATE machine does not need to spend extra time to read the results for comparison, that is, the ATE machine only needs to The ATE interface of the chip to be tested sends the test command and reads the test result to determine whether the test command passes the test, which greatly reduces the amount of data transmitted between the ATE machine and the ATE interface of the chip to be tested, thus greatly improving the test speed. The test time is further reduced and the test cost is reduced.

在一可实施方式中,所述指纹引擎,将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器中;以使:所述ATE机台,在存在测试命令的指纹信息与该测试命令对应的预设指纹信息不一致时,调取所述SRAM存储器中存储的该测试命令的各个关键测试节点对应的指纹信息与所述预设指纹信息进行对比,确定出异常的测试节点。In a possible implementation manner, the fingerprint engine stores the fingerprint information corresponding to each key test node of each test command in the SRAM memory in the chip to be tested; so that: the ATE machine, in the existence test When the fingerprint information of the command is inconsistent with the preset fingerprint information corresponding to the test command, the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory is called and compared with the preset fingerprint information to determine Unusual test node.

本实施例中,ATE机台在对各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较的时候,如果比较出存在测试命令的执行结果与预设执行结果不一致,和/或,存在测试命令的指纹信息与预设指纹信息不一致,ATE机台可以通过对该执行结果和/或指纹信息进行debug,定位出异常的测试节点。为了可以通过debug定位出异常的测试节点,本实施例中,指纹引擎可以将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器中。则ATE机台可以通过SRAM存储器中存储的各个关键测试节点对应的指纹信息与预设指纹信息进行比较,从而定位出异常的测试节点。In this embodiment, when the ATE machine compares the execution result and fingerprint information of each test command with the preset execution result and preset fingerprint information corresponding to each test command, if there is an execution result of the test command and If the preset execution results are inconsistent, and/or, the fingerprint information of the test command is inconsistent with the preset fingerprint information, the ATE machine can locate the abnormal test node by debugging the execution result and/or fingerprint information. In order to locate abnormal test nodes through debugging, in this embodiment, the fingerprint engine may store fingerprint information corresponding to each key test node of each test command in the SRAM memory in the chip to be tested. Then the ATE machine can compare the fingerprint information corresponding to each key test node stored in the SRAM memory with the preset fingerprint information, so as to locate the abnormal test node.

当没有硬件可以用于存储各个测试命令的各个关键测试节点对应的指纹信息时,本公开还可以通过CPU进行转储各个测试命令的各个关键测试节点对应的指纹信息,此时因为CPU行为变化所以指纹信息的结果也会不同。When there is no hardware that can be used to store the fingerprint information corresponding to each key test node of each test command, the disclosure can also dump the fingerprint information corresponding to each key test node of each test command through the CPU. Results for fingerprint information will also vary.

本公开中,由于打开存储到SRAM中存储的信息需要消耗时间和存储空间,因此,在所述指纹引擎将各个测试命令的各个关键测试节点对应的指纹信息存储于所述待测试芯片中的SRAM存储器之后,ATE机台可以根据时间和存储空间选择是否打开SRAM存储器存储的测试命令的各个关键测试节点对应的指纹信息。In the present disclosure, since it takes time and storage space to open the information stored in the SRAM, the fingerprint engine stores the fingerprint information corresponding to each key test node of each test command in the SRAM in the chip to be tested After the memory, the ATE machine can choose whether to open the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory according to the time and storage space.

在一可实施方式中,所述ATE控制器,还可以针对每个测试命令队列,确定该测试命令队列中的所有测试命令是否在预设时间段内返回对应的执行结果,如果否,确定该测试命令队列的测试命令执行异常。In a possible implementation manner, the ATE controller can also, for each test command queue, determine whether all test commands in the test command queue return corresponding execution results within a preset time period, and if not, determine the The execution of the test command of the test command queue is abnormal.

其中,预设时间段为测试命令队列中所有测试命令被执行完成的理论时长,预设时间段可以根据具体的测试场景进行设定,此处不做具体限定。Wherein, the preset time period is the theoretical time period for all test commands in the test command queue to be executed, and the preset time period can be set according to a specific test scenario, and is not specifically limited here.

本公开中,ATE控制器可以将测试命令队列发送给多个CPU,多个CPU可以并行执行各自对应的测试命令,ATE控制器可以将各个CPU的执行结果、指纹信息和测试命令ID构成的信息队列组成返回结果队列,返回至ATE机台,供ATE机台读取结果并进行比较。In this disclosure, the ATE controller can send the test command queue to multiple CPUs, and the multiple CPUs can execute their corresponding test commands in parallel. The queue forms the return result queue, which is returned to the ATE machine for the ATE machine to read and compare the results.

也就是说,本公开提供的芯片测试方法支持多CPU多个测试命令的并行,提高了芯片测试效率。That is to say, the chip testing method provided by the present disclosure supports the parallelism of multiple test commands of multiple CPUs, which improves the efficiency of chip testing.

采用本公开实施例提供的芯片测试方法,可以在待测试芯片上并行执行多个测试命,实现流水作业,并且测试命令对应的返回结果不需要与测试命令队列中各个测试命令的顺序一致,可以乱序返回,然后根据测试命令的ID查找对应的预设执行结果和预设指纹信息进行比对,大大提高了测试效率。并且,本公开实施例提供的芯片测试系统可以利用待测试芯片内部的内多个CPU及其硬件资源进行测试,不需要ATE机台执行测试程序,而且每次返回的结果是通过指纹引擎自动生成的,ATE机台只需要通过SoC ATE接口发送测试命令读取测试结果,即可判断测试命令是否正常执行,这大大减少了ATE机台和待测试芯片之间传输的数据量,从而大大提高了测试的速度,提升了测试效率,同时也降低了对于ATE机台的需求,进而降低了测试成本。By adopting the chip testing method provided by the embodiments of the present disclosure, multiple test commands can be executed in parallel on the chip to be tested to realize pipeline operation, and the returned results corresponding to the test commands do not need to be consistent with the order of each test command in the test command queue, and can be Return out of order, and then compare the corresponding preset execution result with the preset fingerprint information according to the ID of the test command, which greatly improves the test efficiency. Moreover, the chip testing system provided by the embodiments of the present disclosure can use multiple CPUs and hardware resources inside the chip to be tested for testing, without the need for an ATE machine to execute the test program, and the results returned each time are automatically generated by the fingerprint engine Yes, the ATE machine only needs to send a test command through the SoC ATE interface to read the test result to judge whether the test command is executed normally, which greatly reduces the amount of data transmitted between the ATE machine and the chip to be tested, thereby greatly improving The speed of the test improves the test efficiency, and also reduces the demand for ATE machines, thereby reducing the test cost.

基于同一发明构思,根据本公开上述实施例提供的芯片测试系统,相应地,本公开另一实施例还提供了一种应用于芯片测试系统的ATE机台的芯片测试方法。图6示出了本公开实施例提供的应用于ATE机台的芯片测试方法的一种流程示意图,如图6所示,所述方法包括:Based on the same inventive concept, according to the chip testing system provided by the above-mentioned embodiments of the present disclosure, correspondingly, another embodiment of the present disclosure also provides a chip testing method applied to an ATE machine of the chip testing system. FIG. 6 shows a schematic flowchart of a chip testing method applied to an ATE machine provided by an embodiment of the present disclosure. As shown in FIG. 6, the method includes:

S601,将测试命令写入待测试芯片的ATE控制器,以使:所述ATE控制器将测试命令队列发送至各个测试命令对应的各个CPU;待测试芯片的各个CPU,读取所述测试命令队列中自身所对应的测试命令,并执行所述测试命令,并在执行完所述测试命令后将执行结果写入所述ATE控制器的返回结果队列;待测试芯片的指纹引擎,在所述各个CPU执行测试命令的过程中获取所述各个CPU的访问信息,并根据所述访问信息生成与所述测试命令对应的指纹信息,并将所述指纹信息写入所述ATE控制器的返回结果队列。S601, write the test command into the ATE controller of the chip to be tested, so that: the ATE controller sends the test command queue to each CPU corresponding to each test command; each CPU of the chip to be tested reads the test command The test command corresponding to itself in the queue, and execute the test command, and write the execution result into the return result queue of the ATE controller after executing the test command; the fingerprint engine of the chip to be tested, in the Obtain the access information of each CPU during the execution of the test command by each CPU, generate fingerprint information corresponding to the test command according to the access information, and write the fingerprint information into the return result of the ATE controller queue.

其中,所述测试命令队列包括多个测试命令,每个测试命令对应待测试芯片的一个CPU,所述CPU的访问信息包括CPU的访问地址、访问数据和控制信号。Wherein, the test command queue includes a plurality of test commands, each test command corresponds to a CPU of the chip to be tested, and the CPU access information includes CPU access address, access data and control signals.

S602,读取所述ATE控制器的返回结果队列中各个测试命令对应的执行结果和指纹信息。S602. Read the execution results and fingerprint information corresponding to each test command in the return result queue of the ATE controller.

S603,基于测试命令的ID确定各个测试命令对应的预设执行结果和预设指纹信息,并将各个测试命令的执行结果与指纹信息分别与各个测试命令对应的预设执行结果和预设指纹信息进行比较。S603, determine the preset execution result and preset fingerprint information corresponding to each test command based on the ID of the test command, and respectively associate the execution result and fingerprint information of each test command with the preset execution result and preset fingerprint information corresponding to each test command Compare.

S604,如果各个测试命令的执行结果和指纹信息分别与该测试命令对应的预设执行结果和预设指纹信息一致,确定测试结果为该测试命令通过测试,否则,确定测试结果为该测试命令不通过测试。S604, if the execution result and fingerprint information of each test command are consistent with the preset execution result and preset fingerprint information corresponding to the test command, determine that the test result is that the test command passes the test; otherwise, determine that the test result is that the test command does not Passed the test.

采用本公开的芯片测试方法,ATE机台不再需要逐一向芯片写入测试程序并读取测试数据,只需向待测试芯片发送测试命令,然后可以利用待测试芯片内的多个CPU执行测试命令队列中的各个测试命令,由于CPU的运行速度远高于ATE接口传输速度,因此利用待测试芯片自身的CPU执行测试程序可以成倍数的提高测试速度,从而减少了测试时间,降低了测试成本。并且,待测试芯片返回ATE机台的结果是通过待测试芯片自身的指纹引擎自动生成的,不需要ATE机台再花费额外的时间读取结果进行比较,也就是说,ATE机台只需要通过待测试芯片的ATE接口发送测试命令、读取测试结果,即可确定测试命令是否通过测试,这大大减少了ATE机台与待测试芯片的ATE接口传输的数据量,从而大大提高了测试速度,进一步地减少了测试时间,降低了测试成本。With the chip testing method of the present disclosure, the ATE machine no longer needs to write test programs and read test data to the chip one by one, but only needs to send test commands to the chip to be tested, and then can use multiple CPUs in the chip to be tested to perform the test For each test command in the command queue, since the running speed of the CPU is much higher than the transmission speed of the ATE interface, using the CPU of the chip to be tested to execute the test program can increase the test speed exponentially, thereby reducing the test time and cost. . Moreover, the result of the chip to be tested returned to the ATE machine is automatically generated by the fingerprint engine of the chip to be tested, and the ATE machine does not need to spend extra time to read the results for comparison, that is, the ATE machine only needs to The ATE interface of the chip to be tested sends the test command and reads the test result to determine whether the test command passes the test, which greatly reduces the amount of data transmitted between the ATE machine and the ATE interface of the chip to be tested, thus greatly improving the test speed. The test time is further reduced and the test cost is reduced.

根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。According to the embodiments of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。FIG. 7 shows a schematic block diagram of an example electronic device 700 that may be used to implement embodiments of the present disclosure. Electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.

如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。As shown in FIG. 7 , the device 700 includes a computing unit 701 that can execute according to a computer program stored in a read-only memory (ROM) 702 or loaded from a storage unit 708 into a random-access memory (RAM) 703 Various appropriate actions and treatments. In the RAM 703, various programs and data necessary for the operation of the device 700 can also be stored. The computing unit 701 , ROM 702 , and RAM 703 are connected to each other through a bus 704 . An input/output (I/O) interface 705 is also connected to the bus 704 .

设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the device 700 are connected to the I/O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a magnetic disk, an optical disk, etc. ; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 709 allows the device 700 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如芯片测试方法。例如,在一些实施例中,芯片测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的芯片测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行芯片测试方法。The computing unit 701 may be various general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of computing units 701 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 executes various methods and processes described above, such as chip testing methods. For example, in some embodiments, the chip testing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 708 . In some embodiments, part or all of the computer program may be loaded and/or installed on the device 700 via the ROM 702 and/or the communication unit 709 . When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the chip testing method described above can be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute a chip testing method in any other suitable manner (for example, by means of firmware).

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SoC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above herein may be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip ( SoC), Complex Programmable Logic Device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor Can be special-purpose or general-purpose programmable processor, can receive data and instruction from storage system, at least one input device, and at least one output device, and transmit data and instruction to this storage system, this at least one input device, and this at least one output device an output device.

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program codes for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard disks, Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM or flash memory), fiber optics, compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide for interaction with the user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user ); and a keyboard and pointing device (eg, a mouse or a trackball) through which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be in any form (including Acoustic input, speech input, or, tactile input) to receive input from the user.

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein can be implemented on a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system can be interconnected by any form or medium of digital data communication (eg, a communication network). Examples of communication networks include: Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。A computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that steps may be reordered, added or deleted using the various forms of flow shown above. For example, each step described in the present disclosure may be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。In addition, the terms "first" and "second" are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features. Thus, the features defined as "first" and "second" may explicitly or implicitly include at least one of these features. In the description of the present disclosure, "plurality" means two or more, unless otherwise specifically defined.

以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Anyone skilled in the art can easily think of changes or substitutions within the technical scope of the present disclosure. should fall within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be determined by the protection scope of the claims.

Claims (14)

1. A chip test system, the system comprising:
the automatic test equipment ATE machine is used for writing a test command into an ATE controller of a chip to be tested;
the ATE controller is used for reading the test commands written by the ATE machine and sending the test command queues to the CPUs corresponding to the test commands; the test command queue comprises a plurality of test commands, and each test command corresponds to a CPU of a chip to be tested;
each CPU of the chip to be tested is used for reading the test command corresponding to the CPU in the test command queue, executing the test command and writing an execution result into a return result queue of the ATE controller after the test command is executed;
the fingerprint engine of the chip to be tested is used for acquiring access information of each CPU in the process of executing the test command by each CPU, generating fingerprint information corresponding to the test command according to the access information, and writing the fingerprint information into a return result queue of the ATE controller after the test command is executed; the access information of the CPU comprises an access address, access data and a control signal of the CPU;
the ATE machine is further configured to read an execution result and fingerprint information corresponding to each test command in a returned result queue of the ATE controller, determine a preset execution result and preset fingerprint information corresponding to each test command based on the ID of the test command, compare the execution result and the fingerprint information of each test command with the preset execution result and the preset fingerprint information corresponding to each test command, determine that the test result is that the test command passes the test if the execution result and the fingerprint information of each test command are consistent with the preset execution result and the preset fingerprint information corresponding to the test command, and determine that the test result is that the test command does not pass the test if the execution result and the fingerprint information of each test command are not consistent with the preset execution result and the preset fingerprint information corresponding to the test command.
2. The system according to claim 1, wherein the ATE controller is specifically configured to read a test command written by the ATE machine, send an interrupt signal for the test command queue to the interrupt controller of each CPU corresponding to each test command, and release a space occupied by the test command in the test command queue after each CPU reads the test command corresponding to itself in the test command queue based on the interrupt signal received by the interrupt controller;
and the ATE machine is also used for detecting whether the released space exists in the test command queue, and if so, writing a new test command into the ATE controller.
3. The system of claim 1, wherein the ATE bench is specifically configured to
And reading the state of a return result queue of the ATE controller, judging whether an operation result exists in the return result queue of the ATE controller, and if so, reading an execution result and fingerprint information corresponding to each test command in the return result queue of the ATE controller so as to enable the ATE controller to release the space occupied by the read execution result and fingerprint information in the return result queue of the ATE controller.
4. The system of claim 1, wherein the test function for executing the test command in the chip to be tested is fixed in the ROM memory of the chip to be tested or the SRAM memory of the chip to be tested;
each CPU is specifically configured to read a test command corresponding to the CPU in the test command queue, jump to a target memory in which the test function is stored according to the test command, execute the test command using the test function in the target memory, and write an execution result into a return result queue of the ATE controller after the test command is executed.
5. The system of claim 1, wherein the fingerprint engine of the chip to be tested is further configured to store fingerprint information corresponding to each key test node of each test command in an SRAM memory of the chip to be tested;
and the ATE machine is also used for calling the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory to compare with the preset fingerprint information when the fingerprint information of the test command is inconsistent with the preset fingerprint information corresponding to the test command, so as to determine the abnormal test node.
6. The system of claim 1, wherein the ATE controller is further configured to determine, for each test command queue, whether all test commands in the test command queue return corresponding execution results within a preset time period, and if not, determine that the test command execution of the test command queue is abnormal.
7. A chip testing method is applied to a chip to be tested of a chip testing system, wherein the chip to be tested comprises an ATE controller, a plurality of CPUs and a fingerprint engine, and the method comprises the following steps:
the ATE controller reads the test commands written by the ATE machine of the chip test system and sends the test command queues to the CPUs corresponding to the test commands; the test command queue comprises a plurality of test commands, and each test command corresponds to a CPU of a chip to be tested;
each CPU reads the test command corresponding to the CPU in the test command queue, executes the test command, and writes an execution result into a return result queue of the ATE controller after the test command is executed;
the fingerprint engine acquires access information of each CPU in the process of executing the test command by each CPU, generates fingerprint information corresponding to the test command according to the access information, and writes the fingerprint information into a return result queue of the ATE controller after the test command is executed, so that the ATE machine station executes the following steps:
reading an execution result and fingerprint information corresponding to each test command in a returned result queue of the ATE, determining a preset execution result and preset fingerprint information corresponding to each test command based on the ID of the test command, comparing the execution result and the fingerprint information of each test command with the preset execution result and the preset fingerprint information corresponding to each test command respectively, and determining that the test result is that the test command passes the test if the execution result and the fingerprint information of each test command are consistent with the preset execution result and the preset fingerprint information corresponding to the test command respectively, or determining that the test result is that the test command does not pass the test; the access information of the CPU comprises an access address, access data and a control signal of the CPU.
8. The method of claim 7, wherein reading the test commands written by the ATE tool of the chip test system and sending a queue of test commands to the CPU corresponding to each test command comprises:
reading the test commands written by the ATE machine, and sending interrupt signals aiming at the test command queue to the interrupt controller of each CPU corresponding to each test command;
after each CPU reads the test command corresponding to itself in the test command queue based on the interrupt signal received by the interrupt controller, the space occupied by the test command in the test command queue is released, so that: and the ATE machine station detects whether the released space exists in the test command queue, and if so, writes a new test command into the ATE controller.
9. The method of claim 7, wherein the test function for executing the test command in the chip to be tested is fixed in the ROM memory of the chip to be tested or the SRAM memory of the chip to be tested;
the reading of the test command corresponding to the test command queue, the execution of the test command, and the writing of the execution result into the return result queue of the ATE controller after the execution of the test command include:
reading the test command corresponding to the test command queue;
jumping to a target memory storing the test function according to a test command;
and executing the test command by utilizing the test function in the target memory, and writing an execution result into a return result queue of the ATE controller after the test command is executed.
10. The method of claim 7, further comprising:
the fingerprint engine stores the fingerprint information corresponding to each key test node of each test command in an SRAM memory of the chip to be tested; so that: and when the fingerprint information of the test command is inconsistent with the preset fingerprint information corresponding to the test command, the ATE board calls the fingerprint information corresponding to each key test node of the test command stored in the SRAM memory to compare with the preset fingerprint information, and determines the abnormal test node.
11. The method of claim 7, further comprising:
and the ATE controller determines whether all the test commands in the test command queue return corresponding execution results within a preset time period or not for each test command queue, and if not, determines that the test commands in the test command queue are abnormally executed.
12. A chip testing method is applied to an ATE machine table of a chip testing system, and comprises the following steps:
writing a test command to an ATE controller of a chip to be tested such that: the ATE controller sends the test command queue to each CPU corresponding to each test command; each CPU of the chip to be tested reads the corresponding test command in the test command queue, executes the test command, and writes the execution result into a return result queue of the ATE controller after the test command is executed; the fingerprint engine of the chip to be tested acquires access information of each CPU in the process that each CPU executes the test command, generates fingerprint information corresponding to the test command according to the access information, and writes the fingerprint information into a return result queue of the ATE controller; the test command queue comprises a plurality of test commands, each test command corresponds to a CPU of a chip to be tested, and the access information of the CPU comprises the access address, the access data and the control signal of the CPU;
reading an execution result and fingerprint information corresponding to each test command in a return result queue of the ATE controller;
determining a preset execution result and preset fingerprint information corresponding to each test command based on the ID of the test command, and comparing the execution result and the fingerprint information of each test command with the preset execution result and the preset fingerprint information corresponding to each test command respectively;
and if the execution result and the fingerprint information of each test command are respectively consistent with the preset execution result and the preset fingerprint information corresponding to the test command, determining that the test result is that the test command passes the test, otherwise, determining that the test result is that the test command does not pass the test.
13. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 7-11 or 12.
14. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 7-11 or 12.
CN202211660349.9A 2022-12-23 2022-12-23 Chip testing system, method, equipment and storage medium Active CN115656788B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211660349.9A CN115656788B (en) 2022-12-23 2022-12-23 Chip testing system, method, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211660349.9A CN115656788B (en) 2022-12-23 2022-12-23 Chip testing system, method, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115656788A CN115656788A (en) 2023-01-31
CN115656788B true CN115656788B (en) 2023-03-10

Family

ID=85022658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211660349.9A Active CN115656788B (en) 2022-12-23 2022-12-23 Chip testing system, method, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115656788B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115902595B (en) * 2023-02-20 2023-07-14 之江实验室 A chip testing system and chip testing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111212143A (en) * 2020-01-06 2020-05-29 杭州涂鸦信息技术有限公司 Automatic testing method and system, readable storage medium and computer equipment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW591378B (en) * 2001-02-22 2004-06-11 Hitachi Ltd Memory test method, information recording medium and semiconductor integrated circuit
US8170828B2 (en) * 2009-06-05 2012-05-01 Apple Inc. Test method using memory programmed with tests and protocol to communicate between device under test and tester
CN105446843B (en) * 2014-05-30 2019-02-15 展讯通信(上海)有限公司 SOC chip function test system and method
CN104459518B (en) * 2014-11-27 2017-08-25 北京时代民芯科技有限公司 Function Test Automation system and its method of testing based on SoPC chips
US20170045579A1 (en) * 2015-08-14 2017-02-16 Texas Instruments Incorporated Cpu bist testing of integrated circuits using serial wire debug
US10768232B2 (en) * 2017-07-14 2020-09-08 International Business Machines Corporation ATE compatible high-efficient functional test
CN107728081A (en) * 2017-11-24 2018-02-23 江苏凯源电子科技股份有限公司 A kind of power supply communication test
US11592474B2 (en) * 2020-09-28 2023-02-28 Nanya Technology Corporation Functional test equipment including relay system and test method using the functional test equipment
CN112799887B (en) * 2020-12-17 2024-07-26 珠海泰芯半导体有限公司 Chip FT test system and test method
CN113189479B (en) * 2021-06-28 2021-10-22 杭州加速科技有限公司 Method, device and test system for improving test speed of ATE chip
CN114325337A (en) * 2021-12-31 2022-04-12 矽典微电子(上海)有限公司 Test system and test method of radio frequency chip
CN115327344B (en) * 2022-08-11 2026-04-10 南京特纳飞电子技术有限公司 TC modules and integrated chips used in ATE testing
CN115184781B (en) * 2022-09-07 2023-03-28 南京芯驰半导体科技有限公司 Chip testing method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111212143A (en) * 2020-01-06 2020-05-29 杭州涂鸦信息技术有限公司 Automatic testing method and system, readable storage medium and computer equipment

Also Published As

Publication number Publication date
CN115656788A (en) 2023-01-31

Similar Documents

Publication Publication Date Title
CN113778849B (en) Method, apparatus, device and storage medium for testing code
WO2019161619A1 (en) Automatic interface test method and apparatus, and device and computer-readable storage medium
CN115168130B (en) A chip testing method, apparatus, electronic device, and storage medium
US11392406B1 (en) Alternative interrupt reporting channels for microcontroller access devices
CN115656788B (en) Chip testing system, method, equipment and storage medium
CN112380127B (en) Test case regression method, device, equipment and storage medium
CN111290942A (en) Pressure testing method, device and computer readable medium
WO2024109068A1 (en) Program monitoring method and apparatus, and electronic device and storage medium
CN114567571B (en) Performance test methods, apparatus, electronic equipment and computer-readable storage media
CN116302722A (en) Multi-core processor stability test method, device, electronic equipment and storage medium
CN114528214A (en) Unit testing method and device
CN119621183A (en) Application startup method, device, equipment, storage medium and product
CN120179360A (en) Task execution method, device, electronic device and storage medium
US20250124181A1 (en) Vehicle model simulation performance optimization method, storage medium, processor and electronic device
CN116579914B (en) Execution method and device of graphic processor engine, electronic equipment and storage medium
CN106656684B (en) Grid resource reliability monitoring method and device
CN117520195A (en) Methods, devices, equipment, storage media and program products for testing interfaces
CN118013896A (en) Multi-engine-based chip diagnosis method, frame, device, equipment and storage medium
CN113626332B (en) Debugging method, device, device, storage medium and computer program product
CN117435503A (en) Test tool generation methods, test methods, devices, equipment and media
CN115617732A (en) APB bus structure, system on chip, vehicle and access method
CN115080382A (en) Code testing method, device, equipment and medium
CN113360330B (en) Concurrent lock testing methods, related devices and computer program products
CN121050952A (en) Methods, apparatus, devices and media for testing caches
CN116303071A (en) An interface testing method, device, electronic equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100176 Beijing City, Daxing District, Beijing Economic and Technological Development Zone, No. 2, Ronghuannan Road, Building 1, 26th Floor, Rooms 01A, 01B, 01C, 02A, 02B

Patentee after: Beijing Xinchi Semiconductor Technology Co.,Ltd.

Country or region after: China

Address before: Room 2268, Yingying Building, No. 99 Tuanjie Road, Yanchuangyuan, Jiangbei New District, Nanjing, Jiangsu Province, 210000 (Nanjing Area, Jiangsu Free Trade Pilot Zone, China)

Patentee before: Nanjing Xinchi Semiconductor Technology Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address