CN116090380B - Automatic method and device for verifying digital integrated circuit, storage medium and terminal - Google Patents

Automatic method and device for verifying digital integrated circuit, storage medium and terminal Download PDF

Info

Publication number
CN116090380B
CN116090380B CN202310363414.XA CN202310363414A CN116090380B CN 116090380 B CN116090380 B CN 116090380B CN 202310363414 A CN202310363414 A CN 202310363414A CN 116090380 B CN116090380 B CN 116090380B
Authority
CN
China
Prior art keywords
use case
regression
simulation
case
compiling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310363414.XA
Other languages
Chinese (zh)
Other versions
CN116090380A (en
Inventor
邓炯麟
王吉
梅平
尹棋烽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Linju Semiconductor Technology Co ltd
Original Assignee
Wuxi Linju Semiconductor Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Linju Semiconductor Technology Co ltd filed Critical Wuxi Linju Semiconductor Technology Co ltd
Priority to CN202310363414.XA priority Critical patent/CN116090380B/en
Publication of CN116090380A publication Critical patent/CN116090380A/en
Application granted granted Critical
Publication of CN116090380B publication Critical patent/CN116090380B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses an automatic method and device for verifying a digital integrated circuit, a storage medium and a terminal, wherein the method comprises the following steps: acquiring at least one environment configuration file and a regression use case list of a digital integrated circuit to be verified; based on the environment configuration file compiling environment, simulating the corresponding use cases participating in regression in the regression use case list; classifying simulation results of the use cases participating in regression corresponding to the use case information in the regression use case list, and generating a use case list regression report based on the classification results; judging whether the simulation result of the use cases participating in regression corresponding to the use case information in the regression use case list passes or not, if so, adding the simulation directory path of the application case into a coverage rate merging instruction, and executing the coverage rate merging instruction to generate a use case list regression coverage rate report. The invention saves the time of manual operation of the verification engineer, is convenient for management of verification work, helps rapid iteration convergence of the project and is convenient for reuse of the project.

Description

Automatic method and device for verifying digital integrated circuit, storage medium and terminal
Technical Field
The present invention relates to the field of digital integrated circuit verification technologies, and in particular, to an automated method and apparatus for digital integrated circuit verification, a storage medium, and a terminal.
Background
Digital verification is a key to improving the success rate of one-time streaming of digital chips. The digital verification has a complete set of procedures from specification definition through to post-silicon testing.
Starting from the debugging environment and the development use case, the verification engineer needs to repeatedly simulate the running environment until convergence. The check of completeness of verification before streaming is generally quantified by the code coverage rate and the verification coverage rate. For a larger scale digital integrated circuit project, there are typically tens of verification environments divided by modules, each with tens to hundreds of verification cases. For regression iteration of use cases and collection of various coverage rates, no unified system exists in the industry at present, and the system is generally completed by writing scripts by engineers responsible for the environment, and then reporting the final result statistics to verification responsible persons. The disadvantage of this is that each verification environment has its own script, and it takes a lot of time for the engineer to collect statistics, there is no multiplexing between environments, and rapid iteration of the project is not favored.
Disclosure of Invention
The technical problem to be solved by the invention is that the existing digital integrated circuit verification method needs to spend a great deal of time for the engineers to write verification scripts and collect statistical results, and the environments are not multiplexed, so that the method is not beneficial to rapid iteration of the project.
In order to solve the above technical problems, the present invention provides an automated method for verifying a digital integrated circuit, including:
acquiring at least one environment configuration file of a digital integrated circuit to be verified and a regression use case list corresponding to the environment configuration file;
compiling an environment based on the environment configuration file, simulating the use cases which correspond to the use case information in the regression use case list and participate in regression under the current compiling environment after the environment is compiled successfully, and generating a simulation result under a corresponding simulation catalog;
classifying simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list, obtaining classification results, and generating a use case list regression report based on the classification results;
sequentially judging whether simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list pass or not, if so, adding a simulation directory path of the application case into a coverage rate merging instruction, otherwise, enabling the coverage rate merging instruction to be unchanged, and executing the coverage rate merging instruction to generate a use case list regression coverage rate report after the simulation results of the use cases which participate in regression and correspond to all the use case information in the regression use case list are judged to be completed;
The environment configuration file comprises a file collection used by the environment and compiling additional parameters; the regression case list comprises at least one case information, each case information corresponds to one case in the environment-used file set, and the case information comprises whether the case needs regression, case names, simulation additional parameters and case execution times.
Preferably, the automated method for digital integrated circuit verification further comprises:
compiling an environment based on the environment configuration file to obtain a compiling result;
when the compiling result is that the compiling is successful, simulating the to-be-tested case corresponding to the case information in the regression case list under the current compiling environment, and generating a simulation result under a corresponding simulation catalog;
the to-be-tested case is any one of cases corresponding to case information in the regression case list.
Preferably, compiling an environment based on the environment profile includes:
reading the environment configuration file and generating a compiling directory path based on the environment configuration file;
judging whether a compiling catalog exists or not based on the compiling catalog path, if yes, clearing the compiling catalog, otherwise, creating the compiling catalog based on the compiling catalog path;
And adding the compiling additional parameters in the environment configuration file into a compiling command, executing the compiling environment of the compiling command, and generating a compiling result under the compiling directory.
Preferably, the simulating the use cases participating in the regression corresponding to the use case information in the regression use case list, and generating the simulation result under the corresponding simulation list includes:
after confirming that a target use case participates in regression based on a preset regression use case confirmation mode, simulating the target use case based on the use case execution times in the application case information of the target use case;
wherein, based on the number of times of use case execution in the application case information of the target use case, simulating the target use case includes:
generating a kth simulation catalog path based on the use case information corresponding to the target use case, and generating a kth simulation catalog according to the kth simulation catalog path;
the content under the compiling directory path is linked to the kth simulation directory, the use case name and the simulation additional parameter in the application case information of the target use case are added to a simulation command, the simulation command is executed, and a simulation result is generated under the kth simulation directory;
Subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path again based on application information corresponding to the target application, and realizing kth simulation of the target application, otherwise, ending the simulation of the target application;
the target use case is the use case corresponding to the use case information in the regression use case list, and the initial value of k is the execution times of the use case in the application case information corresponding to the target use case.
Preferably, classifying the simulation result corresponding to the regression use case participating in the regression use case list includes:
initializing classification parameters and the number of the cases participating in regression, wherein the classification parameters comprise a pass number, a failure number and an incomplete simulation number;
after confirming that a target use case participates in regression based on a preset regression use case confirmation mode, classifying simulation results of the target use case based on the use case execution times in the application case information of the target use case;
wherein classifying the simulation result of the target use case based on the use case execution times in the application case information of the target use case includes:
generating a kth simulation catalog path based on the use case information corresponding to the target use case, and reading a kth simulation result of the target use case from the kth simulation catalog of the target use case based on the kth simulation catalog path;
Judging whether the k simulation result of the target use case passes or not, if yes, adding 1 to the pass number, otherwise judging whether the k simulation result of the target use case fails or not, if yes, adding 1 to the fail number, otherwise adding 1 to the incomplete simulation number, and adding 1 to the number of the participating regression use case no matter whether the k simulation result of the target use case passes, fails or is incomplete;
subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path again based on application information corresponding to the target application, and realizing classification of the kth simulation result of the target application, otherwise, ending classification of the simulation result of the target application;
the target use case is the use case corresponding to the use case information in the regression use case list, and the initial value of k is the execution times of the use case in the application case information corresponding to the target use case.
Preferably, whether the simulation result of the use case participating in the regression corresponding to the use case information in the regression use case list is passed or not is judged, if so, a simulation directory path for the application is added into a coverage rate merging instruction, otherwise, the coverage rate merging instruction does not change and comprises:
After confirming that a target use case participates in regression based on a preset regression use case confirmation mode, judging a simulation result of the target use case based on the use case execution times in the application case information of the target use case;
wherein, based on the number of times of execution of the use case in the application case information by the target use case, determining the simulation result of the target use case includes:
generating a kth simulation directory path of the target use case based on use case information corresponding to the target use case, and reading a kth simulation result of the target use case from a kth simulation directory of the target use case based on the kth simulation directory path;
judging whether a kth simulation result of the target use case passes or not, if so, adding a simulation directory path of the target use case into a coverage rate merging instruction, otherwise, keeping the coverage rate merging instruction unchanged;
subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path of the target use case based on the use case information corresponding to the target use case again, and judging the kth simulation result of the target use case, otherwise, ending the judgment of the simulation result of the target use case;
The target use case is the use case corresponding to the use case information in the regression use case list, and the initial value of k is the execution times of the use case in the application case information corresponding to the target use case.
Preferably, determining whether the use cases in the regression use case list participate in regression based on a preset regression use case confirmation mode includes:
adding 1 to n, and reading the nth row use case information in the regression use case list;
judging whether the corresponding use case participates in regression based on the nth row of use case information, if yes, judging that the use case corresponding to the nth row of use case information participates in regression, and adding 1 again to n, reading the nth row of use case information in the regression use case list, otherwise, judging that the use case corresponding to the nth row of use case information does not participate in regression, adding 1 again, reading the nth row of use case information in the regression use case list until the judgment of whether the regression is finished for all the use cases corresponding to the use case information in the regression use case list;
wherein, the initial value of n is 0.
In order to solve the technical problems, the invention provides an automatic device for verifying a digital integrated circuit, which comprises a file acquisition module, a simulation result generation module, a regression report generation module and a regression coverage rate report generation module;
The file acquisition module is used for acquiring at least one environment configuration file of the digital integrated circuit to be verified and a regression case list corresponding to the environment configuration file;
the simulation result generation module is used for compiling an environment based on the environment configuration file, simulating the use cases which correspond to the use case information in the regression use case list and participate in regression under the current compiling environment after the environment is compiled successfully, and generating a simulation result under the corresponding simulation catalog;
the regression report generation module is used for classifying simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list, obtaining classification results and generating a use case list regression report based on the classification results;
the regression coverage report generating module is used for sequentially judging whether the simulation results of the cases participating in regression corresponding to the case information in the regression case list pass or not, if so, adding the simulation directory path of the application case into a coverage merging instruction, otherwise, the coverage merging instruction is unchanged, and executing the coverage merging instruction to generate a case list regression coverage report after the simulation results of the cases participating in regression corresponding to all the case information in the regression case list are judged to be finished;
The environment configuration file comprises a file collection used by the environment and compiling additional parameters; the regression case list comprises at least one case information, each case information corresponds to one case in the environment-used file set, and the case information comprises whether the case needs regression, case names, simulation additional parameters and case execution times.
In order to solve the above technical problem, the present invention provides a storage medium having stored thereon a computer program which, when executed by a processor, implements an automated method of digital integrated circuit verification as described.
In order to solve the above technical problems, the present invention provides a terminal, including: the device comprises a processor and a memory, wherein the memory is in communication connection with the processor;
the memory is used for storing a computer program, and the processor is used for executing the computer program stored in the memory so as to enable the terminal to execute the automatic method for verifying the digital integrated circuit.
One or more embodiments of the above-described solution may have the following advantages or benefits compared to the prior art:
by applying the automatic method for verifying the digital integrated circuit provided by the embodiment of the invention, the universal environment compiling and use case simulation forms are set, so that the simulation catalog creation and environment compiling process can be automatically completed through the set digital integrated circuit environment configuration file; the regression simulation of the use cases in the list is automatically completed through the use case regression list, and the regression report and the coverage rate report are generated, so that the manual operation time of a verification engineer is saved, the management of verification work is facilitated, the rapid iterative convergence of the project is facilitated, and the reuse of the project is facilitated.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification, illustrate the invention and together with the embodiments of the invention, serve to explain the invention, without limitation to the invention. In the drawings:
fig. 1 is a flow chart of an automated method for digital integrated circuit verification according to an embodiment of the present invention.
FIG. 2 is a schematic diagram showing a process of compiling a separate environment in accordance with the first embodiment of the present invention.
FIG. 3 is a schematic diagram showing a process of single use case simulation in the first embodiment of the present invention.
Fig. 4 shows a schematic diagram of a regression process according to the use case regression list in the first embodiment of the present invention.
FIG. 5 is a diagram showing a process of generating a use case list regression report according to the first embodiment of the present invention.
FIG. 6 is a diagram showing a process of generating a case-list regression coverage report according to the first embodiment of the present invention.
Fig. 7 shows a schematic structural diagram of an automated device for verifying a digital integrated circuit according to an embodiment of the present invention.
Fig. 8 shows a schematic diagram of a four-terminal structure according to an embodiment of the present invention.
Detailed Description
The following will describe embodiments of the present invention in detail with reference to the drawings and examples, thereby solving the technical problems by applying technical means to the present invention, and realizing the technical effects can be fully understood and implemented accordingly. It should be noted that, as long as no conflict is formed, each embodiment of the present invention and each feature of each embodiment may be combined with each other, and the formed technical solutions are all within the protection scope of the present invention.
Example 1
In order to solve the technical problems in the prior art, the embodiment of the invention provides an automatic method for verifying a digital integrated circuit.
FIG. 1 is a flow chart of an automated method for digital integrated circuit verification according to an embodiment of the present invention; an automated method for digital integrated circuit verification according to an embodiment of the present invention, as described with reference to fig. 1, includes the following steps.
Step S101, at least one environment configuration file of the digital integrated circuit to be verified and a regression case list corresponding to the environment configuration file are obtained.
In particular, there are typically multiple verification environments for a single digital integrated circuit project, and each environment may have tens to hundreds of verification cases. In this embodiment, the digital integrated circuit to be verified is referred to as a digital integrated circuit to be verified, and all or part of the environment configuration file of the digital integrated circuit to be verified and the regression use case list corresponding to the environment configuration file are obtained, so that verification of the digital integrated circuit to be verified is to be realized subsequently. The environment configuration file comprises a file collection set used by the environment and compiling additional parameters; the regression case list comprises at least one case information, and each case information corresponds to one case in the file collection set of the environment, wherein the case information comprises whether the case needs regression, the case name, the simulation additional parameters and the case execution times. Preferably, in order to facilitate the maintenance of the use case in the verification process, the use case information may further include a use case responsible person.
Further, the set of environment-used files includes a set of design code files to be tested and a set of verification environment code files, wherein the set of use case data is contained in the set of verification environment code files. Compiling additional parameters refers to parameters that are custom by the environment developer, such as some macro definitions, etc. The additional parameters are custom parameters required for executing the use case, such as some parameter transfer.
In the above process of configuring the environment configuration file and the regression case list, if a certain parameter is not needed, it may be set to be empty. For example: some environment profile may be represented as filelist=/xxx/xxx/f.list; compile_opt= +abc; wherein/xxx/xxx/f.list is a collection of files for the environment of the environment; additional parameters +abc are compiled. One use case information of the regression use case list is represented by one line of the list, and each item of content is separated by a '|' symbol. For example, a piece of use case information may be represented as ON|case|+ABC|10|dengjl; wherein ON indicates that the use case needs to participate in regression; the use case name is castname; the command line needs to add extra options +ABC during simulation; the use case needs to be executed 10 times; the use case is responsible for artificial dengjl.
Step S102, compiling the environment based on the environment configuration file, simulating the use cases which participate in regression and correspond to the use case information in the corresponding regression use case list under the current compiling environment after the environment is compiled successfully, and generating a simulation result under the corresponding simulation catalog.
Specifically, after the environment configuration file and the regression case list corresponding to the environment configuration file are obtained, the environment can be compiled based on the environment configuration file, and regression simulation is performed on the application case of the case information in the table based on the corresponding regression case list. Further, fig. 4 is a schematic diagram showing a regression process of the case-by-case regression list in the first embodiment of the present invention; referring to fig. 4, the case-by-case regression list regression process needs to execute a regression command, input parameters are an environment configuration file and a case regression list, and specifically the case-by-case regression list regression process includes an environment compiling portion and a regression simulation portion, where compiling an environment based on the environment configuration file specifically includes: reading the environment configuration file, judging whether the environment configuration file is successfully read, if so, executing the next step, otherwise, ending the case-by-case regression list regression process; generating a compiled directory path based on the environment configuration file; judging whether the compiling catalogue exists or not based on the compiling catalogue path, if yes, emptying the current compiling catalogue for environment compiling, otherwise, creating a compiling catalogue based on the compiling catalogue path; adding the compiling additional parameters in the environment configuration file into a compiling command, executing the compiling command compiling environment, and waiting for compiling to be finished to generate a compiling result under a compiling directory; and judging whether compiling is successful, if so, entering a regression simulation part, and if not, ending the regression process of the case-by-case regression list.
After the environment is compiled successfully, the use cases which participate in regression and correspond to the use case information in the corresponding regression use case list are required to be simulated under the current compiling environment. Whether the application case regression list is successfully read or not is judged before, if so, the next step is executed, and if not, the application case regression list regression process is ended. The regression simulation part of the case-by-case regression list regression process specifically comprises: and sequentially confirming whether the use cases participate in regression based on a preset regression use case confirmation mode, and simulating the use cases based on the execution times of the use cases in the application case information of the use cases after confirming that a certain use case participates in regression. Assuming that the target use case is any use case participating in regression corresponding to the use case information in the regression use case list based on a preset regression use case confirming mode, the simulating the target use case based on the execution times of the use case in the application information by the target use case specifically includes: generating a kth simulation catalog path based on the use case information corresponding to the target use case, and generating a kth simulation catalog according to the kth simulation catalog path; linking the content under the compiling catalog path in the environment compiling part to the kth simulation catalog, adding the use case name and the simulation additional parameter in the application case information of the target use case to the simulation command, finally executing the simulation command, and generating a simulation result under the kth simulation catalog; and subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path again based on the use case information corresponding to the target use case, realizing the kth simulation of the target use case, and otherwise, ending the regression simulation of the target use case. The initial value of k is the number of times of execution of the use case in the application case information by the target use case. And repeating the process to realize the participation of the regression simulation of the regression use cases in the regression use case list.
It should be noted that, the compiling command in the environment compiling portion refers to a compiling instruction and some basic parameters customized by a simulation tool (there are examples/demo in the official manual of the simulation tool, which can ensure that the common code is compiled successfully). The simulation command in the regression simulation part refers to a simulation instruction plus some basic parameters customized by a simulation tool (examples/demo exist in a manual of the official of the simulation tool, so that the simulation can be executed after the compiling is successful). The compilation and simulation generic parameters refer to some basic parameters that the simulation tool is custom with respect to additional parameters, and are typically exemplified or described in the simulation tool official manual. The compiling command and the simulation command before each additional parameter addition are commands in a general state, and further, the compiling command and the simulation command after the additional parameter addition are only used in the corresponding environment compiling and regression use case simulation.
The simulation catalogues generated in the process are all generated on the basis of the regression root catalogue, namely, the regression root catalogue path is generated before the simulation catalogue path is generated, and the regression root catalogue path is generated based on the environment configuration file, so that the regression root catalogue path generated based on the environment configuration file is needed before the regression examples in the regression example list participate in regression simulation.
Step S103, classifying simulation results of the use cases participating in regression corresponding to the use case information in the regression use case list, obtaining classification results, and generating a use case list regression report based on the classification results.
Specifically, after regression simulation is performed on the application examples according to the use case information in the regression use case list, a use case list regression report can be generated based on the simulation result of the application examples by the use case information in the regression use case list. FIG. 5 is a diagram showing a process of generating a use case list regression report according to the first embodiment of the present invention; referring to fig. 5, the use case list regression report generation process specifically includes: executing a case list regression report command, wherein input parameters are environment configuration files and a regression case list corresponding to the environment configuration files; initializing classification parameters and the number of the cases participating in regression, wherein the classification parameters comprise a pass number, a failure number and an incomplete simulation number; and judging whether the environment configuration file is successfully read, if so, generating an regression root directory path according to the environment configuration file, sequentially confirming whether the use cases participate in regression based on a preset regression use case confirmation mode, and classifying simulation results of the use cases based on the execution times of the use cases in the use case information after confirming that a certain use case participates in regression, otherwise, ending the use case list regression report generation process.
Assuming that the target use case is any use case participating in regression corresponding to the use case information in the regression use case list based on the preset regression use case confirming mode, classifying the simulation result of the target use case based on the execution times of the use case in the application information by the target use case specifically includes: generating a kth simulation catalog path based on the application information corresponding to the target application, and reading a kth simulation result of the target application from the kth simulation catalog of the target application based on the kth simulation catalog path; judging whether a kth simulation result of the target use case passes or not, if yes, adding 1, otherwise judging whether the kth simulation result of the target use case fails, if yes, adding 1 to the failure number, otherwise adding 1 to the incomplete simulation number, and adding 1 to the number of the participating regression use case no matter whether the kth simulation result of the target use case passes, fails or does not complete simulation; then subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path again based on application information corresponding to the target application, and realizing classification of the kth simulation result of the target application, otherwise, ending classification of the simulation result of the target application; wherein, the initial value of k is the execution times of the use cases in the application case information of the target use cases. And repeating the process to classify the simulation results of all the participating regression cases in the regression case list.
And finally, obtaining a classification result, namely, the passing number, the failure number, the unfinished simulation number and the number of the cases participating in regression, calculating the passing rate based on the passing number and the number of the cases, calculating the failure rate based on the failure number and the number of the cases, calculating the unfinished simulation rate based on the unfinished simulation number and the number of the cases, and generating a case list regression report based on the passing rate, the failure rate, the unfinished simulation rate, the execution result of each case and a responsible person.
Step S104, judging whether the simulation result of the case which participates in regression corresponding to the case information in the regression case list is passed or not in sequence, if so, adding the simulation directory path of the application case into the coverage rate merging instruction, otherwise, the coverage rate merging instruction is unchanged, and executing the coverage rate merging instruction to generate a case list regression coverage rate report after the simulation results of the cases which participate in regression corresponding to all the case information in the regression case list are judged to be completed.
Specifically, after the case regression simulation of all the cases participating in regression corresponding to the case information in the regression case list is completed, the case list regression coverage report can be obtained based on the simulation result of the case corresponding to the case information in the regression case list. FIG. 6 is a diagram showing a process of generating a case-list regression coverage report according to the first embodiment of the present invention; referring to fig. 6, the use case list regression coverage report generation process specifically includes: executing a case list regression coverage report command, wherein input parameters are an environment configuration file and a regression case list; initializing display parameters, wherein the display parameters comprise the number of the cases participating in regression and the number of the cases with the collected coverage rate; judging whether the environment configuration file is successfully read, if so, generating an regression root directory path according to the environment configuration file, sequentially confirming whether the use cases participate in regression based on a preset regression use case confirmation mode, and judging the simulation result of the use cases based on the execution times of the use cases in the use case information after confirming that a certain use case participates in regression; otherwise, ending the case list regression coverage report generation process.
Assuming that the target use case is any use case participating in regression corresponding to the use case information in the regression use case list based on a preset regression use case confirmation mode, the judging the simulation result of the target use case based on the execution times of the use case in the application information by the target use case specifically includes: adding 1 to the number of the participating regression cases, generating a kth simulation directory path of the target case based on case information corresponding to the target case, and reading a kth simulation result of the target case from the kth simulation directory of the target case based on the kth simulation directory path; judging whether a kth simulation result of the target use case passes or not, if so, adding a simulation directory path of the target use case into a coverage rate merging instruction, adding 1 to the number of collected coverage rate use cases, and otherwise, keeping the coverage rate merging instruction unchanged; subtracting 1 from k, judging whether k is larger than 0, if yes, adding 1 again to the number of the participating regression cases, generating a kth simulation catalog path of the target case based on case information corresponding to the target case, judging a kth simulation result of the target case, and if not, ending the judgment of the simulation result of the target case; wherein the initial value of k is the execution times of the use cases in the application case information of the target use case. And repeating the process to judge the simulation results of all the participating regression cases in the regression case list.
And finally executing a final coverage merging instruction and a coverage webpage display instruction, calculating the case regression coverage based on the final number of the participation regression cases and the collected coverage cases, waiting for the execution to finish to generate a coverage webpage report path, and generating a case list regression coverage report based on the number of the participation regression cases, the collected coverage cases, the case regression coverage and the coverage webpage report path.
In the above step, the determining whether the use cases in the regression use case list participate in regression based on the preset regression use case confirmation method specifically includes: adding 1 to n, and reading the nth row use case information in the regression use case list; judging whether the corresponding use case participates in regression based on the nth row use case information, if yes, judging whether the use case corresponding to the nth row use case information participates in regression, and adding 1 again to n, reading the nth row use case information in the regression use case list, otherwise, judging that the use case corresponding to the nth row use case information does not participate in regression, adding 1 again to n, reading the nth row use case information in the regression use case list, and judging whether the reference regression is completed for the use cases corresponding to all the use case information in the regression use case list, wherein the initial value of n is 0.
In order to facilitate engineers to implement individual verification of compiled environments and written cases in the process of writing scripts, the automated method for verifying digital integrated circuits according to the embodiment of the present invention further includes an environment compiling step of step S105, and a single case simulation process of step S106.
Step S105, compiling the environment based on the environment configuration file, and acquiring a compiling result.
FIG. 2 is a schematic diagram showing a process of compiling a separate environment according to the first embodiment of the invention; the compiling process of the individual environment is the same as that of the compiling process of the environment based on the environment configuration file in step S102, and details thereof are not described here.
And step S106, when the compiling result is that the compiling is successful, simulating the to-be-tested use cases corresponding to the use case information in the corresponding regression use case list under the current compiling environment, and generating a simulation result under the corresponding simulation catalogue.
Specifically, the simulation process of a single use case needs to be implemented on the basis of successful compiling of the environment. FIG. 3 is a schematic diagram showing a process of single use case simulation in the first embodiment of the present invention; as described in reference to fig. 3, when the compiling result is that the compiling is successful, the specific process of simulating the to-be-tested case corresponding to the case information in the corresponding regression case list in the current compiling environment includes: executing a simulation command, wherein input parameters are environment configuration files and application information corresponding to the to-be-tested application; reading an environment configuration file, judging whether the environment configuration file is successfully obtained, executing the next step if the environment configuration file is successfully obtained, and ending the single use case simulation if the environment configuration file is not successfully obtained; generating a regression root directory based on the environment configuration file, and generating a simulation directory path based on the application case information corresponding to the to-be-tested application case; judging whether a simulation catalog path exists or not based on the simulation catalog path, if yes, executing the next step, otherwise, emptying the simulation catalog for use case simulation; the content under the compiling path in the step S105 is linked to the simulation catalog, and the use case name and the compiling additional parameter in the application case information of the to-be-tested use case are added to the simulation command; executing the simulation command and storing the simulation result in the simulation directory.
The automatic method for verifying the digital integrated circuit provides five common operations for the digital integrated circuit verification method, namely compiling an independent environment, simulating a single use case, regressing according to the use case list, generating a regression report of the use case list and generating a regression coverage report of the use case list. The method of the invention can automatically complete the creation of the simulation catalog and the environment compiling process through setting the general environment compiling and use case simulation forms and setting the environment configuration file of the digital integrated circuit; the regression simulation of the use cases in the list is automatically completed through the use case regression list, and the regression report and the coverage rate report are generated, so that the manual operation time of a verification engineer is saved, the management of verification work is facilitated, the rapid iterative convergence of the project is facilitated, and the reuse of the project is facilitated.
Example two
In order to solve the technical problems in the prior art, the embodiment of the invention provides an automatic device for verifying a digital integrated circuit.
FIG. 7 is a schematic diagram of an automated device for digital integrated circuit verification according to an embodiment of the present invention; referring to fig. 7, an automated device for verifying a digital integrated circuit according to an embodiment of the present invention includes a file acquisition module, a simulation result generation module, a regression report generation module, and a regression coverage report generation module.
The file acquisition module is used for acquiring at least one environment configuration file of the digital integrated circuit to be verified and a regression case list corresponding to the environment configuration file.
The simulation result generation module is used for compiling the environment based on the environment configuration file, simulating the use cases which participate in regression and correspond to the use case information in the corresponding regression use case list in the current compiling environment after the environment is compiled successfully, and generating a simulation result in the corresponding simulation catalog.
The regression report generation module is used for classifying simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list, obtaining classification results and generating a use case list regression report based on the classification results.
The regression coverage report generating module is used for sequentially judging whether simulation results of the use cases participating in regression corresponding to the use case information in the regression use case list pass or not, if yes, adding a simulation catalog path of the application cases into a coverage merging instruction, otherwise, the coverage merging instruction is unchanged, and executing the coverage merging instruction to generate a regression coverage report of the use case list after the simulation results of the use cases participating in regression corresponding to all the use case information in the regression use case list are judged to be finished.
The environment configuration file comprises a file collection set used by the environment and compiling additional parameters; the regression case list comprises at least one case information, each case information corresponds to one case in the file set used by the environment, and the case information comprises whether the case needs regression, a case name, simulation additional parameters and case execution times.
The automatic device for verifying the digital integrated circuit provides five common operations for verifying the digital integrated circuit, namely compiling an independent environment, simulating a single use case, regressing according to the use case list, generating a regression report of the use case list and generating a regression coverage report of the use case list. The device of the invention can automatically complete the creation of the simulation catalog and the environment compiling process through setting the general environment compiling and use case simulation forms and setting the environment configuration file of the digital integrated circuit; the regression simulation of the use cases in the list is automatically completed through the use case regression list, and the regression report and the coverage rate report are generated, so that the manual operation time of a verification engineer is saved, the management of verification work is facilitated, the rapid iterative convergence of the project is facilitated, and the reuse of the project is facilitated.
Example III
To solve the above-mentioned technical problems in the prior art, an embodiment of the present invention further provides a storage medium storing a computer program, where the computer program when executed by a processor can implement all the steps in the automated method for verifying a digital integrated circuit in the first embodiment.
The specific steps of the automated method for verifying a digital integrated circuit and the beneficial effects obtained by applying the readable storage medium provided by the embodiment of the present invention are the same as those of the first embodiment, and are not described in detail herein.
It should be noted that: the storage medium includes: various media that can store program code, such as ROM, RAM, magnetic or optical disks.
Example IV
In order to solve the technical problems in the prior art, the embodiment of the invention also provides a terminal.
Fig. 8 shows a schematic diagram of a fourth terminal structure according to an embodiment of the present invention, and referring to fig. 8, the terminal of the present embodiment includes a processor and a memory that are connected to each other; the memory is used for storing a computer program, and the processor is used for executing the computer program stored in the memory, so that the terminal can realize all the steps in the automatic method for verifying the digital integrated circuit in the first embodiment when executing the computer program.
The specific steps of the automated method for verifying the digital integrated circuit and the beneficial effects obtained by the terminal provided by the embodiment of the invention are the same as those of the first embodiment, and are not described in detail herein.
It should be noted that the memory may include a random access memory (Random Access Memory, abbreviated as RAM) and may further include a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory. The same processor may be a general processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), etc.; but also digital signal processors (Digital Signal Processing, DSP for short), application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), field programmable gate arrays (Field Programmable Gate Array, FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
Although the embodiments of the present invention are disclosed above, the embodiments are only used for the convenience of understanding the present invention, and are not intended to limit the present invention. Any person skilled in the art can make any modification and variation in form and detail without departing from the spirit and scope of the present disclosure, but the scope of the present disclosure is still subject to the scope of the present disclosure as defined by the appended claims.

Claims (10)

1. An automated method of digital integrated circuit verification, comprising:
acquiring at least one environment configuration file of a digital integrated circuit to be verified and a regression use case list corresponding to the environment configuration file;
compiling an environment based on the environment configuration file, simulating the use cases which correspond to the use case information in the regression use case list and participate in regression under the current compiling environment after the environment is compiled successfully, and generating a simulation result under a corresponding simulation catalog;
classifying simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list, obtaining classification results, and generating a use case list regression report based on the classification results;
sequentially judging whether simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list pass or not, if so, adding a simulation directory path of the application case into a coverage rate merging instruction, otherwise, enabling the coverage rate merging instruction to be unchanged, and executing the coverage rate merging instruction to generate a use case list regression coverage rate report after the simulation results of the use cases which participate in regression and correspond to all the use case information in the regression use case list are judged to be completed;
The environment configuration file comprises a file collection used by the environment and compiling additional parameters; the regression case list comprises at least one case information, each case information corresponds to one case in the environment-used file set, and the case information comprises whether the case needs regression, case names, simulation additional parameters and case execution times; the compiling additional parameters refer to environment developer custom parameters; the simulation additional parameters refer to custom parameters required by executing the use cases;
compiling an environment based on the environment configuration file comprises:
adding the compiling additional parameters in the environment configuration file into a compiling command, executing the compiling environment of the compiling command, and generating a compiling result under a compiling directory;
the simulation of the use cases which participate in the regression and correspond to the use case information in the regression use case list comprises the following steps:
and adding the use case name and the simulation additional parameter in the application case information of the target use case into a simulation command, and executing the simulation command, wherein the target use case is the use case corresponding to the use case information in the regression use case list.
2. The method as recited in claim 1, further comprising:
Compiling an environment based on the environment configuration file to obtain a compiling result;
when the compiling result is that the compiling is successful, simulating the to-be-tested case corresponding to the case information in the regression case list under the current compiling environment, and generating a simulation result under a corresponding simulation catalog;
the to-be-tested case is any one of cases corresponding to case information in the regression case list.
3. The method of claim 1 or 2, wherein compiling an environment based on the environment profile further comprises:
reading the environment configuration file and generating a compiling directory path based on the environment configuration file;
and judging whether the compiling catalogue exists or not based on the compiling catalogue path, if yes, clearing the compiling catalogue, otherwise, creating the compiling catalogue based on the compiling catalogue path.
4. The method of claim 3, wherein simulating the use cases participating in the regression corresponding to the use case information in the regression use case list, and generating the simulation result under the corresponding simulation list comprises:
after confirming that a target use case participates in regression based on a preset regression use case confirmation mode, simulating the target use case based on the use case execution times in the application case information of the target use case;
Wherein, based on the number of times of use case execution in the application case information of the target use case, simulating the target use case includes:
generating a kth simulation catalog path based on the use case information corresponding to the target use case, and generating a kth simulation catalog according to the kth simulation catalog path;
the content under the compiling directory path is linked to the kth simulation directory, the use case name and the simulation additional parameter in the application case information of the target use case are added to a simulation command, the simulation command is executed, and a simulation result is generated under the kth simulation directory;
subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path again based on application information corresponding to the target application, and realizing kth simulation of the target application, otherwise, ending the simulation of the target application;
the initial value of k is the execution times of the use cases in the application case information of the target use cases.
5. The method of claim 1, wherein classifying simulation results corresponding to participating regression cases in the regression case list comprises:
initializing classification parameters and the number of the cases participating in regression, wherein the classification parameters comprise a pass number, a failure number and an incomplete simulation number;
After confirming that a target use case participates in regression based on a preset regression use case confirmation mode, classifying simulation results of the target use case based on the use case execution times in the application case information of the target use case;
wherein classifying the simulation result of the target use case based on the use case execution times in the application case information of the target use case includes:
generating a kth simulation catalog path based on the use case information corresponding to the target use case, and reading a kth simulation result of the target use case from the kth simulation catalog of the target use case based on the kth simulation catalog path;
judging whether the k simulation result of the target use case passes or not, if yes, adding 1 to the pass number, otherwise judging whether the k simulation result of the target use case fails or not, if yes, adding 1 to the fail number, otherwise adding 1 to the incomplete simulation number, and adding 1 to the number of the participating regression use case no matter whether the k simulation result of the target use case passes, fails or is incomplete;
subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path again based on application information corresponding to the target application, and realizing classification of the kth simulation result of the target application, otherwise, ending classification of the simulation result of the target application;
The target use case is the use case corresponding to the use case information in the regression use case list, and the initial value of k is the execution times of the use case in the application case information corresponding to the target use case.
6. The method of claim 1, wherein determining whether a simulation result of a case participating in regression corresponding to case information in the regression case list is passed, if so, adding a simulation directory path for an application case to a coverage merge instruction, otherwise, the coverage merge instruction does not change, including:
after confirming that a target use case participates in regression based on a preset regression use case confirmation mode, judging a simulation result of the target use case based on the use case execution times in the application case information of the target use case;
wherein, based on the number of times of execution of the use case in the application case information by the target use case, determining the simulation result of the target use case includes:
generating a kth simulation directory path of the target use case based on use case information corresponding to the target use case, and reading a kth simulation result of the target use case from a kth simulation directory of the target use case based on the kth simulation directory path;
Judging whether a kth simulation result of the target use case passes or not, if so, adding a simulation directory path of the target use case into a coverage rate merging instruction, otherwise, keeping the coverage rate merging instruction unchanged;
subtracting 1 from k, judging whether k is larger than 0, if so, generating a kth simulation directory path of the target use case based on the use case information corresponding to the target use case again, and judging the kth simulation result of the target use case, otherwise, ending the judgment of the simulation result of the target use case;
the target use case is the use case corresponding to the use case information in the regression use case list, and the initial value of k is the execution times of the use case in the application case information corresponding to the target use case.
7. The method of any of claims 4-6, wherein determining whether a use case in the regression use case list participates in regression based on a preset regression use case validation method comprises:
adding 1 to n, and reading the nth row use case information in the regression use case list;
judging whether the corresponding use case participates in regression based on the nth row of use case information, if yes, judging that the use case corresponding to the nth row of use case information participates in regression, and adding 1 again to n, reading the nth row of use case information in the regression use case list, otherwise, judging that the use case corresponding to the nth row of use case information does not participate in regression, adding 1 again, reading the nth row of use case information in the regression use case list until the judgment of whether the regression is finished for all the use cases corresponding to the use case information in the regression use case list;
Wherein, the initial value of n is 0.
8. An automatic device for verifying a digital integrated circuit is characterized by comprising a file acquisition module, a simulation result generation module, a regression report generation module and a regression coverage rate report generation module;
the file acquisition module is used for acquiring at least one environment configuration file of the digital integrated circuit to be verified and a regression case list corresponding to the environment configuration file;
the simulation result generation module is used for compiling an environment based on the environment configuration file, simulating the use cases which correspond to the use case information in the regression use case list and participate in regression under the current compiling environment after the environment is compiled successfully, and generating a simulation result under the corresponding simulation catalog;
the regression report generation module is used for classifying simulation results of the use cases which participate in regression and correspond to the use case information in the regression use case list, obtaining classification results and generating a use case list regression report based on the classification results;
the regression coverage report generating module is used for sequentially judging whether the simulation results of the cases participating in regression corresponding to the case information in the regression case list pass or not, if so, adding the simulation directory path of the application case into a coverage merging instruction, otherwise, the coverage merging instruction is unchanged, and executing the coverage merging instruction to generate a case list regression coverage report after the simulation results of the cases participating in regression corresponding to all the case information in the regression case list are judged to be finished;
The environment configuration file comprises a file collection used by the environment and compiling additional parameters; the regression case list comprises at least one case information, each case information corresponds to one case in the environment-used file set, and the case information comprises whether the case needs regression, case names, simulation additional parameters and case execution times; the compiling additional parameters refer to environment developer custom parameters; the simulation additional parameters refer to custom parameters required by executing the use cases;
compiling an environment based on the environment configuration file comprises:
adding the compiling additional parameters in the environment configuration file into a compiling command, executing the compiling environment of the compiling command, and generating a compiling result under a compiling directory;
the simulation of the use cases which participate in the regression and correspond to the use case information in the regression use case list comprises the following steps:
and adding the use case name and the simulation additional parameter in the application case information of the target use case into a simulation command, and executing the simulation command, wherein the target use case is the use case corresponding to the use case information in the regression use case list.
9. A storage medium having stored thereon a computer program, which when executed by a processor implements an automated method of digital integrated circuit verification according to any one of claims 1 to 7.
10. A terminal, comprising: the device comprises a processor and a memory, wherein the memory is in communication connection with the processor;
the memory is configured to store a computer program, and the processor is configured to execute the computer program stored in the memory, to cause the terminal to perform the automated method of digital integrated circuit verification according to any one of claims 1 to 7.
CN202310363414.XA 2023-04-07 2023-04-07 Automatic method and device for verifying digital integrated circuit, storage medium and terminal Active CN116090380B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310363414.XA CN116090380B (en) 2023-04-07 2023-04-07 Automatic method and device for verifying digital integrated circuit, storage medium and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310363414.XA CN116090380B (en) 2023-04-07 2023-04-07 Automatic method and device for verifying digital integrated circuit, storage medium and terminal

Publications (2)

Publication Number Publication Date
CN116090380A CN116090380A (en) 2023-05-09
CN116090380B true CN116090380B (en) 2023-08-01

Family

ID=86212362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310363414.XA Active CN116090380B (en) 2023-04-07 2023-04-07 Automatic method and device for verifying digital integrated circuit, storage medium and terminal

Country Status (1)

Country Link
CN (1) CN116090380B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117436380B (en) * 2023-12-21 2024-05-03 芯耀辉科技有限公司 Regression verification method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597733B (en) * 2018-12-04 2022-08-09 航天恒星科技有限公司 Multifunctional efficient dynamic chip verification simulation method and equipment
CN114356683A (en) * 2021-12-29 2022-04-15 北京爱芯科技有限公司 Coverage rate fusion method and device, computer equipment and storage medium
CN115600528A (en) * 2022-09-16 2023-01-13 北京物芯科技有限责任公司(Cn) Simulation verification control method and device, computing equipment and storage medium
CN115858336A (en) * 2022-11-01 2023-03-28 北京物芯科技有限责任公司 Test vector generation method and device, computing equipment and storage medium

Also Published As

Publication number Publication date
CN116090380A (en) 2023-05-09

Similar Documents

Publication Publication Date Title
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
CN106940428B (en) Chip verification method, device and system
CN103150249B (en) A kind of method and system of automatic test
US9594543B2 (en) Activity diagram model-based system behavior simulation method
CN109189479B (en) Parallel automatic verification method for processor instruction set
CN107783873B (en) Method for realizing automatic testing platform of burner
CN103164328A (en) Method and device and system for regression testing of service function
CN109656820B (en) Intelligent automatic test system based on CBTC
CN107370637B (en) Vehicle-mounted ECU communication function automatic test system and method
CN109933521A (en) Automated testing method, device, computer equipment and storage medium based on BDD
CN116090380B (en) Automatic method and device for verifying digital integrated circuit, storage medium and terminal
CN103412817A (en) Automation testing script offline debugging method and system
CN114996127A (en) Intelligent test method and system for solid state disk firmware module
CN112731117A (en) Automatic verification method and system for chip, and storage medium
CN117217163A (en) Script-based SOC chip testing method
CN109144867B (en) Test method and test system
CN115794639A (en) Visual test and visual simulation test system and method based on process
CN113868046A (en) Function verification method and system of PAD control unit and related components
CN111444108A (en) Behavior audit automatic testing method based on S7 industrial protocol
CN109800155B (en) Method and device for testing QTE interlocking application software based on Probe
CN114448851B (en) Automatic data testing method and system
CN111427731B (en) Automatic split code stream and verification code stream testing method and system
CN113609577B (en) Automobile electric appliance principle inspection method
CN114417763A (en) Formal verification method, system, equipment and storage medium
CN118035084A (en) Model test method and system

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