IP Library Granted Patent US 10,380,283
Granted Patent B2
US 10,380,283 · App. 15/426,434 · Granted Aug 13, 2019

Functional verification with machine learning

Inventor: Gaurav Kumar Verma (Fremont, CA)
Assignee: Mentor Graphics Corporation
G06F17/5022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,380,283
App. No.
15/426,434
Granted
Aug 13, 2019
Kind
B2
Abstract

This application discloses a computing system to select a design block in a circuit design of an electronic device for functional verification result reuse based on isolating operational characteristics of the design block. The computing system can determine whether the selected design block was previously simulated with input stimulus. When the selected design block was previously simulated with the input stimulus, the computing system can bypass the simulation of the design block and utilize an output generated in the previous simulation of the selected design block in response to the input stimulus as a result for the simulation of the design block. When the selected design block was not previously simulated with the input stimulus, the computing system can simulate the selected design block with the input stimulus, and storing an output generated in the simulation of the selected design block for functional verification result reuse.

Claims (31)

1. A method comprising:

selecting, by a computing system, a design block in a circuit design of an electronic device for functional verification result reuse;

detecting, by the computing system, the selected design block is to be simulated with input stimulus;

when the selected design block was previously simulated with the input stimulus, bypassing, by the computing system, the simulation of the design block, identifying, by the computing system, an output generated in a previous simulation of the selected design block in response to the input stimulus based on a mapping stored in a database that correlates a combination of the selected design block and the input stimulus with the output generated in the previous simulation of the selected design block, and utilizing, by the computing system, the identified output as a result for the simulation of the design block; and

when the selected design block was not previously simulated with the input stimulus, simulating, by the computing system, the selected design block with the input stimulus, and modifying the mapping stored in the database to include an entry correlating the combination of the selected design block and the input stimulus to an output generated in the simulation of the selected design block with the input stimulus.

2. The method of claim 1 , wherein selecting the design block is based, at least in part, on isolating operational characteristics of the design block.

3. The method of claim 2 , wherein the isolating operational characteristics include at least one of includes a hierarchical reference to at least another design block in the circuit design, enables functional verification coverage, or includes a display statement.

4. The method of claim 1 , wherein the identification the output is based, at least in part, on the input stimulus and a state of the selected design block during a different function verification operation.

5. The method of claim 1 , further comprising storing, by the computing system, the output generated in the simulation of the selected design block in the database.

6. The method of claim 1 , further comprising de-selecting the selected design block based, at least in part, on a frequency that the selected design block is to be simulated.

7. A system comprising:

a memory system configured to store computer-executable instructions; and

a computing system, in response to execution of the computer-executable instructions, is configured to:

select a design block in a circuit design of an electronic device for functional verification result reuse;

detect the selected design block is to be simulated with input stimulus;

when the selected design block was previously simulated with the input stimulus, bypass the simulation of the design block, identify an output generated in a previous simulation of the selected design block in response to the input stimulus based on a mapping stored in a database that correlates a combination of the selected design block and the input stimulus with the output generated in the previous simulation of the selected design block, and utilize the identified output as a result for the simulation of the design block; and

when the selected design block was not previously simulated with the input stimulus, simulate the selected design block with the input stimulus and modify the mapping stored in the database to include an entry correlating the combination of the selected design block and the input stimulus to an output generated in the simulation of the selected design block with the input stimulus.

8. The system of claim 7 , wherein selecting the design block is based, at least in part, on isolating operational characteristics of the design block.

9. The system of claim 8 , wherein the isolating operational characteristics include at least one of includes a hierarchical reference to at least another design block in the circuit design, enables functional verification coverage, or includes a display statement.

10. The system of claim 7 , wherein the identification the output is based, at least in part, on the input stimulus and a state of the selected design block during a different function verification operation.

11. The system of claim 7 , wherein the computing system, in response to execution of the computer-executable instructions, is further configured to store the output generated in the simulation of the selected design block in the database.

12. An apparatus comprising at least one computer-readable memory device storing instructions configured to cause one or more processing devices to perform operations comprising:

selecting a design block in a circuit design of an electronic device for functional verification result reuse;

detecting the selected design block is to be simulated with input stimulus; and

when the selected design block was previously simulated with the input stimulus, bypassing the simulation of the design block, identifying an output generated in a previous simulation of the selected design block in response to the input stimulus based on a mapping stored in a database that correlates a combination of the selected design block and the input stimulus with the output generated in the previous simulation of the selected design block, and utilizing the identified output as a result for the simulation of the design block; and

when the selected design block was not previously simulated with the input stimulus, simulating the selected design block with the input stimulus and modifying the mapping stored in the database to include an entry correlating the combination of the selected design block and the input stimulus to an output generated in the simulation of the selected design block with the input stimulus.

13. The apparatus of claim 12 , wherein selecting the design block is based, at least in part, on isolating operational characteristics of the design block.

14. The apparatus of claim 13 , wherein the isolating operational characteristics include at least one of includes a hierarchical reference to at least another design block in the circuit design, enables functional verification coverage, or includes a display statement.

15. The apparatus of claim 12 , wherein the identification the output is based, at least in part, on the input stimulus and a state of the selected design block during a different function verification operation.

16. The apparatus of claim 12 , wherein the instructions are configured to cause one or more processing devices to perform operations further comprising storing the output generated in the simulation of the selected design block for functional verification result reuse.

17. The apparatus of claim 12 , wherein the instructions are configured to cause one or more processing devices to perform operations further comprising de-selecting the selected design block based, at least in part, on a frequency that the selected design block is to be simulated.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 28, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056688/0930 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2017
From: VERMA, GAURAV KUMAR
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 041243/0490 →
Continuity (1)
Related Publication 20180225394A1 · Aug 9, 2018