A method, apparatus, and medium for automatically generating SOC performance verification test cases.

By automating the generation of SoC performance verification test cases, the problems of low efficiency and high cost in existing technologies are solved, enabling efficient and accurate test case generation and iteration, and improving the flexibility and accuracy of SoC performance verification.

CN122489421APending Publication Date: 2026-07-31SHANGHAI ENFLAME INTELLIGENCE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHANGHAI ENFLAME INTELLIGENCE TECH CO LTD
Filing Date
2026-04-28
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing methods for generating SoC performance verification test cases are inefficient, costly, and prone to introducing human error, making it difficult to quickly adapt to changes in scenarios and iterative optimization.

Method used

By acquiring scenario tasks and custom parameter description tables in real time, parameter translation and dependency decoupling are performed. Performance verification test cases are generated using environment and application interface configuration. Combined with scheduling management and global synchronous monitoring, target test cases are automatically generated.

Benefits of technology

It improves the efficiency and accuracy of generating SoC performance verification test cases, reduces labor costs, enhances flexibility, and reduces iteration difficulty.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122489421A_ABST
    Figure CN122489421A_ABST
Patent Text Reader

Abstract

This invention discloses a method, apparatus, and medium for automatically generating SOC performance verification test cases. By acquiring the scenario task to be verified and its custom parameter description table in real time, a performance parameter translation unit performs translation processing to obtain the current joint configuration parameters and the current task dependency table. A task dedependency unit performs dedependency processing to obtain the current three-dimensional task dependency data structure. An environment and application interface configuration method performs configuration processing on the current joint configuration parameters. Each scenario subtask is traversed sequentially, and a scheduling management module simulates performance verification test cases to obtain the target performance verification test cases corresponding to the scenario task to be verified. This solves the problems of high cost and poor flexibility caused by manually writing test cases, improves the flexibility of automatically generating performance verification test cases for different scenarios, and saves costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of chip verification data processing technology, and in particular to a method, apparatus and medium for automatically generating SOC performance verification test cases. Background Technology

[0002] Performance verification of System-on-Chip (SoC) is crucial to ensuring that products meet design specifications and operate stably and reliably. As SoC designs become increasingly large-scale and complex, including processors, memory, various internal and external interconnects, numerous internal IPs, and custom logic components, the complexity and workload of performance verification increase significantly. Among the many challenges of performance verification, the most important is how to quickly generate a large number of verification test cases and achieve efficient iteration.

[0003] In the process of developing this invention, the inventors discovered the following shortcomings in the existing technology: Traditional methods and processes for generating SoC performance verification test cases have many limitations. First, SoC system verification often involves complex scenarios with interdependent subtasks. Verification engineers need weeks or even months to sort out these dependencies and manually write test cases. Second, after a large set of verification test cases is generated, there are often changes in the scenario requirements, requiring engineers to re-sort out the test cases, which still requires a lot of time to manually rewrite them, resulting in huge maintenance costs. Furthermore, as the performance verification results are analyzed and iterated, the set of verification test cases also needs to be continuously optimized, each time consuming a lot of time and manpower. Finally, in each process of rewriting verification test cases, errors may be introduced due to deviations in understanding the scenario and sorting out the task dependencies, making the verification test cases unreliable and unreproducible, increasing the difficulty of verification iteration. Summary of the Invention

[0004] This invention provides a method, apparatus, and medium for automatically generating SOC performance verification test cases, thereby improving the flexibility of automated processing of performance verification test cases in different scenarios, as well as improving the accuracy and efficiency of automated generation of performance verification test cases.

[0005] According to one aspect of the present invention, a method for automatically generating SOC performance verification test cases is provided, comprising: The system acquires the scenario tasks to be verified and the scenario task custom parameter description table in real time. The scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table. The task dependency resolution unit performs dependency resolution processing on the current task dependency table to obtain the current three-dimensional task dependency data structure. The current joint configuration parameters are configured using a preset environment and application interface configuration method. After the configuration is completed, each subtask of the scenario task to be verified is traversed sequentially. Based on the current three-dimensional task dependency data structure, the scheduling management module generates performance verification test cases until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, and the target performance verification test case corresponding to the scenario task to be verified is obtained.

[0006] According to another aspect of the present invention, an automated generation apparatus for SOC performance verification test cases is provided, comprising: The module for determining the current joint configuration parameters and the current task dependency table is used to obtain the scenario task to be verified in real time and the scenario task custom parameter description table. The scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table. The current 3D task dependency data structure determination module is used to perform dependency resolution processing on the current task dependency table through the task dependency resolution unit to obtain the current 3D task dependency data structure. The parameter configuration module is used to perform configuration processing operations on the current joint configuration parameters through preset environment and application interface configuration methods; The target performance verification test case determination module is used to sequentially traverse each scenario subtask corresponding to the scenario task to be verified after the configuration is completed, and generate performance verification test cases through the scheduling management module according to the current three-dimensional task dependency relationship data structure, until the global synchronization monitoring unit determines that the performance verification test case simulation is completed, and obtains the target performance verification test cases corresponding to the scenario task to be verified.

[0007] According to another aspect of the present invention, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the SOC performance verification test case automated generation method according to any embodiment of the present invention.

[0008] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the SOC performance verification test case automated generation method according to any embodiment of the present invention.

[0009] The technical solution of this invention acquires the scenario task to be verified and the scenario task's custom parameter description table in real time. A performance parameter translation unit translates the scenario task's custom parameter description table to obtain the current joint configuration parameters and the current task dependency table. A task dedependency unit dedependencies the current task dependency table to obtain the current three-dimensional task dependency data structure. A preset environment and application interface configuration method configures the current joint configuration parameters. After configuration, each scenario subtask corresponding to the scenario task to be verified is traversed sequentially, and performance verification test cases are generated through a scheduling management module based on the current three-dimensional task dependency data structure until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, resulting in the target performance verification test case corresponding to the scenario task to be verified. This solves the problems of high cost and poor flexibility caused by manually writing test cases, improves the flexibility of automated processing of performance verification test cases in different scenarios, saves time and manpower costs, improves the accuracy and efficiency of automated generation and simulation of performance verification test cases, and reduces the difficulty of verification iteration.

[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a flowchart of an automated generation method for SOC performance verification test cases provided in Embodiment 1 of the present invention; Figure 2 This is a detailed flowchart of a method for automatically generating SOC performance verification test cases according to Embodiment 2 of the present invention; Figure 3 This is a schematic diagram of the structure of an automated generation device for SOC performance verification test cases provided in Embodiment 3 of the present invention; Figure 4 This is a schematic diagram of the structure of an electronic device provided according to Embodiment 4 of the present invention. Detailed Implementation

[0013] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0014] It should be noted that the terms "target," "current," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0015] It is worth noting that the information collected in the technical solution of this application is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data all comply with the relevant laws, regulations and standards of the relevant countries and regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entry points for users to choose to authorize or refuse; if the user chooses to refuse, the process will proceed to the expert decision-making process.

[0016] Example 1 Figure 1 The flowchart of an automated generation method for SOC performance verification test cases is provided in Embodiment 1 of the present invention. This embodiment is applicable to the scenario of automated generation of performance verification test cases for systems on a chip. The method can be executed by an automated generation device for SOC performance verification test cases, which can be implemented in hardware and / or software.

[0017] Correspondingly, such as Figure 1 As shown, the method includes: S110. Real-time acquisition of the scenario task to be verified and the scenario task custom parameter description table. The scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table.

[0018] In this embodiment, SOC performance verification is crucial to ensuring that the product meets design specifications and operates stably and reliably. As SOC design scales and architectures become increasingly complex, SOCs can include processors, memory, various internal and external interconnect interfaces, a large number of internal IPs (IPs refer to pre-designed, reusable functional modules), and custom logic components. Therefore, automatically generating corresponding performance verification test cases for different scenario tasks is essential.

[0019] The scenario task to be verified can be any scenario task that needs to be verified at the current moment. The scenario task custom parameter description table can be the custom parameters and description information determined by parsing different scenario tasks.

[0020] Before proceeding, we can first analyze different standard scenario tasks to obtain the standard custom parameters and description information corresponding to different scenario tasks. In other words, we can generate the corresponding scenario task custom parameter description table, and then perform joint storage to generate the corresponding scenario task parameter library.

[0021] In this embodiment, assuming the scenario task to be verified is "how well does chip X perform under 1000M bandwidth", the corresponding parsing scenario task custom parameter description table can be obtained by matching with the scenario task parameter library. This description table includes how many internal IPs need to work simultaneously in the SOC system, as well as descriptions of the working usage of other processors, memory, various internal and external interconnect interfaces, and custom logic components. Together, these can generate the scenario task custom parameter description table.

[0022] The performance parameter translation unit can be a processing unit that translates multiple parameters in the scene task's custom parameter description table into a data structure that the verification compilation environment can recognize and compile. The current joint configuration parameters can include the current SOC initialization configuration parameters and the current environment configuration parameters. The current task dependency table can represent the dependencies between different scene subtasks in the scene task's custom parameter description table.

[0023] The SOC performance verification test case automated generation system includes a performance parameter translation unit, a task dependency resolution unit, an environment configuration unit, an application interface configuration unit, a task execution unit, a process management unit, and a global synchronization monitoring unit. The scheduling management module includes a task execution unit and a process management unit.

[0024] Optionally, the real-time acquisition of the scenario task to be verified and the scenario task custom parameter description table, and the translation processing of the scenario task custom parameter description table by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table, includes: real-time acquisition of the scenario task to be verified and the scenario task custom parameter description table, and acquisition of the current verification compilation environment; based on the current verification compilation environment, the translation processing of the scenario task custom parameter description table by the performance parameter translation unit to obtain the current task dependency table, the current SOC initialization configuration parameters, and the current environment configuration parameters; wherein, the current task dependency table includes a task dependency table between at least one scenario subtask corresponding to the scenario task to be verified.

[0025] Specifically, the step of translating the scenario task custom parameter description table using a performance parameter translation unit based on the current verification compilation environment to obtain the current task dependency table, the current SOC initialization configuration parameters, and the current environment configuration parameters includes: translating the scenario task custom parameter description table using a performance parameter translation unit based on the current verification compilation environment to generate the current SOC initialization configuration parameters; checking the uniqueness of the current SOC initialization configuration parameters; if the requirement is met, generating the current task dependency table; determining whether there is a task deadlock in the current task dependency table; if not, generating the current environment configuration parameters; if the parameter uniqueness requirement is not met or a task deadlock exists, ending the performance verification scenario task and providing feedback to the user.

[0026] In this embodiment, the scenario task custom parameter description table needs to be translated by the performance parameter translation unit according to the current verification compilation environment, so that other units or modules can identify and use it, and obtain the corresponding current task dependency table, current SOC initialization configuration parameters and current environment configuration parameters.

[0027] The current SOC initialization configuration parameters can be parameters used to initialize the SOC, and these parameters can be processed through the application interface configuration unit. The performance parameter translation unit can pass verification environment parameters from top to bottom, enabling the matching of a separate set of environment parameters for each verification test case, thus greatly improving the flexibility of performance verification test case generation in different scenarios.

[0028] Specifically, based on the current verification compilation environment, the performance parameter translation unit translates the scenario task's custom parameter description table to generate the current SOC initialization configuration parameters. Next, the uniqueness of these parameters is checked. If the parameters are correct, the current task dependency table can be generated. Otherwise, if the parameter uniqueness requirement is not met, the performance verification scenario task ends, and feedback is sent to the user.

[0029] Furthermore, based on the generated current task dependency table, it is determined whether there is a task deadlock. If not, the current environment configuration parameters are generated; if a task deadlock exists, the performance verification scenario task is terminated and feedback is sent to the user.

[0030] The advantage of this setup is that by using the performance parameter translation unit to determine the current task dependency table, the current SOC initialization configuration parameters, and the current environment configuration parameters, an intuitive description of the verification scenario can be achieved, which has the advantages of good readability and high maintainability.

[0031] S120. The task dependency resolution unit performs a dependency resolution operation on the current task dependency table to obtain the current three-dimensional task dependency data structure.

[0032] The current 3D task dependency data structure can be a data structure composed of the preceding dependent tasks corresponding to each scene subtask, the scene subtask location description information, and the scene subtask execution flag.

[0033] The task decoupling unit can be a module that decouples the performance verification scenario task from the current task dependency table.

[0034] Optionally, the step of performing dependency resolution processing on the current task dependency table through the task dependency resolution unit to obtain the current 3D task dependency data structure includes: performing dependency resolution processing on the current task dependency table through the task dependency resolution unit to obtain the current joint decoupling relationship; wherein, the current joint decoupling relationship includes at least one process, each process includes at least one thread, each thread includes at least one underlying scene subtask, and each underlying scene subtask corresponds to a underlying scene subtask code; the current 3D task dependency data structure is obtained based on the current joint decoupling relationship; wherein, the obtained current 3D task dependency data structure includes the preceding dependent tasks corresponding to each scene subtask, scene subtask location description information, and scene subtask execution flag.

[0035] Specifically, the complex performance verification scenario, after being deconstructed layer by layer, forms several processes, each containing several threads, and each thread consisting of several underlying scenario subtasks. Each underlying scenario subtask corresponds to a unique underlying scenario subtask code. This code identifies the task's dependencies on other threads and processes. Based on the task dependency table, this module can generate a three-dimensional task dependency data structure through dedependency. This three-dimensional task dependency data structure indicates whether each scenario subtask has any pre-dependent tasks (if so, it stores the pre-dependent tasks for each scenario subtask; otherwise, it indicates they do not exist), the scenario subtask's location description (specifically, which process, which thread, and which scenario subtask the current scenario subtask depends on), and the scenario subtask execution flag (each scenario subtask contains one execution flag).

[0036] The advantage of this setup is that it allows for the decoupling of dependencies between tasks through task dedependency units, enabling a better description of the relationships between subtasks in a scenario and improving the accuracy and efficiency of performance verification test case generation.

[0037] S130. Configure the current joint configuration parameters by performing configuration processing operations through the preset environment and application interface configuration method.

[0038] Among them, the environment and application interface configuration method can be a method for configuring environment and interface parameters.

[0039] Optionally, the configuration processing operation performed through the preset environment and application interface configuration method to configure the current joint configuration parameters, and to automatically generate corresponding performance verification test cases based on the configured parameters, includes: configuring the environment using the environment configuration unit according to the current environment configuration parameters through the environment and application interface configuration method; wherein, the verification test case of each scenario subtask matches a corresponding set of environment configuration parameters; the performance parameter translation unit transmits the corresponding environment configuration parameters from top to bottom; the application interface configuration unit injects the current SOC initialization configuration parameters into the corresponding application to configure the interface parameters, and receives the call from the task execution unit; wherein, the application interface configuration unit is used to store the application corresponding to each underlying scenario subtask; the application interface configuration unit adapts to application interfaces of different programming languages.

[0040] In this embodiment, the environment configuration unit reloads the relevant configuration of the verification environment according to the current environment configuration parameters, and then performs the environment configuration operation; specifically, each scenario subtask's verification test case is matched with a set of environment configuration parameters; the performance parameter translation unit transmits the corresponding environment configuration parameters from top to bottom; each scenario subtask can belong to different threads in different processes.

[0041] The application interface configuration unit is used to store the application programs corresponding to each underlying scenario subtask.

[0042] Specifically, the application interface configuration unit injects the current SOC initialization configuration parameters into the corresponding application to configure the interface parameters. This application can be invoked by the task execution unit. This application interface configuration unit is adaptable to different programming language application interfaces, such as supporting C and System Verilog language application interfaces, and can be applied to other hardware / software simulation platforms or hybrid simulation platforms.

[0043] S140. After completing the configuration, each subtask of the scenario task to be verified is traversed sequentially, and the performance verification test cases are generated by the scheduling management module according to the current three-dimensional task dependency data structure until the global synchronization monitoring unit determines that the performance verification test case simulation is completed, and the target performance verification test case corresponding to the scenario task to be verified is obtained.

[0044] In this embodiment, after determining the environment configuration parameters and application interface configuration parameters corresponding to each scenario subtask, as well as the current three-dimensional task dependency data structure, and combining the parameters in the current task dependency table, each scenario subtask is traversed to automatically generate its corresponding performance verification test cases (including the scheduling of processes, threads, and scenario subtasks, generating corresponding performance verification test cases respectively). Test cases corresponding to multiple scenario subtasks can be combined to determine a total target performance verification test case.

[0045] The technical solution of this invention acquires the scenario task to be verified and the scenario task's custom parameter description table in real time. A performance parameter translation unit translates the scenario task's custom parameter description table to obtain the current joint configuration parameters and the current task dependency table. A task dedependency unit dedependencies the current task dependency table to obtain the current three-dimensional task dependency data structure. A preset environment and application interface configuration method configures the current joint configuration parameters. After configuration, each scenario subtask corresponding to the scenario task to be verified is traversed sequentially, and performance verification test cases are generated through a scheduling management module based on the current three-dimensional task dependency data structure until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, resulting in the target performance verification test case corresponding to the scenario task to be verified. This solves the problems of high cost and poor flexibility caused by manually writing test cases, improves the flexibility of automated processing of performance verification test cases in different scenarios, saves time and manpower costs, improves the accuracy and efficiency of automated generation and simulation of performance verification test cases, and reduces the difficulty of verification iteration.

[0046] Example 2 Figure 2 This document provides a detailed flowchart of a method for automatically generating SOC performance verification test cases according to Embodiment 2 of the present invention. This embodiment refines the above embodiment by sequentially traversing each sub-task corresponding to the scenario task to be verified, and generating performance verification test cases through a scheduling management module based on the current three-dimensional task dependency data structure, until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, thus obtaining the target performance verification test cases corresponding to the scenario task to be verified for further refinement.

[0047] S210. Real-time acquisition of the scenario task to be verified and the scenario task custom parameter description table. The scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table.

[0048] S220. The task dependency resolution unit performs a dependency resolution operation on the current task dependency table to obtain the current three-dimensional task dependency data structure.

[0049] S230. Configure the current joint configuration parameters by performing configuration processing operations through the preset environment and application interface configuration method.

[0050] S240. After completing the configuration, iterate through each subtask corresponding to the scenario task to be verified for performance.

[0051] S250. Based on the preceding dependent tasks corresponding to each scene subtask in the current three-dimensional task dependency relationship data structure, the task start condition is judged by the task execution unit corresponding to the scheduling management module. If the task start condition is met, performance verification test cases are generated for the target scene subtask, and the execution flag of the target scene subtask is updated after execution is completed.

[0052] If no task is started within the preset time, an error message will be sent to the user indicating that the task start conditions are not met.

[0053] In this embodiment, the task startup conditions for each scene subtask are queried, that is, the preceding dependent tasks corresponding to each scene subtask in the current 3D task dependency data structure. It is determined whether all the preceding dependent tasks of the scene subtask have been executed. If so, the scene subtask meets the task startup conditions and is started immediately. After the task is completed normally, the task execution module updates the target scene subtask execution flag. If no task is started for a long time (a time threshold can be set), it is determined to have timed out, and an error message indicating that the task startup conditions are not met is sent to the user. It is also necessary to backtrack the task dependency table to check for problems (to prevent task deadlock), and then verify the information before generating performance verification test cases.

[0054] S260. If the execution flag of each subtask in the scene corresponding to the scheduling management module is found to be executed, the execution flag of the target thread is determined to be executed by the process management unit corresponding to the scheduling management module; if the execution flag of each thread in the target process is found to be executed, the execution flag of the target process is determined to be executed; if the execution flag of all processes is executed, the state of the process management unit is set to the waiting state.

[0055] In this embodiment, the process management unit queries the execution flag of each scene subtask. If every scene subtask in a thread is marked as executed, the thread is determined to have executed, and an execution flag is added. Next, the execution flag of each thread is queried. If every thread in a process is marked as executed, the process is determined to have executed, and an execution flag is added. After all processes are determined to be executed, the process management unit enters a waiting state.

[0056] For example, assume that the current 3D task dependency data structure includes 2 processes (process 1 and process 2); process 1 includes 3 threads (thread 11, thread 12 and thread 13); process 2 includes 2 threads (thread 21 and thread 22); thread 21 includes 5 underlying scene subtasks; thread 22 includes 10 underlying scene subtasks.

[0057] Specifically, the process can first check the process status to determine if all processes have completed. If not, assuming process 1 has not completed, the thread status corresponding to process 1 is then checked to determine if all threads have completed. If so, the process returns to the previous level for process status checks and determinations. Otherwise, the task status of each thread is checked to determine if all underlying scene subtasks have completed. If not, the underlying scene subtasks are started, and a timeout check is performed. If no timeout occurs, the task dependency table and the flags in the current three-dimensional task dependency data structure are updated in real time. If all underlying scene subtasks are completed, the process returns to the previous level for thread status checks and determinations.

[0058] S270. Until the state of the process management unit is updated to the waiting state, and combined with the global synchronization monitoring unit for monitoring, the simulation of the performance verification test case is completed, and the target performance verification test case corresponding to the scenario task to be verified is obtained.

[0059] Optionally, the step of combining monitoring with the global synchronization monitoring unit to determine the completion of performance verification test case simulation and obtain the target performance verification test case corresponding to the scenario task to be verified includes: the global synchronization monitoring unit sets a corresponding SOC memory space for each scenario subtask; after each scenario subtask is completed, task completion valid flag information is written into the corresponding SOC memory space; when all scenario subtasks' corresponding task completion valid flag information is received, the performance verification test case simulation is determined to be completed, and the target performance verification test case corresponding to the scenario task to be verified is obtained.

[0060] After confirming the completion of all processes, i.e., when the process management unit's state is updated to a waiting state, monitoring is required in conjunction with the global synchronization monitoring unit. Since each scenario subtask writes a valid task completion flag to its corresponding SOC memory space upon completion, the global synchronization monitoring unit checks whether it has received valid task completion flags for all scenario subtasks. If so, synchronization is complete, and the performance verification test case simulation is confirmed as complete. The performance verification test cases for multiple scenario subtasks are then merged to obtain the target performance verification test case corresponding to the scenario task to be verified. If not, the process returns to the global synchronization monitoring unit's determination of whether valid task completion flags for all scenario subtasks have been received. With adjustments to the application scenario and iterations in the verification simulation results, performance parameters can be modified in a targeted manner. This device enables one-click and rapid generation of performance verification test cases, producing stable and strictly reproducible results.

[0061] The technical solution of this invention acquires the scenario task to be verified and the scenario task's custom parameter description table in real time. A performance parameter translation unit translates the scenario task's custom parameter description table to obtain the current joint configuration parameters and the current task dependency table. A task dedependency unit dedependencies the current task dependency table to obtain the current three-dimensional task dependency data structure. A preset environment and application interface configuration method configures the current joint configuration parameters. After configuration, each scenario subtask corresponding to the scenario task to be verified is traversed sequentially, and performance verification test cases are generated through a scheduling management module based on the current three-dimensional task dependency data structure until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, resulting in the target performance verification test case corresponding to the scenario task to be verified. This solves the problems of high cost and poor flexibility caused by manually writing test cases, improves the flexibility of automated processing of performance verification test cases in different scenarios, saves time and manpower costs, improves the accuracy and efficiency of automated generation and simulation of performance verification test cases, and reduces the difficulty of verification iteration.

[0062] Example 3 Figure 3 This is a schematic diagram of a device for automatically generating SOC performance verification test cases according to Embodiment 2 of the present invention. The device for automatically generating SOC performance verification test cases provided in this embodiment can be implemented by software and / or hardware, and can be configured in a terminal device or server to implement a method for automatically generating SOC performance verification test cases according to an embodiment of the present invention. Figure 3 As shown, the device includes: a current joint configuration parameter and current task dependency table determination module 310, a current three-dimensional task dependency data structure determination module 320, a parameter configuration module 330, and a target performance verification test case determination module 340.

[0063] Among them, the current joint configuration parameter and current task dependency table determination module 310 is used to obtain the scenario task to be verified in real time and the scenario task custom parameter description table, and to translate the scenario task custom parameter description table through the performance parameter translation unit to obtain the current joint configuration parameter and current task dependency table. The current three-dimensional task dependency data structure determination module 320 is used to perform a dependency resolution operation on the current task dependency table through the task dependency resolution unit to obtain the current three-dimensional task dependency data structure. The parameter configuration module 330 is used to perform configuration processing operations on the current joint configuration parameters through a preset environment and application interface configuration method. The target performance verification test case determination module 340 is used to sequentially traverse each scene subtask corresponding to the scene task to be verified after the configuration is completed, and generate performance verification test cases through the scheduling management module according to the current three-dimensional task dependency relationship data structure, until the global synchronization monitoring unit determines that the performance verification test case simulation is completed, and obtains the target performance verification test cases corresponding to the scene task to be verified.

[0064] The technical solution of this invention acquires the scenario task to be verified and the scenario task's custom parameter description table in real time. A performance parameter translation unit translates the scenario task's custom parameter description table to obtain the current joint configuration parameters and the current task dependency table. A task dedependency unit dedependencies the current task dependency table to obtain the current three-dimensional task dependency data structure. A preset environment and application interface configuration method configures the current joint configuration parameters. After configuration, each scenario subtask corresponding to the scenario task to be verified is traversed sequentially, and performance verification test cases are generated through a scheduling management module based on the current three-dimensional task dependency data structure until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, resulting in the target performance verification test case corresponding to the scenario task to be verified. This solves the problems of high cost and poor flexibility caused by manually writing test cases, improves the flexibility of automated processing of performance verification test cases in different scenarios, saves time and manpower costs, improves the accuracy and efficiency of automated generation and simulation of performance verification test cases, and reduces the difficulty of verification iteration.

[0065] Based on the above embodiments, the current joint configuration parameter and current task dependency table determination module 310 can be specifically used to: obtain the scenario task to be verified and the scenario task custom parameter description table in real time, and obtain the current verification compilation environment; according to the current verification compilation environment, perform translation processing on the scenario task custom parameter description table through the performance parameter translation unit to obtain the current task dependency table, the current SOC initialization configuration parameters, and the current environment configuration parameters; wherein, the current task dependency table includes a task dependency table between at least one scenario subtask corresponding to the scenario task to be verified.

[0066] Based on the above embodiments, the current joint configuration parameter and current task dependency table determination module 310 can also be specifically used for: according to the current verification compilation environment, translating the scenario task custom parameter description table through the performance parameter translation unit to generate the current SOC initialization configuration parameters; checking the uniqueness of the current SOC initialization configuration parameters, and if the requirements are met, generating the current task dependency table; determining whether there is a task deadlock in the current task dependency table, and if not, generating the current environment configuration parameters; if the parameter uniqueness requirements are not met or a task deadlock exists, ending the performance verification scenario task and providing feedback to the user.

[0067] Based on the above embodiments, the current 3D task dependency relationship data structure determination module 320 can be specifically used to: perform dependency decoupling processing on the current task dependency relationship table through the task dedependency unit to obtain the current joint decoupling relationship; wherein, the current joint decoupling relationship includes at least one process, each process includes at least one thread, each thread includes at least one underlying scene subtask, and each underlying scene subtask corresponds to an underlying scene subtask code; and obtain the current 3D task dependency relationship data structure according to the current joint decoupling relationship; wherein, the obtained current 3D task dependency relationship data structure includes the preceding dependent tasks corresponding to each scene subtask, scene subtask location description information, and scene subtask execution flag.

[0068] Based on the above embodiments, the parameter configuration module 330 can be specifically used to: configure the environment using the environment configuration unit according to the current environment configuration parameters through the environment and application interface configuration method; wherein, the verification test case of each scenario subtask matches a corresponding set of environment configuration parameters; the performance parameter translation unit transmits the corresponding environment configuration parameters from top to bottom; the application interface configuration unit injects the current SOC initialization configuration parameters into the corresponding application to configure the interface parameters, and receives the call from the task execution unit; wherein, the application interface configuration unit is used to store the application corresponding to each underlying scenario subtask; the application interface configuration unit adapts to different programming language application interfaces; and automatically generates corresponding performance verification test cases according to the environment configuration parameters and application interface configuration parameters corresponding to each scenario subtask, as well as the current three-dimensional task dependency data structure.

[0069] Based on the above embodiments, the target performance verification test case determination module 340 can be specifically used to: sequentially traverse each scenario subtask corresponding to the scenario task to be verified; according to the preceding dependent tasks corresponding to each scenario subtask in the current three-dimensional task dependency relationship data structure, perform task start condition judgment through the task execution unit corresponding to the scheduling management module; if the task start condition is met, generate performance verification test cases for the target scenario subtask, and update the target scenario subtask execution flag after execution is completed; wherein, if no task is started within a preset time, an error message indicating that the task start condition is not met is fed back to the user; through the scheduling management module... If the process management unit corresponding to the management module finds that the execution flag of each scenario subtask corresponding to the target thread is executed, then it determines that the execution flag of the target thread is executed; if it finds that the execution flag of each thread corresponding to the target process is executed, then it determines that the execution flag of the target process is executed; if the execution flags of all processes are executed, then the state of the process management unit is set to a waiting state; until the state of the process management unit is updated to a waiting state, and combined with the global synchronization monitoring unit for monitoring, the simulation of the performance verification test case is completed to obtain the target performance verification test case corresponding to the scenario task to be verified.

[0070] Based on the above embodiments, the target performance verification test case determination module 340 can also be specifically used for: the global synchronization monitoring unit setting up corresponding SOC memory space for each scenario subtask; after each scenario subtask is completed, writing task completion valid flag information into the corresponding SOC memory space; when receiving the task completion valid flag information corresponding to all scenario subtasks, determining that the performance verification test case simulation is completed, and obtaining the target performance verification test case corresponding to the scenario task to be verified.

[0071] The SOC performance verification test case automated generation device provided in this embodiment of the invention can execute the SOC performance verification test case automated generation method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0072] Example 4 Figure 4A schematic diagram of an electronic device 10, which can be used to implement Embodiment 4 of the present invention, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0073] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0074] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0075] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the automated generation method for SOC performance verification use cases.

[0076] In some embodiments, the SOC performance verification test case automation generation method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the SOC performance verification test case automation generation method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to execute the SOC performance verification test case automation generation method by any other suitable means (e.g., by means of firmware).

[0077] The method includes: acquiring the scenario task to be verified and the scenario task custom parameter description table in real time; translating the scenario task custom parameter description table through a performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table; performing dependency removal processing on the current task dependency table through a task dedependency unit to obtain the current three-dimensional task dependency data structure; configuring the current joint configuration parameters through a preset environment and application interface configuration method; after completing the configuration, sequentially traversing each scenario subtask corresponding to the scenario task to be verified, and generating performance verification test cases through a scheduling management module based on the current three-dimensional task dependency data structure, until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, thus obtaining the target performance verification test case corresponding to the scenario task to be verified.

[0078] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0079] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0080] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0081] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0082] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0083] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0084] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0085] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

[0086] Example 5 Embodiment 5 of the present invention also provides a computer-readable storage medium, wherein the computer-readable instructions, when executed by a computer processor, are used to execute an automated generation method for SOC performance verification test cases. The method includes: real-time acquisition of a scenario task to be verified and a scenario task custom parameter description table; translating the scenario task custom parameter description table through a performance parameter translation unit to obtain current joint configuration parameters and a current task dependency table; performing a dependency-delegation operation on the current task dependency table through a task dedependency unit to obtain a current three-dimensional task dependency data structure; performing a configuration operation on the current joint configuration parameters through a preset environment and application interface configuration method; after configuration is completed, sequentially traversing each scenario subtask corresponding to the scenario task to be verified, and generating performance verification test cases through a scheduling management module based on the current three-dimensional task dependency data structure, until a global synchronization monitoring unit determines that the performance verification test case simulation is complete, thus obtaining a target performance verification test case corresponding to the scenario task to be verified.

[0087] Of course, the computer-executable instructions provided in the embodiments of the present invention, which include a computer-readable storage medium, are not limited to the method operations described above, but can also execute related operations in the SOC performance verification test case automated generation method provided in any embodiment of the present invention.

[0088] Based on the above description of the implementation methods, those skilled in the art can clearly understand that the present invention can be implemented using software and necessary general-purpose hardware, and of course, it can also be implemented using hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0089] It is worth noting that in the embodiments of the above-mentioned SOC performance verification test case automated generation method, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.

[0090] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for SOC performance verification use case automation generation, characterized in that, include: The system acquires the scenario tasks to be verified and the scenario task custom parameter description table in real time. The scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table. The task dependency resolution unit performs dependency resolution processing on the current task dependency table to obtain the current three-dimensional task dependency data structure. The current joint configuration parameters are configured using a preset environment and application interface configuration method. After the configuration is completed, each subtask of the scenario task to be verified is traversed sequentially. Based on the current three-dimensional task dependency data structure, the scheduling management module generates performance verification test cases until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, and the target performance verification test case corresponding to the scenario task to be verified is obtained.

2. The method of claim 1, wherein, The process involves real-time acquisition of the scenario task to be verified and the scenario task's custom parameter description table. The performance parameter translation unit then translates the scenario task's custom parameter description table to obtain the current joint configuration parameters and the current task dependency table, including: Real-time acquisition of the scenario tasks to be verified and the scenario task custom parameter description table, and acquisition of the current verification compilation environment; Based on the current verification compilation environment, the scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current task dependency table, the current SOC initialization configuration parameters and the current environment configuration parameters. The current task dependency table includes a task dependency table between each task and at least one scenario subtask corresponding to the scenario task to be verified.

3. The method of claim 2, wherein, The process involves translating the scenario task custom parameter description table using a performance parameter translation unit based on the current verification compilation environment to obtain the current task dependency table, the current SOC initialization configuration parameters, and the current environment configuration parameters, including: Based on the current verification and compilation environment, the custom parameter description table of the scenario task is translated by the performance parameter translation unit to generate the current SOC initialization configuration parameters. The uniqueness of the current SOC initialization configuration parameters is checked. If the requirements are met, the current task dependency table is generated. Determine if there is a task deadlock in the current task dependency table; if not, generate the current environment configuration parameters. If the parameter uniqueness requirement is not met or a task deadlock occurs, the performance verification scenario task will be terminated and feedback will be sent to the user.

4. The method of claim 3, wherein, The step of performing dependency resolution on the current task dependency table through the task dependency resolution unit to obtain the current three-dimensional task dependency data structure includes: The task dedependency unit performs a dedependency processing operation on the current task dependency table to obtain the current joint decoupling relationship. The current joint decoupling relationship includes at least one process, each process includes at least one thread, each thread includes at least one underlying scene subtask, and each underlying scene subtask corresponds to an underlying scene subtask code. Based on the current joint decoupling relationship, the current three-dimensional task dependency relationship data structure is obtained; The obtained current 3D task dependency data structure includes the preceding dependent tasks corresponding to each scene subtask, scene subtask location description information, and scene subtask execution flag.

5. The method of claim 3, wherein, The configuration processing operation of the current joint configuration parameters through the preset environment and application interface configuration method includes: The environment configuration unit configures the environment according to the current environment configuration parameters through the environment and application interface configuration method. In this process, the verification test cases for each scenario subtask are matched with a corresponding set of environment configuration parameters; the performance parameter translation unit transmits the corresponding environment configuration parameters from top to bottom. The application interface configuration unit injects the current SOC initialization configuration parameters into the corresponding application to configure the interface parameters and receives calls from the task execution unit. The application interface configuration unit is used to store the application programs corresponding to each underlying scenario subtask; the application interface configuration unit is adapted to application interfaces of different programming languages.

6. The method according to claim 4 or 5, characterized in that, The process involves sequentially traversing each subtask corresponding to the scenario task to be verified, and generating performance verification test cases through the scheduling management module based on the current 3D task dependency data structure, until the global synchronization monitoring unit determines that the performance verification test case simulation is complete, thus obtaining the target performance verification test cases corresponding to the scenario task to be verified, including: Iterate through each subtask corresponding to the scenario task to be verified for performance in turn. Based on the preceding dependent tasks corresponding to each scene subtask in the current three-dimensional task dependency relationship data structure, the task start condition is judged by the task execution unit corresponding to the scheduling management module. If the task start condition is met, performance verification test cases are generated for the target scene subtask, and the execution flag of the target scene subtask is updated after execution is completed. If no task is started within the preset time, an error message will be sent to the user indicating that the task start conditions are not met. If the execution flag of each subtask in the scene corresponding to the scheduling management module is found to be executed, the execution flag of the target thread is determined to be executed; if the execution flag of each thread in the target process is found to be executed, the execution flag of the target process is determined to be executed; if the execution flag of all processes is executed, the state of the process management unit is set to a waiting state. The process continues until the state of the process management unit is updated to a waiting state, and monitoring is performed in conjunction with the global synchronization monitoring unit to determine the completion of the performance verification test case simulation and obtain the target performance verification test case corresponding to the scenario task to be verified.

7. The method of claim 6, wherein, The monitoring is combined with a global synchronization monitoring unit to determine the completion of performance verification test case simulation, and obtain the target performance verification test cases corresponding to the scenario task to be verified, including: The global synchronization monitoring unit sets up a corresponding SOC memory space for each scene subtask; after each scene subtask is completed, it writes a task completion valid flag information into the corresponding SOC memory space. When all the task completion valid flags corresponding to the sub-tasks of the scenarios are received, the performance verification test case simulation is completed, and the target performance verification test case corresponding to the scenario task to be verified is obtained.

8. An apparatus for SOC performance verification use case automation generation, characterized in that, include: The module for determining the current joint configuration parameters and the current task dependency table is used to obtain the scenario task to be verified in real time and the scenario task custom parameter description table. The scenario task custom parameter description table is translated by the performance parameter translation unit to obtain the current joint configuration parameters and the current task dependency table. The current 3D task dependency data structure determination module is used to perform dependency resolution processing on the current task dependency table through the task dependency resolution unit to obtain the current 3D task dependency data structure. The parameter configuration module is used to perform configuration processing operations on the current joint configuration parameters through preset environment and application interface configuration methods; The target performance verification test case determination module is used to sequentially traverse each scenario subtask corresponding to the scenario task to be verified after the configuration is completed, and generate performance verification test cases through the scheduling management module according to the current three-dimensional task dependency relationship data structure, until the global synchronization monitoring unit determines that the performance verification test case simulation is completed, and obtains the target performance verification test cases corresponding to the scenario task to be verified.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements a method for automatically generating SOC performance verification test cases as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute a method for automatically generating SOC performance verification test cases as described in any one of claims 1-7.