System and method for stopping integrated circuit simulation

US9317636B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9317636-B1
Application numberUS-63737406-A
CountryUS
Kind codeB1
Filing dateDec 11, 2006
Priority dateDec 11, 2006
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system for simulating hardware is disclosed wherein stopping the simulating for investigating a state of the simulating is constrained to occur at points of simulation synchronization. A delta cycle may be inserted into a simulation to provide a point of simulation synchronization. The delta cycle may be inserted at the beginning of a simulation loop.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for debugging an electronic hardware design, the electronic hardware design comprising a plurality of simulated hardware modules configured to operate in parallel and having a simulated state, the method comprising: receiving, during execution of a simulation of the simulated hardware modules, a plurality of simulation stop requests requesting stoppage of the simulation from a plurality of simulation stoppers associated with a plurality of debuggers for the simulated hardware modules, the simulation stop requests including a first simulation stop request corresponding to a first simulated hardware module and generated in response to hitting of a breakpoint during execution of the simulation, the simulation stop requests including a second simulated stop request corresponding to a second simulated hardware module and generated during execution of the simulation; responsive to receiving the simulation stop requests including the first simulation stop request and the second simulation stop request, creating a plurality of active simulation stopper entries for the plurality of simulation stoppers in a list of active simulation stoppers; reaching a synchronization point of the simulation that is subsequent to the simulation stop requests, the simulated state of the simulation hardware modules being synchronized at the synchronization point; at the synchronization point of the simulation, stopping the simulation and repeatedly performing the following steps until the list of active simulation stoppers is empty: executing a corresponding investigative agent for the corresponding active simulation stopper entry; removing the corresponding active simulation stopper entry from the list of active simulation stoppers; and continuing the simulation responsive to the list of active simulation stoppers being empty. 2. The method of claim 1 , wherein the simulated hardware modules are simulated processors. 3. The method of claim 1 , wherein the simulation stop requests are received by a central application software controlling starting and stopping of said simulation. 4. The method of claim 1 , wherein the simulation is a SystemC simulation. 5. The method of claim 1 , wherein the synchronization point is a delta cycle. 6. The method of claim 1 , wherein the synchronization point is a sc_wait function. 7. The method of claim 1 , wherein the simulation is a sequential simulation of the plurality of simulated hardware modules and the simulation is an instruction set simulation. 8. The method of claim 1 , wherein the synchronization point is at a beginning of a simulation cycle. 9. The method of claim 1 , wherein the steps performed at the synchronization point of the simulation comprise: executing a first investigative agent for a first active simulation stopper entry from the list of active simulation stoppers; removing the first active simulation stopper entry from the list of active simulation stoppers; executing a second investigative agent for a second active simulation stopper entry from the list of active simulation stoppers; and removing the second active simulation stopper entry from the list of active simulation stoppers. 10. The method of claim 1 , the simulation stop requests include a third simulation stop request corresponding to the second simulated hardware module and generated during execution of the simulation. 11. An article of manufacture comprising a non-transitory computer usable media comprising computer usable instructions that, responsive to execution on a computer processor, causes the computer processor to perform operations comprising: receiving, during execution of a simulation of the simulated hardware modules, a plurality of simulation stop requests requesting stoppage of the simulation from a plurality of simulation stoppers associated with a plurality of debuggers for the simulated hardware modules, the simulation stop requests including a first simulation stop request corresponding to a first simulated hardware module and generated in response to hitting of a breakpoint during execution of the simulation, the simulation stop requests including a second simulated stop request corresponding to a second simulated hardware module and generated during execution of the simulation; responsive to receiving the simulation stop requests including the first simulation stop request and the second simulation stop request, creating a plurality of active simulation stopper entries for the plurality of simulation stoppers in a list of active simulation stoppers; reaching a synchronization point of the simulation that is subsequent to the simulation stop requests, the simulated state of the simulation hardware modules being synchronized at the synchronization point; at the synchronization point of the simulation, stopping the simulation and repeatedly performing the following steps until the list of active simulation stoppers is empty: executing a corresponding investigative agent for the corresponding active simulation stopper entry; removing the corresponding active simulation stopper entry from the list of active simulation stoppers; and continuing the simulation responsive to the list of active simulation stoppers being empty. 12. The article of manufacture of claim 11 , wherein the simulated hardware modules are simulated processors. 13. The article of manufacture of claim 11 , wherein the simulation stop requests are received by a central application software controlling starting and stopping of said simulation. 14. The article of manufacture of claim 11 , wherein the simulation is a SystemC simulation. 15. The article of manufacture of claim 11 , wherein the synchronization point is a delta cycle. 16. The article of manufacture of claim 11 , wherein the synchronization point is a sc_wait function. 17. The article of manufacture of claim 11 , wherein the simulation is a sequential simulation of the plurality of simulated hardware modules and the simulation is an instruction set simulation. 18. The article of manufacture of claim 11 , wherein the synchronization point is at a beginning of a simulation cycle. 19. The article of manufacture of claim 11 , wherein the steps performed at the synchronization point of the simulation comprise: executing a first investigative agent for a first active simulation stopper entry from the list of active simulation stoppers; removing the first active simulation stopper entry from the list of active simulation stoppers; executing a second investigative agent for a second active simulation stopper entry from the list of active simulation stoppers; and removing the second active simulation stopper entry from the list of active simulation stoppers. 20. The article of manufacture of claim 11 , wherein the simulation stop requests include a third simulation stop request corresponding to the second simulated hardware module and generated during execution of the simulation.

Assignees

Inventors

Classifications

  • by simulating additional hardware, e.g. fault simulation · CPC title

  • G06F30/33Primary

    Design verification, e.g. functional simulation or model checking · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317636B1 cover?
A system for simulating hardware is disclosed wherein stopping the simulating for investigating a state of the simulating is constrained to occur at points of simulation synchronization. A delta cycle may be inserted into a simulation to provide a point of simulation synchronization. The delta cycle may be inserted at the beginning of a simulation loop.
Who is the assignee on this patent?
Petras Dietmar, Vanspauwen Niels, Synopsys Inc
What technology area does this patent fall under?
Primary CPC classification G06F30/33. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).