CN116932412B - Sharing platform and method that can generate test stimulus files in different formats - Google Patents
Sharing platform and method that can generate test stimulus files in different formats Download PDFInfo
- Publication number
- CN116932412B CN116932412B CN202311169439.2A CN202311169439A CN116932412B CN 116932412 B CN116932412 B CN 116932412B CN 202311169439 A CN202311169439 A CN 202311169439A CN 116932412 B CN116932412 B CN 116932412B
- Authority
- CN
- China
- Prior art keywords
- test
- function
- parameters
- functions
- api
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3624—Debugging of software by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
- G06F11/3656—Debugging of software using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
技术领域Technical field
本发明属于芯片测试领域,具体涉及一种可生成不同格式测试激励文件的共享平台和方法。The invention belongs to the field of chip testing, and specifically relates to a sharing platform and method that can generate test stimulus files in different formats.
背景技术Background technique
随着集成电路技术的不断发展和规模的不断扩大,芯片的验证和测试占有越来越重要的地位。Pattern(测试激励文件),本质就是芯片的真值表,其包含的主要内容就是输入时序与期望时序的符号组合,也包含了用于实现某些复杂功能的微指令。With the continuous development and expansion of integrated circuit technology, chip verification and testing occupy an increasingly important position. Pattern (test stimulus file) is essentially the truth table of the chip. The main content it contains is the symbolic combination of input timing and expected timing. It also contains microinstructions used to implement certain complex functions.
ATE(Automatic Test Equipment)是自动测试设备,在芯片测试过程中,向被测试芯片的输入管脚发送Pattern行向量的输入时序,比较被测试芯片的输出管脚的输出时序与该Pattern(测试激励文件)行向量的期望时序,根据比较结果确定此测试芯片是否满足要求。ATE (Automatic Test Equipment) is automatic test equipment. During the chip testing process, it sends the input timing of the Pattern row vector to the input pin of the chip under test, and compares the output timing of the output pin of the chip under test with the Pattern (test stimulus). file) expected timing of the row vector, determine whether this test chip meets the requirements based on the comparison results.
VCD(Value Change Dump)文件格式为一种通用波形文件格式,是IEEE1364标准(Verilog HDL硬件描述语言标准,p325)中定义的一种ASCII(American Standard Codefor Information Interchange,美国信息交换标准码)文件,是一个通用芯片设计仿真文件,现阶段Pattern通常都是由VCD转换成的。The VCD (Value Change Dump) file format is a universal waveform file format. It is an ASCII (American Standard Code for Information Interchange) file defined in the IEEE1364 standard (Verilog HDL Hardware Description Language Standard, p325). It is a general chip design simulation file. At this stage, Pattern is usually converted from VCD.
芯片验证所需的测试程序由芯片厂商开发并独立于FT测试;FT测试所需的测试程序要么由封装测试厂根据芯片厂商提供的操作手册重新进行二次开发,要么由封装测试厂通过通用的转换软件或者自编的转换软件将基于业界标准格式的验证波形文件转换得到,这种通过重复开发或者解释波形文件的转化方式,不仅开发效率低,而且测试程序的可维护性和可复用性低。The test procedures required for chip verification are developed by the chip manufacturer and are independent of FT testing; the test procedures required for FT testing are either re-developed by the packaging and testing factory according to the operation manual provided by the chip manufacturer, or passed by the packaging and testing factory through a common Conversion software or self-written conversion software converts verification waveform files based on industry standard formats. This conversion method of repeatedly developing or interpreting waveform files not only has low development efficiency, but also reduces the maintainability and reusability of the test program. Low.
发明内容Contents of the invention
本发明的目的在于提供可生成不同格式测试激励文件的共享平台和方法,不需要通过重复开发或者解释波形文件的转化方式得到不同格式的测试程序,简化了开发过程,也提升了测试程序的可复用性。The purpose of the present invention is to provide a sharing platform and method that can generate test stimulus files in different formats. It does not require repeated development or interpretation of waveform file conversion methods to obtain test programs in different formats, simplifying the development process and improving the reliability of the test program. Reusability.
本发明可生成不同格式测试激励文件的方法,包括如下步骤:The present invention can generate a method for testing stimulus files in different formats, including the following steps:
步骤1、基于编译型编程语言开发API函数库及将API函数库编译成一个共享库;Step 1. Develop API function library based on compiled programming language and compile API function library into a shared library;
在芯片硬件开发阶段并行开发API函数,抽象芯片的功能测试点,然后对测试功能进行细化,并细化至芯片寄存器的读写功能,明确API函数间的交互接口方式和层次关系,规定API函数的输入或输出参数和部分功能模块的仿真模型;自底向上采用编译型编程语言编写API函数,被调用的API函数会提供寄存器地址和数据列表两个接口参数,以便上一层函数通过这两个接口参数来调用它;将API函数集成在SDK环境中并对其进行仿真验证,确保测试程序的正确性;将验证成功的API函数按功能分布在多个文件中,然后封装成API函数库;将这些文件编译成一个共享库,以方便虚拟平台调用;Develop API functions in parallel during the chip hardware development stage, abstract the functional test points of the chip, and then refine the test functions to the read and write functions of the chip registers, clarify the interactive interface methods and hierarchical relationships between API functions, and specify the API The input or output parameters of the function and the simulation model of some functional modules; the API function is written in a compiled programming language from the bottom up. The called API function will provide two interface parameters, the register address and the data list, so that the upper layer function can pass this Two interface parameters to call it; integrate the API function in the SDK environment and conduct simulation verification to ensure the correctness of the test program; distribute the successfully verified API functions in multiple files by function, and then encapsulate them into API functions Library; compile these files into a shared library to facilitate virtual platform calls;
步骤2、编写配置文件;Step 2. Write the configuration file;
编写配置文件,该配置文件包括指定芯片管脚列表、硬件通信接口参数和测试环境参数;Write a configuration file, which includes a specified chip pin list, hardware communication interface parameters and test environment parameters;
步骤3、采用解释型编程语言生成测试激励文件;Step 3. Use interpreted programming language to generate test stimulus files;
步骤3.1、基于解释型编程语言搭建一个虚拟平台,将测试软件的依赖项和测试环境隔离开,通过读取配置信息以确保测试软件可以在不同的验证平台上运行;Step 3.1. Build a virtual platform based on an interpreted programming language to isolate the dependencies of the test software from the test environment. Read the configuration information to ensure that the test software can run on different verification platforms;
通过Configuration reader模块读取cfg格式的配置文件,然后输出三个参数给Generator模块,该三个参数分别为芯片管脚列表、硬件通信接口参数和测试环境参数;Read the configuration file in cfg format through the Configuration reader module, and then output three parameters to the Generator module. The three parameters are the chip pin list, hardware communication interface parameters and test environment parameters;
通过Transaction descriptor模块的顶层函数run_test()来调用共享库中的API函数来构建芯片的行为级模型,将Transaction descriptor模块的底层函数mailbox_send(address, data)和mailbox_recieve(address, data)映射到Generator模块的硬件驱动函数,从而实现具体的接口通信;Use the top-level function run_test() of the Transaction descriptor module to call the API function in the shared library to build the behavioral model of the chip, and map the underlying functions mailbox_send(address, data) and mailbox_recieve(address, data) of the Transaction descriptor module to the Generator module Hardware driver function to achieve specific interface communication;
Generator模块包含顶层函数run_gen()和硬件驱动函数,其中run_gen()根据传入的硬件通信接口参数来选择激励信号的类型,并根据传入的芯片管脚列表和测试环境参数来确认硬件驱动函数的赋值对像及测试激励文件的格式,最后将Transactiondescriptor模块的mailbox_send(address, data)和mailbox_recieve(address, data)映射成硬件接口函数;The Generator module contains the top-level function run_gen() and the hardware driver function. Run_gen() selects the type of excitation signal based on the incoming hardware communication interface parameters, and confirms the hardware driver function based on the incoming chip pin list and test environment parameters. The assignment object and the format of the test stimulus file, and finally map the mailbox_send(address, data) and mailbox_recieve(address, data) of the Transactiondescriptor module to hardware interface functions;
所述顶层和底层函数由解释型编程语言编写而成;The top-level and bottom-level functions are written in an interpreted programming language;
步骤3.2、运行run_gen()生成测试激励文件并输出;Step 3.2. Run run_gen() to generate the test stimulus file and output it;
测试激励文件的格式由Generator模块读取测试环境参数来确定,当选择ATE测试环境时,输出格式为ATE可识别的pat格式文件,当选择Verilog测试环境时,输出格式为Verilog HDL格式文件,当选择SDK测试环境时,输出格式为cfg格式文件。The format of the test stimulus file is determined by the Generator module reading the test environment parameters. When the ATE test environment is selected, the output format is a pat format file recognized by ATE. When the Verilog test environment is selected, the output format is a Verilog HDL format file. When selecting the SDK test environment, the output format is a cfg format file.
进行SDK开发测试调试代码时,设定每个API函数的返回值为一个Boolean类型的数值,一旦函数正确地执行,则返回true,而一旦执行错误,则返回false。When developing, testing and debugging code in the SDK, set the return value of each API function to a Boolean value. Once the function is executed correctly, it will return true, and once it is executed incorrectly, it will return false.
本发明可生成不同格式测试激励文件的共享平台,包括方便让虚拟平台调用的共享库和基于解释型编程语言提供的虚拟平台,该虚拟平台由Configuration reader模块、Transaction descriptor模块和Generator模块构建,用于将测试软件的依赖项和测试环境隔离开,通过读取配置信息以确保测试软件可以在不同的验证平台上运行;The invention can generate a sharing platform for test stimulus files in different formats, including a shared library that is convenient for virtual platform calls and a virtual platform provided based on an interpreted programming language. The virtual platform is constructed by a Configuration reader module, a Transaction descriptor module and a Generator module. To isolate the dependencies of the test software from the test environment, and ensure that the test software can run on different verification platforms by reading configuration information;
所述方便让虚拟平台调用的共享库,由基于编译型编程语言开发的API函数库编译而成;所述API数据库由所有执行成功的按功能分布在多个文件中的API函数封装而成,所述的API函数在芯片硬件开发阶段并行开发,抽象芯片的功能测试点,然后对测试功能进行细化,并细化至芯片寄存器的读写功能,明确API函数间的交互接口方式和层次关系,规定API函数的输入或输出参数和部分功能模块的仿真模型;然后自底向上采用编译型编程语言编写API函数,被调用的API函数会提供寄存器地址和数据列表两个接口参数,以便上一层函数通过这两个接口参数来调用它;将API函数集成在SDK环境中并对其进行仿真验证,通过SDK开发测试确保测试程序的正确性,得到验证成功的API函数;The shared library that is convenient for virtual platforms to call is compiled from an API function library developed based on a compiled programming language; the API database is encapsulated by all successfully executed API functions distributed in multiple files according to their functions. The API functions described are developed in parallel during the chip hardware development stage, abstracting the functional test points of the chip, and then refining the test functions to the read and write functions of the chip registers, clarifying the interactive interface methods and hierarchical relationships between API functions , stipulate the input or output parameters of the API function and the simulation model of some functional modules; then use the compiled programming language to write the API function from the bottom up. The called API function will provide two interface parameters, the register address and the data list, so that the previous The layer function calls it through these two interface parameters; integrate the API function in the SDK environment and simulate it to verify it, ensure the correctness of the test program through SDK development testing, and obtain the successfully verified API function;
所述Configuration reader模块,用于读取cfg格式的配置文件,然后输出三个参数给Generator模块,该三个参数分别为芯片管脚列表、硬件通信接口参数和测试环境参数;所述配置文件包括指定芯片管脚列表、硬件通信接口参数和测试环境参数;The Configuration reader module is used to read the configuration file in cfg format, and then outputs three parameters to the Generator module. The three parameters are the chip pin list, hardware communication interface parameters and test environment parameters; the configuration file includes Specify the chip pin list, hardware communication interface parameters and test environment parameters;
所述Transaction descriptor模块,用于通过其顶层函数run_test()调用共享库中的API函数来构建芯片的行为级模型,并通过其底层函数mailbox_send(address, data)和mailbox_recieve(address, data)映射到Generator模块的硬件驱动函数,从而实现具体的接口通信;The Transaction descriptor module is used to call the API function in the shared library through its top-level function run_test() to build a behavioral model of the chip, and is mapped to the chip through its underlying functions mailbox_send(address, data) and mailbox_recieve(address, data) The hardware driver function of the Generator module to achieve specific interface communication;
该Generator模块包含顶层函数run_gen()和硬件驱动函数,其中run_gen()根据传入的硬件通信接口参数选择激励信号的类型,并根据传入的芯片管脚列表和测试环境参数确认硬件驱动函数的赋值对像及测试激励文件的格式,最后将Transaction descriptor模块的mailbox_send(address, data)和mailbox_recieve(address, data)映射成硬件接口函数;运行run_gen()生成测试激励文件并输出;The Generator module contains the top-level function run_gen() and the hardware driver function. Run_gen() selects the type of excitation signal based on the incoming hardware communication interface parameters, and confirms the hardware driver function based on the incoming chip pin list and test environment parameters. Assign the object and the format of the test stimulus file, and finally map the mailbox_send(address, data) and mailbox_recieve(address, data) of the Transaction descriptor module to the hardware interface function; run run_gen() to generate the test stimulus file and output it;
所述顶层和底层函数由解释型编程语言编写而成;The top-level and bottom-level functions are written in an interpreted programming language;
所述测试激励文件的格式由Generator模块读取测试环境参数来确定,当选择ATE测试环境时,输出格式为ATE可识别的pat格式文件,当选择Verilog测试环境时,输出格式为Verilog HDL格式文件,当选择SDK测试环境时,输出格式为cfg格式文件。The format of the test stimulus file is determined by the Generator module reading the test environment parameters. When the ATE test environment is selected, the output format is a pat format file that can be recognized by ATE. When the Verilog test environment is selected, the output format is a Verilog HDL format file. , when selecting the SDK test environment, the output format is a cfg format file.
一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一种可生成不同格式测试激励文件的方法的处理步骤。An electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are At least one processor executes, so that the at least one processor can execute the processing steps of any of the above methods that can generate test stimulus files in different formats.
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据上述任一种可生成不同格式测试激励文件的方法的处理步骤。A non-transitory computer-readable storage medium storing computer instructions, the computer instructions being used to cause a computer to execute processing steps according to any of the above methods for generating test stimulus files in different formats.
本发明通过将编译型编程语言和解释型编程语言相结合开发跨平台的软件开发架构,该跨平台的软件开发架构允许芯片厂商开发抽象等级更好的测试程序,可以模块化设计,并对测试程序进行库封装,不但提高了效率,也提升了测试程序的可维护性和可复用性;也允许芯片厂商根据测试环境编写不一样的硬件驱动程序,同时还可以直接调用抽象等级更高的测试程序,最终转化为ATE可识别或者验证平台可识别的程序,简化了开发过程,也提升了测试程序的可复用性。The present invention develops a cross-platform software development architecture by combining a compiled programming language and an interpreted programming language. The cross-platform software development architecture allows chip manufacturers to develop test programs with better abstraction levels, modular design, and test The library encapsulation of the program not only improves the efficiency, but also improves the maintainability and reusability of the test program; it also allows chip manufacturers to write different hardware drivers according to the test environment, and can also directly call higher abstraction levels. The test program is eventually converted into a program that can be recognized by ATE or the verification platform, which simplifies the development process and improves the reusability of the test program.
采用本发明的技术方案,芯片厂商应用工程师可以直接使用抽象等级更高的测试程序,将这些测试程序封装在SDK中,然后进行应用的开发和芯片回厂的功能测试,实现测试程序的第一次复用;芯片厂商芯片验证工程师可以直接使用抽象等级更高的测试程序做功能测试,也可以通过系统函数来调用更底层的pattern,然后做功能测试,这样就可以实现测试程序的第二次复用;封装测试厂测试工程师可以指定ATE的测试环境来生成不同的pattern,从而实现测试程序的第三次复用;由于可以根据不同功能生成不同的pattern,消除了需要大容量存储空间来一次性存储各种格式测试文件的弊端。Using the technical solution of the present invention, chip manufacturer application engineers can directly use test programs with a higher abstraction level, encapsulate these test programs in the SDK, and then carry out application development and functional testing of the chip back to the factory, realizing the first step of the test program. Secondary reuse; chip manufacturer chip verification engineers can directly use test programs with higher abstraction levels to do functional tests, or they can call lower-level patterns through system functions and then do functional tests, so that the second pass of the test program can be implemented Reuse; test engineers at the packaging and testing factory can specify the ATE test environment to generate different patterns, thereby realizing the third reuse of the test program; since different patterns can be generated according to different functions, the need for large-capacity storage space is eliminated. Disadvantages of permanently storing test files in various formats.
附图说明Description of the drawings
图1为本发明可生成不同格式测试激励文件的共享平台的原理框图;Figure 1 is a functional block diagram of a sharing platform that can generate test stimulus files in different formats according to the present invention;
图2为本发明可生成不同格式测试激励文件的方法流程图。Figure 2 is a flow chart of a method for generating test stimulus files in different formats according to the present invention.
具体实施方式Detailed ways
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only some of the embodiments of the present invention, not all of them. . Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present invention.
实施例一Embodiment 1
如图1和2所示,本发明实施例一提供一种可生成不同格式测试激励文件的方法,包括如下步骤:As shown in Figures 1 and 2, Embodiment 1 of the present invention provides a method for generating test stimulus files in different formats, including the following steps:
步骤1、基于编译型编程语言开发API函数库及将API函数库编译成一个共享库;Step 1. Develop API function library based on compiled programming language and compile API function library into a shared library;
在芯片设计阶段并行开发API函数,抽象芯片的功能测试点,并对测试功能进行细化,细化至芯片寄存器的读写功能,明确API函数间的交互接口方式和层次关系,具体为:哪些API函数作为上一层函数或者下一层函数,哪些函数是否需要输入参数或者输出参数,哪些功能需要编写model功能模型来做结果比较;Develop API functions in parallel during the chip design stage, abstract the functional test points of the chip, and refine the test functions down to the reading and writing functions of the chip registers, and clarify the interactive interface methods and hierarchical relationships between API functions, specifically: which API functions serve as upper-level functions or lower-level functions. Which functions require input parameters or output parameters, and which functions require writing model function models for result comparison;
自底向上采用编译型编程语言编写API函数,允许调用的API函数需要提供寄存器地址和要发送的数据列表两个接口参数,允许上一层函数通过这两个接口参数来调用下一层函数,例如上一层函数flash_erase(address, write_data)调用下一层函数flash_reg_write(address, write_data),函数中的第一个参数为寄存器地址,第二个参数为要发送的数据列表;A compiled programming language is used to write API functions from the bottom up. The API function that is allowed to be called needs to provide two interface parameters: the register address and the data list to be sent. The upper layer function is allowed to call the next layer function through these two interface parameters. For example, the upper-level function flash_erase(address, write_data) calls the lower-level function flash_reg_write(address, write_data). The first parameter in the function is the register address, and the second parameter is the data list to be sent;
将API函数集成在SDK环境中进行SDK开发测试,对其进行验证并确保测试程序的正确性:为了便于调试代码,则设定每个API函数的返回值为一个Boolean类型的数值,一旦一个函数被正确地执行,则返回true,而一旦执行错误,则返回false,从而快速确定异常点,然后返回SDK开发测试;Integrate API functions into the SDK environment for SDK development testing, verify them and ensure the correctness of the test program: In order to facilitate debugging the code, set the return value of each API function to a Boolean type value. Once a function If it is executed correctly, it will return true, and once it is executed incorrectly, it will return false, so as to quickly determine the abnormal point and then return to the SDK development test;
将所有执行成功的API函数封装成API函数库;Encapsulate all successfully executed API functions into an API function library;
编写API函数过程中,为了程序的可复用性和可维护性,将API函数库分布在多个文件中,然后将它们编译成一个共享库以方便run_test()调用;In the process of writing API functions, for the reusability and maintainability of the program, the API function libraries are distributed in multiple files, and then compiled into a shared library to facilitate run_test() calls;
步骤2、编写配置文件;Step 2. Write the configuration file;
编写配置文件,该配置文件包括指定芯片管脚列表、硬件通信接口参数和测试环境参数,例如ATE设备通过jtag接口访问芯片;Write a configuration file, which includes the specified chip pin list, hardware communication interface parameters and test environment parameters. For example, the ATE device accesses the chip through the jtag interface;
步骤3、采用解释型编程语言生成测试激励文件;Step 3. Use interpreted programming language to generate test stimulus files;
步骤3.1、基于解释型编程语言提供一个虚拟平台,将测试软件的依赖项和测试环境隔离开,通过读取配置信息以确保测试软件可以在不同的验证平台上运行;Step 3.1. Provide a virtual platform based on the interpreted programming language to isolate the dependencies of the test software from the test environment, and ensure that the test software can run on different verification platforms by reading configuration information;
Configuration reader模块读取cfg格式的配置文件,然后输出三个参数给Generator模块,该三个参数分别为芯片管脚列表、硬件通信接口参数和测试环境参数;The Configuration reader module reads the configuration file in cfg format, and then outputs three parameters to the Generator module, which are the chip pin list, hardware communication interface parameters and test environment parameters;
通过Transaction descriptor模块的顶层函数run_test(),调用共享库中的API函数来构建芯片的行为级模型,例如要实现对flash某段存储空间进行擦除,则可以调用共享库中的API函数库中的函数flash_erase(address, write_data);通过Transactiondescriptor模块的底层函数mailbox_send(address, data)和mailbox_recieve(address,data)映射到Generator模块的硬件驱动函数,从而实现具体的接口通信;Through the top-level function run_test() of the Transaction descriptor module, the API function in the shared library is called to build the behavioral model of the chip. For example, to erase a certain section of flash storage space, you can call the API function library in the shared library. The function flash_erase(address, write_data) is mapped to the hardware driver function of the Generator module through the underlying functions mailbox_send(address, data) and mailbox_recieve(address, data) of the Transactiondescriptor module, thereby realizing specific interface communication;
Generator模块包含顶层函数run_gen()和硬件驱动函数,其中run_gen()根据传入的硬件通信接口参数来选择激励信号的类型,并根据传入的芯片管脚列表和测试环境参数来确认硬件驱动函数的赋值对像及测试激励文件的格式,最后将Transactiondescriptor模块的mailbox_send(address, data)和mailbox_recieve(address, data)映射成硬件接口函数,例如当硬件通信接口参数返回值为“01”,则通信接口为jtag,硬件驱动函数jtag_reg_write(address, write_data)和jtag_reg_read(address, read_data)分别映射run_test()中的mailbox_send(address, data)和mailbox_recieve(address,data)函数;The Generator module contains the top-level function run_gen() and the hardware driver function. Run_gen() selects the type of excitation signal based on the incoming hardware communication interface parameters, and confirms the hardware driver function based on the incoming chip pin list and test environment parameters. The assignment object and the format of the test stimulus file, and finally map the mailbox_send(address, data) and mailbox_recieve(address, data) of the Transactiondescriptor module to the hardware interface function. For example, when the return value of the hardware communication interface parameter is "01", the communication The interface is jtag, and the hardware driver functions jtag_reg_write(address, write_data) and jtag_reg_read(address, read_data) respectively map the mailbox_send(address, data) and mailbox_recieve(address, data) functions in run_test();
步骤3.2、运行run_gen()生成测试激励文件并输出;Step 3.2. Run run_gen() to generate the test stimulus file and output it;
所述测试激励文件可以是ATE可识别的pat格式文件,也可以是芯片仿真工具可识别的Verilog HDL格式文件;测试激励文件的格式由Generator模块读取测试环境参数来确定,当选择ATE测试环境时,输出格式为ATE可识别的pat格式文件,当选择Verilog测试环境时,输出格式为Verilog HDL格式文件,当选择SDK测试环境时,输出格式为cfg格式文件。The test stimulus file can be a pat format file that can be recognized by ATE, or a Verilog HDL format file that can be recognized by chip simulation tools; the format of the test stimulus file is determined by the Generator module reading the test environment parameters. When the ATE test environment is selected When the Verilog test environment is selected, the output format is a Verilog HDL format file. When the SDK test environment is selected, the output format is a cfg format file.
采用本发明的技术方案,芯片厂商应用工程师可以直接使用抽象等级更高的测试程序,将这些测试程序封装在SDK中,然后进行应用的开发和芯片回厂的功能测试,实现测试程序的第一次复用;芯片厂商芯片验证工程师可以直接使用抽象等级更高的测试程序做功能测试,也可以通过系统函数来调用更底层的pattern,然后做功能测试,这样就可以实现测试程序的第二次复用;封装测试厂测试工程师可以指定ATE的测试环境来生成不同的pattern,从而实现测试程序的第三次复用;由于可以根据不同功能生成不同的pattern,消除了需要大容量存储空间来一次性存储各种格式测试文件的弊端。Using the technical solution of the present invention, chip manufacturer application engineers can directly use test programs with a higher abstraction level, encapsulate these test programs in the SDK, and then carry out application development and functional testing of the chip back to the factory, realizing the first step of the test program. Secondary reuse; chip manufacturer chip verification engineers can directly use test programs with higher abstraction levels to do functional tests, or they can call lower-level patterns through system functions and then do functional tests, so that the second pass of the test program can be implemented Reuse; test engineers at the packaging and testing factory can specify the ATE test environment to generate different patterns, thereby realizing the third reuse of the test program; since different patterns can be generated according to different functions, the need for large-capacity storage space is eliminated. Disadvantages of permanently storing test files in various formats.
实施例二Embodiment 2
如图1所示,本发明提供一种可生成不同格式测试激励文件的共享平台,包括方便让虚拟平台调用的共享库和基于解释型编程语言提供的虚拟平台,该虚拟平台由Configuration reader模块、Transaction descriptor模块和Generator模块构建,用于将测试软件的依赖项和测试环境隔离开,通过读取配置信息以确保测试软件可以在不同的验证平台上运行;As shown in Figure 1, the present invention provides a sharing platform that can generate test stimulus files in different formats, including a shared library that is convenient for the virtual platform to call and a virtual platform provided based on an interpreted programming language. The virtual platform is composed of a Configuration reader module, The Transaction descriptor module and the Generator module are built to isolate the dependencies of the test software from the test environment, and ensure that the test software can run on different verification platforms by reading configuration information;
所述方便让虚拟平台调用的共享库,由基于编译型编程语言开发的API函数库编译而成;所述API数据库由所有执行成功的按功能分布在多个文件中的API函数封装而成,所述的API函数在芯片硬件开发阶段并行开发,抽象芯片的功能测试点,然后对测试功能进行细化,并细化至芯片寄存器的读写功能,明确API函数间的交互接口方式和层次关系,规定API函数的输入或输出参数和部分功能模块的仿真模型;然后自底向上采用编译型编程语言编写API函数,被调用的API函数会提供寄存器地址和数据列表两个接口参数,以便上一层函数通过这两个接口参数来调用它;将API函数集成在SDK环境中并对其进行仿真验证,通过SDK开发测试确保测试程序的正确性,得到验证成功的API函数;为了便于调试代码,在SDK开发测试中设定每个API函数的返回值为一个Boolean类型的数值,一旦该函数被正确执行,则返回true,而一旦执行错误,则返回false,从而快速确定异常点,然后返回SDK开发测试;The shared library that is convenient for virtual platforms to call is compiled from an API function library developed based on a compiled programming language; the API database is encapsulated by all successfully executed API functions distributed in multiple files according to their functions. The API functions described are developed in parallel during the chip hardware development stage, abstracting the functional test points of the chip, and then refining the test functions to the read and write functions of the chip registers, clarifying the interactive interface methods and hierarchical relationships between API functions , stipulate the input or output parameters of the API function and the simulation model of some functional modules; then use the compiled programming language to write the API function from the bottom up. The called API function will provide two interface parameters, the register address and the data list, so that the previous The layer function calls it through these two interface parameters; integrate the API function in the SDK environment and simulate and verify it, ensure the correctness of the test program through SDK development testing, and obtain the successfully verified API function; in order to facilitate debugging the code, In the SDK development test, set the return value of each API function to a Boolean value. Once the function is executed correctly, it will return true, and once the execution error occurs, it will return false, so as to quickly determine the abnormal point and then return to the SDK. development testing;
所述Configuration reader模块,用于读取cfg格式的配置文件,然后输出三个参数给Generator模块,分别为芯片管脚列表、硬件通信接口参数和测试环境参数;所述配置文件包括指定芯片管脚列表、硬件通信接口参数和测试环境参数;The Configuration reader module is used to read the configuration file in cfg format, and then outputs three parameters to the Generator module, which are chip pin list, hardware communication interface parameters and test environment parameters; the configuration file includes specified chip pins List, hardware communication interface parameters and test environment parameters;
所述Transaction descriptor模块,用于通过其顶层函数run_test()调用共享库中的API函数来构建芯片的行为级模型,并通过其底层函数mailbox_send(address, data)和mailbox_recieve(address, data)映射到Generator模块的硬件驱动函数,从而实现具体的接口通信,所述顶层和底层函数由解释型编程语言编写而成;The Transaction descriptor module is used to call the API function in the shared library through its top-level function run_test() to build a behavioral model of the chip, and is mapped to the chip through its underlying functions mailbox_send(address, data) and mailbox_recieve(address, data) The hardware driver function of the Generator module realizes specific interface communication. The top-level and bottom-level functions are written in an interpreted programming language;
该Generator模块包含顶层函数run_gen()和硬件驱动函数,其中run_gen()根据传入的硬件通信接口参数选择激励信号的类型,并根据传入的芯片管脚列表和测试环境参数确认硬件驱动函数的赋值对像及测试激励文件的格式,最后将Transaction descriptor模块的mailbox_send(address, data)和mailbox_recieve(address, data)映射成硬件接口函数;运行run_gen()生成测试激励文件并输出。The Generator module contains the top-level function run_gen() and the hardware driver function. Run_gen() selects the type of excitation signal based on the incoming hardware communication interface parameters, and confirms the hardware driver function based on the incoming chip pin list and test environment parameters. Assign the object and the format of the test stimulus file, and finally map the mailbox_send(address, data) and mailbox_recieve(address, data) of the Transaction descriptor module to the hardware interface function; run run_gen() to generate the test stimulus file and output it.
所述测试激励文件的格式由Generator模块读取测试环境参数来确定,当选择ATE测试环境时,输出格式为ATE可识别的pat格式文件,当选择Verilog测试环境时,输出格式为Verilog HDL格式文件,当选择SDK测试环境时,输出格式为cfg格式文件。The format of the test stimulus file is determined by the Generator module reading the test environment parameters. When the ATE test environment is selected, the output format is a pat format file that can be recognized by ATE. When the Verilog test environment is selected, the output format is a Verilog HDL format file. , when selecting the SDK test environment, the output format is a cfg format file.
实施例三Embodiment 3
本发明实施例三提供一种电子设备,该电子设备可以为前述的终端设备或者服务器,也可以为与前述终端设备或者服务器连接的实现本发明实施例一方法的终端设备或服务器。Embodiment 3 of the present invention provides an electronic device. The electronic device may be the foregoing terminal device or server, or may be a terminal device or server connected to the foregoing terminal device or server to implement the method of Embodiment 1 of the present invention.
该电子设备可以包括:处理器(例如CPU)、存储器、数据采集装置;处理器连接并控制数据采集装置。存储器中可以存储各种指令,以用于完成各种处理功能以及实现前述实施例一方法描述的处理步骤。The electronic device may include: a processor (such as a CPU), a memory, and a data acquisition device; the processor is connected to and controls the data acquisition device. Various instructions can be stored in the memory to complete various processing functions and implement the processing steps described in the method of the first embodiment.
实施例四Embodiment 4
本发明实施例四还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例一方法所描述的处理步骤。Embodiment 4 of the present invention also provides a computer-readable storage medium. The computer-readable storage medium stores instructions that, when run on a computer, cause the computer to execute the processing steps described in the method of Embodiment 1 above.
专业人员应该还可以进一步意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those skilled in the art should further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present invention can be implemented by electronic hardware, computer software, or a combination of both. In order to clearly illustrate the hardware and software Interchangeability, in the above description, the composition and steps of each example have been generally described according to functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each specific application, but such implementations should not be considered to be beyond the scope of the present invention.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above-described specific embodiments further describe the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above-mentioned are only specific embodiments of the present invention and are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included in the protection scope of the present invention.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311169439.2A CN116932412B (en) | 2023-09-12 | 2023-09-12 | Sharing platform and method that can generate test stimulus files in different formats |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311169439.2A CN116932412B (en) | 2023-09-12 | 2023-09-12 | Sharing platform and method that can generate test stimulus files in different formats |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932412A CN116932412A (en) | 2023-10-24 |
CN116932412B true CN116932412B (en) | 2024-01-23 |
Family
ID=88394357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311169439.2A Active CN116932412B (en) | 2023-09-12 | 2023-09-12 | Sharing platform and method that can generate test stimulus files in different formats |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932412B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387304A1 (en) * | 2002-07-30 | 2004-02-04 | Bull S.A. | Method for functional verification of an integrated circuit model for building a verification platform, emulator equipment and verification platform |
CN102480467A (en) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | SOC software and hardware collaborative simulation verification method based on network communication protocol |
CN102929627A (en) * | 2012-10-29 | 2013-02-13 | 无锡江南计算技术研究所 | Automatic testing program generating method based on ATE (Automatic Test Equipment) and ATE testing method |
CN113702810A (en) * | 2021-09-01 | 2021-11-26 | 厦门优迅高速芯片有限公司 | MCU-based optical transceiver driver chip function test method and related equipment |
CN114236359A (en) * | 2021-12-21 | 2022-03-25 | 无锡江南计算技术研究所 | Novel integrated circuit test excitation generation method for ATE test equipment |
CN114580344A (en) * | 2022-04-24 | 2022-06-03 | 飞腾信息技术有限公司 | Test excitation generation method, verification system and related equipment |
CN115858336A (en) * | 2022-11-01 | 2023-03-28 | 北京物芯科技有限责任公司 | Test vector generation method and device, computing equipment and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114548031B (en) * | 2022-02-25 | 2025-01-10 | 长鑫存储技术有限公司 | Signal detection method and device |
-
2023
- 2023-09-12 CN CN202311169439.2A patent/CN116932412B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387304A1 (en) * | 2002-07-30 | 2004-02-04 | Bull S.A. | Method for functional verification of an integrated circuit model for building a verification platform, emulator equipment and verification platform |
CN102480467A (en) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | SOC software and hardware collaborative simulation verification method based on network communication protocol |
CN102929627A (en) * | 2012-10-29 | 2013-02-13 | 无锡江南计算技术研究所 | Automatic testing program generating method based on ATE (Automatic Test Equipment) and ATE testing method |
CN113702810A (en) * | 2021-09-01 | 2021-11-26 | 厦门优迅高速芯片有限公司 | MCU-based optical transceiver driver chip function test method and related equipment |
CN114236359A (en) * | 2021-12-21 | 2022-03-25 | 无锡江南计算技术研究所 | Novel integrated circuit test excitation generation method for ATE test equipment |
CN114580344A (en) * | 2022-04-24 | 2022-06-03 | 飞腾信息技术有限公司 | Test excitation generation method, verification system and related equipment |
CN115858336A (en) * | 2022-11-01 | 2023-03-28 | 北京物芯科技有限责任公司 | Test vector generation method and device, computing equipment and storage medium |
Non-Patent Citations (1)
Title |
---|
16*16位Wallace乘法器测试激励文件设计;刘贝尔;《科技传播》(第11期);1-2 * |
Also Published As
Publication number | Publication date |
---|---|
CN116932412A (en) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113076227B (en) | MCU verification method, system and terminal device | |
US6658633B2 (en) | Automated system-on-chip integrated circuit design verification system | |
CN112949233B (en) | Automatic development method and device of FPGA chip and electronic equipment | |
US6083269A (en) | Digital integrated circuit design system and methodology with hardware | |
US7434184B2 (en) | Method for detecting flaws in a functional verification plan | |
CN117094269B (en) | Verification method, verification device, electronic equipment and readable storage medium | |
JPH10232890A (en) | Embedded logic analyzer for programmable logic circuits | |
CN114707453B (en) | Chip function verification method, device, electronic device and storage medium | |
CN114970411A (en) | Simulation verification method and system | |
CN117725869A (en) | Assertion development method, chip verification method, device, equipment and medium | |
CN116340150A (en) | Reusable register performance interactive verification system based on UVM and application thereof | |
CN115658414A (en) | RISC-V architecture processor core-based function verification method and platform | |
US20130024178A1 (en) | Playback methodology for verification components | |
CN113868046A (en) | Function verification method and system of PAD control unit and related components | |
CN116719729A (en) | Universal verification platform, universal verification method, medium and electronic equipment | |
CN118363715B (en) | Integration method and device of reference model, electronic equipment and storage medium | |
CN119961070A (en) | Chip verification method, device, computer equipment, computer readable storage medium and computer program product | |
US20030145290A1 (en) | System for controlling external models used for verification of system on a chip (SOC) interfaces | |
CN116932412B (en) | Sharing platform and method that can generate test stimulus files in different formats | |
CN117762771A (en) | Verification platform building method, electronic equipment and storage medium | |
Huggi et al. | Design and verification of memory elements using python | |
CN117829042A (en) | High-performance simulation representation of managed simulation systems | |
CN116663461A (en) | DUT simulation verification platform, verification method thereof, medium and electronic equipment | |
CN115563930A (en) | Automatic verification method and device based on storage model, terminal and storage medium | |
JP2013020425A (en) | Hardware and software cooperative verification method using open source software |
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: 361008 402, No. 52, guanri Road, phase II, software park, Xiamen, Fujian Patentee after: Xiamen Youxun Chip Co.,Ltd. Country or region after: China Address before: No. 52 Guanri Road, Phase II, Software Park, Siming District, Xiamen City, Fujian Province, 361008, 402 Patentee before: XIAMEN UX HIGH-SPEED IC Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |