Search

US-12626041-B2 - Method and system for using deep learning to improve design verification by optimizing code coverage, functional coverage, and bug detection

US12626041B2US 12626041 B2US12626041 B2US 12626041B2US-12626041-B2

Abstract

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.

Inventors

  • William Alexander Hughes
  • Sandeep Srinivasan
  • Rohit Uday Suvarna

Assignees

  • Verifai Inc.

Dates

Publication Date
20260512
Application Date
20221118

Claims (20)

  1. 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. 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. 3 . The system of claim 1 , wherein the machine learning network comprises a reinforcement learning network.
  4. 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. 5 . The system of claim 4 , wherein the candidate values are randomly selected by the machine learning network.
  6. 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. 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. 8 . The system of claim 1 , wherein the set of simulation parameters comprise one or more verification environment parameters.
  9. 9 . The system of claim 1 , wherein the set of simulation parameters comprise one or more design configuration parameters.
  10. 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. 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. 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. 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. 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. 15 . The system of claim 1 , wherein the target functional coverage statement corresponds to a target code depth associated with the circuit design.
  16. 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. 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. 18 . The system of claim 16 , wherein the machine learning network comprises a reinforcement learning network.
  19. 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. 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.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS The present application claims the benefit of and priority, under 35 U.S.C. § 119(e), to U.S. Provisional Application Ser. No. 63/280,987 filed Nov. 18, 2021, entitled “Method and System for Using Deep Learning to Improve Design Verification by Optimizing Code Coverage, Functional Coverage and Bug Detection,” the entire disclosures of which are hereby incorporated herein by reference, in their entirety, for all that the disclosures teach and for all purposes. FIELD OF TECHNOLOGY The present disclosure is related generally to artificial intelligence, including using deep learning for design verification. BACKGROUND Design verification of integrated circuits may involve generating a stimulus of input signals and then evaluating the resulting output signals against expected values. Such stimulus generation and evaluation of output signals allows design simulations to be conducted to determine whether a design is operating correctly. Techniques for improving design verification are desired. SUMMARY A system is described including: 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; and simulate 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. Any of the aspects herein, 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 includes providing positive reinforcement, negative reinforcement, or both with respect to the set of simulation parameters and the functional coverage results. Any of the aspects herein, wherein the machine learning network includes a reinforcement learning network. Any of the aspects herein, 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. Any of the aspects herein, wherein the candidate values are randomly selected by the machine learning network. Any of the aspects herein, wherein processing the functional coverage results by the machine learning network includes tracking the coverage results as a function of the set of simulation parameters. Any of the aspects herein, wherein the set of simulation parameters include: 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. Any of the aspects herein, wherein the set of simulation parameters include one or more verification environment parameters. Any of the aspects herein, wherein the set of simulation parameters include one or more design configuration parameters. Any of the aspects herein, wherein: the functional coverage results associated with simulating the circuit design according to the set of simulation parameters include 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 include 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. Any of the aspects herein, wherein a result associated with simulating the circuit design based on the recommended set of simulation parameters includes an increased probability of satisfying the target functional coverage statement. Any of the aspects herein, wherein a result associated with simulating the circuit design based on the recommended set of simulation parameters includes achieving a target frequency associated with satisfying the target set of functional coverage statements associated with the circuit design. Any of the aspects herein, 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 includes a respective set