Method and system for using deep learning to improve design verification by optimizing code coverage, functional coverage, and bug detection
Methods, systems, and devices for tuning a set of simulation parameters associated with a design verification environment are described that include: simulating a circuit design according to a set of simulation parameters; providing, to a machine learning network, an indication of functional coverage results associated with simulating the circuit design according to the set of simulation parameters; receiving an output in response to the machine learning network processing the functional coverage results; and simulating the circuit design based on a recommended set of simulation parameters, wherein simulating the circuit design based on the recommended set of simulation parameters includes generating a set of component signals associated with satisfying a target functional coverage statement. In some aspects, the output includes: the target functional coverage statement associated with the circuit design; and the recommended set of the simulation parameters.
1 . A system comprising:
a processor; and
a memory storing instructions thereon that, when executed by the processor, cause the processor to:
simulate a circuit design according to a set of simulation parameters;
provide, to a machine learning network, an indication of functional coverage results associated with simulating the circuit design according to the set of simulation parameters;
receive an output in response to the machine learning network processing the functional coverage results, wherein the output comprises:
a target functional coverage statement associated with the circuit design; and
a recommended set of the simulation parameters; and
simulate the circuit design based on the recommended set of simulation parameters, wherein simulating the circuit design based on the recommended set of simulation parameters comprises generating a set of component signals associated with satisfying the target functional coverage statement.
2 . The system of claim 1 , wherein:
the set of simulation parameters are provided by the machine learning network; and
the instructions are further executable by the processor to provide training data to the machine learning network based on the functional coverage results, wherein providing the training data comprises providing positive reinforcement, negative reinforcement, or both with respect to the set of simulation parameters and the functional coverage results.
3 . The system of claim 1 , wherein the machine learning network comprises a reinforcement learning network.
4 . The system of claim 1 , wherein values of the set of simulation parameters are selected by the machine learning network as having a highest reward among candidate values of the set of simulation parameters.
5 . The system of claim 4 , wherein the candidate values are randomly selected by the machine learning network.
6 . The system of claim 1 , wherein processing the functional coverage results by the machine learning network comprises tracking the coverage results as a function of the set of simulation parameters.
7 . The system of claim 1 , wherein the set of simulation parameters comprise:
one or more input conditions associated with simulating the circuit design; and
one or more verification parameters associated with setting the one or more input conditions.
8 . The system of claim 1 , wherein the set of simulation parameters comprise one or more verification environment parameters.
9 . The system of claim 1 , wherein the set of simulation parameters comprise one or more design configuration parameters.
10 . The system of claim 1 , wherein:
the functional coverage results associated with simulating the circuit design according to the set of simulation parameters comprise an indication of a first quantity of functional coverage statements satisfied in response to the simulation; and
second functional coverage results associated with simulating the circuit design according to the recommended set of simulation parameters comprise an indication of a second quantity of the functional coverage statements satisfied in response to the simulation,
wherein the second quantity is larger than the first quantity.
11 . The system of claim 1 , wherein a result associated with simulating the circuit design based on the recommended set of simulation parameters comprises an increased probability of satisfying the target functional coverage statement.
12 . The system of claim 1 , wherein a result associated with simulating the circuit design based on the recommended set of simulation parameters comprises achieving a target frequency associated with satisfying the target set of functional coverage statements associated with the circuit design.
13 . The system of claim 12 , wherein the instructions are further executable by the processor to:
simulate the circuit design according to a plurality of configurations, wherein each configuration of the plurality of configurations comprises a respective set of simulation parameters; and
provide, to the machine learning network, training data generated in response to simulating the circuit design according to the plurality of configurations,
wherein the machine learning network identifies, in response to processing the training data, that a frequency associated with satisfying the target set of functional coverage statements is less than the target frequency.
14 . The system of claim 1 , wherein the instructions are further executable by the processor to:
provide, to the machine learning network, training data generated based on simulations of the circuit design according to a plurality of configurations, wherein each configuration of the plurality of configurations comprises a respective set of simulation parameters,
wherein the machine learning network learns candidate combinations of the simulation parameters in response to processing the training data, wherein each candidate combination is associated with satisfying a functional coverage statement associated with the circuit design.
15 . The system of claim 1 , wherein the target functional coverage statement corresponds to a target code depth associated with the circuit design.
16 . A system for tuning a set of simulation parameters associated with a design verification environment by:
simulating a circuit design according to a set of simulation parameters;
providing, to a machine learning network, an indication of functional coverage results associated with simulating the circuit design according to the set of simulation parameters;
receiving an output in response to the machine learning network processing the functional coverage results, wherein the output comprises:
a target functional coverage statement associated with the circuit design; and
a recommended set of the simulation parameters; and
simulating the circuit design based on the recommended set of simulation parameters, wherein simulating the circuit design based on the recommended set of simulation parameters comprises generating a set of component signals associated with satisfying the target functional coverage statement.
17 . The system of claim 16 , wherein:
the set of simulation parameters are provided by the machine learning network; and
the instructions are further executable by the processor to provide training data to the machine learning network based on the functional coverage results, wherein providing the training data comprises providing positive reinforcement, negative reinforcement, or both with respect to the set of simulation parameters and the functional coverage results.
18 . The system of claim 16 , wherein the machine learning network comprises a reinforcement learning network.
19 . The system of claim 16 , wherein values of the set of simulation parameters are selected by the machine learning network as having a highest reward among candidate values of the set of simulation parameters.
20 . A method comprising:
simulating a circuit design according to a set of simulation parameters;
providing, to a machine learning network, an indication of functional coverage results associated with simulating the circuit design according to the set of simulation parameters;
receiving an output in response to the machine learning network processing the functional coverage results, wherein the output comprises:
a target functional coverage statement associated with the circuit design; and
a recommended set of the simulation parameters; and
simulating the circuit design based on the recommended set of simulation parameters, wherein simulating the circuit design based on the recommended set of simulation parameters comprises generating a set of component signals associated with satisfying the target functional coverage statement.