Abstract
DSP blocks in modern FPGAs can be used for a wide range of arithmetic functions, offering increased performance while saving logic resources for other uses. They have evolved to better support a plethora of signal processing tasks, meaning that in other application domains they may be underutilised. The DSP48E1 primitives in new Xilinx devices support dynamic programmability that can help extend their usefulness; the specific function of a DSP block can be modified on a cycle-by-cycle basis. However, the standard synthesis flow does not leverage this flexibility in the vast majority of cases. The lean DSP Extension Architecture (iDEA) presented in this article builds around the dynamic programmability of a single DSP48E1 primitive, with minimal additional logic to create a general-purpose processor supporting a full instruction-set architecture. The result is a very compact, fast processor that can execute a full gamut of general machine instructions. We show a number of simple applications compiled using an MIPS compiler and translated to the iDEA instruction set, comparing with a Xilinx MicroBlaze to show estimated performance figures. Being based on the DSP48E1, this processor can be deployed across next-generation Xilinx Artix-7, Kintex-7, Virtex-7, and Zynq families.
- Aeroflex Gaisler. 2012. GRLIB ip library user's manual. http://aeroflex.bentech-taiwan.com/aeroflex/pdf/grlib.pdf.Google Scholar
- Altera Corpration. 2011. Nios II processor design. http://www.altera.com/literature/lit-nio2.jsp.Google Scholar
- Arm Ltd. 2011. Cortex-m1 processor. http://www.arm.com/products/processors/cortex-m/cortex-m1.php.Google Scholar
- L. Barthe, L. V. Cargnini, P. Benoit, and L. Torres. 2011. The secretblaze: A configurable and cost-effective open-source soft-core processor. In Proceedings of the International Symposium on Parallel and Distributed Processing Workshops (IPDPSW'11). 310--313. Google Scholar
Digital Library
- F. Brosser, H. Y. Cheah, and S. A. Fahmy. 2013. Iterative floating point computation using FPGA DSP blocks. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'13).Google Scholar
- P. Buciak and J. Botwicz. 2007. Lightweight multi-threaded network processor core in FPGA. In Proceedings of the Design and Diagnostics of Electronic Circuits and Systems Conference (DDECS'07). 1--5.Google Scholar
- H. Y. Cheah, 2013. iDEA FPGA soft processor. https://github.com/archntu/idea.Google Scholar
- H. Y. Cheah, S. A. Fahmy, and D. L. Maskell. 2012a. iDEA: A DSP block based FPGA soft processor. In Proceedings of the International Conference on Field Programmable Technology (FPT'12). 151--158.Google Scholar
- H. Y. Cheah, S. A. Fahmy, D. L. Maskell, and C. Kulkarni. 2012b. A lean FPGA soft processor built using a DSP block. In Proceedings of ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'12). 237--240. Google Scholar
Digital Library
- C. H. Chou, A. Severance, A. D. Brant, Z. Liu, S. Sant, and G. Lemieux. 2011. VEGAS: Soft vector processor with scratch-pad memory. In Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'11). 15--24. Google Scholar
Digital Library
- X. Chu and J. Mcallister. 2010. FPGA based soft-core SIMD processing: A MIMO-OFDM fixed-complexity sphere decoder case study. In Proceedings of the International Conference on Field Programmable Technology (FPT'10). 479--484.Google Scholar
- F. de Dinechin and B. Pasca. 2011. Designing custom arithmetic data paths with flopoco. IEEE Des. Test Comput. 28, 4, 18--27. Google Scholar
Digital Library
- R. Dimond, O. Mencer, and W. Luk. 2005. CUSTARD—A customisable threaded FPGA soft processor and tools. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'05).Google Scholar
- J. Kathiara and M. Leeser. 2011. An autonomous vector/scalar floating point coprocessor for FPGAS. In Proceedings of the International Symposium on Field-Programmable Custom Computing Machines (FCCM'11). 33--36. Google Scholar
Digital Library
- T. Kranenburg and R. van Leuken. 2010. MB-LITE: A robust, light-weight soft-core implementation of the microblaze architecture. In Proceedings of the Design, Automation, and Test in Europe Conference (DATE'10). 997--1000. Google Scholar
Digital Library
- C. E. Laforest and J. G. Steffan. 2010. Efficient multi-ported memories for FPGAs. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'10). Google Scholar
Digital Library
- C. E. Laforest, J. G. Steffan, and J. Gregory. 2012. OCTAVO: An FPGA-centric processor family. In Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'12). 219--228. Google Scholar
Digital Library
- Lattice Semiconductor Corp. 2009. LatticeMico32 processor reference manual. http://www.lattice.us/∼/Documents/UserManuals/JL/LatticeMico32HardwareDeveloperUserGuide.PDF?document_id=35467Google Scholar
- Y. Lei, Y. Dou, J. Zhou, and S. Wang. 2011. VPFPAP: A special-purpose VLIW processor for variable-precision floating-point arithmetic. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'11). 252--257. Google Scholar
Digital Library
- J. Lotze, S. A. Fahmy, J. Noguera, B. Ozgul, L. Doyle, and R. Esser. 2009. Development framework for implementing FPGA-based cognitive network nodes. In Proceedings of the IEEE Global Communications Conference (GLOBECOM'09). Google Scholar
Digital Library
- M. Milford and J. Mcallister. 2009. An ultra-fine processor for FPGA DSP chip multiprocessors. In Conference Record of the Asilomar Conference on Signals, Systems and Computers. 226--230. Google Scholar
Digital Library
- F. Plavec, B. Fort, Z. G. Vranesic, and S. D. Brown. 2005. Experiences with soft-core processor design. In Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS'05). 167b. Google Scholar
Digital Library
- B. Ronak and S. A. Fahmy. 2012. Evaluating the efficiency of DSP block synthesis inference from flow graphs. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'12). 727--730.Google Scholar
- A. Severance and G. Lemieux. 2012. VENICE: A compact vector processor for FPGA applications. In Proceedings of the Workshop on the Intersections of Computer Architecture and Reconfigurable Logic.Google Scholar
- K. Vipin and S. A. Fahmy. 2012. A high speed open source controller for FPGA partial reconfiguration. In Proceedings of the International Conference on Field-Programmable Technology (FPT'12). 61--66.Google Scholar
- Xilinx. 2010. Virtex-4 family overview. http://www.xilinx.com/support/documentation/data_sheets/ds112.pdf.Google Scholar
- Xilinx. 2011a. UG081: MicroBlaze processor reference guide. http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/mb_ref_guide.pdf.Google Scholar
- Xilinx. 2011b. UG369: Virtex-6 FPGA DSP48E1 Slice user guide. http://www.xilinx.com/support/documentation/user_guides/ug369.pdf.Google Scholar
- Xilinx. 2011c. Virtex-II pro and Virtex-II Pro X platform FPGAs data sheet. http://www.xilinx.com/support/documentation/data_sheets/ds083.pdfGoogle Scholar
- S. Xu, S. A. Fahmy, and I. V. Mcloughlin. 2014. Square-rich fixed point polynomial evaluation on FPGAs. In Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'14). 99--108. Google Scholar
Digital Library
- P. Yiannacouras, J. G. Steffan, and J. Rose. 2008. VESPA: Portable, scalable, and flexible FPGA-based vector processors. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES'08). 61--70. Google Scholar
Digital Library
- J. Yu, G. Lemieux, and C. Eagleston. 2008. Vector processing as a soft-core CPU accelerator. In Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA'08). 222--232. Google Scholar
Digital Library
Index Terms
The iDEA DSP Block-Based Soft Processor for FPGAs
Recommendations
A lean FPGA soft processor built using a DSP block
FPGA '12: Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate ArraysAs Field Programmable Gate Arrays (FPGAs) have advanced, the capabilities and variety of embedded resources have increased. In the last decade, signal processing has become one of the main driving applications for FPGA adoption, so FPGA vendors tailored ...
On Data Forwarding in Deeply Pipelined Soft Processors
FPGA '15: Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysWe can design high-frequency soft-processors on FPGAs that exploit deep pipelining of DSP primitives, supported by selective data forwarding, to deliver up to 25% performance improvements across a range of benchmarks. Pipelined, in-order, scalar ...
Facilitating Processor-Based DPR Systems for non-DPR Experts
FCCM '08: Proceedings of the 2008 16th International Symposium on Field-Programmable Custom Computing MachinesCurrently, only Xilinx Field Programmable Gate Arrays (FPGAs) support Dynamic Partial Reconfiguration (DPR). While there is currently some Computer Aided Design (CAD) tool support for ISE-based DPR designs, none exists for microprocessor-based designs ...






Comments