Journal of Real-Time Image Processing

, Volume 9, Issue 1, pp 251–262 | Cite as

High-level dataflow design of signal processing systems for reconfigurable and multicore heterogeneous platforms

  • Endri BezatiEmail author
  • Richard Thavot
  • Ghislain Roquier
  • Marco Mattavelli
Special Issue


The potential computational power of today multicore processors has drastically improved compared to the single processor architecture. Since the trend of increasing the processor frequency is almost over, the competition for increased performance has moved on the number of cores. Consequently, the fundamental feature of system designs and their associated design flows and tools need to change, so that, to support the scalable parallelism and the design portability. The same feature can be exploited to design reconfigurable hardware, such as FPGAs, which leads to rethink the mapping of sequential algorithms to HDL. The sequential programming paradigm, widely used for programming single processor systems, does not naturally provide explicit or implicit forms of scalable parallelism. Conversely, dataflow programming is an approach that naturally provides parallelism and the potential to unify SW and HDL designs on heterogeneous platforms. This study describes a dataflow-based design methodology aiming at a unified co-design and co-synthesis of heterogeneous systems. Experimental results on the implementation of a JPEG codec and a MPEG 4 SP decoder on heterogeneous platforms demonstrate the flexibility and capabilities of this design approach.


Dataflow FPGA HW/SW co-design Co-synthesis Multicore computing Openforge ORCC RVC-CAL 


  1. 1.
    De Micheli, G.: Hardware synthesis from C/C++ models. In: Proceedings of Design, Automation and Test in Europe Conference and Exhibition, pp. 382–383 (1999)Google Scholar
  2. 2.
    Gupta, R., De Micheli, G.: Hardware–software cosynthesis for digital systems. Des. Test Comput. IEEE 10, 29–41 (1993)CrossRefGoogle Scholar
  3. 3.
    Kalavade, A., Lee, E.: A hardware–software codesign methodology for DSP applications. Des. Test Comput. IEEE 10, 16–28 (1993)CrossRefGoogle Scholar
  4. 4.
    Balarin, F., Chiodo, M., Giusto, P., Hsieh, H., Jurecska, A., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A., Sentovich, E., Suzuki, K., Tabbara, B.: Hardware–software co-design of embedded systems: the POLIS approach. Kluwer, Norwell (1997)Google Scholar
  5. 5.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21, 666–677 (1978)CrossRefzbMATHGoogle Scholar
  6. 6.
    Dennis, J.B.: First version of a data flow procedure language. In: Symposium on Programming, pp. 362–376 (1974)Google Scholar
  7. 7.
    Kahn, G.: The Semantics of simple language for parallel programming. In: IFIP Congress, pp. 471–475 (1974)Google Scholar
  8. 8.
    Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., Deprette, E.: System design using Khan process networks: the Compaan/Laura approach. In: Proceedings of Design, Automation and Test in Europe Conference and Exhibition, vol. 1, pp. 340–345 (2004)Google Scholar
  9. 9.
    Ha, S., Kim, S., Lee, C., Yi, Y., Kwon, S., Joo, Y.-P.: Peace: a hardware–software codesign environment for multimedia embedded systems. ACM Trans. Des. Autom. Electron. Syst. 12, 24:1–24:25 (2008)Google Scholar
  10. 10.
    Keinert, J., Streubühr, M., Schlichter, T., Falk, J., Gladigau, J., Haubelt, C., Teich, J., Meredith, M.: SystemCoDesigner—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans. Des. Autom. Electron. Syst. 14, 1:1–1:23 (2009)Google Scholar
  11. 11.
    Eker, J., Janneck, J.: CAL Language Report, Tech. Rep. ERL Technical Memo UCB/ERL M03/48, University of California at Berkeley (2003)Google Scholar
  12. 12.
    Ersfolk, J., Roquier, G., Jokhio, F., Lilius, J., Mattavelli, M.: Scheduling of dynamic dataflow programs with model checking. In: IEEE Workshop on Signal Processing Systems (SiPS), pp. 37–42 (2011)Google Scholar
  13. 13.
    Ersfolk, J., Roquier, G., Lilius, J., Mattavelli, M.: Scheduling of dynamic dataflow programs based on state space analysis. In: IEEE Workshop on International Conference on Acoustics, Speech, and Signal Processing (ICASSP) (2012)Google Scholar
  14. 14.
    Janneck, J.: A machine model for dataflow actors and its applications. In: 45th Annual Asilomar Conference on Signals, Systems, and Computers (2011)Google Scholar
  15. 15.
    Lucarz, C.: Dataflow programming for systems design space exploration for multicore platforms. PhD thesis, Lausanne, (2011)Google Scholar
  16. 16.
    Ab Rahman, A.A.-H., Prihozhy, A., Mattavelli, M.: Pipeline synthesis and optimization of FPGA-based video processing applications with CAL. EURASIP J. Image Video Process. 2011(1), 19 (2011)CrossRefGoogle Scholar
  17. 17.
    Pelcat, M., Nezan, J., Piat, J., Croizer, J., Aridhi, S.: A system-level architecture model for rapid prototyping of heterogeneous multicore embedded systems. In: Conference on Design and Architectures for Signal and Image Processing (DASIP) (2009)Google Scholar
  18. 18.
    Lee, E.A., Messerschmitt, D.G.: Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Comput. 36(1), 24–35 (1987)CrossRefzbMATHGoogle Scholar
  19. 19.
    Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.: Cyclo-static data flow. In: International Conference on Acoustics, Speech, and Signal Processing (ICASSP-95), vol. 5, pp. 3255–3258 (1995)Google Scholar
  20. 20.
    Lee, E., Parks, T.: Dataflow process networks. Proc. IEEE 83, 773–801 (1995)CrossRefGoogle Scholar
  21. 21.
    Janneck, J., Miller, I., Parlour, D., Roquier, G., Wipliez, M., Raulet, M.: Synthesizing hardware from dataflow programs: an MPEG-4 simple profile decoder case study. J. Signal Process. Syst. 63(2), 241–249 (2009). doi: 10.1007/s11265-009-0397-5 Google Scholar
  22. 22.
    Eker, J., Janneck, J.W.: A structured description of dataflow actors and its applications. Tech. Rep. UCB/ERL M03/13, EECS Department, University of California, Berkeley (2003)Google Scholar
  23. 23.
    Wipliez, M., Raulet, M.: Classification and transformation of dynamic dataflow programs. In: Conference on Design and Architectures for Signal and Image Processing (DASIP), pp. 303–310 (2010)Google Scholar
  24. 24.
    Wipliez, M., Roquier, G., Nezan, J.-F.: Software code generation for the RVC-CAL language. J. Signal Process. Syst. 63(2), 203–213 (2009). doi: 10.1007/s11265-009-0390-z Google Scholar
  25. 25.
    Amer, I., Lucarz, C., Roquier, G., Mattavelli, M., Raulet, M., Nezan, J.-F., Déforges, O.: Reconfigurable video coding on multicore. IEEE Signal Process. Mag. 26, 113–123 (2009)CrossRefGoogle Scholar
  26. 26.
    I. 23001-4:2009: Information technology—MPEG systems technologies—Part 4: Codec configuration representation (2009)Google Scholar
  27. 27.
    Liu, W., Gu, Z., Xu, J., Wang, Y., Yuan, M.: An efficient technique for analysis of minimal buffer requirements of synchronous dataflow graphs with model checking. In: Proceedings of the 7th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS ’09), New York, NY, USA, pp. 61–70. ACM (2009)Google Scholar
  28. 28.
    Coffman, E.G.: Computer and Job Shop Scheduling Theory. Wiley, New York (1976)Google Scholar
  29. 29.
    Lee, E., Ha, S.: Scheduling strategies for multiprocessor real-time DSP. In: Global Telecommunications Conference (GLOBECOM ’89), vol. 2, pp. 1279–1283. IEEE (1989)Google Scholar
  30. 30.
    Casale Brunet, S., Mattavelli, M., Janneck, J.: Profiling of dataflow programs using post mortem causation traces. In: IEEE Workshop on Signal Processing Systems (2012, in press)Google Scholar
  31. 31.
    Gu, R., Janneck, J. W., Raulet, M., Bhattacharyya,S.S.: Exploiting statically schedulable regions in dataflow programs. In: Proceedings of the 2009 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP’09), Washington, DC, USA, pp. 565–568. IEEE Computer Society (2009)Google Scholar
  32. 32.
    Bunt,R.B., Hume, J.N.P.: A simulation study of a demand-driven scheduling algorithm. In: Proceedings of the 3rd symposium on Simulation of computer systems (ANSS’75), Piscataway, NJ, USA, pp. 117–126. IEEE Press (1975)Google Scholar
  33. 33.
    The Open RVC-CAL Compiler Suite.
  34. 34.
    Bezati, E., Yviquel, H., Raulet, M., Mattavelli, M.: A unified hardware/software co-synthesis solution for signal processing systems. In: Conference on Design and Architectures for Signal and Image Processing (DASIP), pp. 1–6 (2011)Google Scholar
  35. 35.
  36. 36.
  37. 37.
    Carlsson, A.; Eker, J.; Olsson, T.; von Platen, C.: Scalable parallelism using dataflow programming. In: Ericson Review. (2011)

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Endri Bezati
    • 1
    Email author
  • Richard Thavot
    • 1
  • Ghislain Roquier
    • 1
  • Marco Mattavelli
    • 1
  1. 1.EPFL SCI-STI-MMLausanneSwitzerland

Personalised recommendations