IP Library Granted Patent US 9,471,727
Granted Patent B2
US 9,471,727 · App. 13/974,735 · Granted Oct 18, 2016

Simulation with dynamic run-time accuracy adjustment

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 9,471,727
App. No.
13/974,735
Granted
Oct 18, 2016
Kind
B2
Abstract

Systems and methods for simulation with dynamic run-time accuracy adjustment. In one embodiment, a first portion of a sequence of software instruction is simulated by a first simulation model, during a simulation. During the same simulation, a second portion of the sequence is simulated by a second simulation model. State information may be transferred from the first simulation model to the second simulation model. A change from simulating the first portion of a sequence of software instructions by the first simulation model to simulating the second portion of the sequence by the second simulation model may be made responsive to a computer-based determination of an advantage obtained by the change.

Claims (36)

1. A computer implemented simulation method comprising:

during a simulation, simulating a first portion of a sequence of instructions by a first simulation model of a processor;

during the simulation, receiving an accuracy control input from a debugger and switching from the first simulation model of the processor to a second simulation model of the processor responsive to the accuracy control input from the debugger, the second simulation model providing a different simulation speed and accuracy than the first simulation model; and

during the simulation, simulating a second portion of the sequence of instructions by the second simulation model of the processor upon switching from the first simulation model to the second simulation model.

2. The method of claim 1 , wherein the first simulation model is a cycle accurate simulation model of the processor and the second simulation model is an instruction accurate simulation model of the processor, the simulation switched from cycle accurate simulation model to the instruction accurate simulation model responsive to the accuracy control input.

3. The method of claim 1 , wherein the first simulation model is an instruction accurate simulation model of the processor and the second simulation model is a cycle accurate simulation model of the processor, the simulation switched from the instruction accurate simulation model to the cycle accurate simulation model responsive to the accuracy control input.

4. The method of claim 1 , further comprising:

transferring state information from the first simulation model of the processor to the second simulation model of the processor when switching from the first simulation model of the processor to the second simulation model of the processor.

5. The method of claim 4 , wherein the transferred state information comprises all state variables of the first simulation model.

6. The method of claim 4 , wherein the transferred state information comprises less than all state variables of the first simulation model.

7. The method of claim 4 , wherein transferring the state information comprises:

tracking changed states in the state information of the first simulation model; and

transferring the changed states of the state information to the second simulation model.

8. The method of claim 4 , further comprising:

storing a history of events that change state; and

upon switching from the first simulation model to the second simulation model, replaying the history of events that change state in the second simulation model.

9. The method of claim 1 , wherein the accuracy control input corresponds to a user selected setting.

10. The method of claim 1 , wherein the first simulation model is switched to the second simulation model at a point in simulation when operating system initialization is complete.

11. A computer storing logic that is executed by the computer to:

during a simulation, simulate a first portion of a sequence of instructions by a first simulation model of a processor;

during the simulation, receive an accuracy control input from a debugger and switching from the first simulation model of the processor to a second simulation model of the processor responsive to the accuracy control input from the debugger, the second simulation model providing a different simulation speed and accuracy than the first simulation model; and

during the simulation, simulate a second portion of the sequence of instructions by the second simulation model of the processor upon switching from the first simulation model to the second simulation model.

12. The computer of claim 11 , wherein the first simulation model is a cycle accurate simulation model of the processor and the second simulation model is an instruction accurate simulation model of the processor, the simulation switched from cycle accurate simulation model to the instruction accurate simulation model responsive to the accuracy control input.

13. The computer of claim 11 , wherein the first simulation model is an instruction accurate simulation model of the processor and the second simulation model is a cycle accurate simulation model of the processor, the simulation switched from the instruction accurate simulation model to the cycle accurate simulation model responsive to the accuracy control input.

14. The computer of claim 11 , wherein the logic is further executed to:

transfer state information from the first simulation model of the processor to the second simulation model of the processor when switching from the first simulation model of the processor to the second simulation model of the processor.

15. The computer of claim 14 , wherein the transferred state information comprises all state variables of the first simulation model.

16. The computer of claim 14 , wherein the transferred state information comprises less than all state variables of the first simulation model.

17. The computer of claim 14 , wherein transferring the state information comprises:

tracking changed states in the state information of the first simulation model; and

transferring the changed states of the state information to the second simulation model.

18. The computer of claim 14 , wherein the logic is further executed to:

store a history of events that change state; and

upon switching from the first simulation model to the second simulation model, replay the history of events that change state in the second simulation model.

19. The computer of claim 11 , wherein the accuracy control input corresponds to a user selected setting.

20. The computer of claim 11 , wherein the first simulation model is switched to the second simulation model at a point in simulation when operating system initialization is complete.

Assignments (3)
CERTIFICATE OF CONVERSION Recorded Sep 20, 2016
From: COWARE, INC.
To: COWARE, LLC
Reel/Frame 040090/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2016
From: VAN ROMPAEY, KARL; WIEFERINK, ANDREAS
To: COWARE, INC.
Reel/Frame 039805/0003 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2016
From: COWARE, LLC
To: SYNOPSYS, INC.
Reel/Frame 039805/0054 →