Skip to main content
Log in

Abstract

The implementation of software for embedded digital signal processing (DSP) applications is an extremely complex process. The complexity arises from escalating functionality in the applications; intense time-to-market pressures; and stringent cost, power and speed constraints. To help cope with such complexity, DSP system designers have increasingly been employing high-level, graphical design environments in which system specification is based on hierarchical dataflow graphs. Consequently, a significant industry has emerged for the development of data-flow-based DSP design environments. Leading products in this industry include SPW from Cadence, COSSAP from Synopsys, ADS from Hewlett Packard, and DSP Station from Mentor Graphics. This paper reviews a set of algorithms for compiling dataflow programs for embedded DSP applications into efficient implementations on programmable digital signal processors. The algorithms focus primarily on the minimization of code size, and the minimization of the memory required for the buffers that implement the communication channels in the input dataflow graph. These are critical problems because programmable digital signal processors have very limited amounts of on-chip memory, and the speed, power, and cost penalties for using off-chip memory are often prohibitively high for embedded applications. Furthermore, memory demands of applications are increasing at a significantly higher rate than the rate of increase in on-chip memory capacity offered by improved integrated circuit technology.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J.T. Buck, S. Ha, E.A. Lee, and D.G. Messerschmitt, "Ptolemy: A framework for simulating and prototyping heterogeneous systems," International Journal of Computer Simulation, Vol. 4, April 1994.

  2. R. Lauwereins, M. Engels, J.A. Peperstraete, E. Steegmans, and J. Van Ginderdeuren, "GRAPE: A CASE tool for digital signal parallel processing," IEEE ASSP Magazine, Vol. 7, No. 2, pp. 32–43, April 1990.

    Article  Google Scholar 

  3. E.A. Lee, W.H. Ho, E. Goei, J. Bier, and S.S. Bhattacharyya, "Gabriel: A design environment for DSP," IEEE Transactions on Acoustics; Speech; and Signal Processing, Vol. 37, No. 11, pp. 1751–1762, Nov. 1989.

    Article  Google Scholar 

  4. D.R. O'Hallaron, The Assign Parallel Program Generator, Memorandum CMU-CS-91–141, School of Computer Science, Carnegie Mellon University, May 1991.

  5. S. Ritz, S. Pankert, and H. Meyr, "High level software synthesis for signal processing systems," Proceedings of the International Conference on Application Specific Array Processors, Berkeley, pp. 679–693, Aug. 1992.

  6. M. Veiga, J. Parera, and J. Santos, "Programming DSP systems on multiprocessor architectures," Proceedings of the International Conference on Acoustics; Speech; and Signal Processing, Albuquerque, Vol. 2, pp. 965–968, April 1990.

    Article  Google Scholar 

  7. V. Zivojnovic, H. Schraut, M.Willems, and R. Schoenen, "DSPs, GPPs, and multimedia applications–an evaluation using DSPStone," Proceedings of ICSPAT, Nov. 1995.

  8. P. Marwedel and G. Goossens <nt>(Eds.)</nt>, Code Generation for Embedded Processors, Kluwer Academic Publishers, 1995.

  9. E.A. Lee and D.G. Messerschmitt, "Synchronous dataflow," Proceedings of the IEEE, Sep. 1987.

  10. P.K. Murthy, S.S. Bhattacharyya, and E.A. Lee, "Combined code and data minimization for synchronous dataflow programs," Journal of Formal Methods in System Design, July 1997.

  11. P. Vaidyanathan, Multirate Systems and Filter Banks, Prentice Hall, 1993.

  12. S.S. Bhattacharyya and E.A. Lee, "Looped schedules for dataflowdescriptions of multirate signal processing algorithms," Journal of Formal Methods in System Design, Vol. 5, No. 3, Dec. 1994.

  13. S.S. Bhattacharyya, J.T. Buck, S. Ha, and E.A. Lee, "Generating compact code from dataflow specifications of multirate signal processing algorithms," IEEE Transactions on Circuits and Systems–I: Fundamental Theory and Applications, Vol. 42, No. 3, pp. 138–150, March 1995.

    Article  MATH  Google Scholar 

  14. S.S. Bhattacharyya, P.K. Murthy, and E.A. Lee, Software Synthesis from Dataflow Graphs, Kluwer Academic Publishers, Norwell, MA, 1996.

    Book  MATH  Google Scholar 

  15. S.S. Bhattacharyya, P.K. Murthy, and E.A. Lee, "APGAN and RPMC: complementary heuristics for translating DSP block diagrams into efficient software implementations," Journal of Design Automation for Embedded Systems, Jan. 1997.

  16. B.W. Kernighan and S. Lin, "An efficient heuristic procedure for partitioning graphs," Bell System Technical Journal, Vol. 49, No. 2, pp. 291–308, Feb. 1970.

    Article  MATH  Google Scholar 

  17. T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms, McGraw-Hill, 1990.

  18. S. Majumdar, S.C. Nandy, and B.B. Bhattacharyya, "Partitioning VLSI floorplans by staircase channels for global routing," VLSI Design 1998, Chennai, India, Jan. 1998.

  19. P.K. Murthy, "Scheduling techniques for synchronous and multidimensional synchronous dataflow," Ph.D. thesis, Technical Memorandum UCB/ERL M96/79, Electronics Research Laboratory, University of California, Berkeley, CA 94720, Dec. 1996.

    Google Scholar 

  20. E.A. Lee, "Multidimensional streams rooted in dataflow," Proceedings of the IFIP Working Conference on Architectures and Compilation Techniques for Fine and Medium Grained Parallelism, Orlando, Jan. 1993.

  21. M.C. Chen, "Developing a multidimensional synchronous dataflow domain in Ptolemy," MS Report, UC Berkeley, June 1994.

  22. P.S.Y. Kung, VLSI Array Processors, Prentice-Hall, Englewood Cliffs, New Jersey, 1988.

    Google Scholar 

  23. S. Ritz, S. Pankert, and H. Meyr, "Optimum vectorization of scalable synchronous dataflow graphs," Technical report IS2/DSP93.1a, Aachen University of Technology, Germany, Jan. 1993.

    Google Scholar 

  24. M.Wolfe, Optimizing Supercompilers for Supercomputers, MIT Press, 1989.

  25. M.E. Wolf and M.S. Lam, "A data locality optimizing algorithm," ACM Conference on Programming Language Design and Implementation, San Francisco, California, June 1991.

  26. M. Ade, R. Lauwereins, and J.A. Peperstraete, "Buffer memory requirements in DSP applications," presented at IEEEWorkshop on Rapid System Prototyping, Grenoble, June 1994.

  27. R. Lauwereins, P.Wauters, M. Ade, and J.A. Peperstraete, "Geometric parallelism and cyclo-static dataflow in GRAPE-II," IEEE Workshop on Rapid System Prototyping, June 1994.

  28. S.R. Govindarajan, G.R. Gao, and P. Desai, "Minimizing memory requirements in rate-optimal schedules," Proceedings of the International Conference on Application Specific Array Processors, Aug. 1994.

  29. M.R. Garey and D.S. Johnson, Computers and Intractability–A Guide to the Theory of NP-Completeness, Freeman, 1979.

  30. E.A. Lee and T.M. Parks, "Dataflow process networks," Proceedings of the IEEE, Vol. 83, No. 5, May 1995.

  31. H. Zima and B. Chapman, Supercompilers for Parallel and Vector Computers, ACM Press, 1990.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bhattacharyya, S.S., Murthy, P.K. & Lee, E.A. Synthesis of Embedded Software from Synchronous Dataflow Specifications. The Journal of VLSI Signal Processing-Systems for Signal, Image, and Video Technology 21, 151–166 (1999). https://doi.org/10.1023/A:1008052406396

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008052406396

Keywords

Navigation