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, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
Synopsis Inc., “COSSAP User’s Manual: VHDL Code Generation,” 700 E. Middlefield Rd., Mountain View, CA 94043, USA.
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.
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.
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.
E.A. Lee and D.G. Messerschmitt, “Synchronous Data Flow,” Proc. IEEE, vol. 75, no. 9, 1987, pp. 1235–1245, September.
H. Oh and S. Ha, “Fractional Rate Dataflow Model for Efficient Code Synthesis,” J. VLSI Signal Process, vol. 37, 2004, pp. 41–55, May.
G. De Micheli, “Synthesis and Optimization of Digital Circuits,” McGraw-Hill, 1994.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
G. Bilsen, M. Engels, R. Lauwereins and J. Peperstraete, “Cyclo-Static Dataflow,” IEEE Trans. Signal Processing, vol. 44, no. 2, 1996, pp. 397–408.
P. K. Murthy and E. A. Lee, “Multidimensional Synchronous Dataflow,” IEEE Trans. Signal Processing, vol. 50. no. 8, 2002, pp. 2064–2079.
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.
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.
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.
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.
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.
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.
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.
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
- HW/SW codesign
- system level design
- dataflow graph (DFG)