Chip verification coverage improvement method
By calculating the hash value of coverage data and dynamically adjusting the incentive strategy using a machine learning model, the problems of difficulty in improving coverage, high resource consumption, and insufficient dynamic adaptability in chip verification are solved, achieving efficient and intelligent coverage improvement and resource optimization.
Patent Information
- Application Number
- CN202510865314.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-26
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-06-26
AI Technical Summary
Existing technologies for chip verification suffer from challenges such as difficulty in improving coverage, high resource consumption, and insufficient dynamic adaptability.
By collecting coverage data and calculating hash values, the incentive strategy is dynamically adjusted using a machine learning model to generate targeted incentive signals, and the verification process is iteratively optimized until the iteration termination condition is met.
It improves the coverage of chip verification, reduces the consumption of computing and storage resources, enhances the flexibility and adaptability of verification, and realizes the automation and intelligence of the verification process.
Smart Images

Figure CN120373222B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of chip verification, and in particular to a chip verification coverage rate improving method. BACKGROUND
[0002] Chip verification is a key link to ensure the correctness of digital integrated circuit design functions, and its integrity is usually measured by coverage rate. High coverage rate means that more potential design errors can be found.
[0003] The current commonly used coverage rate improving methods mainly include random testing and constraint-based test generation. Random testing explores the design state space by randomly generating test cases, but it is difficult to cover the critical path and boundary conditions, and the number of test cases increases exponentially as the design complexity increases. Constraint-based test generation guides test case generation by setting constraint conditions, but the setting of constraint conditions is complex, and the effect is poor for designs lacking clear constraints. The existing technical improvement scheme attempts to introduce machine learning to optimize test case generation. It uses a template library to store and manage constraint files, adjusts constraint conditions through pre-set rules to meet verification requirements, and automatically generates verification stimuli to reduce manual intervention. However, this scheme relies on a static template library, which is difficult to quickly adapt to design changes, and the maintenance of the template library and the adjustment of the constraint conditions may consume a large amount of computing and storage resources.
[0004] It can be seen that the related art has problems of difficulty in improving coverage rate, large resource consumption, and insufficient dynamic adaptation capability in chip verification. SUMMARY
[0005] The present application provides a chip verification coverage rate improving method to at least solve the problems of difficulty in improving coverage rate, large resource consumption, and insufficient dynamic adaptation capability in chip verification in the related art.
[0006] The present application provides a chip verification coverage rate improving method, comprising:
[0007] collecting coverage rate data in a chip verification process;
[0008] calculating a hash value of the coverage rate data;
[0009] based on the hash value of the coverage rate data, dynamically adjusting a current stimulus strategy using a machine learning model;
[0010] sending a stimulus signal to a verification environment according to the adjusted stimulus strategy to trigger execution of a verification scenario;
[0011] iteratively executing the process of collecting coverage rate data in a chip verification process to the process of sending a stimulus signal to a verification environment according to the adjusted stimulus strategy until an iteration termination condition is reached.
[0012] The application further provides a chip verification coverage rate improving device, comprising:
[0013] a coverage collection module configured to collect coverage rate data in a chip verification process;
[0014] a hash operation module configured to calculate a hash value of the coverage rate data;
[0015] a machine learning feedback module configured to dynamically adjust a current incentive strategy by using a machine learning model based on the hash value of the coverage rate data;
[0016] an incentive sending module configured to send an incentive signal to a verification environment according to the adjusted incentive strategy to trigger execution of a verification scenario;
[0017] an iteration control module configured to iteratively execute the process of collecting the coverage rate data in the chip verification process to the process of sending the incentive signal to the verification environment according to the adjusted incentive strategy until an iteration termination condition is reached.
[0018] The application further provides an electronic device, comprising a memory configured to store a computer program and a processor configured to implement the steps of any of the above chip verification coverage rate improving methods when executing the computer program.
[0019] The application further provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of any of the above chip verification coverage rate improving methods.
[0020] The application further provides a computer program product, comprising a computer program, and the computer program is executed by a processor to implement the steps of any of the above chip verification coverage rate improving methods.
[0021] By the present application, since the coverage data is calculated by the hash value, the hash value change is analyzed by the machine learning model, the incentive strategy is dynamically adjusted, the targeted incentive signal is generated, the verification scene is accurately triggered, the coverage is gradually improved, the comprehensiveness of chip verification is ensured, and the problem of difficult coverage improvement is solved. Secondly, by iteratively optimizing the incentive strategy, repeated verification is reduced, a large number of redundant test cases are generated and executed, the consumption of computing resources and storage resources is reduced, the verification efficiency is improved, the verification period is shortened, the time and labor cost is saved, and the problem of large resource consumption is solved. In addition, the machine learning model can continuously learn and adjust according to the real-time coverage data collected during the verification process, timely adapt to design changes and changes in verification requirements, realize the automation and intelligentization of the verification process, improve the flexibility and adaptability of the verification process, and solve the problem of insufficient dynamic adaptation capability. Therefore, the present application can solve the problems of difficult coverage improvement, large resource consumption and insufficient dynamic adaptation capability in chip verification in the related art, and achieve significant improvements in improving coverage, reducing resource consumption and enhancing dynamic adaptation capability. A more efficient, intelligent and resource-friendly solution is provided for the chip verification field. BRIEF DESCRIPTION OF DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0023] Figure 1 A flowchart of a chip verification coverage improvement method provided by an embodiment of the present application;
[0024] Figure 2 A flowchart of another chip verification coverage improvement method provided by an embodiment of the present application;
[0025] Figure 3 A path schematic diagram of a machine learning feedback process provided by an embodiment of the present application;
[0026] Figure 4 A flowchart of another chip verification coverage improvement method provided by an embodiment of the present application;
[0027] Figure 5 A structural block diagram of a chip verification coverage improvement device provided by an embodiment of the present application;
[0028] Figure 6 A module cooperation schematic diagram of a chip verification coverage improvement device provided by an embodiment of the present application;
[0029] Figure 7 A hardware structure schematic diagram of an electronic device is provided for an embodiment of the present application. DETAILED DESCRIPTION
[0030] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0031] It should be noted that, in the description of the present application, the terms “comprise”, “contain” or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. The terms “first”, “second” and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0032] In order for those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the drawings and specific embodiments.
[0033] In combination with a specific application environment architecture or a specific hardware architecture on which a chip verification coverage rate improvement method is executed, the specific application environment architecture or the specific hardware architecture is described here.
[0034] The chip verification coverage rate improvement method relies on a typical verification environment architecture, including key modules such as a verification management platform, a simulation tool, a database server and a machine learning platform. Through a layered architecture, full-process automation of coverage rate collection, hash calculation, machine learning optimization and incentive sending is achieved.
[0035] Among them, the verification management platform serves as the control center of the whole chip verification coverage rate improvement method, is responsible for coordinating various verification tools and modules, managing the scheduling of verification tasks, the allocation of resources and the summarization and display of verification results. The verification management platform is composed of a high-performance server, which runs a verification management software. The software has functions such as task scheduling, resource allocation and result summarization. It is connected with other components such as simulation tools, database servers and machine learning platforms through high-speed networks, ensuring that instructions and data can be quickly transmitted.
[0036] The simulation tool is used to perform functional and performance simulation of the chip, simulate the behavior and response of the chip under different stimulus signals, and collect coverage data, which can be achieved by installing the simulation software on a dedicated workstation or server. The simulation tool is connected to the verification management platform, receives the stimulus signals and verification task parameters sent by the platform, and sends the simulation results (including coverage data) back to the verification management platform and the database server.
[0037] The database server is used to store various data in the verification process, including coverage data, stimulus strategy data, historical verification results, etc. The database server uses high-capacity and high-reliability storage devices and is equipped with a database management system. The database server is connected to the verification management platform, the simulation tool, and the machine learning platform, and provides data storage and reading services for these components.
[0038] The machine learning platform uses machine learning algorithms to train historical hash values, historical stimulus strategies, and other data, establishes a mapping relationship between hash values and stimulus strategies, and generates adjusted stimulus strategies. It can be composed of high-performance computing servers, equipped with a large amount of memory and high-speed GPUs to accelerate the model training process, and run a machine learning framework. The machine learning platform is connected to the verification management platform, receives the training tasks and data sent by the platform, and sends the generated stimulus strategies back to the verification management platform; at the same time, it is connected to the database server to read historical data for model training.
[0039] In the verification of complex chip designs, the chip verification process relies on specific architectures. The verification management platform coordinates the work, the simulation tool simulates the behavior of the chip, the database server stores data, and the machine learning platform adjusts the stimulus strategy. Taking the verification of a communication chip as an example, through this method, engineers can efficiently discover uncovered scenarios, optimize the verification process, and reduce the risk of design defects caused by insufficient verification, thereby improving the reliability of the chip. Specifically, first, collect functional and code coverage data, then calculate hash values. The machine learning model dynamically adjusts the stimulus strategy based on the hash values, reduces the stimulation of covered scenarios, and increases the stimulation of uncovered scenarios. The adjusted strategy generates stimulus signals to trigger the execution of verification scenarios. Collect feedback data and iteratively optimize until the conditions are met. This solves the problems of related technologies such as difficulty in improving coverage, high resource consumption, and insufficient adaptability. In addition, in the verification of high-performance processor chips, the present application learns historical data through a machine learning model, optimizes the stimulus strategy, improves coverage, and ensures that the processor correctly executes instructions under various conditions. In low-power chip verification, key scenarios in low-power mode can be effectively covered, ensuring the performance and reliability of the chip in low-power mode. Therefore, the present application is suitable for the verification of various chips, can improve verification efficiency and quality, reduce risks, and ensure the high performance and high reliability of the chip.
[0040] Embodiments of the present application provide a chip verification coverage rate improvement method, which is described in detail in combination with an execution flow of a chip verification coverage rate improvement method. Figure 1 is a flowchart of a chip verification coverage rate improvement method according to an embodiment of the present application, as shown in Figure 1 , the flow includes the following steps:
[0041] Step S101, collect coverage rate data in a chip verification process.
[0042] Further, after the chip design is completed, its functions and performance need to be verified to ensure that the chip can work normally as expected. Coverage rate data is an important indicator for measuring the integrity of chip verification, reflecting the degree to which each function, logic and code part in the chip design is tested in the verification process. Coverage rate data includes functional coverage rate and code coverage rate, wherein the functional coverage rate focuses on whether the chip has implemented all the predetermined functions, i.e. evaluates the chip function implementation, for example whether a certain data processing module in the chip can correctly perform all types of operations; the code coverage rate focuses on the execution of the chip underlying code, i.e. evaluates the chip design code test, such as whether each statement and each branch in the program has been run. In this step, through a special coverage rate collection tool, various coverage rate data of the chip in the verification process is collected in real time and stored, providing basic data for subsequent analysis and processing.
[0043] Step S102, calculate the hash value of the coverage rate data.
[0044] Further, the hash value is a fixed-length string obtained by calculating the data through a specific hash function, which has uniqueness and sensitivity, i.e. the hash values obtained by different data through the hash function are almost impossible to be the same, and even if the original data changes slightly, the hash value will also produce significant differences. In this step, a hash function such as SHA-256 is used to process the coverage rate data collected in step S101, converting a large amount of complex coverage rate data into a simple hash value. The purpose of this is to quickly judge whether the coverage rate data has changed, because directly comparing a large amount of original coverage rate data is less efficient, while comparing hash values is more rapid and convenient.
[0045] Step S103, based on the hash value of the coverage rate data, dynamically adjust the current incentive strategy using a machine learning model.
[0046] Further, the machine learning model is an algorithm model that can automatically discover the rules and patterns in the data through learning a large amount of data, and is used for prediction or decision. The excitation strategy refers to the generation rules and methods of various test signals and data input to the chip in the chip verification process in order to make the chip perform different functions and operations, that is, the excitation strategy is used to guide the rules of excitation signal generation and sending in the verification process, covering signal characteristics (intensity, frequency, timing) and sending conditions (based on coverage target and resource constraints). In this step, first, the historical hash value and the corresponding historical excitation strategy and the like data are input as training data into the machine learning model for training, so that the model learns the relationship between the hash value and the excitation strategy. Then, the hash value corresponding to the collected coverage data is input into the trained machine learning model, and the model outputs the adjustment suggestion for the current excitation strategy according to the learned relationship, so as to realize the dynamic adjustment of the excitation strategy, so as to more targetedly test the chip and improve the verification efficiency and coverage.
[0047] Step S104, according to the adjusted excitation strategy, the excitation signal is sent to the verification environment to trigger the execution of the verification scene (the verification environment is specifically an un-covered verification scene).
[0048] Further, the verification environment is a simulation environment for chip verification, including verification platform, test case, simulation tool and the like resources, which is used to simulate the actual working condition of the chip and execute the verification scene. The excitation signal is a signal generated according to the adjusted excitation strategy, which is used to trigger the execution of the verification scene in the verification environment which has not been covered. When the excitation signal hits the logic path (such as a specific exception handling process, a protocol edge case) in the chip which has not been tested, the corresponding function point or code branch will be executed, so that the coverage data is updated. The verification tool generates the excitation signal according to the strategy and sends it to the verification environment, and the verification environment executes the scene, and then collects the new coverage data by monitoring the chip behavior and response and feeds back to the verification system. These updated coverage data are used to evaluate the progress of the verification process and the effectiveness of the excitation strategy.
[0049] Step S105, iteratively execute the process of collecting the coverage data in the chip verification process to the process of sending the excitation signal to the verification environment according to the adjusted excitation strategy, until the iteration termination condition is reached.
[0050] Further, the iteration refers to repeating the entire process from collecting functional coverage and code coverage data in the chip verification process to sending the excitation signal to the verification environment according to the optimized excitation strategy of the machine learning model. This process is repeated continuously, and the purpose is to gradually improve the coverage rate by dynamically adjusting the excitation strategy until the iteration termination condition is reached. In each iteration, the verification process is optimized according to the latest coverage data and excitation strategy to ensure the comprehensiveness and effectiveness of the verification. The iteration termination condition is a criterion for determining when the verification process ends. The iteration termination condition can include a coverage threshold (when the coverage data reaches the expected coverage threshold, such as 99% functional coverage and 95% code coverage) and a maximum number of iterations (when the number of iterations reaches the maximum value, such as 100 iterations). During the iteration process, the current coverage data and the number of iterations are continuously monitored. If the current coverage data reaches or exceeds the set coverage threshold, the verification process is successfully completed. If the number of iterations reaches or exceeds the maximum number of iterations, the verification process will also terminate, and at this time it may be necessary to analyze the verification results to determine whether it is necessary to adjust the verification parameters or take other measures. This iterative process ensures the efficiency and pertinence of the verification process, gradually improves the verification coverage, and ensures the integrity and reliability of chip verification.
[0051] In summary, by calculating the hash value of the coverage data, analyzing the hash value changes using a machine learning model, dynamically adjusting the excitation strategy, and generating targeted excitation signals, the embodiment accurately triggers verification scenarios, gradually improves coverage, and ensures the comprehensiveness of chip verification, solving the problem of difficult coverage improvement. Secondly, by iteratively optimizing the excitation strategy, reducing repeated verification, avoiding the generation and execution of a large number of redundant test cases, reducing the consumption of computing resources and storage resources, while improving verification efficiency, shortening the verification period, saving time and labor costs, solving the problem of large resource consumption. In addition, the machine learning model can continuously learn and adjust according to the real-time coverage data collected during the verification process, timely adapt to design changes and changes in verification requirements, realize the automation and intelligentization of the verification process, improve the flexibility and adaptability of the verification process, and solve the problem of insufficient dynamic adaptation capability. Therefore, the present application can solve the problems of difficult coverage improvement, large resource consumption, and insufficient dynamic adaptation capability in chip verification, achieving significant improvements in coverage improvement, resource consumption reduction, and dynamic adaptation capability enhancement, providing a more efficient, intelligent, and resource-friendly solution for the chip verification field.
[0052] In this embodiment, another chip verification coverage improvement method is provided, Figure 2 is a flowchart of another chip verification coverage improvement method according to an embodiment of the present application, as Figure 2As shown, the flow includes the following steps:
[0053] Step S201, initializing the verification parameters in the chip verification process; the verification parameters include coverage threshold, maximum iteration number, initial stimulus strategy, parameters of hash function and iteration number counter.
[0054] Further, before starting the chip verification flow, a series of key parameters need to be set in advance to provide guidance and control conditions for the entire verification process. The coverage threshold is a target value set in advance, which is used to measure the integrity of chip verification. When the actual coverage of the chip reaches or exceeds the threshold, it is considered that the verification is basically completed. The maximum iteration number limits the maximum number of repeated execution of specific operations in the verification process, preventing the verification from being in an infinite loop due to difficult-to-cover situations. The initial stimulus strategy is the test signal and data generation method used at the beginning of verification, which is used to drive the chip to execute different functions. The parameters of the hash function determine how to convert the coverage data into a hash value. Different parameters will affect the way and result of hash calculation. The iteration number counter is used to record the number of iterations that have been executed in the current verification process, so as to compare with the maximum iteration number and judge whether to terminate the verification. The initialization of these parameters ensures that the verification proceeds in an orderly manner.
[0055] Further, the initialization process of the embodiment is to set and initialize all necessary parameters before the verification process starts, including coverage threshold (i.e. coverage target), maximum iteration number, initial stimulation strategy, parameters of hash function and iteration number counter, etc. These parameters will provide the benchmark and initial conditions for the subsequent verification process. The implementation mainly includes: first, parameter setting, according to the requirements and characteristics of chip verification, set the coverage target, for example, set the functional coverage to 100% and the code coverage to 99%, etc. At the same time, determine the maximum iteration number to prevent the verification process from infinite loop. Then, parameter initialization setting, for stimulation strategy initialization, an initial stimulation strategy can be designed, which is used in the initial stage of the verification process, so that the machine learning feedback module can adjust the stimulation strategy according to the feedback in the subsequent iteration; for hash function initialization, a suitable hash function can be selected and its parameters can be initialized, the hash function needs to be sensitive to reflect the change of coverage data, but should not be too complex to increase the computational burden; for state flag initialization, a series of state flags can be set, such as current iteration number, whether the coverage target is reached, whether the maximum iteration number is reached, etc., to facilitate the iteration control module to make judgments. The embodiment provides a clear pursuit target for verification work by setting the coverage target; provides a starting condition for the verification process by initializing the stimulation strategy and the hash function, ensuring that the verification process can proceed in order; prevents the verification process from being unlimited when it cannot reach the target by setting the maximum iteration number, avoiding resource waste; by initializing the state flag, it is convenient to track the key state in the verification process, and provides decision for the iteration control module.
[0056] In step S202, the coverage data in the chip verification process is collected in real time. The coverage data includes at least one of functional coverage data and code coverage data.
[0057] Further, in the chip verification process, coverage data is a key indicator to evaluate the verification effect. Functional coverage focuses on whether all predetermined functions of the chip are implemented, for example, whether the encryption module in the chip can correctly execute various encryption algorithms, which is measured by counting the execution of specific functions; code coverage concerns the execution degree of the underlying code of the chip, such as whether each statement and each branch in the program has been run, and the common measurement dimensions include statement coverage and branch coverage, etc. This step collects at least one type of coverage data in real time through a special coverage collection tool, which provides the basis for subsequent analysis of the sufficiency of chip verification and helps to find the functions or code regions that have not been tested.
[0058] Further, the embodiment collects various coverage data in real time during the chip verification process. These data usually include functional coverage, code coverage, etc., which can be collected by monitoring the execution path, branch, condition, and state machine conversion during the verification process. The implementation mainly includes: first, access the data source in the verification tool or simulation environment, which can provide real-time data during the verification process; and set monitoring points to capture key events during the verification process, such as branch decision, state machine conversion, function execution, etc.; then record the monitored data, usually in the form of logs for subsequent analysis; then organize the collected data to generate structured coverage data, for example, use a specific data structure to store different types of coverage information. The coverage data collected by the embodiment is an important basis for verification engineers to analyze the verification effect, which can provide direct verification feedback; according to the collected coverage data, the embodiment can adjust the verification strategy, concentrate resources in the part with low coverage, and improve the verification efficiency; and the coverage data not only provides a quantitative index for the verification process, which helps to evaluate the verification effect and the verification progress, but also helps engineers to locate possible vulnerabilities and errors in the verification process, and provides data support for decision making, such as deciding whether to continue iteration verification, whether to need more in-depth testing for specific functions, etc.
[0059] In step S203, the coverage data is converted into a fixed-length hash value using the hash function; the hash value is used to indicate the characteristics of the coverage data.
[0060] Further, the hash function is an algorithm that can convert data of any length into a fixed-length string (i.e. hash value). Different coverage data will get almost different hash values after being calculated by the hash function, even if the coverage data has a slight change, the hash value will be significantly different. In this step, the hash function with pre-set parameters is used to convert the coverage data collected in step S202 into a simple hash value. The hash value is similar to the "digital fingerprint" of the coverage data, by comparing the hash values at different times, it can quickly judge whether the coverage data has changed, compared with directly comparing a large amount of original coverage data, it greatly improves the judgment efficiency, and provides a quick reference for subsequent adjustment of verification strategy.
[0061] Further, the embodiment utilizes a hash function to convert the collected coverage data into a fixed-length hash value. A hash function has the property of mapping input data of arbitrary length to an output of fixed length, which is the hash value. In the embodiment, the hash value is used to represent a unique fingerprint of the coverage data, to facilitate the detection of changes in coverage. The implementation mainly includes: first, receiving the real-time collected coverage data, and selecting a suitable hash function. The hash function needs to have good confusion and uniform distribution, to ensure that different input data can be mapped to different hash values. Then apply the selected hash function to the input coverage data, get the hash value, and output the calculated hash value for subsequent machine learning feedback module.
[0062] The following is a simplified implementation flow code of hash operation:
[0063] function hash_coverage_data(coverage_data):
[0064] # Select a hash function;
[0065] hash_function = select_hash_function();
[0066] # Calculate the hash value;
[0067] hash_value = hash_function(coverage_data);
[0068] return hash_value;
[0069] In the actual implementation of the embodiment, a variety of hash functions can be selected, such as MD5 (Message-Digest Algorithm 5), SHA-1 (Secure Hash Algorithm 1), SHA-256 (SHA-2 algorithm family, generating 256-bit hash value), etc. The following is an example code using SHA-256 hash function:
[0070] import hashlib;
[0071] def hash_coverage_data(coverage_data):
[0072] # Convert coverage data to string;
[0073] coverage_string = str(coverage_data);
[0074] # Create a SHA-256 hash object;
[0075] sha256_hash = hashlib.sha256();
[0076] # Update the hash object with the coverage data string;
[0077] sha256_hash.update(coverage_string.encode('utf-8'));
[0078] # Get the hash value;
[0079] hash_value = sha256_hash.hexdigest();
[0080] return hash_value;
[0081] The embodiment converts the coverage data into a unique hash value through a hash function, which can be regarded as a fingerprint of the data. By comparing the hash values calculated at different time points, it can be detected whether the coverage data has changed, so as to judge whether the coverage has been improved. Since the hash value has a fixed length, it is simpler to compare two hash values than to compare the original coverage data. Moreover, the hash value as a feedback signal supports the dynamic adjustment of the incentive strategy of the machine learning model. Therefore, the hash operation of the embodiment provides an efficient and simple way to track and optimize the verification process by converting the coverage data into a hash value.
[0082] Step S204, based on the hash value of the coverage data, dynamically adjusting the current incentive strategy by using a machine learning model.
[0083] In an optional implementation, the step S204 includes:
[0084] Collecting historical hash values and corresponding historical incentive strategies as training data; the training data further includes historical scenario data and scenario complexity data;
[0085] Obtaining a machine learning model to be trained;
[0086] Training the machine learning model to be trained through the training data to learn the relationship between the hash value and the incentive strategy;
[0087] Inputting the hash value corresponding to the collected current coverage data into the trained machine learning model, and dynamically adjusting the incentive strategy based on the model output result. The dynamically adjusted incentive strategy includes reducing the incentive sending of the covered scenarios or increasing the incentive sending of the uncovered scenarios.
[0088] Further, in this step, the historical hash value, the corresponding historical incentive policy, and the historical scene data (different test scene information involved in the past verification), and the scene complexity data (an index measuring the difficulty of scene verification) are integrated into training data and input into the machine learning model to be trained. The model learns the internal relationship between the hash value and the incentive policy through the learning of the training data. Then, the hash value corresponding to the current collected coverage data is input into the trained model, and the model outputs adjustment suggestions based on the learned relationship, realizing the dynamic optimization of the incentive policy. For example, if the model judges that there is an uncovered scene, it will adjust the policy to increase the incentive for the scene; if a scene has been fully covered, the corresponding incentive will be reduced, so as to more efficiently use the verification resources and improve the chip verification coverage. Please refer to Figure 3 The path schematic diagram of the machine learning feedback process is shown in FIG. 6. Figure 3As shown, the current hash value is passed to the machine learning feedback process through the hash function process, which combines historical hash values, historical scene data, scene complexity data, and historical incentive strategies for model training, analyzes changes in the hash value, and dynamically adjusts the incentive strategy according to the analysis result. The adjusted strategy is fed back to the incentive sending process to optimize coverage. The implementation mainly includes: first, collect historical hash values, historical scene data, scene complexity data, and corresponding output historical incentive strategies as training data. Then, convert the collected training data into feature vectors suitable for machine learning, so as to intelligently adjust the incentive strategy according to the change of coverage rate data, thereby improving the coverage rate and efficiency of verification. This embodiment selects a suitable machine learning model. Commonly used models include linear regression model, decision tree, random forest, support vector machine (SVM), neural network model, etc. Taking the linear regression model as an example, the machine learning model includes an input layer, a processing layer, a learning layer, and an output layer; the input layer receives historical hash values, historical scene data, scene complexity data, and historical incentive strategies; the processing layer converts the input data into a feature vector through feature engineering, and may use some preprocessing techniques such as normalization and standardization. That is, after collecting the training data, the embodiment also cleanses and preprocesses the training data before model training to remove missing values, outliers, and duplicate data, and converts the training data into corresponding initial feature vectors through feature extraction processing (such as dimension reduction technique and PCA algorithm), and then performs correlation analysis processing on the feature vectors to select the final feature vectors that best represent the data characteristics, so as to train the machine learning model to be trained through the training data to learn the relationship between the hash value and the incentive strategy. The original data is often complex and high-dimensional, and the extraction of the feature vector can reduce the data dimension, making the model training and prediction more efficient. The extracted feature vector retains the key information and structure of the data, helping the model to better distinguish different samples and improve the accuracy of classification or regression; the learning layer is used for training by learning the relationship between the input features and the output incentive strategies; and the output layer outputs the predicted incentive strategy result. Finally, the embodiment dynamically adjusts the current incentive strategy according to the predicted incentive strategy result, including increasing or decreasing the incentive for specific scenes.
[0089] The following is a mathematical formula representation of the model training and prediction process:
[0090] H train =[h t-1 ,h t-2 ,...,h t-n ];
[0091] S train =[s t-1 ,s t-2 ,...,st-n ];
[0092] C train =[c t-1 ,c t-2 ,...,c t-n ];
[0093] P train =[p t-1 ,p t-2 ,...,p t-n ];
[0094] ;
[0095] ;
[0096] wherein, H train , S train , C train and P train represent the history hash value sequence, the history scene data sequence, the scene complexity data sequence and the history incentive policy sequence for training respectively. H current , S current , C current and P current represent the hash value sequence, the scene data sequence, the scene complexity data sequence and the incentive policy sequence for current to-be-predicted calculation respectively. represents the predicted incentive policy sequence obtained by training, while represents the incentive policy sequence output by the application for the current hash value, t and n represent the time index and the history window length respectively, and h, s, c, p represent the hash value of the corresponding iteration number in the history hash value sequence, the scene data of the corresponding iteration number in the history scene data sequence, the scene complexity of the corresponding iteration number in the scene complexity data sequence and the incentive policy of the corresponding iteration number in the history incentive policy sequence respectively.
[0097] Through the above implementation manner, the machine learning feedback flow can intelligently adjust the incentive policy according to the change of the coverage rate data, thereby improving the coverage rate and the efficiency of verification.
[0098] Further, the machine learning feedback process of the present embodiment dynamically adjusts the initial incentive strategy based on the calculated hash value using a machine learning model. The core idea is to optimize the incentive signal sent to different verification scenarios by learning the changes in the hash value, thereby improving the verification coverage. The implementation mainly includes: first, receive the hash value, including possible other feature data, and select a suitable machine learning model to process the data. Common models include linear regression model, decision tree, random forest, neural network model, etc. Then use historical data to train the machine learning model and learn the relationship between the hash value and the incentive strategy. According to the learning results of the model, dynamically adjust the incentive strategy, including reducing the incentive sending of covered scenarios and increasing the incentive sending of uncovered scenarios. Finally, feed back the adjusted incentive strategy to the incentive sending process to form a closed loop.
[0099] The following is a simplified implementation process of a machine learning feedback process:
[0100] function machine_learning_feedback(hash_value, historical_data):
[0101] # Select a machine learning model;
[0102] model = select_ml_model();
[0103] # Train the model;
[0104] model.train(historical_data);
[0105] # Adjust the incentive strategy according to the model;
[0106] adjusted_strategy = model.adjust_strategy(hash_value);
[0107] return adjusted_strategy;
[0108] The embodiment dynamically adjusts the incentive strategy according to the change of the hash value through the machine learning model, so that the incentive is more accurate and the verification efficiency is improved. Through the optimization of the incentive strategy, the machine learning feedback process helps to improve the coverage rate of chip verification, especially for the scenes that are difficult to cover. The repeated incentive to the covered scenes is avoided, and the verification resources including the computing resources and time are saved. In addition, the machine learning model can adaptively adjust the incentive strategy to cope with different verification environments and needs, can learn from each verification process, and continuously optimize the incentive strategy to improve the verification quality. It can be seen that the machine learning feedback process of the embodiment can dynamically adjust the incentive strategy and improve the coverage rate, and through the application of the machine learning algorithm, intelligent decision support is provided for the verification process, which is the core component of the intelligent and automatic verification process.
[0109] In step S205, an incentive signal is sent to the verification environment according to the adjusted incentive strategy to trigger the execution of the verification scene (here, the verification scene can be an uncovered verification scene).
[0110] In an optional implementation, the step S205 includes:
[0111] The incentive signal is generated according to the adjusted incentive strategy; the incentive signal is used to trigger the execution of the verification scene;
[0112] The adjusted incentive strategy is parsed, and a target incentive parameter is extracted;
[0113] The target incentive parameter is mapped to the verification environment to generate an incentive signal; the incentive signal is used to trigger the execution of the verification scene;
[0114] The incentive signal is sent to the verification environment, and updated coverage rate data fed back by the verification environment is collected.
[0115] Further, the verification environment is a system composed of software and hardware, which provides running conditions for chip testing and can receive and analyze chip output results; the incentive signal is generated according to the incentive strategy, which is an input signal used to drive the chip to execute a specific function, such as a digital level signal, an analog voltage signal, etc. In this step, first, the specific incentive signal is generated according to the adjusted incentive strategy, then the strategy is parsed to extract the target incentive parameter (such as the frequency, amplitude, duration, etc. of the signal), and these parameters are mapped to the verification environment to ensure that the generated incentive signal meets the requirements of the verification environment. Subsequently, the incentive signal is sent to the verification environment to prompt the chip to execute the corresponding operation. After the chip runs, the verification environment collects its running results, and calculates the updated coverage rate data if there is any, and feeds back the updated coverage rate data to provide new data support for the next round of verification strategy optimization.
[0116] In an alternative embodiment, before step S205, the flow further comprises:
[0117] Based on the feedback information of the machine learning model, it is determined whether the coverage data is updated;
[0118] If the coverage data is updated, the iteration number record is cleared, and the excitation signal is sent to the verification environment according to the adjusted excitation strategy, and the updated coverage data fed back by the verification environment is collected;
[0119] If the coverage data is not updated, the iteration number record is accumulated, and the coverage data in the chip verification process is continuously collected until the iteration termination condition is reached.
[0120] Further, before sending the excitation signal to the verification environment, the embodiment first analyzes the feedback of the coverage data by means of the machine learning model, compares the hash values of the current coverage data and the historical coverage data, and determines whether the coverage data is updated. If the hash values are different, it means that the coverage data is updated, i.e. new uncovered scenarios are found in the verification process. At this time, the iteration number record is cleared to avoid premature termination of effective verification due to reaching the upper limit of the iteration number, and then the adjusted excitation signal is sent to the verification environment to promote a new round of verification exploration. If the hash values are the same, it means that the current excitation strategy does not bring new coverage results, so the signal sending is not performed to prevent redundant testing, thereby more efficiently utilizing the verification resources and optimizing the verification process. If the coverage data is not updated, the iteration number record is accumulated (the loop count is increased) at this time, and if the iteration termination condition (such as the maximum iteration number or the coverage threshold) is not reached, the coverage data in the chip verification process is continuously collected to provide a basis for the next round of excitation strategy adjustment, while avoiding redundant testing and ensuring the sufficiency of verification. In the embodiment, the data collected when the coverage data is updated and not updated both belong to the coverage data and contain functional coverage (reflecting the coverage of chip function implementation) and code coverage (reflecting the test situation of chip design code) and other information. However, when the coverage data is updated, the collected coverage data is the data fed back after the new excitation signal is executed in the verification environment, which contains new functional and code coverage information and reflects the newly added coverage verification scenarios. When the coverage data is not updated, the collected coverage data is the current coverage state in the verification environment, which has no new coverage compared with the previously collected coverage data, indicating that the excitation signal does not trigger new verification scenarios. Therefore, the data types collected in the two cases are the same (both are functional and code coverage data), but the specific contents and reflected verification progress are different.
[0121] Further, the incentive sending process of the embodiment sends incentive signals to the verification environment according to the adjusted incentive strategy provided by the machine learning feedback process. These incentive signals are used to trigger the execution of verification scenarios in order to collect more coverage data. The incentive strategy is used to indicate which verification scenarios need to send incentives. Its implementation mainly includes: first, receiving the incentive strategy provided by the machine learning feedback process, which determines which verification scenarios need to send incentives. Then generate incentive signals according to the incentive strategy. These signals can be specific data sequences, analog signals or other forms of incentives, depending on the needs of the verification environment. Finally, send the incentive signals to the verification environment. This is usually achieved through simulation tools, hardware interfaces or other communication protocols. The incentive sending process of the embodiment triggers specific scenarios in the verification environment by sending incentive signals in order to test and collect coverage. And according to the strategy of the machine learning feedback process, the incentive sending process can send incentives specifically and allocate verification resources according to the strategy to avoid waste of resources. As can be seen, the embodiment optimizes the incentive strategy, improves the efficiency of verification, reduces the time required for verification, ensures the quality of the verification process through precise incentive sending, and avoids missed detection and false positives.
[0122] Step S206, iteratively perform the process of collecting coverage data in the chip verification process to the process of sending incentive signals to the verification environment according to the adjusted incentive strategy until the iteration termination condition is reached. The iteration termination condition includes that the current coverage rate reaches the coverage threshold or the current iteration number reaches the maximum iteration number.
[0123] In an optional implementation, the step S206 includes:
[0124] In each iteration process, monitor the current coverage data collected;
[0125] If the current coverage data is greater than or equal to the coverage threshold, end the chip verification process;
[0126] If the current coverage data is less than the coverage threshold, calculate the hash value of the current coverage data.
[0127] In an optional implementation, the step S206 includes:
[0128] In each iteration process, monitor the current iteration number;
[0129] If the current iteration number record is greater than or equal to the maximum iteration number, end the chip verification process;
[0130] If the current iteration number record is less than the maximum iteration number, send incentive signals to the verification environment according to the adjusted incentive strategy, and collect the updated coverage data feedback by the verification environment.
[0131] Further, the iteration refers to repeatedly performing a series of operations from collecting the coverage data in the chip verification process (step S202) to sending the excitation signal to the verification environment according to the adjusted excitation strategy (step S205), gradually improving the chip verification coverage. In each iteration, there are two optional monitoring methods to determine whether to terminate. The first is to monitor the current coverage data. If it reaches or exceeds the coverage threshold, it means that the main functions and logic of the chip have been fully verified, and the verification process can be ended. If it does not reach, the hash value of the current coverage data is calculated, and the next iteration is started. The second is to monitor the current iteration count. When the count reaches or exceeds the maximum iteration count, it means that even if the coverage is not up to standard, there may be special cases that are difficult to cover, and the verification is ended at this time. If the maximum number of iterations is not reached, the signal is sent according to the adjusted excitation strategy and the feedback data is collected, and the verification is continuously optimized. Through these two termination conditions, the sufficiency of the verification can be guaranteed, and the excessive consumption of resources and the indefinite delay of the verification process can be avoided.
[0132] Further, the iteration control module of the embodiment monitors the number of iterations of the entire verification process, and controls the start, continuation and termination of the verification process according to the preset iteration termination condition (such as reaching the coverage target or the maximum number of iterations). The implementation mainly includes: before the verification starts, initializing and setting parameters such as the iteration count, the coverage target and the maximum number of iterations. In each iteration, the current iteration count and the coverage data are monitored. According to the current iteration count and the coverage data, it is judged whether the termination condition is met. If the termination condition is met, the termination signal is output, otherwise the next iteration is continued. The embodiment controls the number of iterations to ensure that the verification process proceeds in an orderly manner according to the predetermined plan; through the termination condition judgment, unnecessary iterations are avoided, and the efficiency of the verification is improved; through the monitoring of the coverage data, it is ensured that the verification process can reach the preset coverage target, thereby guaranteeing the quality of the verification; through the control of the number of iterations, the verification resources are reasonably allocated and utilized, and the waste of resources is avoided.
[0133] Please refer to Figure 4 Another flowchart of a chip verification coverage improvement method is shown in the flowchart of the flowchart, as shown in Figure 4As shown, the flow starts, and the embodiment first performs the initialization flow to set the initial parameters of the verification process, including the coverage threshold, the maximum iteration number, the initial stimulation strategy, the parameters of the hash function, and the iteration number counter, to provide a benchmark and initial conditions for the subsequent verification process, ensuring that the verification is performed in order. Then, the coverage data in the verification process is collected in real time, including functional coverage and code coverage, to obtain the progress of the current verification and provide a basis for subsequent adjustment of the stimulation strategy. Next, it is determined whether the collected coverage data reaches the preset coverage threshold. If the coverage threshold is reached, the flow ends; if the coverage threshold is not reached, the flow continues to the next step. The hash value of the collected coverage data is calculated using the hash function to generate a unique feature identifier of the coverage data, which quickly detects whether the coverage data has changed. Then, the calculated hash value is input into the trained machine learning model, and the stimulation strategy is dynamically adjusted through the output of the machine learning model to optimize the verification process and improve the coverage. Next, based on the feedback information of the machine learning model, it is determined whether the coverage data is updated. If the coverage data has been updated, the flow continues to the next step, i.e., clearing the iteration number record, resetting the iteration counter, and generating a stimulation signal according to the adjusted stimulation strategy and sending it to the verification environment to trigger the execution of new verification scenarios in the verification environment, and collecting the updated coverage data; if the coverage data is not updated, the flow jumps to "iteration number + 1" to increase the value of the iteration number counter to record the current iteration number, ensuring that the verification process is performed within a reasonable range. Then, it is checked whether the current iteration number reaches the preset maximum iteration number. If the maximum iteration number is reached, the flow ends; if the maximum iteration number is not reached, the flow returns to "coverage collection" to continue to try optimization.
[0134] In summary, since the embodiment calculates the hash value of the coverage data, analyzes the hash value change by using the machine learning model, dynamically adjusts the incentive strategy, generates the targeted incentive signal, thereby accurately triggers the verification scenario, gradually improves the coverage, ensures the comprehensiveness of chip verification, and solves the problem of difficult coverage improvement. Secondly, by iteratively optimizing the incentive strategy, the repeated verification is reduced, a large number of redundant test case generation and execution are avoided, the consumption of computing resources and storage resources is reduced, the verification efficiency is improved, the verification period is shortened, the time and labor cost is saved, and the problem of large resource consumption is solved. In addition, the machine learning model can continuously learn and adjust according to the real-time coverage data collected during the verification process, timely adapt to the design changes and changes in verification requirements, realize the automation and intelligentization of the verification process, improve the flexibility and adaptability of the verification process, and solve the problem of insufficient dynamic adaptation capability. Therefore, the application can solve the problems of difficult coverage improvement, large resource consumption and insufficient dynamic adaptation capability in chip verification of related technologies, and achieve the technical effects of improving coverage, reducing resource consumption and enhancing dynamic adaptation capability. A more efficient, intelligent and resource-friendly solution is provided for the chip verification field.
[0135] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and the necessary general hardware platform, of course, it can also be realized by hardware, but in many cases the former is a better embodiment.
[0136] The embodiment of the application also provides a chip verification coverage improvement device, as shown in the figure, comprising: Figure 5
[0137] The initialization module 501 is used for initializing the verification parameters in the chip verification process; the verification parameters include a coverage threshold, a maximum iteration number, an initial incentive strategy, parameters of a hash function and an iteration number counter.
[0138] The coverage collection module 502 is used for collecting coverage data in the chip verification process.
[0139] The hash operation module 503 is used for calculating the hash value of the coverage data.
[0140] The machine learning feedback module 504 is used for dynamically adjusting the current incentive strategy by using the machine learning model based on the hash value of the coverage data.
[0141] The incentive sending module 505 is used for sending an incentive signal to the verification environment according to the adjusted incentive strategy, so as to trigger the execution of the verification scenario.
[0142] The iteration control module 506 is configured to iteratively perform the process of collecting coverage data in the chip verification process to the process of sending the excitation signal to the verification environment according to the adjusted excitation strategy until an iteration termination condition is reached.
[0143] In some optional embodiments, the coverage data includes at least one of functional coverage data and code coverage data.
[0144] In some optional embodiments, the hash operation module 503 is further configured to:
[0145] convert the coverage data into a hash value of a fixed length by using the hash function; the hash value is used to indicate the characteristics of the coverage data.
[0146] In some optional embodiments, the machine learning feedback module 504 is further configured to:
[0147] collect historical hash values and corresponding historical excitation strategies as training data;
[0148] obtain a machine learning model to be trained;
[0149] train the machine learning model to be trained by using the training data to learn the relationship between the hash value and the excitation strategy;
[0150] input the hash value corresponding to the collected current coverage data into the trained machine learning model, and dynamically adjust the excitation strategy based on the model output result.
[0151] In some optional embodiments, the training data further includes historical scenario data and scenario complexity data.
[0152] In some optional embodiments, the dynamically adjusted excitation strategy includes reducing the excitation sending of the covered scenarios or increasing the excitation sending of the uncovered scenarios.
[0153] In some optional embodiments, the excitation sending module 505 is further configured to:
[0154] generate an excitation signal according to the adjusted excitation strategy; the excitation signal is used to trigger the execution of the verification scenario;
[0155] analyze the adjusted excitation strategy and extract a target excitation parameter;
[0156] map the target excitation parameter to the verification environment to generate an excitation signal; the excitation signal is used to trigger the execution of the verification scenario;
[0157] send the excitation signal to the verification environment and collect updated coverage data fed back by the verification environment.
[0158] In some optional embodiments, the incentive sending module 505 is further configured to:
[0159] determine whether the coverage data is updated based on the feedback information of the machine learning model;
[0160] if the coverage data is updated, clear the iteration number record, and send the incentive signal to the verification environment according to the adjusted incentive strategy, and collect the updated coverage data fed back by the verification environment;
[0161] if the coverage data is not updated, accumulate the iteration number record, and continue to collect the coverage data in the chip verification process until the iteration termination condition is reached.
[0162] In some optional embodiments, the iteration termination condition includes that the current coverage rate reaches the coverage threshold or the current iteration number reaches the maximum iteration number.
[0163] In some optional embodiments, the iteration control module 506 is further configured to:
[0164] monitor the current coverage data collected in each iteration process;
[0165] if the current coverage data is greater than or equal to the coverage threshold, end the chip verification process;
[0166] if the current coverage data is less than the coverage threshold, calculate the hash value of the current coverage data.
[0167] In some optional embodiments, the iteration control module 506 is further configured to:
[0168] monitor the current iteration number in each iteration process;
[0169] if the current iteration number record is greater than or equal to the maximum iteration number, end the chip verification process;
[0170] if the current iteration number record is less than the maximum iteration number, send the incentive signal to the verification environment according to the adjusted incentive strategy, and collect the updated coverage data fed back by the verification environment.
[0171] Further, please refer to Figure 6A module cooperation schematic diagram of a chip verification coverage promotion device is shown. The TestBench is a test platform used to simulate and verify the behavior of a chip in a chip verification environment, which provides the excitation signal and test environment required for verifying the function and performance of the chip. The TestBench is the starting point of the entire verification process, generates the initial excitation signal and starts the verification process. The DUT is the design to be tested, that is, the chip design that needs to be verified. The DUT receives the excitation signal from the excitation sending module and performs corresponding operations according to the signal, and the behavior and response are monitored and recorded to evaluate the correctness and reliability of the design. The overall cooperation process includes: the initialization module sets the initial parameters of the verification process; the coverage collection module collects the coverage data in the verification process in real time; the hash operation module converts the coverage data output by the coverage collection module into a hash value; the machine learning feedback module dynamically adjusts the excitation strategy based on the hash value output by the hash operation module; the excitation sending module generates and sends the excitation signal according to the excitation strategy adjusted by the machine learning feedback module; the iteration control module monitors the iteration times to decide whether to continue iteration or terminate the process; the DUT receives the excitation signal and performs corresponding operations, and the behavior and response are monitored and recorded; the process is iterated continuously until the preset coverage threshold or the maximum iteration times is reached.
[0172] The features of the above-mentioned chip verification coverage promotion device corresponding to the embodiments can be referred to the related description of the chip verification coverage promotion method corresponding to the embodiments, which will not be repeated here.
[0173] The embodiments of the present application also provide an electronic device, as shown in the figure, comprising a memory 10 and a processor 20, the memory 10 stores a computer program, and the processor 20 is configured to run the computer program to execute the steps in any of the above-mentioned chip verification coverage promotion method embodiments. Figure 7
[0174] The embodiments of the present application also provide a computer readable storage medium, which stores a computer program, wherein the computer program is configured to execute the steps in any of the above-mentioned chip verification coverage promotion method embodiments when running.
[0175] In an exemplary embodiment, the above-mentioned computer readable storage medium can include but is not limited to: a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.
[0176] Embodiments of the present application also provide a computer program product, which comprises a computer program, and the computer program, when executed by a processor, implements the steps in any of the above chip verification coverage improvement method embodiments.
[0177] Embodiments of the present application also provide another computer program product, which comprises a non-volatile computer readable storage medium, and the non-volatile computer readable storage medium stores a computer program, and the computer program, when executed by a processor, implements the steps in any of the above chip verification coverage improvement method embodiments.
Claims
1. A method for improving chip verification coverage, the method comprising: The method comprises the following steps: collecting coverage data in a chip verification process; calculating a hash value of the coverage data; inputting the hash value of the coverage data into a trained machine learning model to obtain an adjustment suggestion for a current incentive strategy output by the trained machine learning model; dynamically adjusting the current incentive strategy based on the adjustment suggestion, wherein the dynamic adjustment of the current incentive strategy comprises reducing incentive sending of a covered scenario or increasing incentive sending of an uncovered scenario; sending an incentive signal to a verification environment according to an adjusted incentive strategy to trigger execution of a verification scenario, wherein the current incentive strategy and the adjusted incentive strategy are both used to guide rules of generation and occurrence of the incentive signal in the chip verification process, and the rules comprise signal characteristics and sending conditions, and the verification environment comprises a verification platform, a test case, and a simulation tool; iteratively performing the process of collecting the coverage data in the chip verification process to the process of sending the incentive signal to the verification environment according to the adjusted incentive strategy until an iteration termination condition is reached.
2. The method of claim 1, wherein, The coverage data comprises at least one of functional coverage data and code coverage data.
3. The method of claim 1, wherein, Before the step of collecting the coverage data in the chip verification process, the method further comprises the following steps: initializing verification parameters in the chip verification process, wherein the verification parameters comprise a coverage threshold, a maximum iteration number, an initial incentive strategy, parameters of a hash function, and an iteration number counter.
4. The method of claim 3, wherein, The step of calculating the hash value of the coverage data comprises the following step: converting the coverage data into a fixed-length hash value by using the hash function, wherein the hash value is used to indicate characteristics of the coverage data.
5. The method of claim 1, wherein, The method further comprises the following steps: collecting historical hash values and corresponding historical incentive strategies as training data; obtaining a machine learning model to be trained; training the machine learning model to be trained by using the training data to learn a relationship between the hash value and the incentive strategy, thereby obtaining the trained machine learning model.
6. The method of claim 5, wherein, The training data further comprises historical scenario data and scenario complexity data.
7. The method of claim 1, wherein, The step of sending the incentive signal to the verification environment according to the adjusted incentive strategy comprises the following steps: generating the incentive signal according to the adjusted incentive strategy, wherein the incentive signal is used to trigger execution of the verification scenario; analyzing the adjusted incentive strategy and extracting a target incentive parameter; mapping the target incentive parameter to the verification environment to generate the incentive signal, wherein the incentive signal is used to trigger execution of the verification scenario; sending the incentive signal to the verification environment and collecting updated coverage data fed back by the verification environment.
8. The method of claim 7, wherein, Before the step of sending the incentive signal to the verification environment according to the adjusted incentive strategy, the method further comprises the following steps: judging whether the coverage data is updated based on feedback information of the machine learning model; if the coverage data is updated, clearing an iteration number record and sending the incentive signal to the verification environment according to the adjusted incentive strategy to collect updated coverage data fed back by the verification environment. If the coverage data is not updated, the iteration number is recorded and the coverage data in the chip verification process is collected continuously until the iteration termination condition is reached.
9. The method of claim 3, wherein, The iteration termination condition includes that the current coverage reaches the coverage threshold or the current iteration number reaches the maximum iteration number.
10. The method of claim 9, wherein, The method further includes: In each iteration process, the current coverage data collected is monitored; If the current coverage data is greater than or equal to the coverage threshold, the chip verification process is ended; If the current coverage data is less than the coverage threshold, the hash value of the current coverage data is calculated.
11. The method of claim 9, wherein, The method further includes: In each iteration process, the current iteration number is monitored; If the current iteration number record is greater than or equal to the maximum iteration number, the chip verification process is ended; If the current iteration number record is less than the maximum iteration number, the excitation signal is sent to the verification environment according to the adjusted excitation strategy, and the updated coverage data fed back by the verification environment is collected.
12. An electronic device, comprising: It includes: A memory for storing a computer program; A processor for executing the computer program to implement the steps of the chip verification coverage improvement method according to any one of claims 1 to 11.
13. A computer-readable storage medium, characterized in that, The computer program is stored in the computer readable storage medium, and when the computer program is executed by the processor, the steps of the chip verification coverage improvement method according to any one of claims 1 to 11 are implemented.
14. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the chip verification coverage improvement method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Chip verification system and method and storage medium
CN117291132A
Chip verification method, device and equipment based on particle swarm optimization, and medium
CN117331776A