Journal of Signal Processing Systems

, Volume 90, Issue 1, pp 127–144 | Cite as

Efficient System-Level Hardware Synthesis of Dataflow Programs Using Shared Memory Based FIFO

HEVC Decoder Case Study
  • Mariem Abid
  • Khaled Jerbi
  • Mickaël Raulet
  • Olivier Déforges
  • Mohamed Abid


The purpose of this paper is to raise the level of abstraction in the design of embedded systems to the system-level. A novel design flow was proposed that enables an efficient hardware implementation of video processing applications described using a Domain-Specific Language (DSL) for dataflow programming. Despite the huge advancements in High-Level Synthesis (HLS) for Field-Programmable Gate Arrays (FPGAs), designers are still required to have detailed knowledge about coding techniques and the targeted architecture to achieve efficient solutions. Moreover, the main downside of the High-Level Synthesis (HLS) tools is the lack of the entire system consideration. As a remedy, in this work, we propose a design flow that combines a dataflow compiler for generating C-based High-Level Synthesis (HLS) descriptions from a dataflow description and a C-to-gate synthesizer for generating Register Transfer Level (RTL) descriptions. The challenge of implementing the communication channels of dataflow programs relying on Model of Computations (MoC) in Field-Programmable Gate Array (FPGA) is the minimization of the communication overhead. In this issue, we introduced a new interface synthesis approach that maps the large amounts of data that multimedia and image processing applications process, to shared memories on the Field-Programmable Gate Array (FPGA). This leads to a tremendous decrease in the latency and an increase in the throughput. These results were demonstrated upon the hardware synthesis of the emerging High-Efficiency Video Coding (HEVC) standard. Simulation results showed that the proposed implementation has increased throughput by a 5.2× speedup and reduced latency by a 3.8× speedup compared to a state-of-the-art implementation.


Reconfigurable Video Coding (RVC)-CAL Actor Language (CAL) High-Level Synthesis (HLS) Interface Synthesis Random Access Memory (RAM) 


  1. 1.
    Abid, M., Jerbi, K., Raulet, M., Deforges, O., & Abid, M. (2013). System level synthesis of dataflow programs: HEVC decoder case study. In Electronic system level synthesis conference (ESLsyn), 2013 (pp. 1–6).Google Scholar
  2. 2.
    Bezati, E., Mattavelli, M., & Janneck, J. (2013). High-Level Synthesis of dataflow programs for signal processing systems. In 8Th international symposium on image and signal processing and analysis (ISPA 2013).Google Scholar
  3. 3.
    Bezati, E., Yviquel, H., Raulet, M., & Mattavelli, M. (2011). A unified hardware/software co-synthesis solution for signal processing systems. In Conference on design and architecfor signal and image processing (DASIP), 2011 (pp. 1–6). doi: 10.1109/DASIP.2011.6136877.
  4. 4.
    Bhattacharyya, S.S., Eker, J., Janneck, J.W., Lucarz, C., Mattavelli, M., & Raulet, M. (2011). Overview of the MPEG reconfigurable video coding (RVC) framework. Journal of Signal Processing Systems, 63, 251–263.CrossRefGoogle Scholar
  5. 5.
    Bowen, M. Handel-C Language Reference Manual Version 2.1. Embedded Solutions Limited.Google Scholar
  6. 6.
    Coussy, P., Gajski, D.D., Meredith, M., & Takach, A. (2009). An introduction to High-Level synthesis (HLS). IEEE Design & Test of Computers, 26(4), 8–17.CrossRefGoogle Scholar
  7. 7.
    Dennis, J.B. (1974). First version of a data flow procedure language. In Programming symposium, proceedings colloque sur la programmation (pp. 362–376).Google Scholar
  8. 8.
    Eker, J., & Janneck, J.W. (2003). CAL Language report specification of the CAL actor language. Tech. Rep. UCB/ERL m03/48, EECS Department, University of California, Berkeley.Google Scholar
  9. 9.
    Frigo, J., Gokhale, M., & Lavenier, D. (2001). Evaluation of the streams-c c-to-fpga compiler: An applications perspective. In Proceedings of the 2001 ACM/SIGDA ninth international symposium on field programmable gate arrays, FPGA ’01 (pp. 134–140). New York: ACM. doi: 10.1145/360276.360326.
  10. 10.
    Gupta, S., Dutt, N., Gupta, R., & Nicolau, A. (2003). Spark: a high-level synthesis framework for applying parallelizing compiler transformations. In 16th international conference on VLSI design, 2003. Proceedings (pp. 461–466). doi: 10.1109/ICVD.2003.1183177.
  11. 11.
    Janneck, J., Miller, I., Parlour, D., Roquier, G., Wipliez, M., & Raulet, M. (2008). Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study. In IEEE workshop on signal processing systems, 2008. SiPS 2008(pp. 287–292). doi: 10.1109/SIPS.2008.4671777.
  12. 12.
    Jerbi, K., Raulet, M., Deforges, O., & Abid, M. (2012). Automatic generation of synthesizable hardware implementation from high level RVC-cal description. In IEEE international conference on acoustics, speech and signal processing (ICASSP), 2012 (pp. 1597–1600). doi: 10.1109/ICASSP.2012.6288199.
  13. 13.
    Kahn, G. (1974). The semantics of simple language for parallel programming. In IFIP Congress (pp. 471–475).Google Scholar
  14. 14.
    Lee, E.A., & Parks, T. (1995). Dataflow process networks. In Proceedings of the IEEE (pp. 773–799).Google Scholar
  15. 15.
    Martin, G., Bailey, B., & Piziali, A. (2007). ESL Design and verification: a prescription for electronic system level methodology. San Francisco: Morgan kaufmann publishers Inc.Google Scholar
  16. 16.
    Najjar, W., Bohm, W., Draper, B., Hammes, J., Rinker, R., Beveridge, J., Chawathe, M., & Ross, C. (2003). High-level language abstraction for reconfigurable computing. Computer, 36(8), 63–69. doi: 10.1109/MC.2003.1220583.
  17. 17.
    Siret, N., Wipliez, M., Nezan, J.F., & Palumbo, F. (2012). Generation of efficient High-Level hardware code from dataflow programs. In Proceedings of design, automation and test in europe (DATE).Google Scholar
  18. 18.
    Wipliez, M. (2010). Compilation infrastructure for dataflow programs. Ph.D. thesis, INSA Rennes.Google Scholar
  19. 19.
    Yviquel, H., Casseau, E., Wipliez, M., & Raulet, M. (2011). Efficient multicore scheduling of dataflow process networks. In IEEE Workshop On Signal Processing Systems (SiPS), 2011 (pp. 198–203): Liban. doi: 10.1109/SiPS.2011.6088974.

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.IETRINSA of RennesRennesFrance
  2. 2.CES LaboratoryENIS of SfaxSfaxTunisia

Personalised recommendations