iDEA: A DSP block based FPGA soft processor

This paper presents a very lean DSP Extension Architecture (iDEA) soft processor for Field Programmable Gate Arrays (FPGAs). iDEA has been built to be as lightweight as possible, utilising the run-time flexibility of the DSP48E1 primitive in Xilinx FPGAs to serve as many processor functions as possible. We show how the primitive's flexibility can be leveraged within a general-purpose processor, what additional circuitry is needed, and present a full instruction-set architecture. The result is a very compact processor that can run at high speed, while executing a full gamut of general machine instructions. We provide results for a number of simple applications, and show how the processor's resource requirements and frequency compare to a Xilinx MicroBlaze soft core. Based on the DSP48E1, this processor can be deployed across next-generation Xilinx Artix-7, Kintex-7, and Virtex-7 families.

[1]  John McAllister,et al.  FPGA based soft-core SIMD processing: A MIMO-OFDM Fixed-Complexity Sphere Decoder case study , 2010, 2010 International Conference on Field-Programmable Technology.

[2]  Guy Lemieux,et al.  VEGAS: soft vector processor with scratchpad memory , 2011, FPGA '11.

[3]  Pascal Benoit,et al.  The SecretBlaze: A Configurable and Cost-Effective Open-Source Soft-Core Processor , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[4]  John McAllister,et al.  An ultra-fine processor for FPGA DSP chip multiprocessors , 2009, 2009 Conference Record of the Forty-Third Asilomar Conference on Signals, Systems and Computers.

[5]  Jakub Botwicz,et al.  Lightweight Multi-threaded Network Processor Core in FPGA , 2007, 2007 IEEE Design and Diagnostics of Electronic Circuits and Systems.

[6]  Suhaib A. Fahmy,et al.  Evaluating the efficiency of DSP Block synthesis inference from flow graphs , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[7]  Wayne Luk,et al.  CUSTARD - a customisable threaded FPGA soft processor and tools , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[8]  René van Leuken,et al.  MB-LITE: A robust, light-weight soft-core implementation of the MicroBlaze architecture , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[9]  Guy Lemieux,et al.  Vector processing as a soft-core CPU accelerator , 2008, FPGA '08.

[10]  Miriam Leeser,et al.  An Autonomous Vector/Scalar Floating Point Coprocessor for FPGAs , 2011, 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines.

[11]  J. Gregory Steffan,et al.  OCTAVO: an FPGA-centric processor family , 2012, FPGA '12.

[12]  Douglas L. Maskell,et al.  A lean FPGA soft processor built using a DSP block , 2012, FPGA '12.

[13]  Jonathan Rose,et al.  VESPA: portable, scalable, and flexible FPGA-based vector processors , 2008, CASES '08.

[14]  Guy Lemieux,et al.  VENICE: A compact vector processor for FPGA applications , 2012, 2012 International Conference on Field-Programmable Technology.

[15]  Yong Dou,et al.  VPFPAP: A Special-Purpose VLIW Processor for Variable-Precision Floating-Point Arithmetic , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.