IP Library Granted Patent US 7,716,031
Granted Patent B2
US 7,716,031 · App. 11/066,841 · Granted May 11, 2010

Interface converter for unified view of multiple computer system simulations

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,716,031
App. No.
11/066,841
Granted
May 11, 2010
Kind
B2
Abstract

Providing a unified view of multiple computer system simulations. A simulation process has a simulation thread that executes a plurality of computer system simulations. The simulation process also has a debug support thread that provides a unified view of the simulations. To provide the unified view, the debug support thread has an external interface, an internal interface to each of the simulations, and an interface converter that converts between the external interface and the internal interfaces. Thus, the external interface provides a unified view of the simulations. The external interface allows a single debugging platform to control and observe the simulations.

Claims (38)

1. A computer readable medium having stored thereon instructions for implementing a method of displaying a unified view of multiple simulations, said instructions comprising:

a simulation process comprising:

a simulation thread operable to execute a plurality of simulations wherein each of said plurality of simulations comprise debugging (Application Programming Interface) APIs different from each other; and

a computing system platform debug support thread comprising:

an external interface having an external API;

an internal interface to each of said plurality of simulations, wherein said internal interface is operable to communicate with each respective API of said plurality of simulations; and

an interface converter that converts between said external interface and said internal interfaces, wherein said external interface facilitates display of a unified view of each of said plurality of simulations, and wherein said interface converter is operable to converter between each respective API of said plurality of simulations and said external API.

2. A computer readable medium as recited in claim 1 , further comprising a database for storing synchronized results of said plurality of simulations.

3. A computer readable medium as recited in claim 1 , wherein said simulation process further comprises a mechanism for halting said plurality of simulations at a common point in execution.

4. A computer readable medium as recited in claim 1 , wherein said simulation process is operable to execute a haltpoint involving multiple ones of said plurality of simulations.

5. A computer readable medium as recited in claim 1 , further comprising a mechanism for said debug support thread to re-start said simulation thread after a halt point.

6. A computer readable medium as recited in claim 1 , wherein said plurality of simulations comprise a processor simulation.

7. A computer readable medium as recited in claim 1 , wherein said plurality of simulations comprise a hardware simulation.

8. A computer readable medium as recited in claim 1 , wherein said instructions further comprise a debugger operable to communicate with said debug support thread via said external interface.

9. A computer-implemented method of displaying a unified view of multiple simulations, said method comprising:

receiving a request from a computing system platform debugging process for debugging access to one simulation of a plurality of simulations in a simulation process, wherein said plurality of simulations have different debugging interfaces from each other;

converting said request to a format that is compliant with a debugging interface of said one simulation, wherein said converting comprises converting between a respective API of said one of said plurality of simulations and an API of said computing system platform debugging process; and

passing said converted request to said one simulation via said debugging interface, wherein said converting said request and said passing said converted request facilitates said computing system platform debugging process displaying a unified view of said plurality of simulations on a display device.

10. A computer-implemented method as recited in claim 9 , further comprising said debugging process sending a request for establishing multi-simulation halt-points involving events in at least two of said plurality of simulations.

11. A computer-implemented method as recited in claim 9 , further comprising halting execution of said plurality of simulations at a common point in execution.

12. A computer-implemented method as recited in claim 9 , further comprising storing synchronized results of said plurality of simulations in a database.

13. A computer-implemented method as recited in claim 12 , further comprising rewinding said plurality of simulations.

14. A computer-implemented method as recited in claim 9 , wherein said request is received by a first thread in said simulation process and said plurality of simulations execute in second thread of said simulation process.

15. A computer readable medium having stored thereon instructions for implementing a method of facilitating debugging via multiple computer system simulations by displaying a debugger, said instructions comprising:

a simulation process comprising:

a simulation thread comprising a plurality of computer system simulations, wherein each of said plurality of simulations comprise debugging APIs different from each other; and

a computing system platform debug support thread comprising: an external interface comprising an external API; an internal interface to each of said plurality of computer system simulations wherein said internal interface is operable to communicate with each respective API of said plurality of simulations; and an interface converter that converts between said external interface and said internal interfaces, wherein said interface converter is operable to convert between each respective API of said plurality of simulations and said external API;

a control mechanism accessible by said simulation thread and for halting execution of said plurality of computer system simulations at a common execution point; and

a debugger process operable to communicate with said debug support thread via said external interface, wherein said debugger process is operable to control, observe, and facilitate display of each of said plurality of computer system simulations.

16. A computer readable medium as recited in claim 15 , further comprising a database for storing synchronized results of said plurality of computer system simulations.

17. A computer readable medium as recited in claim 15 , wherein said debugger process is operable to send a message to said simulation process specifying a haltpoint involving multiple ones of said plurality of computer system simulations.

18. A computer readable medium as recited in claim 17 , wherein said haltpoint comprises a breakpoint.

19. A computer readable medium as recited in claim 18 , wherein said haltpoint further comprises a watchpoint.

20. A computer readable medium as recited in claim 17 , wherein said haltpoint: comprises a watchpoint.

21. A computer readable medium as recited in claim 15 , wherein said plurality of computer system simulations comprise a processor simulation.

22. A computer readable medium as recited in claim 15 , wherein said plurality of computer system simulations comprise hardware simulation.

23. A computer readable medium as recited in claim 15 , wherein said control mechanism is accessible by said debug support thread for re-starting said plurality of computer system simulations.

24. A computer readable medium as recited in claim 15 , wherein said interface converter comprises an API converter to convert from an external API to a respective debug API used by each of said plurality of simulations.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2011
From: COWARE, LLC
To: SYNOPSYS, INC.
Reel/Frame 025754/0505 →
CHANGE OF NAME Recorded Jan 26, 2011
From: COWARE, INC.
To: COWARE, LLC
Reel/Frame 025703/0401 →
SECURITY AGREEMENT Recorded Jan 2, 2008
From: COWARE, INC.
To: SILICON VALLEY BANK
Reel/Frame 020308/0157 →
SECURITY AGREEMENT Recorded Jan 2, 2008
From: COWARE, INC.
To: GOLD HILL VENTURE LENDING 03, L.P.; SILICON VALLEY BANK
Reel/Frame 020308/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2005
From: VANSPAUWEN, NIELS; MICHIELS, TOM; VAN ROMPAEY, KARL
To: COWARE, INC.
Reel/Frame 016654/0197 →