An Efficient Softcore Multiplier Architecture for Xilinx FPGAs

This work presents an efficient implementation of a softcore multiplier, i.e., a multiplier architecture which can be efficiently mapped to the slice resources of modern Xilinx FPGAs. Instead of dividing the multiplication into the generation of partial products and the summation using a compressor tree, as done in modern multipliers, an array-like architecture is proposed. Each row of the array generates a partial product which is directly added to results of previous rows using the fast carry chain. A radix-4 Booth encoding/decoding is used to reduce the I/O count of the partial product generation which makes it possible to map both, the Booth encoder and decoder, into a single 6-input look up table (LUT). Like a conventional Booth multiplier, this nearly halves the number of rows compared to a ripple carry array multiplier. In addition, the compressor tree is completely avoided and an efficient and regular structure retains that uses up to 50% less slice resources compared to previous approaches and offers a multiply accumulate (MAC) operation without extra resources.

[1]  Paolo Ienne,et al.  Measuring and Reducing the Performance Gap between Embedded and Soft Multipliers on FPGAs , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[2]  Peter Zipf,et al.  Efficient High Speed Compression Trees on Xilinx FPGAs , 2014, MBMV.

[3]  Bruce A. Wooley,et al.  A Two's Complement Parallel Array Multiplication Algorithm , 1973, IEEE Transactions on Computers.

[4]  Florent de Dinechin,et al.  Arithmetic core generation using bit heaps , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[5]  Peter Zipf,et al.  Pipelined compressor tree optimization using integer linear programming , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[6]  Marimuthu Palaniswami,et al.  A fast-multiplier generator for FPGAs , 1995, Proceedings of the 8th International Conference on VLSI Design.

[7]  Paolo Ienne,et al.  Exploiting fast carry-chains of FPGAs for designing compressor trees , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[8]  Florent de Dinechin,et al.  Multipliers for floating-point double precision and beyond on FPGAs , 2011, CARN.

[9]  Yusuke Matsunaga,et al.  Multi-Operand Adder Synthesis Targeting FPGAs , 2011, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

[10]  Florent de Dinechin,et al.  Large multipliers with fewer DSP blocks , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[11]  Andrew D. Booth,et al.  A SIGNED BINARY MULTIPLICATION TECHNIQUE , 1951 .

[12]  Paolo Ienne,et al.  Compressor tree synthesis on commercial high-performance FPGAs , 2011, TRETS.

[13]  Yusuke Matsunaga,et al.  An Exact Approach for GPC-Based Compressor Tree Synthesis , 2013, IEICE Transactions on Fundamentals of Electronics Communications and Computer Sciences.