Optimized RTL Code Generation from Coarse-Grain Dataflow Specification for Fast HW/SW Cosynthesis


This paper presents a new methodology of automatic RTL code generation from coarse-grain dataflow specification for fast HW/SW cosynthesis. A node in a coarse-grain dataflow specification represents a functional block such as FIR and DCT and an arc may deliver multiple data samples per block invocation, which complicates the problem and distinguishes it from behavioral synthesis problem. Given optimized HW library blocks for dataflow nodes, we aim to generate the RTL codes for the entire hardware system including glue logics such as buffer and MUX, and the central controller. In the proposed design methodology, a dataflow graph can be mapped to various hardware structures by changing the resource allocation and schedule information. It simplifies the management of the area/performance tradeoff in hardware design and widens the design space of hardware implementation of a dataflow graph. We also support Fractional Rate Dataflow (FRDF) specification for more efficient hardware implementation. To overcome the additional hardware area overhead in the synthesized architecture, we propose two techniques reducing buffer overhead. Through experiments with some real examples, the usefulness of the proposed technique is demonstrated.

This is a preview of subscription content, access via your institution.


  1. 1.

    Synopsis Inc., “COSSAP User’s Manual: VHDL Code Generation,” 700 E. Middlefield Rd., Mountain View, CA 94043, USA.

  2. 2.

    J.T. Buck, S. Ha, E.A. Lee and D.G. Messerschmitt, “Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems,” Int. J Comput Simulation, Special Issues on Simulation Software Development, vol.4, 1994, pp. 155–182, April.

    Google Scholar 

  3. 3.

    M. Ade, R. Lauwereins and J.A. Peperstraete, “Hardware-software codesign with GRAPE,” IEEE Int. Workshop on Rapid System Prototyping, 1995, pp. 40–47, June.

  4. 4.

    The CAP Laboratory Seoul National University, “PeaCE Users’s Manual v.1.0.1,” no. 4, July, 2005. http://peace.snu.ac.kr/research/peace.

  5. 5.

    E.A. Lee and D.G. Messerschmitt, “Synchronous Data Flow,” Proc. IEEE, vol. 75, no. 9, 1987, pp. 1235–1245, September.

    Article  Google Scholar 

  6. 6.

    H. Oh and S. Ha, “Fractional Rate Dataflow Model for Efficient Code Synthesis,” J. VLSI Signal Process, vol. 37, 2004, pp. 41–55, May.

    Article  Google Scholar 

  7. 7.

    G. De Micheli, “Synthesis and Optimization of Digital Circuits,” McGraw-Hill, 1994.

  8. 8.

    J. Horstmannshoff and H. Meyr, “Optimized System Synthesis of Complex RT Level Building Blocks from Multirate Dataflow Graphs,” Proceedings of the 12th International Symposium on System Synthesis, 1999, pp. 38–43, Nov.

  9. 9.

    M.C. Williamson and E.A. Lee, “Synthesis of Parallel Hardware Implementations from Synchronous Dataflow Graph Specifications,” in 30th Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, California, USA, vol. 2, 1996, pp. 1340–1343, November.

  10. 10.

    J. McAllister, R. Woods, R. Walke and D. Reilly, “Multidimensional DSP Core Synthesis for FPGA,” J. VLSI Signal Process, vol. 43, 2006, pp. 207–221.

    MATH  Article  Google Scholar 

  11. 11.

    L. Semeria, K. Sato and G. De Micheli, “Synthesis of Hardware Models in C with Pointers and Complex Data Structures,” IEEE Transactions on VLSI Systems, vol. 9, 2001, pp. 743–756, December.

    Article  Google Scholar 

  12. 12.

    L. Semeria and G. De Micheli, “Resolution, Optimization, and Encoding of Pointer Variables for the Behavioral Synthesis from C,” IEEE Trans Comput.-Aided Des Integr Circuits Syst, vol. 20, 2001, pp. 213–233, Feb.

    Article  Google Scholar 

  13. 13.

    N. Vanspauwen, E. Barros, S. Cavalcante and C. Valderrama, “On the Importance, Problems and Solutions of Pointer Synthesis,” 15th Symposium on Integrated Circuits and Systems Design, 2002, pp. 317–322, September.

  14. 14.

    F. Slomka, M. Dorfel and R. Munzenberger, “Generating Mixed Hardware/Software systems from SDL Specifications,” 9th International Symposium on Hardware/Software Codesign, 2001, pp. 116–121, April.

  15. 15.

    O. Bringmann, W. Rosenstiel, A. Muth, G. Farber, F. Slomka and R. Hofmann, “Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping,” IEEE Int. Workshop on Rapid System Prototyping, 1999, pp. 114–119, June.

  16. 16.

    P. Zepter, T. Groker and H. Meyr, “Digital receiver design using VHDL generation from data flow graphs,” Proceedings of the 32nd ACM/IEEE conference on Design Automation, 1995, pp. 228–233.

  17. 17.

    J. Horstmannshoff, T. Grotker and H. Meyr, “Mapping Multirate Dataflow to Complex RT Level Hardware Models,” Proceedings of IEEE Iternational Conference on Application-Specific Systems, Architectures and Processors, 1997, pp. 283–292, July.

  18. 18.

    J. Hortmannshoff, T. Grotker, H. Meyr, M. Wloka and K. Djigande, “DSP System Synthesis: Integration of Reusable Building Blocks,” Proceedings of international Conference On Signal Processing Applications and Technology, 1997

  19. 19.

    J. Dalcolmo, R. Lauwereins, M. Ade, “Code Generation of Data Dominated DSP Applications for FPGA Targets,” IEEE Int. Workshop on Rapid System Prototyping, 1998, pp. 162–167.

  20. 20.

    R. Lauwereins, M. Engels, M. Ade and J.A. Peperstraete, “Grape-II: A System-Level Prototyping Environment for DSP Applications,” IEEE Computer, vol. 28, 1995, pp. 35–43, Feb.

    Google Scholar 

  21. 21.

    M. Ade, R. Lauwereins and J.A. Peperstraete, “Data Memory Minimisation for Synchronous Data Flow Graphs Emulated on DSP–FPGA Targets,” Proceedings of the 34th conference on design automation, Anaheim, CA, 1997, pp. 64–69.

  22. 22.

    G. Bilsen, M. Engels, R. Lauwereins and J. Peperstraete, “Cyclo-Static Dataflow,” IEEE Trans. Signal Processing, vol. 44, no. 2, 1996, pp. 397–408.

    Article  Google Scholar 

  23. 23.

    P. K. Murthy and E. A. Lee, “Multidimensional Synchronous Dataflow,” IEEE Trans. Signal Processing, vol. 50. no. 8, 2002, pp. 2064–2079.

    Article  Google Scholar 

  24. 24.

    R. Sharp and A. Mycroft, “A Higher-Level Language for Hardware Synthesis,” 11th Advanced Research Working Conference on Correct Hardware Design and Verification Methods, vol. 2144 of LNCS, 2001.

  25. 25.

    S.S. Bhattacharyya, P.K. Murthy and E.A. Lee, “APGAN and RPMC: Complementary Heuristics for Translating DSP Block Diagrams into Efficient Software Implementations,” DAES, vol. 2, no. 1, 1997, pp. 33–60, January.

    Google Scholar 

  26. 26.

    W. Sung and S. Ha, “Memory Efficient Software Synthesis Using Mixed Coding Style from Dataflow Graph,” IEEE Transactions on VLSI Systems, vol. 8, 2000, pp. 522–526, October.

    Article  Google Scholar 

  27. 27.

    H. Jung and S. Ha, “Hardware Synthesis from Coarse Grained Dataflow Specification for Fast HW/SW Cosynthesis,” Proceedings of International Conference on Hardware/Software Codesign and System Synthesis, Sweden, 2004, pp. 24–29.

  28. 28.

    H. Oh and S. Ha, “Efficient Code Synthesis from Extended Dataflow Graphs for Multimedia Applications,” Proceedings of the 39th Conference on Design Automation, 2002, pp. 275–280, June.

  29. 29.

    P.K. Murthy and S.S. Bhattacharyya, “Buffer Merging—A Powerful Technique for Reducing Memory Requirements of Synchronous Dataflow Specifications,” ACM Transactions on Design Automation of Electronic Systems, vol. 9, no. 2, 2004, pp. 212–237, April.

    Article  Google Scholar 

  30. 30.

    H. Oh, N. Dutt, S. Ha, “Shift Buffering Technique for Automatic Code Synthesis from Synchronous Dataflow Graphs,” CODES+ISSS’05, Sept. 19–21 2005, pp. 51–56.

Download references

Author information



Corresponding author

Correspondence to Soonhoi Ha.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Jung, H., Yang, H. & Ha, S. Optimized RTL Code Generation from Coarse-Grain Dataflow Specification for Fast HW/SW Cosynthesis. J Sign Process Syst Sign Image Video Technol 52, 13–34 (2008). https://doi.org/10.1007/s11265-007-0070-9

Download citation


  • HW/SW codesign
  • system level design
  • dataflow graph (DFG)
  • RTL
  • VHDL