< retour aux publications

Synchronization of Continuous Time and Discrete Events Simulation in SystemC

Auteur(s) : B.J. Fernandez-Mesa, L.-L. Andrade Porras, F. Pétrot

Journal : IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems

Doi : 10.1109/TCAD.2020.3019204

Modeling and simulation of cyber-physical devices is difficult because of their heterogeneity: they mix discrete event hardware and software with continuous time physical processes. Discrete events simulation progresses by discrete timesteps while continuous time simulation does so in a time continuum; despite different time representations, data must be transmitted between both domains at precise points in time. Synchronizing these domains in an efficient and accurate manner is the core problem of continuous time and discrete events simulation. As a design tool, SystemC AMS introduces a synchronization strategy based on fixed timesteps that proves useful for a large set of use cases. But this strategy generates inaccuracies that cannot be overcome without penalizing simulation speed. In this paper, we propose a new continuous time and discrete events synchronization algorithm on top of the SystemC framework and prove its causality, completeness and liveness. We also propose an adaptive algorithm to adjust the synchronization step to provide near to optimum simulation speed. We test our solution with three demanding case studies that include non-linear equations, Zeno behavior, and high sensitivity to accuracy errors. Results show that our algorithm circumvents these challenges, attains high accuracy with respect to established tools, and improves simulation speed. This work aims at enlarging the modeling and simulation capabilities of SystemC as a heterogeneous design tool.