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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Based on comparison of Virtex®6 XC6VSX475T with assumed clock rate of 500 MHz and Texas Instruments TMS3206474 DSP.
- 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.
Metrics are approximated and assuming an FPGA operating frequency of 600 MHz.
References
Agility Design Solutions Inc.: Handel-C Language Reference Manual (2007). URL www.agilityds.com
Altera Corp.: Avalon Interface Specifications (2008). URL www.altera.com
Altera Corp.: Nios II C2H Compiler User Guide (2008). URL www.altera.com
Altera Corp.: DSP Design Flow User Guide (2009). URL www.altera.com
Altera Corp.: Stratix V Device Handbook (2012). URL www.altera.com
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)
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)
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)
Fischaber, S., Woods, R., McAllister, J.: SoC memory hierarchy derivation from dataflow graphs. Journal of Signal Processing Systems (2009)
Gajski, D., Vahid, F., Narayan, S., Gong, J.: Specification and Design of Embedded Systems. Prentice Hall (1994)
Gajski, D.D., Abdi, S., Gerstlauer, A., Schirner, G.: Embedded System Design: Modeling, Synthesis and Verification. Springer, New York (2009)
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)
Hoare, C.: Communicating Sequential Processes. Prentice Hall (1985)
Inc., S.: PICO FPGA Datasheet (2009). URL www.synfora.com
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)
Kahn, G.: The semantics of a simple language for parallel programming. In: Proc. IFIP Congress, pp. 71–475 (1974)
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)
Keinert, J., Teich, J.: Design of Image Processing Embedded Systems Using Multidimensional Data Flow. Springer, New York (2011)
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
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)
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)
Moscu Panainte, E., Bertels, K., Vassiliadis, S.: The MOLEN compiler for reconfigurable processors. ACM Transactions on Embedded Computing Systems 6(1) (2007)
Nikolov, H.: System level design methodology for streaming multi-processor embedded systems. Ph.D. thesis, Leiden University, Netherlands (2009)
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)
Parhi, K.: VLSI Digital Signal Processing Systems : Design and Implementation. Wiley (1999)
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)
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)
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)
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)
Santo, B.: 25 microchips that shook the world. IEEE Spectrum 46(5), 34–43 (2009)
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)
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)
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)
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)
Texas Instruments: TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide (2008). URL http://www.ti.com
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)
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)
Verdoolaege, S., Nikolov, H., Stefanov, T.: pn: A tool for improved derivation of process networks. EURASIP Journal on Embedded Systems 2007(1) (2007)
Wolf, W.: High Performance Embedded Computing - Architectures, Applications, and Methodologies. Morgan Kaufmann (2007)
Woods, R., McAllister, J., Yi, Y., Lightbody, G.: FPGA-based Implementation of Signal Processing Systems. Wiley (2008)
Xilinx Inc.: MicroBlaze Processor Reference Guide (2008). URL www.xilinx.com
Xilinx Inc.: Embedded Processor Block in Virtex-5 FPGAs (2009). URL www.xilinx.com
Xilinx Inc.: System Generator for DSP User Guide (2009). URL www.xilinx.com
Xilinx Inc.: Virtex-5 FPGA XtremeDSP Design Considerations (2009). URL www.xilinx.com
Xilinx Inc.: 7 Series DSP48E1 Slice User Guide (2012). URL www.xilinx.com
Xilinx Inc.: 7 Series FPGAs Memory Resources User Guide (2012). URL www.xilinx.com
Xilinx Inc.: 7 Series FPGAs Overview (2012). URL www.xilinx.com
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)
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)
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)
Zhuo, L., Prasanna, V.: High-performance designs for linear algebra operations on reconfigurable hardware. IEEE Trans. Computers 57(8), 1057–1071 (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)