Skip to main content

FPGA-Based DSP

  • Chapter
  • First Online:
Book cover Handbook of Signal Processing Systems

Abstract

Field Programmable Gate Array (FPGA) offer an excellent platform for embedded DSP systems when real-time processing beyond that which multiprocessor platforms can achieve is required, and volumes are too small to justify the costs of developing a custom chip. This niche role is due to the ability of FPGA to host custom computing architectures, tailored to the application. Modern FPGAs play host to large quantities of heterogeneous logic, computational and memory components which can only be effectively exploited by heterogeneous processing architectures composed of microprocessors with custom co-processors, parallel software processor and dedicated hardware units. The complexity of these architectures, coupled with the need for frequent regeneration of the implementation with each new application makes FPGA system design a highly complex and unique design problem. The key to success in this process is the ability of the designer to best exploit the FPGA resources in a custom architecture, and the ability of design tools to quickly and efficiently generate these architectures. This chapter describes the state-of-the-art in FPGA device resources, computing architectures, and design tools which support the DSP system design process.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 219.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 279.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Based on comparison of Virtex®6 XC6VSX475T with assumed clock rate of 500 MHz and Texas Instruments TMS3206474 DSP.

  2. 2.

    Xilinx have proposed a different, and specific kind of device, an Extensible Processing Platform, as their SoC variant. This is manifest in the Xilinx Zynq® product range, not considered in this document.

  3. 3.

    Metrics are approximated and assuming an FPGA operating frequency of 600 MHz.

References

  1. Agility Design Solutions Inc.: Handel-C Language Reference Manual (2007). URL www.agilityds.com

  2. Altera Corp.: Avalon Interface Specifications (2008). URL www.altera.com

  3. Altera Corp.: Nios II C2H Compiler User Guide (2008). URL www.altera.com

  4. Altera Corp.: DSP Design Flow User Guide (2009). URL www.altera.com

  5. Altera Corp.: Stratix V Device Handbook (2012). URL www.altera.com

  6. Banerjee, P., Haldar, M., Nayak, A., Kim, V., Saxena, V., Parkes, S., Bagchi, D., Pal, S., Tripathi, N., Zaretsky, D., Anderson, R., Uribe, J.: Overview of a compiler for synthesizing MATLAB programs onto FPGAs. IEEE Trans. VLSI Syst. 12(3), 312–324 (2004)

    Article  Google Scholar 

  7. Cho, J., Chang, H., Sung, W.: An FPGA-based simd processor with a vector memory unit. In: Proc. IEEE International Symposium on Circuits and Systems, pp. 525–528 (2006)

    Google Scholar 

  8. Cong, J., Liu, B., Neuendorffer, S., Noguera, J., Vissers, K., Zhang, Z.: High-level synthesis for FPGAs: From prototyping to deployment. IEEE Trans, on Computer-Aided Design of Integrated Circuits and Systems 30(4), 473–491 (2011)

    Article  Google Scholar 

  9. Fischaber, S., Woods, R., McAllister, J.: SoC memory hierarchy derivation from dataflow graphs. Journal of Signal Processing Systems (2009)

    Google Scholar 

  10. Gajski, D., Vahid, F., Narayan, S., Gong, J.: Specification and Design of Embedded Systems. Prentice Hall (1994)

    Google Scholar 

  11. Gajski, D.D., Abdi, S., Gerstlauer, A., Schirner, G.: Embedded System Design: Modeling, Synthesis and Verification. Springer, New York (2009)

    Book  Google Scholar 

  12. Harriss, T., Walke, R., Kienhuis, B., Deprettere, E.F.: Compilation from matlab to process networks realised in FPGA. Design Automation for Embedded Systems 7(4), 85–403 (2002)

    Article  Google Scholar 

  13. Hoare, C.: Communicating Sequential Processes. Prentice Hall (1985)

    Google Scholar 

  14. Inc., S.: PICO FPGA Datasheet (2009). URL www.synfora.com

  15. Jones, A., Hoare, R., Kusic, D., Fazekas, J., Foster, J.: An FPGA-based vliw processor with custom hardware execution. In: Proc. 13th International Symposium on Field-Programmable Gate Arrays, pp. 107–117 (2005)

    Google Scholar 

  16. Kahn, G.: The semantics of a simple language for parallel programming. In: Proc. IFIP Congress, pp. 71–475 (1974)

    Google Scholar 

  17. Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hannikainen, B., Hämäläinen, T., Riihmäki, J., Kuusilinna, K.: UML-based multiprocessor SoC design framework. ACM Transactions on Embedded Computing Systems 5, 281–320 (2006)

    Article  Google Scholar 

  18. Keinert, J., Teich, J.: Design of Image Processing Embedded Systems Using Multidimensional Data Flow. Springer, New York (2011)

    Book  Google Scholar 

  19. Keutzer, K., Malik, S., Newton, R., Rabaey, J., Sangiovanni-Vincentelli, A.: System level design: Orthogonolization of concerns and platform-based design. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 19(12), 1523–1543 (2000). URL http://www.gigascale.org/pubs/98.html

    Google Scholar 

  20. Kulmala, A., Salminen, E., Hämäläinen, T.: Instruction memory architecture evaluation on multiprocessor FPGA MPEG-4 encoder. In: IEEE Design and Diagnostics of Electronic Circuits and Systems, pp. 1–6 (2007)

    Google Scholar 

  21. Ma, L., Dickson, K., McAllister, J., McCanny, J.: QR decomposition-based matrix inversion for high performance embedded MIMO receivers. IEEE Transactions on Signal Processing 59(4), 1858–1867 (2011)

    Article  Google Scholar 

  22. Moscu Panainte, E., Bertels, K., Vassiliadis, S.: The MOLEN compiler for reconfigurable processors. ACM Transactions on Embedded Computing Systems 6(1) (2007)

    Google Scholar 

  23. Nikolov, H.: System level design methodology for streaming multi-processor embedded systems. Ph.D. thesis, Leiden University, Netherlands (2009)

    Google Scholar 

  24. Nikolov, H., Stefanov, T., Deprettere, E.: Multi-processor system design with ESPAM. In: Proc. 4th International Conference Hardware/Software Codesign and System Synthesis, pp. 211–216 (2006)

    Google Scholar 

  25. Parhi, K.: VLSI Digital Signal Processing Systems : Design and Implementation. Wiley (1999)

    Google Scholar 

  26. Pimentel, A., Erbas, C., Polstra, S.: A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Transaction on Computers 55(2), 1–14 (2006)

    Article  Google Scholar 

  27. Qiang, L., Constantinides, G., Masselos, K., Cheung, P.: Combining data reuse with data-level parallelization for FPGA-targeted hardware compilation: A geometric programming framework. IEEE Trans. Computer Aided Design of Integrated Circuits and Systems 28, 305–315 (2009)

    Article  Google Scholar 

  28. Ravindran, K., Satish, N.R., Jin, Y., Keutzer, K.: An FPGA-based soft multiprocessor system for IPv4 packet forwarding. In: International Conference on Field Programmable Logic and Applications, pp. 487–492 (2005)

    Google Scholar 

  29. Salminen, E., Kangas, T., Hämäläinen, T., Riihimäki, J., Lahtinen, V., Kuusilinna, K.: HIBI communication network for system-on-chip. Journal of VLSI Signal Processing Systems 43(2–3), 185–205 (2006)

    MATH  Google Scholar 

  30. Santo, B.: 25 microchips that shook the world. IEEE Spectrum 46(5), 34–43 (2009)

    Article  Google Scholar 

  31. Sheldon, D., Kumar, R., Lysecky, R., Vahid, F., Tullsen, D.: Application-specific customization of parameterized FPGA soft-core processors. In: Proc. IEEE/ACM International Conference on Computer-Aided Design, pp. 261–268 (2006)

    Google Scholar 

  32. Sheldon, D., Kumar, R., Vahid, F., Tullsen, D., Lysecky, R.: Conjoining soft-core FPGA processors. In: Proc. IEEE/ACM International Conference on Computer-Aided Design, pp. 694–701 (2006)

    Google Scholar 

  33. Stefanov, T., Kienhuis, B., Deprettere, E.: Algorithmic transformation techniques for efficient exploration of alternative application instances. In: Proc. 10th Int. Symp. on Hardware/Software Codesign, pp. 7–12 (2002)

    Google Scholar 

  34. Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., Deprettere, E.: System design using kahn process networks: The Compaan/Laura approach. In: Proc. Design Automation and Test in Europe (DATE) Conference, vol. 1, pp. 340–345 (2004)

    Google Scholar 

  35. Texas Instruments: TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide (2008). URL http://www.ti.com

  36. Thompson, M., Stefanov, T., Nikolov, H., Pimentel, A., Erbas, C., Polstra, E., Deprettere, E.: A framework for rapid system-level exploration, synthesis and programming of multimedia MP-SoCs. In: Proc. ACM/IEEE/IFIP Int. Conference on Hardware-Software Codesign and System Synthesis, pp. 9–14 (2007)

    Google Scholar 

  37. Vassiliadis, S., Wong, S., Gaydadjiev, G., Bertels, K., Kuzmanov, G., Moscu Panainte, E.: The MOLEN polymorphic processor. IEEE Transactions on Computers 53(11), 1363–1375 (2004)

    Article  Google Scholar 

  38. Verdoolaege, S., Nikolov, H., Stefanov, T.: pn: A tool for improved derivation of process networks. EURASIP Journal on Embedded Systems 2007(1) (2007)

    Google Scholar 

  39. Wolf, W.: High Performance Embedded Computing - Architectures, Applications, and Methodologies. Morgan Kaufmann (2007)

    Google Scholar 

  40. Woods, R., McAllister, J., Yi, Y., Lightbody, G.: FPGA-based Implementation of Signal Processing Systems. Wiley (2008)

    Google Scholar 

  41. Xilinx Inc.: MicroBlaze Processor Reference Guide (2008). URL www.xilinx.com

  42. Xilinx Inc.: Embedded Processor Block in Virtex-5 FPGAs (2009). URL www.xilinx.com

  43. Xilinx Inc.: System Generator for DSP User Guide (2009). URL www.xilinx.com

  44. Xilinx Inc.: Virtex-5 FPGA XtremeDSP Design Considerations (2009). URL www.xilinx.com

  45. Xilinx Inc.: 7 Series DSP48E1 Slice User Guide (2012). URL www.xilinx.com

  46. Xilinx Inc.: 7 Series FPGAs Memory Resources User Guide (2012). URL www.xilinx.com

  47. Xilinx Inc.: 7 Series FPGAs Overview (2012). URL www.xilinx.com

  48. Yi, Y., Woods, R.: Hierarchical synthesis of complex DSP functions using IRIS. IEEE Trans. Computer Aided Design of Integrated Circuits and Systems 25(5), 806–820 (2006)

    Article  Google Scholar 

  49. Yu, J., Eagleston, C., Chou, C., Perreault, M., Lemieux, G.: Vector processing as a soft processor accelerator. ACM Trans. Reconfigurable Technology and Systems 2(2), 12:1–12:34 (2000)

    Google Scholar 

  50. Zhuo, L., Prasanna, V.: Scalable and modular algorithms for floating-point matrix multiplication on reconfigurable computing systems. IEEE Trans. Parallel and Distributed Systems 18(4), 433–448 (2007)

    Article  Google Scholar 

  51. Zhuo, L., Prasanna, V.: High-performance designs for linear algebra operations on reconfigurable hardware. IEEE Trans. Computers 57(8), 1057–1071 (2008)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to John McAllister .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

McAllister, J. (2013). FPGA-Based DSP. In: Bhattacharyya, S., Deprettere, E., Leupers, R., Takala, J. (eds) Handbook of Signal Processing Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-6859-2_22

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-6859-2_22

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-6858-5

  • Online ISBN: 978-1-4614-6859-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics