2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation (2009)
Lake Placid, New York, USA
June 22, 2009 to June 25, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PADS.2009.25
SystemC is a system-level modeling language and simulation framework which facilitates design and verification of processor designs at different levels. Recently, SystemC is becoming a popular choice for designers of both System-On-Chip (SoC) and embedded processors, due to its adaptability at cycle as well as transaction levels, and ability to model concurrent processes. However, the single threaded simulation kernel inherent to SystemC, prevents it from utilizing the potential computing power of symmetric multiprocessing (SMP) machines to speed up hardware simulation. We present a parallel SystemC simulation kernel, which is implemented using parallel programming techniques and leverages the parallel execution capabilities of multi-core machines to speed up hardware simulation. We discuss the mechanism we use for mapping parallel SystemC modules into different cores. Finally we report the performance of the parallelized SystemC kernel using a linear pipelined performance model and a pipelined performance model tailored to exhibit the behavior of real world simulation. Our results demonstrate that the performance improvement obtained by using parallelized SystemC for simulation of the above models is significant and improves with increasing design complexity of the simulated design and the number of cores in the machine running the simulators.
SystemC, TLM, SoC, SMP, OSCI, Core affinity
J. Chandra, E. P, D. Ravi, P. Chandran and B. P. Simon, "Parallelizing SystemC Kernel for Fast Hardware Simulation on SMP Machines," 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation(PADS), Lake Placid, New York, USA, 2009, pp. 80-87.