Simulation of software
AssigneeCarbon Design Systems, Inc.
InventorsMark Seneski, Richard Sayde, Joshua D. Marantz, Richard J. Cloutier, Dylan Dobbyn, William E. Neifert
Life of this patent
Estimating the term…
Abstract
Systems and methods facilitate accurate and rapid simulation of software by periodically saving simulation states and design stimuli for use as a replay model. Divergences from the stored information may be detected during subsequent re-executions, which can in turn be run using the saved stimuli and states.
Claims19
A method for debugging hardware-related software, the method comprising the steps of:
- during a first execution of the software, periodically saving to a file (i) input/output information comprising hardware stimuli and responses resulting from processing the stimuli and (ii) hardware state information;
- re-executing the software until a divergence is detected between the saved stimuli and stimuli presented during the re-execution;
- using the saved input/output information and hardware state information, initiating a subsequent re-execution of the software starting at an intermediate execution point prior to where the divergence was detected;
- and
- debugging the software based at least in part based on the subsequent re-execution.
A computer program product embodied on a computer-readable medium and comprising computer code for facilitating debugging hardware-related software, the code comprising instructions for:
- during a first execution of the software, periodically saving to a file (i) input/output information comprising hardware stimuli and outputs resulting from processing the stimuli and (ii) hardware state information;
- re-executing the software until a divergence is detected between the saved stimuli and stimuli presented during the re-execution;
- and
- using the saved input/output information and hardware state information, initiating a subsequent re-execution of the hardware starting at an execution point prior to where the divergence was detected.
A system for facilitating debugging hardware-related software, the system comprising:
- a storage device for storing input/output information comprising hardware stimuli and outputs resulting from processing the stimuli and hardware state information;
- an application programming interface for:
- (i) periodically saving the input/output information and the hardware state information during executions of the software;
- (ii) detecting a divergence between the saved stimuli and stimuli presented during a re-execution of the hardware;
- and
- (iii) initiating a subsequent re-execution of the hardware starting at an execution point prior to where the divergence was detected using the using the saved input/output information and hardware state information.
Dependencies are inferred from the claim text.