Efficient combinational loops handling for cycle precise simulation of system on a chip

As system integration becomes a reality the need for efficient, core based, simulators is pressing. Different levels of simulation accuracy/fidelity are necessary during system design. Naturally, a system is defined as a set of communicating finite state machines. In this work, we present a cycle precise simulator that is able to efficiently handle combinational loops existing between the FSMs. We devise a strategy that ensures that the blocks that do not belong to a combinational loop will be evaluated only once per cycle, and that the order of the components within a loop tends to minimize the number of iterations required to achieve stability. We express the problem in a graph theoretic manner, and propose a set of steps to obtain a valid schedule.

[1]  Frank Harary,et al.  Graph Theory , 2016 .

[2]  Glenn Jennings A case against event-driven simulation for digital system design , 1991 .

[3]  Mario De Blasi Computer architecture , 1990, International computer science series.

[4]  R. Glover,et al.  Challenges in worldwide IP reuse , 1997, Proceedings of the 34th Design Automation Conference.

[5]  Jianwen Zhu,et al.  Specification and Design of Embedded Systems , 1998, Informationstechnik Tech. Inform..

[6]  Shimon Even,et al.  Graph Algorithms , 1979 .

[7]  Alain Greiner,et al.  Cycle precise core based hardware/software system simulation with predictable event propagation , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[8]  Kai Hwang,et al.  Advanced computer architecture - parallelism, scalability, programmability , 1992 .

[9]  Jerry Banks Introduction to simulation , 1999, WSC '99.

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  M. Ray Mercer,et al.  Demand Driven Simulation: BACKSIM , 1987, 24th ACM/IEEE Design Automation Conference.