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 software synthesis work. 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 multi-rate DSP applications, with moderate code and execution time overhead.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bhattacharyya, S.S., Murthy, P.K., Lee, E.A.: Software Synthesis from Dataflow Graphs. Kluwer Academic Publishers, Dordrecht (1996)
Buck, J., Vaidyanathan, R.: Heterogeneons modeling and simulation of embedded systems in El Greco. In: Proceedings of the International Workshop on Hardware/Software Co-Design (May 2000)
Eker, J., et al.: Taming heterogeneity — the Ptolemy approach. Proceedings of the IEEE (January 2003)
Karczmarek, M., Thies, W., Amarasinghe, S.: Phased scheduling of stream programs. In: Proceedings of Languages, Compilers, and Tools for Embedded Systems (LCTES 2003), San Diego, California, pp. 103–112 (June 2003)
Karezmarek, M., Thies, W., Amarasinghe, S.: StreamIt: A Language for Streaming Applications. In: Proceedings of the International Conference on Compiler Construction, Grenoble, France (April 2002)
Ko, M., Murthy, P.K., Bhattachaiyya, S.S.: Compact procedural synthesis of DSP software through recursive graph decomposition. Technical Report UMIACS-TR-2004-41, Institute for Advanced Computer Studies, University of Maryland at College Park (2004)
Lalgudi, K.N., Papaeffhymiou, M.C., Potkonjak, M.: Optimizing computations for effective block-processing. ACM Transactions on Design Automation of Electronic Systems 5(3), 604–630 (2000)
Lauwereins, R., Engels, M., Ade, M., Peperstraete, J.A.: Grape-II: A system-level prototyping environment for DSP applications. IEEE Computer Magazine 28(2), 35–43 (1995)
Lee, E.A., Messerschmitt, D.G.: Synchronous dataflow. Proceedings of IEEE 75, 1235–1245 (1987)
Leupers, R., Marwedel, P.: Time-constrained code compaction for DSP’s. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 5(1), 112–122 (1997)
Murthy, P.K., Bhattacharyya, S.S.: Buffer merging: a powerful technique for reducing memory requirements of synchronous dataflow specifications. ACM Transactions on Design Automation of Electronic Systems 9(2), 212–237 (2004)
Murthy, P.K., Cohen, E.G., Rowland, S.: System Canvas: A new design environment for embedded DSP and telecommunication systems. In: Proceedings of the International Workshop on Hardware/Software Co-Design (April 2001)
Panda, P.R., Cattboor, F., Dutt, N.D., et al.: Data and Memory Optimization Techniques for Embedded Systems. ACM Transactions on Design Automation for Electronic Systems 6(2), 149–206 (2001)
Ritz, S., Pankert, M., Zivojnovic, V., Meyer, H.: Optimum vectorization of scalable synchronotis dataflow graphs. In: Proceedings of the International Conference on Application Specific Array Processors, pp. 285–296 (October 1993)
Robbins, C.B.: Autocodhtg Toolset software tools for automatic generation of parallel application software. Technical report. Management, Communications & Control, Inc. (2002)
Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., Deprettere, E.: System design using Kahn process networks: the Compaan/Laura approach. In: Proceedings of the Design, Automation and Test in Europe Conference (February 2004)
Sung, W., Ha, S.: Memory Efficient Software Synthesis using Mixed Coding Style from Dataflow Graph. IEEE Transactions on VLSI Systems 8, 522–526 (2000)
Zitzler, E., Teich, J., Bhattacharyya, S.S.: Multidimensional exploration of software implementations for DSP algorithms. Journal of VLSI Signal Processing Systems for Signal, Image, and Video Technology, 83–98 (February 2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ko, MY., Murthy, P.K., Bhattacharyya, S.S. (2004). Compact Procedural Implementation in DSP Software Synthesis Through Recursive Graph Decomposition. In: Schepers, H. (eds) Software and Compilers for Embedded Systems. SCOPES 2004. Lecture Notes in Computer Science, vol 3199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30113-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-30113-4_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23035-9
Online ISBN: 978-3-540-30113-4
eBook Packages: Springer Book Archive