CN107273604B - Random constraint selectable coverage rate driving-based random verification method - Google Patents
Random constraint selectable coverage rate driving-based random verification method Download PDFInfo
- Publication number
- CN107273604B CN107273604B CN201710438057.3A CN201710438057A CN107273604B CN 107273604 B CN107273604 B CN 107273604B CN 201710438057 A CN201710438057 A CN 201710438057A CN 107273604 B CN107273604 B CN 107273604B
- Authority
- CN
- China
- Prior art keywords
- random
- coverage rate
- constraint
- simulation
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 119
- 238000004088 simulation Methods 0.000 claims abstract description 178
- 230000008569 process Effects 0.000 claims abstract description 83
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000011156 evaluation Methods 0.000 claims abstract description 8
- 230000002035 prolonged effect Effects 0.000 claims description 11
- 230000009191 jumping Effects 0.000 claims description 10
- 238000004064 recycling Methods 0.000 claims description 10
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (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 a random constraint selectable random verification method based on coverage rate driving, which belongs to the field of random verification and aims to solve the technical problem of how to realize random constraint random verification based on coverage rate driving, wherein the random constraint random verification method can be dynamically evaluated and selected; which comprises the following steps: s1, defining all random constraints needed in a random verification environment, and defining the value range of the random constraints; s2, dividing all the defined random constraint combinations into multiple groups of random constraint combinations, wherein the complete overlapping of actual functions does not exist between every two groups of random constraint combinations; s3, setting a coverage rate statistical period capable of being dynamically adjusted; s4, counting the coverage rate increase condition in the current simulation verification process in the coverage rate counting period, accumulating the newly added coverage rate into the existing coverage rate data, and performing simulation verification on the random constraint combination by taking the coverage rate increase condition in the current simulation verification process as the evaluation criterion of random constraint.
Description
Technical Field
The invention relates to the field of random verification, in particular to a random constraint selectable random verification method based on coverage rate driving.
Background
With the continuous development of the process technology and the application field, the complexity of the chip is continuously improved, correspondingly, the requirements for the simulation verification work are also continuously improved, the functional points needing the simulation verification are more and more complicated, and the requirements for the verification period are more and more strict.
The existing chip design flow is divided into two stages of front-end design (logic design) and back-end design (physical design). The front-end design mainly implements the logic functions of the chip through a hardware description language (such as verilog), and the correctness of the code description is mainly implemented through simulation verification of the codes (or a netlist generated by the codes). In a standard simulation verification process, functional points of logic functions related to front-end design which need to be ensured all need to verify the correctness of the logic functions of the front-end design by constructing corresponding simulation scenes.
The simulation verification is carried out on a system with higher complexity, and the random verification is an important step and can cover more complex and even unexpected scenes on the premise of reducing manpower as much as possible. The randomized stimulus can generate a large amount of stimulus data with only a few lines of code, expanding the test space of verification by providing a random stimulus signal to the design. However, when the design scale is large and very complex, the random verification space becomes nearly infinite, and then certain constraints need to be imposed on the randomization process to generate the randomized excitation according to the constraints, i.e., to make the randomized excitation generated by the randomization process fall more within the effective area or boundary, so as to achieve the functional coverage requirement more quickly. Therefore, the choice of random constraints also determines the efficiency of random authentication. Too wide a constraint can cause that the random scene is mostly meaningless, and too strict a constraint can limit the random scene type.
In existing simulation verification, the directional verification is generally coverage-driven, i.e., the directional verification is performed by constructing a specific stimulus by analyzing the conditions for functional point coverage (or coverage of key code lines). As the scale of the chip to be verified is continuously enlarged, in order to improve the efficiency and shorten the verification period, more random verifications are introduced into the verification based on coverage driving. By analyzing the coverage rate situation, different random constraints are added to construct more verification scenes. Then, for the functional points which cannot be covered by the random verification, a specific directional verification is constructed.
In the simulation verification based on coverage rate driving, the most intuitive method for evaluating the quality of the random constraint is of course based on the range of the functional points covered after a period of time of random simulation under the constraint. However, this is not practical, and one is how to determine the time period of the comparison, and if the time period is too short, the difference between the random constraints is likely not reflected, and if the time period is too long, because each random constraint needs to be simulated to compare the results, the process needs to consume a lot of time and resources; secondly, the difficulty degree of coverage between the functional points to be covered is actually different, so that the number of the covered functional points cannot be used as a standard for comparing the quality of different verification processes. Once the functional point ranges covered by different constraints do not overlap, the selection cannot be made.
In the mainstream verification process at present, the selection of random constraints still relies on the engineer to monitor and analyze the process of each random simulation verification, and the random constraints at each time are manually adjusted according to the progress of the random verification.
How to dynamically evaluate and select random constraints in random verification, reduce the workload of verification engineers, and realize random verification based on coverage rate driving is a technical problem to be solved.
Disclosure of Invention
The invention provides a random-constraint-selectable coverage-driven-based random verification method, which solves the problem of how to realize coverage-driven-based random verification that random constraints can be dynamically evaluated and selected, thereby realizing dynamic adjustment of random constraints in the random verification process and reducing the workload of engineers.
The technical task of the invention is realized by the following modes:
random constraint selectable coverage-driven random verification method, comprising the steps of:
s1, defining all random constraints needed in a random verification environment, and defining the value range of the random constraints;
s2, dividing all the defined random constraint combinations into multiple groups of random constraint combinations, wherein the complete overlapping of actual functions does not exist between every two groups of random constraint combinations;
s3, setting a coverage rate statistical period capable of being dynamically adjusted;
s4, counting the coverage rate increase condition in the current simulation verification process in the coverage rate counting period, accumulating the newly added coverage rate into the existing coverage rate data, and performing simulation verification on the random constraint combination by taking the coverage rate increase condition in the current simulation verification process as the evaluation criterion of random constraint.
Further, in step S3, the setting of the dynamically adjustable coverage statistic period includes setting an initial coverage statistic period and a threshold number of coverage statistic periods with maximum continuous no coverage increase.
Further, in step S2, a simulation order of the multiple random constraint combinations is set; in step S4, the above multiple random constraint combinations are sequentially and serially verified in a simulation process.
Further, in step S4, the above multiple sets of random constraint combinations are randomly and serially verified in a simulation process.
Further, in step S2, dividing all the required random constraint combinations into multiple random constraint combination groups, and setting a simulation order of the corresponding random constraint combinations in each random constraint combination group; in step S4, each random constraint combination group corresponds to one simulation process, and in each simulation process, the simulation verification is sequentially performed on the random constraint combination corresponding to the random constraint combination group in series, and the simulation processes are performed in parallel.
Further, in step S2, dividing all the required random constraint combinations into multiple random constraint combination groups; in step S4, each random constraint combination group corresponds to one simulation process, and in each simulation process, the random constraint combinations corresponding to the random constraint combination group are simulated and verified in a random serial manner, and the simulation processes are performed in parallel.
Further, in step S4, the step of performing simulation verification on the random constraint combination is denoted as S4-1, and the contents thereof are:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
sequentially and serially carrying out simulation verification on the multiple groups of random constraint combinations in a simulation process, and comprising the following steps:
s41, sequentially reading a group of random constraint combinations, starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random constraint combination that is not verified by simulation, the next random constraint combination is read in sequentially, and the step S41 is executed again.
Further, in step S4, the step of performing simulation verification on the random constraint combination is denoted as S4-1, and the contents thereof are:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
the method for randomly and serially carrying out simulation verification on the multiple groups of random constraint combinations in a simulation process comprises the following steps:
s41, randomly reading a group of random constraint combinations, and starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random combination of constraints that has not been verified by simulation, then the next random combination of constraints is read in randomly, and the execution of step S41 is resumed.
Further, in step S4, the step of performing simulation verification on the random constraint combination is denoted as S4-1, and the contents thereof are:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
sequentially and serially carrying out simulation verification on multiple groups of random constraint combinations corresponding to the random constraint combinations in each simulation process, wherein the simulation verification method comprises the following steps:
s41, sequentially reading a group of random constraint combinations, starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random constraint combination that is not verified by simulation, the next random constraint combination is read in sequentially, and the step S41 is executed again.
Further, in step S4, the step of performing simulation verification on the random constraint combination is denoted as S4-1, and the contents thereof are:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
in each simulation process, the simulation verification is carried out on the corresponding multiple groups of random constraint combinations in a random serial mode, and the method comprises the following steps:
s41, randomly reading a group of random constraint combinations, and starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random combination of constraints that has not been verified by simulation, then the next random combination of constraints is read in randomly, and the execution of step S41 is resumed.
The random constraint selectable random verification method based on coverage rate driving has the following advantages: the invention defines all required random constraints, counts the increase condition of the coverage rate through a coverage rate statistical period capable of being dynamically adjusted, and takes the increase condition of the coverage rate in the coverage rate statistical period as an evaluation criterion of the random constraints to judge whether the current random constraints are effective or not and whether the random constraints need to be replaced or not, and replaces the traditional method for selecting the random constraint process with the process of 'random simulation-coverage rate comparison-random constraint switching' which is fused together, thereby greatly reducing the time consumption in the aspects of comparing and switching different random constraints and realizing the efficiency improvement of the random verification in the aspect of function point coverage under the condition of reducing manual intervention as much as possible.
Drawings
The invention is further described below with reference to the accompanying drawings.
FIG. 1 is a block flow diagram of a coverage-driven random authentication method selectable by random constraints according to example 1;
fig. 2 is a block flow diagram of simulation verification of multiple groups of random constraint combinations serially and sequentially in a simulation process in the random verification method based on coverage driving, which is selectable by random constraint in embodiment 1;
FIG. 3 is a block flow diagram of a coverage-driven random authentication method that is selectable by random constraints according to example 2;
fig. 4 is a block flow diagram of a random verification method based on coverage driving, which is selectable by random constraints, in embodiment 2, in which multiple groups of random constraint combinations are subjected to simulation verification randomly and serially in a simulation process;
FIG. 5 is a block flow diagram of an alternative coverage-driven-based random authentication method with random constraints according to example 3;
FIG. 6 is a flow chart of an alternative coverage-driven random authentication method based on random constraints of embodiment 4.
Detailed Description
The random constraint selectable coverage-driven random authentication method of the present invention is described in detail below with reference to the drawings and the detailed description.
Example 1:
as shown in fig. 1, the random-constraint-selectable random verification method based on coverage rate driving of the present invention includes the following steps:
(1) clearly defining all required random constraints in a random verification environment, and defining the value range of the random constraints;
(2) dividing the random constraints defined in the step (1) into a plurality of groups of random constraint combinations, and setting a simulation sequence of the plurality of groups of random constraint combinations, wherein a situation that actual functions are completely overlapped does not exist between each two groups of random constraint combinations, for example, only two nodes exist, in a system in which an interface of each node can only send two requests at most in one clock cycle, the random constraint a limits that the node only sends one request in each clock cycle, and the random constraint b limits that the node only receives one request in each clock cycle, so that the two constraints are actually equivalent in the system, and the two nodes can be considered to be combined;
(3) configuring a dynamically adjustable coverage rate statistical period, wherein the dynamically adjustable coverage rate statistical period comprises an initial coverage rate statistical period and a maximum continuous coverage rate statistical period threshold value without coverage rate increase, and the coverage rate statistical period is used for periodically counting the newly increased coverage rate condition in the current simulation verification process;
(4) and counting the increase condition of the coverage rate in the current simulation verification process in a coverage rate counting period, accumulating the newly added coverage rate into the existing coverage rate data, taking the increase condition of the coverage rate in the current simulation verification process as an evaluation criterion of random constraint, and sequentially and serially carrying out simulation verification on the random constraint combination in a simulation process.
In the step (4), the step of performing simulation verification on the random constraint combination is denoted as S4-1, and the contents are as follows:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
as shown in fig. 2, the simulation verification of the above multiple random constraint combinations sequentially and serially performed in a simulation process includes the following steps:
(4.1) sequentially reading a group of random constraint combinations, and starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing the step (4.2) until the step S4-1 jumps out of executing other steps;
(4.2) judging whether the number of the coverage rate statistical cycles without coverage rate increase continuously reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase continuously; if not, executing the step (4.3); if yes, executing step (4.4);
(4.3) prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing the step (4.2) until the step S4-1 jumps out of executing other steps;
(4.4) judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending;
if the random constraint combination which is not simulated and verified exists, the next group of random constraint combinations are read in sequence, and the step (4.1) is restarted.
In the step (1), the value range of the defined random constraint is limited, so that on one hand, the verification environment is ensured not to be abnormal, and on the other hand, the value redundancy of the random constraint is avoided. For example, for a well-defined random constraint c, the minimum number of requests sent by nodes in each coverage rate statistics period is limited, the value range of the minimum number should be limited to three cases, namely 0, 1 and 2, and if the value of the random constraint is 3 without limitation, an exception is likely to occur. Similarly, for the defined random constraint d, the maximum number of node sending requests in each coverage rate statistics period is limited, and the value is 2 and other values greater than 2 are equivalent to the system function.
In the step (3), the coverage rate statistical period is set to be dynamic, because for the same random verification environment, under the same random constraint, the increase of the coverage rate is inevitably a process which tends to be more and more gentle. If the initial coverage statistic period is set too long, those random constraints that are inefficient or even ineffective for coverage growth will require more time to be screened; in the later stage of simulation verification, if the coverage rate statistical period is too short, the real effective coverage rate increase is likely to be missed, therefore, the coverage rate statistical period is set to be dynamically adjustable, in the specific implementation process, the initial coverage rate statistical period is set to be slightly short, and then the coverage rate statistical period is gradually prolonged along with the reduction of the coverage rate increase.
The random constraint selectable random verification method based on coverage rate driving is characterized in that a plurality of random constraints are placed in a simulation process to be executed in series in the existing random verification environment, the increase condition of the coverage rate in the current simulation verification process is counted through a coverage rate counting period capable of being dynamically adjusted, the obtained increase condition of the coverage rate is used as a standard for judging whether the current random constraint is effective or not and whether the random constraint needs to be replaced or not, the selection of the simulation verification and the random constraint is combined together, and the time consumption in the aspect of comparing and switching different random constraints is reduced.
Example 2:
as shown in fig. 3, this embodiment is a further improvement on embodiment 1, and the difference between this embodiment and embodiment 1 is: in a simulation process, all required random constraint combinations are subjected to simulation verification according to a random sequence, and the difference between the embodiment and the embodiment 1 is specifically as follows:
in the step (2), the random constraints defined in the step (1) are divided into a plurality of groups of random constraint combinations, and there is no situation that actual functions are completely overlapped between every two groups of random constraint combinations, for example, there are only two nodes, in a system in which an interface of each node can only send two requests at most in one clock cycle, the random constraint a limits that the node only sends one request in each clock cycle, and the random constraint b limits that the node only receives one request in each clock cycle, so that the two constraints are actually equivalent in the system, and the two nodes can be considered to be combined, that is, the simulation order of the random constraint combinations is not required to be set in the step (2) of this embodiment;
and (4) counting the increase condition of the coverage rate in the current simulation verification process in a coverage rate counting period, accumulating the newly added coverage rate into the existing coverage rate data, taking the increase condition of the coverage rate in the current simulation verification process as an evaluation criterion of random constraint, and performing simulation verification on the random constraint combination in a random serial mode in a simulation process.
As shown in fig. 4, in step (4), the step of performing simulation verification on the random constraint combination is denoted as S4-1, and its contents are:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
the method for randomly and serially carrying out simulation verification on the multiple groups of random constraint combinations in a simulation process comprises the following steps:
(4.1) randomly reading a group of random constraint combinations, starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing the step (4.2) until the step S4-1 jumps out of executing other steps;
(4.2) judging whether the number of the coverage rate statistical cycles without coverage rate increase continuously reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase continuously; if not, executing the step (4.3); if yes, executing step (4.4);
(4.3) prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing the step (4.2) until the step S4-1 jumps out of executing other steps;
(4.4) judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending;
and if the random constraint combination which is not simulated and verified exists, randomly reading the next group of random constraint combination, and restarting to execute the step (4.1).
Example 3:
example 1 is a simulation verification of all required random constraint combinations in one simulation process, but when the number of random constraint combinations is large, it is relatively inefficient to traverse all random constraint combinations through one simulation process. In view of the above problems, the present embodiment is further improved on the basis of embodiment 1, and as shown in fig. 5, the difference between the present embodiment and embodiment 1 is specifically:
in the step (2), the random constraints defined in the step (1) are divided into a plurality of groups of random constraint combinations, and a situation that actual functions are completely overlapped does not exist between every two groups of random constraint combinations, for example, only two nodes exist, in a system in which an interface of each node can only send two requests at most within one clock cycle, the random constraint a limits that the node only sends one request per clock cycle, and the random constraint b limits that the node only receives one request per clock cycle, so that the two constraints are actually equivalent in the system, and the two nodes can be considered to be combined; dividing all required random constraint combinations into a plurality of random constraint combination groups according to the hardware resource condition and the number of the random constraint combinations, and setting the simulation sequence of the corresponding random constraint combinations in each random constraint combination group;
in the step (4), the increase condition of the coverage rate in the current simulation verification process is counted in a coverage rate counting period, the newly added coverage rate is accumulated into the existing coverage rate data, the increase condition of the coverage rate in the current simulation verification process is used as an evaluation criterion of random constraint, each group of random constraint combination groups corresponds to one simulation process, the random constraint combination corresponding to each simulation process is sequentially and serially subjected to simulation verification in each simulation process, and the simulation processes are performed in parallel.
The specific implementation method of performing simulation verification on the random constraint combinations corresponding to the random constraint combinations in each simulation process in the step (4) in series in sequence is the same as that in the embodiment 1.
Example 4:
example 2 is a simulation verification of all required random constraint combinations in one simulation process, but when the number of random constraint combinations is large, it is relatively inefficient to traverse all random constraint combinations through one simulation process. In view of the above problems, the present embodiment is further improved on the basis of embodiment 2, and as shown in fig. 6, the difference between the present embodiment and embodiment 2 is specifically:
in the step (2), the random constraints defined in the step (1) are divided into a plurality of groups of random constraint combinations, and a situation that actual functions are completely overlapped does not exist between every two groups of random constraint combinations, for example, only two nodes exist, in a system in which an interface of each node can only send two requests at most within one clock cycle, the random constraint a limits that the node only sends one request per clock cycle, and the random constraint b limits that the node only receives one request per clock cycle, so that the two constraints are actually equivalent in the system, and the two nodes can be considered to be combined; dividing all the required random constraint combinations into a plurality of random constraint combination groups according to the hardware resource condition and the number of the random constraint combinations;
in the step (4), the increase condition of the coverage rate in the current simulation verification process is counted in a coverage rate counting period, the newly added coverage rate is accumulated in the existing coverage rate data, the increase condition of the coverage rate in the current simulation verification process is used as an evaluation criterion of random constraint, each group of random constraint combination groups corresponds to one simulation process, the random constraint combination corresponding to each simulation process is subjected to simulation verification in a random serial mode in each simulation process, and the simulation processes are performed in parallel.
The specific implementation method of performing simulation verification on the random constraint combination random serial corresponding to the random constraint combination in each simulation process in the step (4) is the same as that in the embodiment 2.
The present invention can be easily implemented by those skilled in the art from the above detailed description. It should be understood, however, that the intention is not to limit the invention to the particular embodiments disclosed. On the basis of the disclosed embodiments, a person skilled in the art can combine different technical features at will, thereby implementing different technical solutions.
In addition to the technical features described in the specification, the technology is known to those skilled in the art.
Claims (8)
1. Random constraint selectable coverage-driven random verification method, characterized by comprising the steps of:
s1, defining all random constraints needed in a random verification environment, and defining the value range of the random constraints;
s2, dividing all the defined random constraint combinations into multiple groups of random constraint combinations, wherein the complete overlapping of actual functions does not exist between every two groups of random constraint combinations;
s3, setting a coverage rate statistical period capable of being dynamically adjusted;
s4, counting the coverage rate increase condition in the current simulation verification process in the coverage rate counting period, accumulating the newly added coverage rate into the existing coverage rate data, and performing simulation verification on the random constraint combination by taking the coverage rate increase condition in the current simulation verification process as the evaluation criterion of random constraint;
in step S2, setting a simulation order of the plurality of random constraint combinations; in step S4, sequentially and serially performing simulation verification on the multiple random constraint combinations in a simulation process;
in step S4, the step of performing simulation verification on the random constraint combination is denoted as S4-1, and the contents are:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is finished;
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
sequentially and serially carrying out simulation verification on the multiple groups of random constraint combinations in a simulation process, and comprising the following steps:
s41, sequentially reading a group of random constraint combinations, starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random constraint combination that is not verified by simulation, the next random constraint combination is read in sequentially, and the step S41 is executed again.
2. The random-constraint-selectable coverage-driven-based random verification method of claim 1, wherein in step S3, the setting of the dynamically adjustable coverage statistic period comprises setting an initial coverage statistic period and a threshold number of coverage statistic periods with maximum continuous no coverage increase.
3. The coverage-driven random verification method for random constraint selection according to claim 1 or 2, wherein in step S4, the random constraint combinations are randomly and serially verified in a simulation process.
4. The coverage-driven random verification method of claim 1 or 2, wherein in step S2, all the required random constraint combinations are divided into multiple random constraint combination groups, and the simulation order of the corresponding random constraint combinations in each random constraint combination group is set;
in step S4, each random constraint combination group corresponds to one simulation process, and in each simulation process, the simulation verification is sequentially performed on the random constraint combination corresponding to the random constraint combination group in series, and the simulation processes are performed in parallel.
5. A random-constraint-selectable coverage-driven-based random verification method according to claim 1 or 2, wherein in step S2, all the required random constraint combinations are divided into a plurality of random constraint combination groups;
in step S4, each random constraint combination group corresponds to one simulation process, and in each simulation process, the random constraint combinations corresponding to the random constraint combination group are simulated and verified in a random serial manner, and the simulation processes are performed in parallel.
6. The random-constraint-selectable coverage-driven-based random verification method according to claim 3, wherein in step S4, the step of performing simulation verification on the random-constraint combination is denoted as S4-1, and the contents thereof are as follows:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
the method for randomly and serially carrying out simulation verification on the multiple groups of random constraint combinations in a simulation process comprises the following steps:
s41, randomly reading a group of random constraint combinations, and starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random combination of constraints that has not been verified by simulation, then the next random combination of constraints is read in randomly, and the execution of step S41 is resumed.
7. The random-constraint-selectable coverage-driven-based random verification method according to claim 4, wherein in step S4, the step of performing simulation verification on the random-constraint combination is denoted as S4-1, and the contents thereof are as follows:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
sequentially and serially carrying out simulation verification on multiple groups of random constraint combinations corresponding to the random constraint combinations in each simulation process, wherein the simulation verification method comprises the following steps:
s41, sequentially reading a group of random constraint combinations, starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random constraint combination that is not verified by simulation, the next random constraint combination is read in sequentially, and the step S41 is executed again.
8. The random-constraint-selectable coverage-driven-based random verification method according to claim 5, wherein in step S4, the step of performing simulation verification on the random-constraint combination is denoted as S4-1, and the contents thereof are as follows:
s4-11, carrying out simulation verification on the random constraint combination in a coverage rate statistical period until the coverage rate statistical period is over,
s4-12, judging the increasing condition of the coverage rate in the coverage rate counting period, and jumping out to execute other steps if the increasing condition of the coverage rate is that the coverage rate is not increased; if the coverage rate is increased, entering the next coverage rate statistical period, and then recycling S4-1;
in each simulation process, the simulation verification is carried out on the corresponding multiple groups of random constraint combinations in a random serial mode, and the method comprises the following steps:
s41, randomly reading a group of random constraint combinations, and starting to execute the random constraint combinations for simulation verification, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s42, judging whether the number of the coverage rate statistical cycles without coverage rate increase reaches the maximum threshold of the number of the coverage rate statistical cycles without coverage rate increase; if not, go to step S43; if so, go to step S44;
s43, prolonging the coverage rate statistical period, and performing simulation verification on the random constraint combination in the prolonged coverage rate statistical period, namely calling and executing S4-1; executing step S42 until the step S4-1 jumps out of executing other steps;
s44, judging whether a random constraint combination which is not subjected to simulation verification exists, and if the random constraint combination which is not subjected to simulation verification does not exist, ending the process;
if there is any random combination of constraints that has not been verified by simulation, then the next random combination of constraints is read in randomly, and the execution of step S41 is resumed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710438057.3A CN107273604B (en) | 2017-06-12 | 2017-06-12 | Random constraint selectable coverage rate driving-based random verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710438057.3A CN107273604B (en) | 2017-06-12 | 2017-06-12 | Random constraint selectable coverage rate driving-based random verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273604A CN107273604A (en) | 2017-10-20 |
CN107273604B true CN107273604B (en) | 2020-09-22 |
Family
ID=60066439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710438057.3A Active CN107273604B (en) | 2017-06-12 | 2017-06-12 | Random constraint selectable coverage rate driving-based random verification method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273604B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168241B (en) * | 2022-09-08 | 2022-11-29 | 济南新语软件科技有限公司 | Test method and system based on combined function coverage rate |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488160A (en) * | 2009-02-25 | 2009-07-22 | 中国科学院计算技术研究所 | Method and system for driving accidental validation integrated circuit by coverage rate |
CN104679634A (en) * | 2015-03-06 | 2015-06-03 | 浪潮电子信息产业股份有限公司 | Self-adaptive random verification method for super-large-scale chip simulation |
US9208271B1 (en) * | 2010-11-19 | 2015-12-08 | Cadence Design Systems, Inc. | Transaction correlation system |
CN105389200A (en) * | 2015-12-16 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | Multi-group stimulation batch simulation method and system applied to super-large scale chip verification |
CN105631134A (en) * | 2015-12-30 | 2016-06-01 | 山东海量信息技术研究院 | Batched random mechanism for chip random verification |
CN105653793A (en) * | 2015-12-29 | 2016-06-08 | 山东海量信息技术研究院 | Random verification method and apparatus |
US9514035B1 (en) * | 2014-12-24 | 2016-12-06 | Cadence Design Systems, Inc. | Coverage driven generation of constrained random stimuli |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945888B2 (en) * | 2008-02-28 | 2011-05-17 | International Business Machines Corporation | Model-based hardware exerciser, device, system and method thereof |
-
2017
- 2017-06-12 CN CN201710438057.3A patent/CN107273604B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488160A (en) * | 2009-02-25 | 2009-07-22 | 中国科学院计算技术研究所 | Method and system for driving accidental validation integrated circuit by coverage rate |
US9208271B1 (en) * | 2010-11-19 | 2015-12-08 | Cadence Design Systems, Inc. | Transaction correlation system |
US9514035B1 (en) * | 2014-12-24 | 2016-12-06 | Cadence Design Systems, Inc. | Coverage driven generation of constrained random stimuli |
CN104679634A (en) * | 2015-03-06 | 2015-06-03 | 浪潮电子信息产业股份有限公司 | Self-adaptive random verification method for super-large-scale chip simulation |
CN105389200A (en) * | 2015-12-16 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | Multi-group stimulation batch simulation method and system applied to super-large scale chip verification |
CN105653793A (en) * | 2015-12-29 | 2016-06-08 | 山东海量信息技术研究院 | Random verification method and apparatus |
CN105631134A (en) * | 2015-12-30 | 2016-06-01 | 山东海量信息技术研究院 | Batched random mechanism for chip random verification |
Non-Patent Citations (2)
Title |
---|
"基于遗传算法的全芯片级覆盖率驱动随机验证技术";沈海华等;《计算机研究与发展》;20091031;全文 * |
"覆盖率驱动的随机测试生成技术综述";沈海华等;《计算机辅助设计与图形学学报》;20090430;第21卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107273604A (en) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038130B (en) | Automatic false user cleaning method, device, equipment and storage medium | |
CN108495195A (en) | A kind of network direct broadcasting ranking list generation method, device, equipment and storage medium | |
CN108289121A (en) | The method for pushing and device of marketing message | |
CN109921915B (en) | Method and device for testing wake-up function of real-time clock module and electronic equipment | |
CN103716282A (en) | Method and system for correcting IP library | |
CN104679634A (en) | Self-adaptive random verification method for super-large-scale chip simulation | |
CN109685092A (en) | Clustering method, equipment, storage medium and device based on big data | |
CN109597687B (en) | Resource allocation method and device for data synchronization, storage medium and electronic equipment | |
WO2022267715A1 (en) | Oracle machine node screening method and apparatus, and storage medium and electronic apparatus | |
CN107273604B (en) | Random constraint selectable coverage rate driving-based random verification method | |
TWI789586B (en) | Initiating method and related device for near field communication authentication | |
CN105893448A (en) | Method and system for generating application popularity list | |
CN108108558B (en) | Method and system for evaluating random verification quality based on coverage frequency statistics | |
CN111260419A (en) | Method and device for acquiring user attribute, computer equipment and storage medium | |
CN109951838A (en) | Identify method, apparatus, equipment and the medium of double card slot double card user | |
CN110830499B (en) | Network attack application detection method and system | |
CN108009111B (en) | Data stream connection method and device | |
CN109429282B (en) | Frequency point configuration method and device | |
CN110998524A (en) | Method for processing configuration file, processing unit, touch chip, device and medium | |
TWI646435B (en) | Serverless system and execution method thereof | |
CN109005191B (en) | Verification method and system, arbitration node and storage medium | |
CN106202374A (en) | A kind of data processing method and device | |
CN111143066A (en) | Event processing method, device, equipment and storage medium | |
CN114595146A (en) | AB test method, device, system, electronic equipment and medium | |
US10553062B2 (en) | Method for generating winning numbers and apparatus |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200819 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |