Patent EP0442277A2 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0442277A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

A logic simulation using a hardware accelerator together with an automated error event isolation and trace facility

Assignee: International Business Machines Corp
•
Filing: 1991-01-18
•
Granted: —
•
Expires: 2011-01-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Software simulators of logic design circuits run slowly but are capable of providing very finely detailed error trace analyses. On the other hand, hardware accelerators (70, 200) operating to perform similar functions are very fast in their execution but are not capable of practically isolating error states or other critical conditions. Accordingly, the present invention provides an interactive system combining software simulators and hardware accelerators (70, 200) so that when desired test results do not favorably compare with simulated results, a mechanism is provided for storing the current hardware accelerator (70, 200) state and restoring the accelerator to a previous checkpoint state which has been saved as a result of a prior periodic interruption. The hardware accelerator (70, 200) is then operated for a time sufficient to bring it up to a state that occurs just before the detected miscomparison. At this point, state information from the hardware accelerator (70, 200) is supplied to a software simulator for detailed error analysis and fault tracing. The hardware accelerator (70, 200) may then be restarted where it left off or with a different task. In this way, optimal utilization is made of expensive hardware accelerator (70, 200) resources while nonetheless providing error event isolation and the ability to generate detailed traces of simulated behavior.

Inventors

  • 👤 Dennis Frank Ackerman
  • 👤 David Randa Bender
  • 👤 Salina Sau-Yue Chu
  • 👤 George Robert Deibert
  • 👤 Gary Griffen Hallock
  • 👤 David Ernest Lackey
  • 👤 Robert George Sheldon
  • 👤 Thomas Andrew Stranko

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-07 11:44
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/22; G06F11/26; G06F11/261; G06F30/00; G06F30/30; G06F30/32; G06F30/33; G06F11/30; G06F11/34

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 219 words
A method of simulating digital logic circuits, said method comprising the steps of: storing a plurality of test cases and at least some desired resultant states associated therewith; supplying said test cases in a recorded sequence to a hardware accelerator (70, 200) operable to generate simulated system states in response to said test cases; comparing said desired resultant states against corresponding system states generated by said hardware accelerator (70, 200); periodically interrupting said hardware accelerator (70, 200) and storing a system checkpoint state associated with said hardware accelerator at said times of interruption; interrupting said hardware accelerator (70, 200) in the event of comparison failure; resetting said hardware accelerator (70, 200), upon said comparison failure, to a previously stored checkpoint state and operating said hardware accelerator, using the same specified sequence of test cases, for a time sufficient to bring said hardware accelerator to a state existing prior to the state corresponding to said comparison failure; invoking a software simulator which is initially set to said prior existing state in said hardware accelerator (70, 200) and which is provided with recorded test cases supplied to said hardware accelerator (70, 200); and storing resultant states generated by said software simulator to provide a more finely resolved sequence of states than that produced by said periodically interrupted hardware accelerator (70, 200).
Claim 2
Dependent Claim 34 words
The method of claim 1 further including the step of restarting said hardware accelerator (70, 200) at the hardware accelerator state that existed at the time of the interruption occasioned by said comparison failure.
Claim 3
Dependent Claim 25 words
The method of claim 1 further including the step of restarting said hardware accelerator (70, 200) at a hardware accelerator state unrelated to prior states.
Claim 4
Dependent Claim 25 words
The method of claim 1 further including, after said periodic interruption, the step of storing the inputs to a partition of said digital logic circuit.
Claim 5
Dependent Claim 18 words
The method of claim 4 in which said invoked software simulator operates independently on stored partition input data.
Claim 6
Dependent Claim 37 words
The method of claim 1 in which the frequency of the periodic interruption of said hardware accelerator (70, 200) is selected to balance the relative computational loads of said hardware accelerator (70, 200) and said software simulator.
Claim 7
Independent Claim 111 words
A method for operating a hardware accelerator (70, 200) and software simulator in conjunction with one another in such a way that periodically saved hardware accelerator (70, 200) states are used to restart said accelerator after interruption of said accelerator as a result of a mismatch between desired resultant states and actual accelerator states, said hardware accelerator (70, 200) being allowed to run after said restart for a time sufficient to correspond to a state existing prior to said mismatch where upon accelerator state data is transferred to said software simulator for detailed trace data generation, said hardware accelerator (70, 200) and said software simulator operating to simulate the same model.
Claim 8
Dependent Claim 17 words
The method of claim 7 further including the step of restarting of said hardware accelerator (70, 200).
Claim 9
Dependent Claim 34 words
The method of claim 8 in which said hardware accelerator (70, 200) is restarted at the state that existed at the time said hardware accelerator was halted as a result of said comparison failure.
Claim 10
Dependent Claim 24 words
The method of claim 7 further including the step of restarting said accelerator at a hardware accelerator (70, 200) state unrelated to prior states.
Claim 11
Dependent Claim 23 words
The method of claim 7 further including, after said periodic interruption, the step of storing the inputs to a partition of said circuit.
Claim 12
Dependent Claim 18 words
The method of claim 10 in which said invoked software simulator operates independently on stored partition input data.
Claim 13
Independent Claim 229 words
An apparatus for performing simulation of a digital logic circuit, said apparatus comprising: means (64) for storing test case data and at least some desired resultant state data associated therewith: host processor means (60) including software simulation programming means (66) for performing simulations of a model of said digital logic circuit; hardware accelerator (70) operable to simulate the same model of said digital logic circuit; communication and storage means (64) for transferring test case data to said hardware accelerator (70), for periodically interrupting said hardware accelerator (70, 200) and for receiving and storing resultant data which is indicative of its state from said hardware accelerator (70); comparison means (62) for comparing said resultant data with said expected resultant states and for generating a comparison failure signal in the event of a comparison mismatch; control means (68) for receiving said failure signal and, in response thereto, for halting the operation of said hardware accelerator (70), for transferring checkpoint data serving to provide new starting state data to said hardware accelerator (70) and for causing said hardware accelerator (70) to operate for a time, using said new state data, sufficient to bring said hardware accelerator (70) to a state existing prior to the state corresponding to said comparison failure and for transferring said prior existing state data to said host processor (60) for processing by said software simulation programming means (66).
Claim 14
Dependent Claim 39 words
The apparatus of claim 13 in which said control means (68) is further operable to cause the transfer of state data for said hardware accelerator (70) at the time it is halted, to said communication and storage means (64).
Claim 15
Dependent Claim 48 words
The apparatus of claim 14 in which said control means (68) is further operable to transfer to said hardware accelerator (70) state data corresponding to the state of said hardware accelerator (70) that existed when halted by said control means (68) and for restarting said hardware accelerator (70).

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag