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).