WO2023133932A1 - Ate apparatus based on dynamically transmitted parameters, and transmission method - Google Patents
Ate apparatus based on dynamically transmitted parameters, and transmission method Download PDFInfo
- Publication number
- WO2023133932A1 WO2023133932A1 PCT/CN2022/073388 CN2022073388W WO2023133932A1 WO 2023133932 A1 WO2023133932 A1 WO 2023133932A1 CN 2022073388 W CN2022073388 W CN 2022073388W WO 2023133932 A1 WO2023133932 A1 WO 2023133932A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- test
- code
- program
- module
- cvm
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000005540 biological transmission Effects 0.000 title claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 127
- 238000004458 analytical method Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000002452 interceptive effect Effects 0.000 claims abstract description 3
- 101000641419 Homo sapiens V-type proton ATPase 16 kDa proteolipid subunit c Proteins 0.000 claims abstract 5
- 102100034171 V-type proton ATPase 16 kDa proteolipid subunit c Human genes 0.000 claims abstract 5
- 238000005457 optimization Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
Definitions
- the present invention relates to the field of semiconductor automatic test equipment (Automatic Test Equipment, referred to as ATE), in particular to an ATE device and transmission method based on dynamic transmission parameters.
- ATE Automatic Test Equipment
- Chip testing plays an extremely important role in the entire semiconductor industry chain. As the complexity of integrated circuits increases, so does the complexity of testing. Large-scale integrated circuits often require hundreds of voltage, current, and timing tests and millions of functional test steps to ensure the completeness of the device. Correct, this also makes the test cost of the chip higher and higher, and the test cost of some devices even accounts for the vast majority of the chip cost.
- Automatic test equipment is a collection of test instruments controlled by a high-performance computer. It is a test system composed of a tester and a computer. The computer controls the test hardware by running the instructions of the test program.
- the semiconductor chip testing machine is used to test the integrity of the function and performance of integrated circuits, and is an important equipment to ensure the quality of integrated circuits in the production process of integrated circuits.
- the most basic requirement of the test system is to ensure the rapidity, reliability and stability of the test function. Among them, rapidity is particularly important; therefore, how to improve the testing speed of chips is a common topic in the semiconductor testing machine industry.
- testProgram a test program for ATE.
- Cpp compiled programming language
- the program Since it is necessary to continuously modify the debugging test conditions (such as hardware resources, port numbers, input stimulus and signal size, etc.) in the test program, the program needs to be modified for each debugging, and in each test program, different test items Different test procedures need to be changed. Due to the characteristics of the compiled language, once the test program is modified, the entire test needs to be recompiled, linked and executed to take effect for the changed test conditions, which reduces the debugging efficiency and lengthens the development time. If the test program is developed in an interpreted language, most of the codes that are not frequently changed still exist in the test program, so part of the performance will be lost.
- the debugging test conditions such as hardware resources, port numbers, input stimulus and signal size, etc.
- the industry urgently needs to provide a method of dynamically passing parameters, which can dynamically load the test conditions that need to be modified during debugging into the test program for execution, so that the test program can take effect for the changed test conditions without recompiling and linking. Effectively improve chip testing efficiency.
- the purpose of the present invention is to provide a method for improving chip testing efficiency by dynamically passing parameters, which can dynamically load the test conditions that need to be modified when the chip test program is debugged into the test program, so that the test program can be updated without recompiling and linking.
- the changed test conditions take effect.
- a device for improving chip testing efficiency by dynamically passing parameters based on an ATE device for dynamically passing parameters, used to measure at least one device under test DUT; it is characterized in that it includes a test program module, a compiler, a variable code module and test execution module; wherein, the test program module includes a fixed code program and a test condition interface program, the variable code module is used to receive a test condition, and the test condition includes at least one dynamically changing parameter; the compiler is used to compile the The program in the test program module forms an executable first machine instruction part, and the test execution module includes a syntax parser ATPL, a virtual machine unit CVM, a scheduling test flow unit and a communication unit; the syntax parser ATPL is sentence by sentence Read the source code of the test condition, first perform lexical analysis and syntax analysis, then convert the source code into an intermediate code and optimize it, and finally interpret the intermediate code into an executable second machine instruction part, which is determined by the virtual The machine unit CVM executes the second machine instruction part; the scheduling test flow unit schedule
- test conditions include hardware resources, port numbers, input stimuli and/or signal magnitude values of the ATE device.
- a parameter method of an ATE device based on dynamic parameter transfer comprising:
- Step S1 dynamically configuring parameters in the test conditions involved in the test program module
- Step S2 the compiler is used to compile the program in the test program module to form an executable first machine instruction part
- Step S3 The syntax parser ATPL reads the test condition source code sentence by sentence, first performs lexical analysis and syntax analysis, then converts the source code into intermediate code and optimizes it, and finally interprets the intermediate code as executable
- Step S4 and execute the second machine instruction part in the corresponding virtual machine unit CVM to form the target code
- Step S5 The scheduling test flow unit schedules the test flow according to the CVM execution result, and executes an interactive test with the DUT through the communication unit to obtain a test result.
- step S3 specifically includes:
- Step S31 lexical analysis, that is, scanning the source file, and splitting the character stream of the source file into individual words (marks);
- Step S32 grammar analysis, constructing a grammar tree from these tokens according to grammar rules
- Step S33 Semantic analysis, checking the relationship between each node of the syntax tree, checking whether the semantic rules are violated, and performing necessary optimization on the syntax tree;
- Step S34 Traversing the nodes of the syntax tree, converting each node into an intermediate code, and assembling them in a specific order, this is intermediate code generation;
- Step S35 optimizing the intermediate code
- Step S36 converting the intermediate code into object code
- Step S37 Optimizing the object code to generate a final object program.
- the present invention has the following beneficial effects:
- Modularization is one of the key goals to be achieved when designing the test program. This architecturally mature and efficient approach to testing allows users to write independent components that handle different aspects of testing; and, allows these components to be mixed and matched in various ways to produce a complete test program.
- the mode of the virtual machine unit CVM plus the parser ATPL allows the information required by the test program to be executed in different compilation modes, decoupling the overall framework, and improving the reusability and scalability of the test program.
- the readable code formed by the above scheme can greatly improve the programming efficiency and make the code structure better.
- the present invention does not add configuration file or the file of other DSL syntax, but directly carries out the modification and debugging of parameter and instruction on source file, reduces the learning cost of developer.
- Advantest Company As an example.
- the test programming language of Advantest specifies the objects used in the test plan written by the user and the relationship between each object. These program files are converted into C++ codes by the compiler of Advantest Company, and Through their test system, it is packaged into a Windows dynamic link library (DLL) and loaded into the test scheduling software for execution.
- DLL Windows dynamic link library
- Advantest's conversion process from test plan description to implementation is divided into two stages: translation and compilation. They need to convert the test programming language into C++ language first, and then proceed to the next step of compilation, linking, loading, execution, etc. steps, the whole process is rather cumbersome.
- the modes of the syntax parser ATPL and the virtual machine unit CVM are optimized for the test process.
- the test programming language can be compiled directly through the ATPL parser, and the machine code is generated in the callback function of the syntax tree, and directly executed through the virtual machine unit CVM operation stack.
- the instruction set does not need to be translated into C++ code and integrated into the project, which significantly improves the test efficiency and saves test time.
- Figure 1 shows a schematic diagram of the compilation and execution flow of a Cpp-like compiled language
- FIG. 2 shows the flowchart of ATPL parser in parsing language
- Figure 3 is a schematic diagram of functional modules of a device for improving chip testing efficiency by dynamically transferring parameters in an embodiment of the present invention
- Fig. 4 shows that in the embodiment of the present invention, the schematic diagram of the method for improving chip test efficiency by dynamically transferring parameters
- Fig. 5 shows the schematic diagram of the workflow of the ATPL grammar parser in the embodiment of the present invention
- the device adopted by the present invention to improve chip testing efficiency by dynamically passing parameters realizes a CVM (Cpp Virtual Machine) virtual machine and an ATPL (Automatic Test Program Language) parser for translating Cpp codes into machine codes Execute directly.
- CVM Cpp Virtual Machine
- ATPL Automatic Test Program Language
- FIG. 1 is a schematic diagram of a compilation and execution flow of a Cpp-like compiled language.
- the compilation and execution process of a compiled language such as pp includes the following steps:
- the compiler calls the preprocessor to perform related processing, optimize the source code conversion (including clearing comments, macro definitions, include files, and conditional compilation), and then compile the preprocessed source code into object code (binary machine language), and then by calling the linker plus library files (such as the API provided by the operating system), an executable program is formed so that the machine can execute it. And the object code must match the CPU architecture of the machine, and the library file must match the operating system. If you want to run the source code of the Cpp language on a machine or system with different CPUs, you need to compile it for different CPU architectures and operating systems, so that you can run the program on the machine.
- Fig. 2 shows the flow diagram of the ATPL grammar parser when parsing the type language.
- the analytic language mainly has the following steps:
- Source code (source code) ⁇ interpreter (interpret) ⁇ execution (execute)
- the source code does not need to be pre-compiled into an executable program.
- the interpreter reads a sentence of source code, it first performs lexical analysis and syntax analysis, and then converts the source code into an intermediate code (byte code) that the interpreter can execute. Finally, the interpreter interprets the intermediate code It is an executable machine instruction, and executes the instruction in the corresponding virtual machine.
- Compiled languages such as Cpp need to be compiled, linked, loaded, and executed to execute machine instructions, while analytic languages execute machine instructions directly after syntax analysis, eliminating the steps of compiling, linking, loading, and generating executable files. It is very suitable for debugging chip test conditions. However, if all analytical languages are used, some performance will be lost because the code that is not frequently changed accounts for the vast majority of the test program.
- the present invention combines the two, and those programs that are not frequently changed can be compiled into machine codes in advance, and codes that need to be frequently changed and debugged, such as test conditions, can be translated into machine codes by an interpreter Finally, the built-in virtual machine executes and obtains the result, which can achieve the effect of dynamic parameter passing, shorten compilation time, and improve debugging efficiency.
- FIG. 3 is a schematic diagram of functional modules of a device for improving chip testing efficiency by dynamically passing parameters in an embodiment of the present invention.
- the ATE device based on dynamic transfer parameters is used to measure at least one device under test DUT; it includes a test program module, a compiler, a variable code module and a test execution module; wherein the test program The module includes a fixed code program and a test condition interface program, the variable code module is used to receive a test condition, and the test condition includes at least one dynamically changing parameter; the compiler is used to compile the program in the test program module, Form the executable first machine instruction part, the test execution module includes a grammar parser ATPL, a virtual machine unit CVM, a scheduling test flow unit and a communication unit; the grammar parser ATPL reads the test condition source code sentence by sentence , first perform lexical analysis and syntax analysis, then convert the source code into an intermediate code and perform optimization, and finally interpret the intermediate code into an executable second machine instruction part,
- the test conditions may include hardware resources, port numbers, input stimuli and/or signal magnitude values of the ATE device.
- parameters such as hardware resource, port number, input stimulus and/or signal size value of the initialized ATE device can be dynamically adjusted during the test.
- the virtual machine unit CVM can translate the source program of the programming language Cpp commonly used in the field of chip testing into machine code through the parser ATPL, and execute it inside the virtual machine. By executing these target codes, it provides the input stimulus and test conditions required by the test program, so that developers can easily edit and debug test plans and test items, and the edited test items will take effect in real time when they are executed.
- FIG. 4 is a schematic diagram of a method for improving chip testing efficiency by dynamically transferring parameters in an embodiment of the present invention. As shown in Figure 4, the method includes the following steps:
- Step S1 Dynamically configure the parameters in the test conditions involved in the test program module.
- Step S2 the compiler is used to compile the program in the test program module to form the executable first machine instruction part. That is to say, in the present invention, the test program is modularized, and the fixed part of the program and the part of the program that needs to be frequently modified and debugged are coded in separate files.
- the above-mentioned fixed part of the test program is compiled into an executable file by the Cpp compiler provided by the system to form the executable first machine instruction part.
- the other part of the code related to the test conditions does not participate in the compilation, which is very convenient. If you need to modify the code related to the test conditions, you can directly modify it in the corresponding source file. Afterwards, there is no need to compile the test program and run it directly, and the modified test conditions will take effect immediately.
- Step S3 the syntax parser ATPL reads the test condition source code sentence by sentence, first performs lexical analysis and syntax analysis, then converts the source code into intermediate code that the syntax parser ATPL can execute, and finally The parser ATPL interprets the intermediate code into an executable second machine instruction portion.
- FIG. 5 is a schematic diagram of the workflow of the ATPL parser in the embodiment of the present invention.
- the step S3 may specifically include:
- Step S31 lexical analysis, that is, scanning the source file, and splitting the character stream of the source file into individual words (marks);
- Step S32 grammar analysis, constructing a grammar tree from these tokens according to grammar rules
- Step S33 Semantic analysis, checking the relationship between each node of the syntax tree, checking whether the semantic rules are violated, and performing necessary optimization on the syntax tree;
- Step S34 Traversing the nodes of the syntax tree, converting each node into an intermediate code, and assembling them in a specific order, this is intermediate code generation;
- Step S35 optimizing the intermediate code
- Step S36 converting the intermediate code into object code
- Step S37 Optimizing the object code to generate a final object program.
- Step S4 and splicing the first machine instruction part and the second machine instruction part through the application program interface API in the corresponding virtual machine unit CVM to form the target code.
- Step S5 the dispatching test flow unit translates the target code, and executes an interaction test with the device under test (DUT) through the communication unit to obtain a test result.
- DUT device under test
- these codes are dynamically loaded into the process through the embedded virtual machine unit CVM plus syntax parser ATPL, translated into target codes, executed in the virtual machine unit CVM, and Obtain calculation results, save the steps of recompiling and linking the entire program, and improve the efficiency of chip testing and debugging.
- the present invention provides a device and transmission method for improving chip testing efficiency through dynamic transmission of parameters, which provides a method for dynamic parameter transmission, which can dynamically load the test conditions that need to be modified during debugging into the test program for execution , so that the test program can take effect on the changed test conditions without recompiling and linking, which can effectively improve the efficiency of chip testing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
An ATE apparatus based on dynamically transmitted parameters, and a transmission method. The ATE apparatus comprises a test program module, a compiler, a variable code module, and a test execution module; the variable code module is used for receiving a test condition; the compiler is used for compiling a program in the test program module to form an executable first machine instruction part, and the test execution module comprises a grammar parser ATPL, a virtual machine unit CVM, a test flow scheduling unit, and a communication unit; the grammar parser ATPL reads a test condition source code sentence by sentence, firstly performs lexical analysis and grammar analysis, then converts the source code into an intermediate code, optimizes the intermediate code, and finally interprets the intermediate code into an executable second machine instruction part, and the executable second machine instruction part is executed by the virtual machine unit CVM; and the test flow scheduling unit schedules a test flow according to an execution result of the CVM, and executes an interactive test with a tested device DUT by means of the communication unit.
Description
交叉引用cross reference
本申请要求2022年1月14日提交的申请号为CN 202210043592.X的中国专利申请的优先权。上述申请的内容以引用方式被包含于此。This application claims the priority of the Chinese patent application with application number CN 202210043592.X filed on January 14, 2022. The content of the above application is incorporated herein by reference.
本发明涉及半导体自动测试设备(Automatic Test Equipment,简称ATE)领域,尤其涉及一种基于动态传递参数的ATE装置和传输方法。The present invention relates to the field of semiconductor automatic test equipment (Automatic Test Equipment, referred to as ATE), in particular to an ATE device and transmission method based on dynamic transmission parameters.
芯片测试在整个半导体产业链当中占有极其重要的地位。随着集成电路复杂度的提高,其测试复杂度也随之日益提高,大规模集成电路往往会要求几百次的电压、电流和时序的测试以及百万次的功能测试步骤以保证器件的完全正确,这也使得芯片的测试成本越来越高,一些器件的测试成本甚至占到芯片成本的绝大部分比例。Chip testing plays an extremely important role in the entire semiconductor industry chain. As the complexity of integrated circuits increases, so does the complexity of testing. Large-scale integrated circuits often require hundreds of voltage, current, and timing tests and millions of functional test steps to ensure the completeness of the device. Correct, this also makes the test cost of the chip higher and higher, and the test cost of some devices even accounts for the vast majority of the chip cost.
自动测试设备是一种由高性能计算机控制的测试仪器的集合体,是由测试仪和计算机组合而成的测试系统,计算机通过运行测试程序的指令来控制测试硬件。半导体芯片测试机用于检测集成电路的功能和性能的完整性,是集成电路生产制造流程中确保集成电路品质的重要设备。测试系统最基本的要求是自身保证测试功能的快速性、可靠性和稳定性。其中,快速性尤为重要;因此,如何提升芯片的测试速度是半导体测试机行业的共同课题。Automatic test equipment is a collection of test instruments controlled by a high-performance computer. It is a test system composed of a tester and a computer. The computer controls the test hardware by running the instructions of the test program. The semiconductor chip testing machine is used to test the integrity of the function and performance of integrated circuits, and is an important equipment to ensure the quality of integrated circuits in the production process of integrated circuits. The most basic requirement of the test system is to ensure the rapidity, reliability and stability of the test function. Among them, rapidity is particularly important; therefore, how to improve the testing speed of chips is a common topic in the semiconductor testing machine industry.
目前,行业内通用的方案是,通过对ATE进行编写测试程序 (TestProgram),来控制芯片测试的流程。由于自动测试设备的性能原因,一般采用编译型编程语言Cpp进行测试程序的开发。At present, the common solution in the industry is to control the chip testing process by writing a test program (TestProgram) for ATE. Due to the performance reasons of the automatic test equipment, the compiled programming language Cpp is generally used for the development of the test program.
由于需要在测试程序中不断的修改调试测试条件(例如硬件资源、端口号、输入激励和信号大小等),所以针对每一次调试都需要修改程序,而且在每一次测试程序中,不同的测试项目需要更改不同的测试程序。由于编译型语言的特性,测试程序一旦被修改,整个测试就需要重新编译、链接和执行等步骤才可以对更改后的测试条件生效,从而使调试效率低下,开发时间变的冗长。如果采用解释型语言开发测试程序,在测试程序还存在大部分不经常被改动的代码,因此,又会丢失部分性能。Since it is necessary to continuously modify the debugging test conditions (such as hardware resources, port numbers, input stimulus and signal size, etc.) in the test program, the program needs to be modified for each debugging, and in each test program, different test items Different test procedures need to be changed. Due to the characteristics of the compiled language, once the test program is modified, the entire test needs to be recompiled, linked and executed to take effect for the changed test conditions, which reduces the debugging efficiency and lengthens the development time. If the test program is developed in an interpreted language, most of the codes that are not frequently changed still exist in the test program, so part of the performance will be lost.
所以,业界急需能够提供一种动态传递参数的方法,可以将调试时需要修改的测试条件动态的加载到测试程序中执行,使得测试程序无需重新编译链接即可对更改后的测试条件生效,可以有效的提高芯片测试效率。Therefore, the industry urgently needs to provide a method of dynamically passing parameters, which can dynamically load the test conditions that need to be modified during debugging into the test program for execution, so that the test program can take effect for the changed test conditions without recompiling and linking. Effectively improve chip testing efficiency.
发明概要Summary of the invention
本发明的目的在于提供一种通过动态传递参数提高芯片测试效率的方法,能够将芯片测试程序调试时需要修改的测试条件,动态的加载到测试程序中,使得测试程序无需重新编译链接即可对更改后的测试条件生效。The purpose of the present invention is to provide a method for improving chip testing efficiency by dynamically passing parameters, which can dynamically load the test conditions that need to be modified when the chip test program is debugged into the test program, so that the test program can be updated without recompiling and linking. The changed test conditions take effect.
为实现上述目的,本发明的技术方案如下:To achieve the above object, the technical scheme of the present invention is as follows:
一种通过动态传递参数提高芯片测试效率装置,基于动态传递参数的ATE装置,用于测量至少一台被测设备DUT;其特征在于,包括测试程序模块、编译器、可变代码模块和测试执行模块;其中,所述测试程序模块包括固定代码程序和测试条件接口程序,所述可变代码模块用于接收测试条 件,所述测试条件至少包括一条动态变化的参数;所述编译器用于编译所述测试程序模块中的程序,形成可执行的第一机器指令部分,所述测试执行模块包括语法解析器ATPL、虚拟机单元CVM、调度测试流单元和通信单元;所述语法解析器ATPL逐句读取所述测试条件源代码,先进行词法分析和语法分析,再将所述源代码转换为中间代码并进行优化,最终将中间代码解释为可执行的第二机器指令部分,由所述虚拟机单元CVM执行第二机器指令部分;所述调度测试流单元根据CVM执行结果调度测试流,并通过所述通信单元与所述被测设备DUT执行交互测试。A device for improving chip testing efficiency by dynamically passing parameters, based on an ATE device for dynamically passing parameters, used to measure at least one device under test DUT; it is characterized in that it includes a test program module, a compiler, a variable code module and test execution module; wherein, the test program module includes a fixed code program and a test condition interface program, the variable code module is used to receive a test condition, and the test condition includes at least one dynamically changing parameter; the compiler is used to compile the The program in the test program module forms an executable first machine instruction part, and the test execution module includes a syntax parser ATPL, a virtual machine unit CVM, a scheduling test flow unit and a communication unit; the syntax parser ATPL is sentence by sentence Read the source code of the test condition, first perform lexical analysis and syntax analysis, then convert the source code into an intermediate code and optimize it, and finally interpret the intermediate code into an executable second machine instruction part, which is determined by the virtual The machine unit CVM executes the second machine instruction part; the scheduling test flow unit schedules the test flow according to the execution result of the CVM, and executes the interaction test with the DUT through the communication unit.
进一步地,所述测试条件包括所述ATE装置的硬件资源、端口号、输入激励和/或信号大小值。Further, the test conditions include hardware resources, port numbers, input stimuli and/or signal magnitude values of the ATE device.
为实现上述目的,本发明又一技术方案如下:To achieve the above object, another technical solution of the present invention is as follows:
一种基于动态传递参数的ATE装置的参数方法,其包括:A parameter method of an ATE device based on dynamic parameter transfer, comprising:
步骤S1:动态配置测试程序模块中所涉及到的所述测试条件中的参数;Step S1: dynamically configuring parameters in the test conditions involved in the test program module;
步骤S2:所述编译器用于编译所述测试程序模块中的程序,形成可执行的第一机器指令部分;Step S2: the compiler is used to compile the program in the test program module to form an executable first machine instruction part;
步骤S3:所述语法解析器ATPL逐句读取所述测试条件源代码,先进行词法分析和语法分析,再将所述源代码转换为中间代码并进行优化,最终将中间代码解释为可执行的第二机器指令部分;Step S3: The syntax parser ATPL reads the test condition source code sentence by sentence, first performs lexical analysis and syntax analysis, then converts the source code into intermediate code and optimizes it, and finally interprets the intermediate code as executable The second machine instruction part of
步骤S4:并在对应的虚拟机单元CVM中执行第二机器指令部分,形成目标代码;Step S4: and execute the second machine instruction part in the corresponding virtual machine unit CVM to form the target code;
步骤S5:所述调度测试流单元根据CVM执行结果调度测试流,并通过所述通信单元与所述被测设备DUT执行交互测试,获得测试结果。Step S5: The scheduling test flow unit schedules the test flow according to the CVM execution result, and executes an interactive test with the DUT through the communication unit to obtain a test result.
进一步地,所述步骤S3具体包括:Further, the step S3 specifically includes:
步骤S31:词法分析,即对源文件进行扫描,将源文件的字符流拆分成一个个的词(记号);Step S31: lexical analysis, that is, scanning the source file, and splitting the character stream of the source file into individual words (marks);
步骤S32:语法分析,根据语法规则将这些记号构造出语法树;Step S32: grammar analysis, constructing a grammar tree from these tokens according to grammar rules;
步骤S33:语义分析,对语法树的各个节点之间的关系进行检查,检查语义规则是否被违背,同时对语法树进行必要的优化;Step S33: Semantic analysis, checking the relationship between each node of the syntax tree, checking whether the semantic rules are violated, and performing necessary optimization on the syntax tree;
步骤S34:遍历语法树的节点,将各节点转化为中间代码,并按特定的顺序拼装起来,此为中间代码生成;Step S34: Traversing the nodes of the syntax tree, converting each node into an intermediate code, and assembling them in a specific order, this is intermediate code generation;
步骤S35:对中间代码进行优化;Step S35: optimizing the intermediate code;
步骤S36:将中间代码转化为目标代码;Step S36: converting the intermediate code into object code;
步骤S37:对目标代码进行优化,生成最终的目标程序。Step S37: Optimizing the object code to generate a final object program.
从上述技术方案可以看出,本发明具有如下有益效果:As can be seen from the foregoing technical solutions, the present invention has the following beneficial effects:
①、实现模块化的开发,模块化是设计测试程序时要达到的关键目标之一。该架构成熟和效率高的测试方法允许用户编写处理测试的不同方面的独立组件;并且,允许这些组件以各种方式混合和匹配,从而生成一个完整的测试程序。①. Realize the development of modularization. Modularization is one of the key goals to be achieved when designing the test program. This architecturally mature and efficient approach to testing allows users to write independent components that handle different aspects of testing; and, allows these components to be mixed and matched in various ways to produce a complete test program.
为此,虚拟机单元CVM加语法解析器ATPL的模式允许将测试程序所需的信息分不同的编译模式来执行,将整体框架解耦,提高了测试程序的可复用性和可扩展性。Therefore, the mode of the virtual machine unit CVM plus the parser ATPL allows the information required by the test program to be executed in different compilation modes, decoupling the overall framework, and improving the reusability and scalability of the test program.
②、可读性高,无论是开发过程还是后期维护,上述方案形成的可读性良好的代码能够大大提高编程效率,也能使代码架构更好。②, High readability, whether it is the development process or later maintenance, the readable code formed by the above scheme can greatly improve the programming efficiency and make the code structure better.
为此,本发明没有新增配置文件或其他DSL语法的文件,而是在源文 件上直接进行参数及指令的修改和调试,减小开发人员的学习成本。For this reason, the present invention does not add configuration file or the file of other DSL syntax, but directly carries out the modification and debugging of parameter and instruction on source file, reduces the learning cost of developer.
③、支持在线编辑和实时生效,该语法解析器ATPL和虚拟机单元CVM的执行模式使得开发人员可以对测试条件进行在线编辑和实时生效,极大的提升了调试和开发效率。③. Support online editing and real-time validation. The execution mode of the syntax parser ATPL and virtual machine unit CVM enables developers to edit test conditions online and take real-time validation, which greatly improves the efficiency of debugging and development.
④、实现过程优化,以Advantest公司为例,Advantest的测试编程语言指定了用户编写测试计划中使用的对象以及各对象之间的关系,这些程序文件由Advantest公司的编译器转换为C++代码,并且通过他们的测试系统,被打包到Windows动态链接库(DLL)中并加载到测试调度软件上执行。④. Realize process optimization. Take Advantest Company as an example. The test programming language of Advantest specifies the objects used in the test plan written by the user and the relationship between each object. These program files are converted into C++ codes by the compiler of Advantest Company, and Through their test system, it is packaged into a Windows dynamic link library (DLL) and loaded into the test scheduling software for execution.
也就是说,Advantest从测试计划描述到实现的转换过程分为翻译和编译两个阶段,他们需要将测试编程语言先转换成C++语言,然后,再进行下一步的编译、链接、加载、执行等步骤,整个过程相当繁琐。That is to say, Advantest's conversion process from test plan description to implementation is divided into two stages: translation and compilation. They need to convert the test programming language into C++ language first, and then proceed to the next step of compilation, linking, loading, execution, etc. steps, the whole process is rather cumbersome.
语法解析器ATPL和虚拟机单元CVM的模式则针对测试过程进行了优化,测试编程语言可直接通过ATPL解析器编译,在语法树的回调函数中生成机器码,通过虚拟机单元CVM操作堆栈直接执行指令集,无需再翻译为C++代码集成到项目中,显著提高了测试效率,节省了测试时间。The modes of the syntax parser ATPL and the virtual machine unit CVM are optimized for the test process. The test programming language can be compiled directly through the ATPL parser, and the machine code is generated in the callback function of the syntax tree, and directly executed through the virtual machine unit CVM operation stack. The instruction set does not need to be translated into C++ code and integrated into the project, which significantly improves the test efficiency and saves test time.
图1所示为Cpp类编译型语言的编译执行流程示意图Figure 1 shows a schematic diagram of the compilation and execution flow of a Cpp-like compiled language
图2所示为ATPL语法解析器在解析型语言时的流程示意图Figure 2 shows the flowchart of ATPL parser in parsing language
图3所示为本发明实施例中通过动态传递参数提高芯片测试效率装置的功能模块示意图Figure 3 is a schematic diagram of functional modules of a device for improving chip testing efficiency by dynamically transferring parameters in an embodiment of the present invention
图4所示为本发明实施例中通过动态传递参数提高芯片测试效率方法的 示意图Fig. 4 shows that in the embodiment of the present invention, the schematic diagram of the method for improving chip test efficiency by dynamically transferring parameters
图5所示为本发明实施例中ATPL语法解析器的工作流程的示意图Fig. 5 shows the schematic diagram of the workflow of the ATPL grammar parser in the embodiment of the present invention
发明内容Contents of the invention
下面结合附图1-5,对本发明的具体实施方式作进一步的详细说明。Below in conjunction with accompanying drawings 1-5, the specific embodiment of the present invention will be described in further detail.
需要说明的是,本发明所采用通过动态传递参数提高芯片测试效率装置,实现一个CVM(Cpp Virtual Machine)虚拟机和ATPL(Automatic Test Program Language)语法解析器,用于将Cpp代码翻译为机器码直接执行。It should be noted that the device adopted by the present invention to improve chip testing efficiency by dynamically passing parameters realizes a CVM (Cpp Virtual Machine) virtual machine and an ATPL (Automatic Test Program Language) parser for translating Cpp codes into machine codes Execute directly.
请参阅图1,图1所示为Cpp类编译型语言的编译执行流程示意图。如图1所示,该pp这类编译型语言的编译执行流程包括以下几个步骤:Please refer to FIG. 1 . FIG. 1 is a schematic diagram of a compilation and execution flow of a Cpp-like compiled language. As shown in Figure 1, the compilation and execution process of a compiled language such as pp includes the following steps:
源代码(source code)→预处理器(preprocessor)→编译器(compiler)→目标代码(object code)→链接器(Linker)→可执行程序(executables)→执行(execute)Source code→preprocessor→compiler→object code→linker→executables→execute
在这个工作流程中,编译器调用预处理器进行相关处理,将源代码进行优化转换(包括清除注释、宏定义、包含文件和条件编译),然后通过将经过预处理的源代码编译成目标代码(二进制机器语言),再通过调用链接器外加库文件(例如操作系统提供的API),从而形成可执行程序,让机器能够执行。并且目标代码要和机器的CPU架构相匹配,库文件要和操作系统相匹配。如果想在不同CPU的机器或者系统上运行Cpp语言的源代码,就需要针对不同的CPU架构和操作系统进行编译,这样才能够在机器上运行程序。In this workflow, the compiler calls the preprocessor to perform related processing, optimize the source code conversion (including clearing comments, macro definitions, include files, and conditional compilation), and then compile the preprocessed source code into object code (binary machine language), and then by calling the linker plus library files (such as the API provided by the operating system), an executable program is formed so that the machine can execute it. And the object code must match the CPU architecture of the machine, and the library file must match the operating system. If you want to run the source code of the Cpp language on a machine or system with different CPUs, you need to compile it for different CPU architectures and operating systems, so that you can run the program on the machine.
请参阅图2,图2所示为ATPL语法解析器在解析型语言时的流程示意 图。如图2所示,解析型语言主要有以下几个步骤:Please refer to Fig. 2, Fig. 2 shows the flow diagram of the ATPL grammar parser when parsing the type language. As shown in Figure 2, the analytic language mainly has the following steps:
源代码(source code)→解释器(interpret)→执行(execute)Source code (source code) → interpreter (interpret) → execution (execute)
源代码无需预先编译成可执行程序。在程序执行时,解释器读取一句源代码之后,先进行词法分析和语法分析,再将源代码转换为解释器能够执行的中间代码(字节码),最后,由解释器将中间代码解释为可执行的机器指令,并在对应的虚拟机中执行该指令。The source code does not need to be pre-compiled into an executable program. When the program is executed, after the interpreter reads a sentence of source code, it first performs lexical analysis and syntax analysis, and then converts the source code into an intermediate code (byte code) that the interpreter can execute. Finally, the interpreter interprets the intermediate code It is an executable machine instruction, and executes the instruction in the corresponding virtual machine.
Cpp这类编译型语言需要通过编译、链接、加载以及执行才能执行机器指令,而解析型语言直接在语法分析后就执行机器指令,省去了编译、链接、加载和生成可执行文件这些步骤,非常适合调试芯片测试条件时使用。然而如果全部使用解析型语言时,由于不经常被改动的代码在测试程序中占绝大部分,因此又会丢失部分性能。Compiled languages such as Cpp need to be compiled, linked, loaded, and executed to execute machine instructions, while analytic languages execute machine instructions directly after syntax analysis, eliminating the steps of compiling, linking, loading, and generating executable files. It is very suitable for debugging chip test conditions. However, if all analytical languages are used, some performance will be lost because the code that is not frequently changed accounts for the vast majority of the test program.
因此,本发明就是将二者结合,可以将那些不被经常改动的程序事先编译为机器码执行,而像测试条件这些需要经常改动调试的代码,则可以通过一个解释器将其翻译为机器码后,由内置的虚拟机执行并获取结果,则可以实现动态传参的效果,缩短编译时间,提供调试效率。Therefore, the present invention combines the two, and those programs that are not frequently changed can be compiled into machine codes in advance, and codes that need to be frequently changed and debugged, such as test conditions, can be translated into machine codes by an interpreter Finally, the built-in virtual machine executes and obtains the result, which can achieve the effect of dynamic parameter passing, shorten compilation time, and improve debugging efficiency.
请参阅图3,图3所示为本发明实施例中通过动态传递参数提高芯片测试效率装置的功能模块示意图。如图3所示,该基于动态传递参数的ATE装置,用于测量至少一台被测设备DUT;其包括测试程序模块、编译器、可变代码模块和测试执行模块;其中,所述测试程序模块包括固定代码程序和测试条件接口程序,所述可变代码模块用于接收测试条件,所述测试条件至少包括一条动态变化的参数;所述编译器用于编译所述测试程序模块中的程序,形成可执行的第一机器指令部分,所述测试执行模块包括语法解析器 ATPL、虚拟机单元CVM、调度测试流单元和通信单元;所述语法解析器ATPL逐句读取所述测试条件源代码,先进行词法分析和语法分析,再将所述源代码转换为中间代码并进行优化,最终将中间代码解释为可执行的第二机器指令部分,由所述虚拟机单元CVM执行第二机器指令部分;所述调度测试流单元根据CVM执行结果调度测试流,并通过所述通信单元与所述被测设备DUT执行交互测试。Please refer to FIG. 3 . FIG. 3 is a schematic diagram of functional modules of a device for improving chip testing efficiency by dynamically passing parameters in an embodiment of the present invention. As shown in Figure 3, the ATE device based on dynamic transfer parameters is used to measure at least one device under test DUT; it includes a test program module, a compiler, a variable code module and a test execution module; wherein the test program The module includes a fixed code program and a test condition interface program, the variable code module is used to receive a test condition, and the test condition includes at least one dynamically changing parameter; the compiler is used to compile the program in the test program module, Form the executable first machine instruction part, the test execution module includes a grammar parser ATPL, a virtual machine unit CVM, a scheduling test flow unit and a communication unit; the grammar parser ATPL reads the test condition source code sentence by sentence , first perform lexical analysis and syntax analysis, then convert the source code into an intermediate code and perform optimization, and finally interpret the intermediate code into an executable second machine instruction part, and execute the second machine instruction by the virtual machine unit CVM Part: the scheduling test flow unit schedules the test flow according to the CVM execution result, and executes the interaction test with the DUT through the communication unit.
所述测试条件可以包括所述ATE装置的硬件资源、端口号、输入激励和/或信号大小值。与现有技术不同的是,在本发明的实施例中,初始化后的ATE装置的硬件资源、端口号、输入激励和/或信号大小值等这些参数可以在测试中进行动态调整。The test conditions may include hardware resources, port numbers, input stimuli and/or signal magnitude values of the ATE device. Different from the prior art, in the embodiment of the present invention, parameters such as hardware resource, port number, input stimulus and/or signal size value of the initialized ATE device can be dynamically adjusted during the test.
也就是说,虚拟机单元CVM通过语法解析器ATPL可将芯片测试领域常用的编程语言Cpp源程序翻译为机器码,并在虚拟机内部执行。它通过执行这些目标代码,提供了为测试程序需要的输入激励和测试条件,使得开发人员可以方便的对测试计划和测试项进行编辑和调试,编辑后的测试项在执行时实时生效。That is to say, the virtual machine unit CVM can translate the source program of the programming language Cpp commonly used in the field of chip testing into machine code through the parser ATPL, and execute it inside the virtual machine. By executing these target codes, it provides the input stimulus and test conditions required by the test program, so that developers can easily edit and debug test plans and test items, and the edited test items will take effect in real time when they are executed.
请参阅图4,图4所示为本发明实施例中通过动态传递参数提高芯片测试效率方法的示意图。如图4所示,该方法包括如下步骤:Please refer to FIG. 4 . FIG. 4 is a schematic diagram of a method for improving chip testing efficiency by dynamically transferring parameters in an embodiment of the present invention. As shown in Figure 4, the method includes the following steps:
步骤S1:动态配置测试程序模块中所涉及到的所述测试条件中的参数。Step S1: Dynamically configure the parameters in the test conditions involved in the test program module.
步骤S2:所述编译器用于编译所述测试程序模块中的程序,形成可执行的第一机器指令部分。也就是说,本发明将测试程序模块化编写,固定不变的部分程序和需要经常修改调试的部分程序分文件编写代码。Step S2: the compiler is used to compile the program in the test program module to form the executable first machine instruction part. That is to say, in the present invention, the test program is modularized, and the fixed part of the program and the part of the program that needs to be frequently modified and debugged are coded in separate files.
上述固定不变的部分测试程序通过系统提供的Cpp编译器编译为可执 行文件,形成可执行的第一机器指令部分。The above-mentioned fixed part of the test program is compiled into an executable file by the Cpp compiler provided by the system to form the executable first machine instruction part.
而另一部分与测试条件相关的代码则不参与编译,这样特别方便,可以实现如果需要修改测试条件相关的代码,则直接在对应的源文件中修改。之后无需编译测试程序直接运行,修改后的测试条件将会立即生效。The other part of the code related to the test conditions does not participate in the compilation, which is very convenient. If you need to modify the code related to the test conditions, you can directly modify it in the corresponding source file. Afterwards, there is no need to compile the test program and run it directly, and the modified test conditions will take effect immediately.
步骤S3:所述语法解析器ATPL逐句读取所述测试条件源代码,先进行词法分析和语法分析,再将所述源代码转换为所述语法解析器ATPL能够执行的中间代码,最后由所述语法解析器ATPL将中间代码解释为可执行的第二机器指令部分。Step S3: the syntax parser ATPL reads the test condition source code sentence by sentence, first performs lexical analysis and syntax analysis, then converts the source code into intermediate code that the syntax parser ATPL can execute, and finally The parser ATPL interprets the intermediate code into an executable second machine instruction portion.
请查阅图5,图5所示为本发明实施例中ATPL语法解析器的工作流程的示意图。如图5所示,所述步骤S3可以具体包括:Please refer to FIG. 5 . FIG. 5 is a schematic diagram of the workflow of the ATPL parser in the embodiment of the present invention. As shown in Figure 5, the step S3 may specifically include:
步骤S31:词法分析,即对源文件进行扫描,将源文件的字符流拆分成一个个的词(记号);Step S31: lexical analysis, that is, scanning the source file, and splitting the character stream of the source file into individual words (marks);
步骤S32:语法分析,根据语法规则将这些记号构造出语法树;Step S32: grammar analysis, constructing a grammar tree from these tokens according to grammar rules;
步骤S33:语义分析,对语法树的各个节点之间的关系进行检查,检查语义规则是否被违背,同时对语法树进行必要的优化;Step S33: Semantic analysis, checking the relationship between each node of the syntax tree, checking whether the semantic rules are violated, and performing necessary optimization on the syntax tree;
步骤S34:遍历语法树的节点,将各节点转化为中间代码,并按特定的顺序拼装起来,此为中间代码生成;Step S34: Traversing the nodes of the syntax tree, converting each node into an intermediate code, and assembling them in a specific order, this is intermediate code generation;
步骤S35:对中间代码进行优化;Step S35: optimizing the intermediate code;
步骤S36:将中间代码转化为目标代码;Step S36: converting the intermediate code into object code;
步骤S37:对目标代码进行优化,生成最终的目标程序。Step S37: Optimizing the object code to generate a final object program.
步骤S4:并在对应的虚拟机单元CVM中通过应用程序接口API拼接所述第一机器指令部分和第二机器指令部分,形成目标代码。Step S4: and splicing the first machine instruction part and the second machine instruction part through the application program interface API in the corresponding virtual machine unit CVM to form the target code.
步骤S5:所述调度测试流单元翻译所述目标代码,并通过所述通信单元与所述被测设备DUT执行交互测试,获得测试结果。Step S5: the dispatching test flow unit translates the target code, and executes an interaction test with the device under test (DUT) through the communication unit to obtain a test result.
也就是说,等测试程序运行起来后,通过其中内嵌的虚拟机单元CVM加语法解析器ATPL,将这些代码动态地加载到进程中,翻译为目标代码后在虚拟机单元CVM中执行,并获取计算结果,省去重新编译链接整个程序的步骤,提高芯片的测试调试效率。That is to say, after the test program is running, these codes are dynamically loaded into the process through the embedded virtual machine unit CVM plus syntax parser ATPL, translated into target codes, executed in the virtual machine unit CVM, and Obtain calculation results, save the steps of recompiling and linking the entire program, and improve the efficiency of chip testing and debugging.
综上所述,本发明一种通过动态传递参数提高芯片测试效率的装置和传输方法,其提供一种动态传参的方法,能将调试时需要修改的测试条件动态的加载到测试程序中执行,使得测试程序无需重新编译链接即可对更改后的测试条件生效,可以有效的提高芯片测试效率。In summary, the present invention provides a device and transmission method for improving chip testing efficiency through dynamic transmission of parameters, which provides a method for dynamic parameter transmission, which can dynamically load the test conditions that need to be modified during debugging into the test program for execution , so that the test program can take effect on the changed test conditions without recompiling and linking, which can effectively improve the efficiency of chip testing.
以上所述仅为本发明的优选实施例,所述实施例并非用于限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明所附权利要求的保护范围内。The above are only preferred embodiments of the present invention, and the embodiments are not intended to limit the scope of patent protection of the present invention, so all equivalent structural changes made by using the description and drawings of the present invention should be included in the same reason Within the protection scope of the appended claims of the present invention.
Claims (4)
- 一种基于动态传递参数的ATE装置,用于测量至少一台被测设备DUT;其特征在于,包括测试程序模块、编译器、可变代码模块和测试执行模块;其中,所述测试程序模块包括固定代码程序和测试条件接口程序,所述可变代码模块用于接收测试条件,所述测试条件至少包括一条动态变化的参数;所述编译器用于编译所述测试程序模块中的程序,形成可执行的第一机器指令部分,所述测试执行模块包括语法解析器ATPL、虚拟机单元CVM、调度测试流单元和通信单元;所述语法解析器ATPL逐句读取所述测试条件源代码,先进行词法分析和语法分析,再将所述源代码转换为中间代码并进行优化,然后将中间代码解释为可执行的第二机器指令部分,在所述虚拟机单元CVM中执行第二机器指令部分;所述调度测试流单元根据CVM执行结果调度测试流,并通过所述通信单元与所述被测设备DUT执行交互测试。A kind of ATE device based on dynamic transmission parameter, is used for measuring at least one equipment under test DUT; It is characterized in that, comprises test program module, compiler, variable code module and test execution module; Wherein, described test program module includes A fixed code program and a test condition interface program, the variable code module is used to receive a test condition, and the test condition includes at least one dynamically changing parameter; the compiler is used to compile the program in the test program module to form a The first machine instruction part of execution, the test execution module includes syntax parser ATPL, virtual machine unit CVM, scheduling test flow unit and communication unit; the syntax parser ATPL reads the test condition source code sentence by sentence, first Perform lexical analysis and syntax analysis, then convert the source code into an intermediate code and perform optimization, then interpret the intermediate code into an executable second machine instruction part, and execute the second machine instruction part in the virtual machine unit CVM ; The scheduling test flow unit schedules the test flow according to the CVM execution result, and executes the interaction test with the DUT through the communication unit.
- 根据权利要求1所述的基于动态传递参数的ATE装置,其特征在于,所述测试条件包括所述ATE装置的硬件资源、端口号、输入激励和/或信号大小值。The ATE device based on dynamic transfer parameters according to claim 1, wherein the test conditions include hardware resources, port numbers, input stimulus and/or signal size values of the ATE device.
- 一种基于动态传递参数的ATE装置,采用权利要求1或2所述的ATE装置方法,其特征在于,包括:An ATE device based on dynamic transfer parameters, using the ATE device method described in claim 1 or 2, characterized in that it comprises:步骤S1:动态配置测试程序模块中所涉及到的所述测试条件中的参数;Step S1: dynamically configuring parameters in the test conditions involved in the test program module;步骤S2:所述编译器用于编译所述测试程序模块中的程序,形成可执行的第一机器指令部分;Step S2: the compiler is used to compile the program in the test program module to form an executable first machine instruction part;步骤S3:所述语法解析器ATPL逐句读取所述测试条件源代码,先进行词法分析和语法分析,再将所述源代码转换为中间代码并进行优化,最终解 释为可执行的第二机器指令部分;Step S3: The syntax parser ATPL reads the test condition source code sentence by sentence, first performs lexical analysis and syntax analysis, then converts the source code into intermediate code and optimizes it, and finally interprets it as an executable second machine instruction section;步骤S4:并在对应的虚拟机单元CVM中执行第二机器指令部分;Step S4: and execute the second machine instruction part in the corresponding virtual machine unit CVM;步骤S5:所述调度测试流单元根据CVM执行结果调度测试流,并通过所述通信单元与所述被测设备DUT执行交互测试,获得测试结果。Step S5: The scheduling test flow unit schedules the test flow according to the CVM execution result, and executes an interactive test with the DUT through the communication unit to obtain a test result.
- 根据权利要求3所述的通过动态传递参数提高芯片测试效率方法,其特征在于,所述步骤S3具体包括:The method for improving chip testing efficiency by dynamically transferring parameters according to claim 3, wherein said step S3 specifically includes:步骤S31:词法分析,即对源文件进行扫描,将源文件的字符流拆分成一个个的词;Step S31: lexical analysis, that is, scanning the source file, and splitting the character stream of the source file into individual words;步骤S32:语法分析,根据语法规则将这些记号构造出语法树;Step S32: grammar analysis, constructing a grammar tree from these tokens according to grammar rules;步骤S33:语义分析,对语法树的各个节点之间的关系进行检查,检查语义规则是否被违背,同时对语法树进行必要的优化;Step S33: Semantic analysis, checking the relationship between each node of the syntax tree, checking whether the semantic rules are violated, and performing necessary optimization on the syntax tree;步骤S34:遍历语法树的节点,将各节点转化为中间代码,并按特定的顺序拼装起来,此为中间代码生成;Step S34: Traverse the nodes of the syntax tree, convert each node into an intermediate code, and assemble them in a specific order, which is intermediate code generation;步骤S35:对中间代码进行优化;Step S35: optimizing the intermediate code;步骤S36:将中间代码转化为目标代码;Step S36: converting the intermediate code into object code;步骤S37:对目标代码进行优化,生成最终的目标程序。Step S37: Optimizing the object code to generate the final object program.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043592.X | 2022-01-14 | ||
CN202210043592.XA CN114490362A (en) | 2022-01-14 | 2022-01-14 | ATE device based on dynamic transfer parameters and transmission method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023133932A1 true WO2023133932A1 (en) | 2023-07-20 |
Family
ID=81512666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/073388 WO2023133932A1 (en) | 2022-01-14 | 2022-01-24 | Ate apparatus based on dynamically transmitted parameters, and transmission method |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114490362A (en) |
WO (1) | WO2023133932A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI804363B (en) * | 2022-06-23 | 2023-06-01 | 英業達股份有限公司 | Device for updating library required by test program for testing and method thereof |
CN116580757B (en) * | 2023-07-12 | 2023-09-22 | 悦芯科技股份有限公司 | Virtual ATE test method and system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838980A (en) * | 1994-01-18 | 1998-11-17 | Sybase, Inc. | Compilation and virtual machine arrangement and process for source code including pre-runtime executable language structure constructs |
US20050154949A1 (en) * | 2004-01-12 | 2005-07-14 | Lucent Technologies Inc. | System for flexible embedded Boundary Scan testing |
US20150074653A1 (en) * | 2013-09-12 | 2015-03-12 | Teradyne, Inc. | Executing code on a test instrument in response to an event |
CN105209925A (en) * | 2013-04-16 | 2015-12-30 | 爱德万测试公司 | Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing |
CN110719212A (en) * | 2018-07-13 | 2020-01-21 | 是德科技股份有限公司 | Method, system, and computer readable medium for testing network nodes using source code |
CN110908668A (en) * | 2019-11-21 | 2020-03-24 | 深圳市新威尔电子有限公司 | Compiler for compiling battery test system script program |
US20200279064A1 (en) * | 2019-03-01 | 2020-09-03 | Synopsys, Inc. | Automatic Testbench Generator for Test-Pattern Validation |
-
2022
- 2022-01-14 CN CN202210043592.XA patent/CN114490362A/en active Pending
- 2022-01-24 WO PCT/CN2022/073388 patent/WO2023133932A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838980A (en) * | 1994-01-18 | 1998-11-17 | Sybase, Inc. | Compilation and virtual machine arrangement and process for source code including pre-runtime executable language structure constructs |
US20050154949A1 (en) * | 2004-01-12 | 2005-07-14 | Lucent Technologies Inc. | System for flexible embedded Boundary Scan testing |
CN105209925A (en) * | 2013-04-16 | 2015-12-30 | 爱德万测试公司 | Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing |
US20150074653A1 (en) * | 2013-09-12 | 2015-03-12 | Teradyne, Inc. | Executing code on a test instrument in response to an event |
CN110719212A (en) * | 2018-07-13 | 2020-01-21 | 是德科技股份有限公司 | Method, system, and computer readable medium for testing network nodes using source code |
US20200279064A1 (en) * | 2019-03-01 | 2020-09-03 | Synopsys, Inc. | Automatic Testbench Generator for Test-Pattern Validation |
CN110908668A (en) * | 2019-11-21 | 2020-03-24 | 深圳市新威尔电子有限公司 | Compiler for compiling battery test system script program |
Also Published As
Publication number | Publication date |
---|---|
CN114490362A (en) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5651111A (en) | Method and apparatus for producing a software test system using complementary code to resolve external dependencies | |
WO2023133932A1 (en) | Ate apparatus based on dynamically transmitted parameters, and transmission method | |
Hu et al. | DeGPT: Optimizing Decompiler Output with LLM | |
CN117707499A (en) | Multi-source model algorithm analyzer plug-in and compiling algorithm based on virtualization technology | |
Lee et al. | A New Integrated Software Development Environment Based on SDL, MSC, and CHILL for Large‐scale Switching Systems | |
CN117411906A (en) | Implementation method and system of RTOS (real time operating System) embedded in QuickJS engine | |
CN112100059B (en) | C language pointer type analysis method | |
CN115373988A (en) | Test case generation method, test method, electronic device, and storage medium | |
Farias et al. | ESBMC-Python: A Bounded Model Checker for Python Programs | |
EP1388063B1 (en) | System and method for automated assertion acquisition in a java compatibility testing | |
Smith et al. | A more agile approach to embedded system development | |
Stange | Model checking for SCCharts | |
Grigorev et al. | String-embedded language support in integrated development environment | |
Yue et al. | Trap: trace runtime analysis of properties | |
Qiao et al. | An Efficient DSP Simulator Design Supporting Multi-Core Debugging | |
Yu et al. | An Efficient and Secure Inline Assembly Design for VLIW DSP | |
CN116301906A (en) | Modularized C language universal compiler | |
Rababaah | Simple Imperative Model Programming Language for Education–SIMPLE | |
Kheradmand | A formal semantics of P4 and applications | |
d'Souza | Eclipse CDT code analysis and unit testing | |
Loitzl | Supporting Register Pairs in CompCert | |
d’Souza | HAL Id: hal-01939872 | |
de Miguel et al. | A Pragmatic Approach to Verification, Validation and Compilation | |
Chen et al. | Essential loss: Bridge the gap between ranking measures and loss functions in learning to rank | |
CN117873481A (en) | Dynamic code compiling method, compiler, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22919578 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |