HEMLOCK: HEterogeneous ModeL Of Computation Kernel for SystemC

As SystemC gains popularity as a System Level Design Language (SLDL) for SystemOn-Chip (SOC) designs, heterogeneous modelling and efficient simulation become increasingly important. The key in making an SLDL heterogeneous is the facility to express different Models Of Computation (MOC). Currently, all SystemCmodels employ a Discrete-Event simulation kernel making it difficult to express most MOCs without specific designer guidelines. This often makes it unnatural to express different MOCs in SystemC. For the simulation framework, this sometimes results in unnecessary delta cycles formodels away from theDiscrete-EventMOC, hindering the simulation performance of themodel. Our goal is to extend SystemC’s simulation framework to allow for better modelling expressiveness and efficiency for the Synchronous Data Flow (SDF) MOC. The SDFMOC follows a paradigmwhere the production and consumption rates of data by a function block are known a priori. These systems are common in Digital Signal Processing applications where relative sample rates are specified for every component. Knowledge of these rates enables the use of static scheduling. When compared to dynamic scheduling of SDFmodels, we experience a noticeable improvement in simulation efficiency. We implement an extension to the SystemC kernel that exploits such static scheduling for SDF models and propose designer style guidelines for modelers to use this extension. The modelling paradigm becomes more natural to SDF which results to better simulation efficiency. We will distribute our implementation to the SystemC community to demonstrate that SystemC can be a heterogeneous SLDL.

[1]  Luciano Lavagno,et al.  Models of computation for embedded system design , 1999 .

[2]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[3]  Sandeep K. Shukla,et al.  Interoperability as a design issue in C++ based modeling environments , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[4]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[5]  Edward A. Lee,et al.  Software Synthesis from Dataflow Graphs , 1996 .

[6]  Sandeep K. Shukla,et al.  Concurrency in System Level Design: Conflict Between Simulation and Synthesis Goals , 2002, IWLS.

[7]  Hiren D. Patel,et al.  Systematic abstractions of microprocessor RTL models to enhance simulation efficiency , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

[8]  P. Kachroo,et al.  Stochastic learning feedback hybrid automata for power management in embedded systems , 2003, Proceedings of the 2003 IEEE International Workshop on Soft Computing in Industrial Applications, 2003. SMCia/03..

[9]  Edward A. Lee,et al.  Comparing models of computation , 1996, Proceedings of International Conference on Computer Aided Design.

[10]  James R. Armstrong,et al.  PROGRESS : PROcess GRaph For Embedded Systems and Software : Combining Top-down and Bottom-up System Design Methodology , 2003 .

[11]  Sandeep K. Shukla,et al.  Automated concurrency re-assignment in high level system models for efficient system-level simulation , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[12]  Sandeep K. Shukla,et al.  Efficient simulation of synthesis-oriented system level designs , 2002, 15th International Symposium on System Synthesis, 2002..

[13]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[14]  David R. Keppel,et al.  Tools and Techniques for Building Fast Portable Threads Packages , 1993 .

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

[16]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

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

[18]  Axel Jantsch,et al.  Modeling embedded systems and SoCs - concurrency and time in models of computation , 2003, The Morgan Kaufmann series in systems on silicon.

[19]  Gérard P. Huet,et al.  An Algorithm to Generate the Basis of Solutions to Homogeneous Linear Diophantine Equations , 1978, Inf. Process. Lett..

[20]  T. Erbes,et al.  Stochastic learning feedback hybrid automata for dynamic power management in embedded systems , 2003, Proceedings of the 2005 IEEE Midnight-Summer Workshop on Soft Computing in Industrial Applications, 2005. SMCia/05..

[21]  Michael Clausen,et al.  Efficient Solution of Linear Diophantine Equations , 1989, J. Symb. Comput..

[22]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[23]  Sandeep K. Shukla,et al.  Towards a heterogeneous simulation kernel for system-level models: a SystemC kernel for synchronous data flow models , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[24]  B. Hamber Publications , 1998, Weed Technology.

[25]  Francisco Javier,et al.  Refining a high level systemC model , 2003 .

[26]  Sandeep K. Shukla,et al.  Efficient Usage of Concurrency Models in an Object-Oriented Co-design Framework , 2001 .