Synthesis and optimization of high-level stream programs

In this paper we address the problem of translating high-level stream programs, such as those written in MPEG's RVC-CAL dataflow language, into implementations in programmable hardware. Our focus is on two aspects: sufficient language coverage to make synthesis available for a large class of programs, and methodology and tool support providing analysis and guidance to improve and optimize an initial implementation. Our main results are (1) a synthesis tool that for the first time translates a complete and unmodified MPEG reference implementation into a working hardware description, and (2) a suite of profiling and analysis tools that analyze the structure of computation weighted by data obtained from the synthesis process, and accurately pinpoint parts of the program that are targets for optimization.

[1]  Edward A. Lee,et al.  Dataflow process networks , 2001 .

[2]  Theodore D. Friedman,et al.  Methods Used in an Automatic Logic Design Generator (ALERT) , 1969, IEEE Transactions on Computers.

[3]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[4]  Jörn W. Janneck,et al.  TURNUS: A design exploration framework for dataflow system design , 2013, 2013 IEEE International Symposium on Circuits and Systems (ISCAS2013).

[5]  Mickaël Raulet,et al.  Automatic generation of synthesizable hardware implementation from high level RVC-cal description , 2012, 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[6]  Ghislain Roquier,et al.  Methods to explore design space for MPEG RMC codec specifications , 2013, Signal Process. Image Commun..

[7]  Ghislain Roquier,et al.  Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study , 2008, SiPS.

[8]  Jack B. Dennis,et al.  First version of a data flow procedure language , 1974, Symposium on Programming.

[9]  Jörn W. Janneck,et al.  Profiling dataflow programs , 2008, 2008 IEEE International Conference on Multimedia and Expo.

[10]  Johan Eker,et al.  CAL language report: Specification of the CAL actor language , 2003 .

[11]  Mickaël Raulet,et al.  A unified hardware/software co-synthesis solution for signal processing systems , 2011, Proceedings of the 2011 Conference on Design & Architectures for Signal & Image Processing (DASIP).

[12]  Daniel P. Siewiorek,et al.  Automated exploration of the design space for register transfer (RT) systems , 1973, ISCA '73.