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.
- 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 Scholar
Digital Library
- 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 Scholar
- Bhattacharyya, S. S., Murthy, P. K., and Lee, E. A. 1996. Software Synthesis from Dataflow Graphs. Kluwer Academic Publ., Norwell, MA. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous dataflow. In Proceedings of IEEE (Sept.), 75, 1235--1245.Google Scholar
- Leupers, R. and Marwedel, P. 1997. Time-constrained code compaction for DSP's.IEEE Transactions on VLSI Systems (Mar.), 5, 1, 112--122. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Robbins, C. B. 2002. Autocoding Toolset Software Tools for Automatic Generation of Parallel Application Software. Tech. rep., Management, Communications & Control, Inc.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Beyond single-appearance schedules: Efficient DSP software synthesis using nested procedure calls
Recommendations
Memory-constrained block processing for DSP software optimization
Special Issue: Embedded computing systems for DSPDigital signal processing (DSP) applications involve processing long streams of input data. It is important to take into account this form of processing when implementing embedded software for DSP systems. Task-level vectorization, or block processing, ...
Efficient Software Synthesis for Dynamic Single Appearance Scheduling of Synchronous Dataflow
Synchronous dataflow (SDF) is a widely-used model of computation for digital signal processing and multimedia applications. In this letter, we propose an automatic approach to synthesize efficient software from SDF models with improved runtime ...






Comments