IP Library Granted Patent US 7,424,418
Granted Patent B1
US 7,424,418 · App. 10/751,307 · Granted Sep 9, 2008

Method for simulation with optimized kernels and debugging with unoptimized kernels

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 7,424,418
App. No.
10/751,307
Granted
Sep 9, 2008
Kind
B1
Abstract

A method for providing verification for a first simulation image involves removing nodes from the first simulation image to produce an optimized image and an optimized nodes image, simulating the optimized image, invoking the optimized nodes image if debugging is selected, reconstructing a second simulation image using the optimized image and the optimized nodes image, simulating the second simulation image to gather simulation data, and debugging the first simulation image using simulation data.

Claims (48)

1. A method for providing verification for a simulation image, comprising:

removing nodes from the simulation image to produce an optimized image and an optimized nodes image, wherein the optimized nodes image comprises information about the nodes removed from the simulation image;

simulating the optimized image; and

simulating a reconstructed simulation image to gather simulation data, wherein the reconstructed simulation image comprises the optimized image and the optimized nodes image;

debugging the simulation image using simulation data; and

verifying one selected from a group consisting of the optimized image and the reconstructed simulation image.

2. The method of claim 1 , wherein the simulation image and the reconstructed simulation image comprise a register transfer level design.

3. The method of claim 2 , wherein debugging comprises comparing a reference value to a value of a corresponding register transfer level design component of at least one selected from the group consisting of the optimized image and the reconstructed simulation image.

4. The method of claim 1 , wherein the optimized nodes image comprises one node selected from a group consisting of a redundant node, an unobservable node, and a dangling node.

5. The method of claim 1 , wherein the optimized nodes image comprises a list of optimized nodes and information about how to compute the optimized nodes image from the optimized image.

6. The method of claim 1 , further comprising:

isolating and eliminating a bug in the first simulation image using simulation data.

7. The method of claim 1 , wherein removing nodes from the simulation image further comprises moving at least one sequential element to use an input of the optimized nodes image as an output of the optimized nodes image.

8. A computer system for providing verification for a simulation image, comprising:

a processor;

a memory;

a storage device; and

software instructions stored in the memory for enabling the computer system to:

remove nodes from the simulation image to produce an optimized image and an optimized nodes image, wherein the optimized nodes image comprises information about the nodes removed from the simulation image;

simulate the optimized image; and

simulate a reconstructed simulation image to gather simulation data, wherein the reconstructed simulation image comprises the optimized image and the optimized nodes image;

debug the simulation image using simulation data; and

verify one selected from a group consisting of the optimized image and the reconstructed simulation image.

9. The computer system of claim 8 , wherein the simulation image and the reconstructed simulation image comprise a register transfer level design.

10. The computer system of claim 9 , wherein debugging comprises comparing a reference value to a value of a corresponding register transfer level design component of at least one selected from the group consisting of the optimized image and the reconstructed simulation image.

11. The computer system of claim 8 , wherein the optimized nodes image comprises one node selected from a group consisting of a redundant node, an unobservable node, and a dangling node.

12. The computer system of claim 8 , wherein the optimized nodes image comprises a list of optimized nodes and information about how to compute the optimized nodes image from the optimized image.

13. The computer system of claim 8 , further comprising software instructions to:

isolate and eliminate a bug in the simulation image using simulation data.

14. The computer system of claim 8 , wherein the software instructions to remove nodes from the simulation image further comprise software instructions to move at least one sequential element to use an input of the optimized nodes image as an output of the optimized nodes image.

15. A computer system for verifying a simulation image, comprising: a processor; a memory; a storage device;

an optimizer tool providing functionality to remove nodes from the first simulation image to produce an optimized image and an optimized nodes image, wherein the optimized nodes image comprises information about the nodes removed from the simulation image;

a test vector providing an input signal value for a component in at least one selected from a group consisting of the optimized image and a reconstructed simulation image; and

a reconstructor tool of a testbench providing functionality to provide the reconstructed simulation image using the optimized image and the optimized nodes image when debugging is selected,

wherein the testbench provides functionality to:

simulate the reconstructed simulation image to gather simulation data,

debug simulation image using simulation data, and

verify one selected from the group consisting of the optimized image and the reconstructed simulation image using the test vector.

16. The system of claim 15 , wherein the simulation image and the reconstructed simulation image comprise a register transfer level design.

17. The system of claim 16 , wherein debugging comprises comparing a reference value to a value of a corresponding register transfer level design component of at least one selected from the group consisting of the optimized image and the reconstructed simulation image.

18. The system of claim 15 , wherein the optimized nodes image comprises one node selected from a group consisting of a redundant node, an unobservable node, and a dangling node.

19. The system of claim 15 , wherein the optimized nodes image comprises a list of optimized nodes and information about how to compute the optimized nodes image from the optimized image.

20. An apparatus providing verification for a simulation image, comprising:

means for removing nodes from the simulation image to produce an optimized image and an optimized nodes image, wherein the optimized nodes image comprises information about the nodes removed from the simulation image;

means for simulating the optimized image; and

means for simulating a reconstructed simulation image to gather simulation data, wherein the reconstructed simulation image comprises the optimized image and the optimized nodes image;

means for debugging the simulation image using simulation data; and

means for verifying one selected from a group consisting of the optimized image and the reconstructed simulation image.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2004
From: SOUFI, MOHAMED; LAM, WILLIAM K.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015327/0321 →