Dataflow-Based, Cross-Platform Design Flow for DSP Applications

  • Zheng Zhou
  • Chung-Ching Shen
  • William Plishker
  • Shuvra S. Bhattacharyya
Part of the Embedded Systems book series (EMSY, volume 20)


Dataflow methods have been widely explored over the years in the digital signal processing (DSP) domain to model, design, analyze, implement, and optimize DSP applications, such as applications in the areas of audio and video data stream processing, digital communications, and image processing. DSP-oriented dataflow methods provide formal techniques that facilitate software design, simulation, analysis, verification, instrumentation and optimization for exploring effective implementations on diverse target platforms. As the landscape of embedded platforms becomes increasingly diverse, a wide variety of different kinds of devices, including graphics processing units (GPUs), multicore programmable digital signal processors (PDSPs), and field programmable gate arrays (FPGAs), must be considered to thoroughly address the design space for a given application. In this chapter, we discuss design methodologies, based on the core functional dataflow (CFDF) model of computation, that help engineers to efficiently explore such diverse design spaces. In particular, we discuss a CFDF-based design flow and associated design methodology for efficient simulation and implementation of DSP applications. The design flow supports system formulation, simulation, validation, cross-platform software implementation, instrumentation, and system integration capabilities to derive optimized signal processing implementations on a variety of platforms. We provide a comprehensive specification of the design flow using the lightweight dataflow (LWDF) and targeted dataflow interchange format (TDIF) tools, and demonstrate it with case studies on CPU/GPU and multicore PDSP designs that are geared towards fast simulation, quick transition from simulation to the implementation, high performance implementation, and power-efficient acceleration, respectively.



This research was sponsored in part by the Laboratory for Telecommunications Sciences, Texas Instruments, and US Air Force Research Laboratory.


  1. 1.
    Bhattacharyya, S.S., Deprettere, E., Leupers, R., Takala, J. (eds.): Handbook of Signal Processing Systems. Springer, Berlin (2010)MATHGoogle Scholar
  2. 2.
    Lee, E.A., Messerschmitt, D.G.: Synchronous data flow. Proc. IEEE 75(9), 1235–1245 (1987)CrossRefGoogle Scholar
  3. 3.
    Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. IEEE 83(5), 773–799 (1995)CrossRefGoogle Scholar
  4. 4.
    Plishker, W., Sane, N., Kiemb, M., Anand, K., Bhattacharyya, S.S.: Functional DIF for rapid prototyping. In: Proceedings of the International Symposium on Rapid System Prototyping, pp. 17–23. Monterey, California (2008)Google Scholar
  5. 5.
    Shen, C., Plishker, W., Wu, H., Bhattacharyya, S.S.: A lightweight dataflow approach for design and implementation of SDR systems. In: Proceedings of the Wireless Innovation Conference and Product Exposition, pp. 640–645. Washington DC, USA (2010)Google Scholar
  6. 6.
    Shen, C., Wu, S., Sane, N., Wu, H., Plishker, W., Bhattacharyya, S.S.: Design and synthesis for multimedia systems using the targeted dataflow interchange format. IEEE Trans. Multimedia 14(3), 630–640 (2012)CrossRefGoogle Scholar
  7. 7.
    Shen, C., Plishker, W., Bhattacharyya, S.S.: Dataflow-based design and implementation of image processing applications. In: Guan, L., He, Y., Kung, S. (eds.) Multimedia Image and Video Processing, 2nd edn., pp. 609–629. CRC Press, Boca Raton (2012). Chapter 24Google Scholar
  8. 8.
    Plishker, W., Sane, N., Kiemb, M., Bhattacharyya, S.S.: Heterogeneous design in functional DIF. In: Stenström, P. (ed.) Transactions on High-Performance Embedded Architectures and Compilers IV, Lecture Notes in Computer Science, vol. 6760, pp. 391–408. Springer, Berlin/Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    NVIDIA: NVIDIA CUDA Compute Unified Device Architecture: Programming Guide, Version 1.0 (2007)Google Scholar
  10. 10.
    Texas Instruments, Inc.: TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual (2012)Google Scholar
  11. 11.
    Ko, M., Zissulescu, C., Puthenpurayil, S., Bhattacharyya, S.S., Kienhuis, B., Deprettere, E.: Parameterized looped schedules for compact representation of execution sequences in DSP hardware and software implementation. IEEE Trans. Signal Process. 55(6), 3126–3138 (2007)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Plishker, W., Sane, N., Bhattacharyya, S.S.: A generalized scheduling approach for dynamic dataflow applications. In: Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, pp. 111–116. Nice, France (2009)Google Scholar
  13. 13.
    Bhattacharyya, S.S., Murthy, P.K., Lee, E.A.: APGAN and RPMC: Complementary heuristics for translating DSP block diagrams into efficient software implementations. J. Des. Autom. Embed. Syst. 2(1), 33–60 (1997)CrossRefGoogle Scholar
  14. 14.
    Wu, S., Shen, C., Sane, N., Davis, K., Bhattacharyya, S.: Parameterized scheduling for signal processing systems using topological patterns. In: Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, pp. 1561–1564. Kyoto, Japan (2012)Google Scholar
  15. 15.
    Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.A.: Cyclo-static dataflow. IEEE Trans. Signal Process. 44(2), 397–408 (1996)CrossRefGoogle Scholar
  16. 16.
    Plishker, W., Sane, N., Bhattacharyya, S.S.: Mode grouping for more effective generalized scheduling of dynamic dataflow applications. In: Proceedings of the Design Automation Conference, pp. 923–926. San Francisco (2009)Google Scholar
  17. 17.
    Owens, J.D., Houston, M., Luebke, D., Green, S., Stone, J.E., Phillips, J.C.: GPU computing. Proc. IEEE 96(5), 879–899 (2008)Google Scholar
  18. 18.
    Ritz, S., Pankert, M., Meyr, H.: Optimum vectorization of scalable synchronous dataflow graphs. Proceedings of the International Conference on Application Specific Array Processors, In (1993)Google Scholar
  19. 19.
    Zivojnovic, V., Ritz, S., Meyr, H.: Retiming of DSP programs for optimum vectorization. In: Proceedings of the International Conference on Acoustics, Speech, and, Signal Processing, pp. 492–496 (1994)Google Scholar
  20. 20.
    Lalgudi, K.N., Papaefthymiou, M.C., Potkonjak, M.: Optimizing computations for effective block-processing. ACM Trans. Des. Autom. Electron. Syst. 5(3), 604–630 (2000)CrossRefGoogle Scholar
  21. 21.
    Ko, M., Shen, C., Bhattacharyya, S.S.: Memory-constrained block processing for DSP software optimization. J. Signal Process. Syst. 50(2), 163–177 (2008)CrossRefGoogle Scholar
  22. 22.
    Lapsley, P., Bier, J., Shoham, A., Lee, E.A.: DSP Processor Fundamentals. Berkeley Design Technology, Inc. (1994)Google Scholar
  23. 23.
    Zaki, G., Plishker, W., Bhattacharyya, S., Clancy, C., Kuykendall, J.: Vectorization and mapping of software defined radio applications on heterogeneous multi-processor platforms. In: Proceedings of the IEEE Workshop on Signal Processing Systems, pp. 31–36. Beirut, Lebanon (2011)Google Scholar
  24. 24.
    Blossom, E.: GNU radio: tools for exploring the radio frequency spectrum. Linux J. (2004)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Zheng Zhou
    • 1
  • Chung-Ching Shen
    • 1
  • William Plishker
    • 1
  • Shuvra S. Bhattacharyya
    • 1
  1. 1.Department of Electrical and Computer Engineering and Institute for Advanced Computer StudiesUniversity of MarylandMarylandUSA

Personalised recommendations