skip to main content
article

Beyond single-appearance schedules: Efficient DSP software synthesis using nested procedure calls

Published:01 May 2007Publication History
Skip Abstract Section

Abstract

Synthesis of digital signal-processing (DSP) software from dataflow-based formal models is an effective approach for tackling the complexity of modern DSP applications. In this paper, an efficient method is proposed for applying subroutine call instantiation of module functionality when synthesizing embedded software from a dataflow specification. The technique is based on a novel recursive decomposition of subgraphs in a cluster hierarchy that is optimized for low buffer size. Applying this technique, one can achieve significantly lower buffer sizes than what is available for minimum code size inlined schedules, which have been the emphasis of prior work on software synthesis. Furthermore, it is guaranteed that the number of procedure calls in the synthesized program is polynomially bounded in the size of the input dataflow graph, even though the number of module invocations may increase exponentially. This recursive decomposition approach provides an efficient means for integrating subroutine-based module instantiation into the design space of DSP software synthesis. The experimental results demonstrate a significant improvement in buffer cost, especially for more irregular multirate DSP applications, with moderate code and execution time overhead.

References

  1. Ade, M., Lauwereins, R., and Peperstraete, J. A. 1997. Data Memory Minimization for Synchronous Data Flow Graphs Emulated on DSP-FPGA Targets. In Proceedings of Design Automation Conference (34th DAC), Anaheim, CA. 64--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bhattacharyya, S. S., Murthy, P. K., and Lee, E. A. 1995. Optimal Parenthesization of Lexical Orderings for DSP Block Diagrams. In Proceedings of the International Workshop on VLSI Signal Processing, Sakai, Osaka, Japan.Google ScholarGoogle Scholar
  3. Bhattacharyya, S. S., Murthy, P. K., and Lee, E. A. 1996. Software Synthesis from Dataflow Graphs. Kluwer Academic Publ., Norwell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Buck, J. and Vaidyanathan, R. 2000. Heterogeneous modeling and simulation of embedded systems in El Greco. In Proceedings of the International Workshop on Hardware Software Codesign (May), San Diego, CA. 142--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cubric, M. and Panangaden, P. 1993. Minimal memory schedules for dataflow networks. In Proceedings of the 4th International Conference on Concurrency Theory (CONCUR ‘93, Hildesheim, Germany, Aug. 1993), Lecture Notes in Computer Science 715, 368--383. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Eker, J., Janneck, J. W., Lee, E. A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., and Xiong, Y. 2003. Taming heterogeneity---the Ptolemy approach. In Proceedings of the IEEE, Special Issue on Modeling and Design of Embedded Software (Jan.), 91, 1, 127--144.Google ScholarGoogle Scholar
  7. Karczmarek, M., Thies, W., and Amarasinghe, S. 2003. Phased scheduling of stream programs. In Proceedings of Languages, Compilers, and Tools for Embedded Systems (LCTES'03) (June), San Diego, CA. 103--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ko, M., Murthy, P. K., and Bhattacharyya, S. S. 2004. Compact procedural synthesis of DSP software through recursive graph decomposition. Tech. Rep. UMIACS-TR-2004-41, Institute for Advanced Computer Studies, University of Maryland at College Park.Google ScholarGoogle Scholar
  9. Lalgudi, K. N., Papaefthymiou, M. C., and Potkonjak, M. 2000. Optimizing computations for effective block-processing. ACM Transactions on Design Automation of Electronic Systems (July), 5, 3, 604--630. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Lauwereins, R., Engels, M., Ade, M., and Peperstraete, J. A. 1995. Grape-II: A system-level prototyping environment for DSP applications. IEEE Computer Magazine (Feb.), 28, 2, 35--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous dataflow. In Proceedings of IEEE (Sept.), 75, 1235--1245.Google ScholarGoogle Scholar
  12. Leupers, R. and Marwedel, P. 1997. Time-constrained code compaction for DSP's.IEEE Transactions on VLSI Systems (Mar.), 5, 1, 112--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Murthy, P. K. and Bhattacharyya, S. S. 2004. Buffer merging: a powerful technique for reducing memory requirements of synchronous dataflow specifications. ACM Transactions on Design Automation of Electronic Systems (Apr.), 9, 2, 212--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Murthy, P. K., Cohen, E. G., and Rowland, S. 2001. System Canvas: A new design environment for embedded DSP and telecommunication systems. In Proceedings of the International Workshop on Hardware/Software Co-Design (Apr.). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Panda, P. R., Catthoor, F., Dutt, N. D., Danckaert, K., Brockmeyer, E., Kulkarni, C., Vandercappelle, A., and Kjeldsberg, P. G. 2001. Data and Memory Optimization Techniques for Embedded Systems. ACM Transactions on Design Automation of Electronic Systems (Apr.), 6, 2, 149--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ritz, S., Pankert, M., Zivojnovic, V., and Meyer, H. 1993. Optimum vectorization of scalable synchronous dataflow graphs. In Proceedings of the International Conference on Application Specific Array Processors (Oct.), 285--296.Google ScholarGoogle Scholar
  17. Robbins, C. B. 2002. Autocoding Toolset Software Tools for Automatic Generation of Parallel Application Software. Tech. rep., Management, Communications & Control, Inc.Google ScholarGoogle Scholar
  18. Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., and Deprettere, E. 2004. System design using Kahn process networks: the Compaan/Laura approach. In Proceedings of the Design, Automation and Test in Europe Conference (Feb.). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Sung, W. and Ha, S. 2000. Memory efficient software synthesis using mixed coding style from dataflow graph. IEEE Transactions on VLSI Systems (Oct.), 8, 522--526. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Thies, W., Karczmarek, M., and Amarasinghe, S. 2002. StreamIt: A language for streaming applications. In Proceedings of the International Conference on Compiler Construction (Apr.), Grenoble. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Zitzler, E., Teich, J., and Bhattacharyya, S. S. 2000. Multidimensional exploration of software implementations for DSP algorithms. Journal of VLSI Signal Processing Systems for Signal, Image, and Video Technology (Feb.). 83--98. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Beyond single-appearance schedules: Efficient DSP software synthesis using nested procedure calls

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!