FPGA-Based DSP

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.

[1]  Andy D. Pimentel,et al.  A systematic approach to exploring embedded system architectures at multiple abstraction levels , 2006, IEEE Transactions on Computers.

[2]  Stamatis Vassiliadis,et al.  The Molen compiler for reconfigurable processors , 2007, TECS.

[3]  Ed F. Deprettere,et al.  Multi-processor system design with ESPAM , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[4]  Qiang Liu,et al.  Combining Data Reuse With Data-Level Parallelization for FPGA-Targeted Hardware Compilation: A Geometric Programming Framework , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Ed F. Deprettere,et al.  A framework for rapid system-level exploration, synthesis, and programming of multimedia MP-SoCs , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[6]  Prithviraj Banerjee,et al.  Overview of a compiler for synthesizing MATLAB programs onto FPGAs , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[7]  R. Kumar,et al.  Conjoining Soft-Core FPGA Processors , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[8]  Guy Lemieux,et al.  Vector Processing as a Soft Processor Accelerator , 2009, TRETS.

[9]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[10]  Alexandru Turjan,et al.  System design using Khan process networks: the Compaan/Laura approach , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[11]  Wayne Wolf High-Performance Embedded Computing: Architectures, Applications, and Methodologies , 2006 .

[12]  Gaye Lightbody,et al.  20-GFLOPS QR processor on a Xilinx Virtex-E FPGA , 2000, SPIE Optics + Photonics.

[13]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[14]  Alberto L. Sangiovanni-Vincentelli,et al.  System-level design: orthogonalization of concerns andplatform-based design , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Kurt Keutzer,et al.  An FPGA-based soft multiprocessor system for IPv4 packet forwarding , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[16]  Timo Hämäläinen,et al.  Instruction Memory Architecture Evaluation on Multiprocessor FPGA MPEG-4 Encoder , 2007, 2007 IEEE Design and Diagnostics of Electronic Circuits and Systems.

[17]  Roger F. Woods,et al.  Hierarchical synthesis of complex DSP functions using IRIS , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[18]  Timo Hämäläinen,et al.  UML-based multiprocessor SoC design framework , 2006, TECS.

[19]  Jianwen Zhu,et al.  Specification and Design of Embedded Systems , 1998, Informationstechnik Tech. Inform..

[20]  Daniel D. Gajski,et al.  Embedded System Design: Modeling, Synthesis and Verification , 2013 .

[21]  R. Kumar,et al.  Application-Specific Customization of Parameterized FPGA Soft-Core Processors , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[22]  Ed F. Deprettere,et al.  Compilation From Matlab to Process Networks Realized in FPGA , 2001, Conference Record of Thirty-Fifth Asilomar Conference on Signals, Systems and Computers (Cat.No.01CH37256).

[23]  Alex K. Jones,et al.  An FPGA-based VLIW processor with custom hardware execution , 2005, FPGA '05.

[24]  Ed F. Deprettere,et al.  Compilation from Matlab to process networks realised in FPGA , 2001 .

[25]  Lei Ma,et al.  QR Decomposition-Based Matrix Inversion for High Performance Embedded MIMO Receivers , 2011, IEEE Transactions on Signal Processing.

[26]  Viktor K. Prasanna,et al.  High-Performance Designs for Linear Algebra Operations on Reconfigurable Hardware , 2008, IEEE Transactions on Computers.

[27]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[28]  Ed F. Deprettere,et al.  Algorithmic transformation techniques for efficient exploration of alternative application instances , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[29]  Wonyong Sung,et al.  An FPGA based SIMD processor with a vector memory unit , 2006, 2006 IEEE International Symposium on Circuits and Systems.

[30]  Roger F. Woods,et al.  SoC Memory Hierarchy Derivation from Dataflow Graphs , 2007, 2007 IEEE Workshop on Signal Processing Systems.

[31]  Todor Stefanov,et al.  pn: A Tool for Improved Derivation of Process Networks , 2007, EURASIP J. Embed. Syst..

[32]  Keshab K. Parhi,et al.  VLSI digital signal processing systems , 1999 .

[33]  Viktor K. Prasanna,et al.  Scalable and Modular Algorithms for Floating-Point Matrix Multiplication on Reconfigurable Computing Systems , 2007, IEEE Transactions on Parallel and Distributed Systems.

[34]  Timo Hämäläinen,et al.  HIBI Communication Network for System-on-Chip , 2006, J. VLSI Signal Process..

[35]  Hristo N. Nikolov,et al.  System-level design methodology for streaming multi-processor embedded systems , 2009 .

[36]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[37]  C. A. R. Hoare,et al.  Notes on Communicating Sequential Systems , 1986 .

[38]  Jürgen Teich,et al.  Design of Image Processing Embedded Systems Using Multidimensional Data Flow , 2011, Embedded Systems.

[39]  B. Santo 25 microchips that shook the world , 2009, IEEE Spectrum.