Framework for cycle accurate simulation
AssigneeXilinx, Inc.
InventorsJorge Ernesto Carrillo, Satish R. Ganesan, Amit Kasat, Sivakumar Velusamy
Life of this patent
Estimating the term…
Abstract
A system for performing cycle accurate simulation of a circuit design can include a plurality of cycle accurate models, wherein each cycle accurate model is a software object representation of a hardware function, and a scheduler configured to execute each cycle accurate model at clock cycle boundaries determined during a simulation session.
Claims20
A system for performing cycle accurate simulation of a circuit design comprising:
- a computer executing program code, wherein the computer:
- identifies a plurality of cycle accurate models, wherein each cycle accurate model is a software object representation of a hardware function;
- executes a scheduler, wherein the scheduler:
- executes each said cycle accurate model at clock cycle boundaries during a simulation session in an order that is independent of dependencies among individual ones of the plurality of cycle accurate models;
- first determines, during the cycle accurate simulation, whether at least one of the plurality of cycle accurate models indicates a conflict relating to execution order between at least two of the plurality of cycle accurate models according to whether each cycle accurate model returns a flag, wherein the scheduler does not track data dependencies among cycle accurate models other than identifying whether a flag is returned in consequence of executing the plurality of cycle accurate models;
- and
- calls an asynchronous output function of each of the plurality of cycle accurate models for a selected clock cycle boundary of the simulation until each asynchronous output function indicates that no conflict exists.
A computer-implemented method of cycle accurate simulation for a circuit design, said method comprising:
- monitoring a current simulation time during a simulation session to identify individual clock cycles of a clock source;
- selecting cycle accurate models that are driven by the clock source;
- executing the selected cycle accurate models on a per clock cycle basis in an order that is independent of dependencies among individual ones of the selected cycle accurate models;
- first identifying a conflict between a plurality of the selected cycle accurate models during simulation at a selected clock cycle according to whether a flag is generated by execution of at least one of the plurality of selected cycle accurate models;
- and
- within the selected simulation clock cycle, continuously calling an asynchronous output function for at least one of the plurality of selected cycle accurate models until no conflict exists.
A machine readable storage, having stored thereon a computer program having a plurality of code sections that, when executed by a computer, cause the computer to perform a plurality of steps, said machine readable storage comprising:
- code for monitoring a current simulation time during a simulation session to identify individual clock cycles of a clock source;
- code for selecting cycle accurate models that are driven by the clock source;
- code for executing the selected cycle accurate models on a per clock cycle basis in an order that is independent of dependencies among individual ones of the selected cycle accurate models;
- code for first identifying a conflict between a plurality of the selected cycle accurate models during simulation at a selected clock cycle according to whether a flag is generated by execution of at least one of the plurality of cycle accurate models;
- and
- code for, within the selected simulation clock cycle, continuously calling an asynchronous output function for at least one of the plurality of selected cycle accurate models until no conflict exists.
Dependencies are inferred from the claim text.