Symbolic Scheduling of SystemC Dataflow Designs

In this chapter, we propose a quasi-static scheduling (QSS) method applicable to SystemC dataflow designs. QSS determines a schedule where several static schedules are combined in a dynamic schedule. This, among others, reduces runtime overhead. QSS is done by performing as much static scheduling as possible at compile time, and only treating data-dependent control flow as runtime decision. Our approach improves known quasi-static approaches in a way that it is automatically applicable to real world designs, and has less restrictions on the underlying model. The effectiveness of the approach based on symbolic computation is demonstrated by scheduling a SystemC design of a network packet filter.

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

[2]  Luciano Lavagno,et al.  Quasi-Static Scheduling of Embedded Software Using Equal Conflict Nets , 1999, ICATPN.

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

[4]  Fernando Herrera,et al.  Systemic Embedded Software Generation from SystemC , 2003, DATE.

[5]  Christian Haubelt,et al.  Classification of General Data Flow Actors into Known Models of Computation , 2008, 2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design.

[6]  Sandeep K. Shukla,et al.  A rule-based model of computation for SystemC: integrating SystemC and Bluespec for co-design , 2006, Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2006. MEMOCODE '06. Proceedings..

[7]  Shuvra S. Bhattacharyya,et al.  Quasi-static scheduling of reconfigurable dataflow graphs for DSP systems , 2000, Proceedings 11th International Workshop on Rapid System Prototyping. RSP 2000. Shortening the Path from Specification to Prototype (Cat. No.PR00668).

[8]  Sandeep K. Shukla,et al.  SystemC Kernel extensions for heterogeneous system modeling - a framework for multi-MoC modeling and simulation , 2004 .

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

[10]  Christian Haubelt,et al.  A SystemC-Based Design Methodology for Digital Signal Processing Systems , 2007, EURASIP J. Embed. Syst..

[11]  Wolfgang Rosenstiel,et al.  SystemC: methodologies and applications , 2003 .

[12]  Luciano Lavagno,et al.  Synthesis of embedded software using free-choice Petri nets , 1999, DAC '99.

[13]  Fernando Herrera,et al.  A framework for embedded system specification under different models of computation in SystemC , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[14]  Karsten Strehl,et al.  Symbolic methods applied to formal verification and synthesis in embedded systems design , 2000 .

[15]  E.A. Lee,et al.  A comparison of synchronous and cycle-static dataflow , 1995, Conference Record of The Twenty-Ninth Asilomar Conference on Signals, Systems and Computers.

[16]  Jürgen Teich,et al.  Scheduling hardware/software systems using symbolic techniques , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[17]  Pao-Ann Hsiung,et al.  Synthesis of real-time embedded software by timed quasi-static scheduling , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[18]  Karsten Strehl Interval diagrams: increasing efficiency of symbolic real-time verification , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[19]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[20]  Jürgen Teich,et al.  FunState-an internal design representation for codesign , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[21]  Edward A. Lee,et al.  Actor-Oriented Design of Embedded Hardware and Software Systems , 2003, J. Circuits Syst. Comput..

[22]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[23]  Alan J. Hu,et al.  Efficient Verification with BDDs using Implicitly Conjoined Invariants , 1993, CAV.