MC-Sim: An efficient simulation tool for MPSoC designs

The ability to integrate diverse components such as processor cores, memories, custom hardware blocks and complex network-on-chip (NoC) communication frameworks onto a single chip has greatly increased the design space available for system-on-chip (SoC) designers. Efficient and accurate performance estimation tools are needed to assist the designer in making design decisions. In this paper, we present MC-Sim, a heterogeneous multi-core simulator framework which is capable of accurately simulating a variety of processor, memory, NoC configurations and application specific coprocessors. We also describe a methodology to automatically generate fast, cycle-true behavioral, C-based simulators for coprocessors using a high-level synthesis tool and integrate them with MC-Sim, thus augmenting it with the capacity to simulate coprocessors. Our C-based simulators provide on an average 45x improvement in simulation speed over that of RTL descriptions. We have used this framework to simulate a number of real-life applications such as the MPEG4 decoder and litho-simulation, and experimented with a number of design choices. Our simulator framework is able to accurately model the performance of these applications (only 7% off the actual implementation) and allows us to explore the design space rapidly and achieve interesting design implementations

[1]  Radu Marculescu,et al.  On-chip communication architecture exploration: A quantitative evaluation of point-to-point, bus, and network-on-chip approaches , 2007, TODE.

[2]  David I. August,et al.  Microarchitectural exploration with Liberty , 2002, MICRO 35.

[3]  Jason Cong,et al.  Platform-Based Behavior-Level and System-Level Synthesis , 2006, 2006 IEEE International SOC Conference.

[4]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[5]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

[6]  Mario Diaz-Nava,et al.  An open platform for developing multiprocessor SoCs , 2005, Computer.

[7]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[8]  Robert J. Fowler,et al.  MINT: a front end for efficient simulation of shared-memory multiprocessors , 1994, Proceedings of International Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[9]  Doug Burger,et al.  An adaptive, non-uniform cache structure for wire-delay dominated on-chip caches , 2002, ASPLOS X.

[10]  Milo M. K. Martin,et al.  Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset , 2005, CARN.

[11]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[12]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[13]  Rainer Leupers,et al.  Architecture exploration for embedded processors with LISA , 2002 .

[14]  Ronald G. Dreslinski,et al.  The M5 Simulator: Modeling Networked Systems , 2006, IEEE Micro.

[15]  Soha Hassoun,et al.  A transaction-based unified simulation/emulation architecture for functional verification , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[16]  Luca Benini,et al.  Legacy SystemC co-simulation of multi-processor systems-on-chip , 2002, Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[17]  Kunle Olukotun,et al.  Niagara: a 32-way multithreaded Sparc processor , 2005, IEEE Micro.

[18]  Sharad Malik,et al.  Orion: a power-performance simulator for interconnection networks , 2002, MICRO.

[19]  Jason Cong,et al.  Lithographic aerial image simulation with FPGA-based hardwareacceleration , 2008, FPGA '08.

[20]  Alberto L. Sangiovanni-Vincentelli,et al.  Software timing analysis using HW/SW cosimulation and instruction set simulator , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[21]  William J. Dally,et al.  Express Cubes: Improving the Performance of k-Ary n-Cube Interconnection Networks , 1989, IEEE Trans. Computers.

[22]  Takeshi Yoshimura,et al.  A fast hardware/software co-verification method for systern-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication , 2004, Proceedings. 41st Design Automation Conference, 2004..

[23]  Franco Fummi,et al.  A Timing-Accurate HW/SW Co-Simulation of an ISS with SystemC , 2004 .

[24]  Sharad Malik,et al.  A disciplined approach to the development of platform architectures , 2002 .

[25]  Shekhar Y. Borkar,et al.  Design challenges of technology scaling , 1999, IEEE Micro.

[26]  Ed F. Deprettere,et al.  The Artemis Architecture Workbench , 2000 .

[27]  Massimo Poncino,et al.  Native ISS-SystemC integration for the co-simulation of multi-processor SoC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[28]  A. Sangiovanni-Vincentelli,et al.  A Next-Generation Design Framework for Platform-Based Design , 2007 .