Table-Based versus Shift-And-Add Constant Multipliers for FPGAs

The multiplication by a constant is a frequently used operation. To implement it on Field Programmable Gate Arrays (FPGAs), the state of the art offers two completely different methods: one relying on bit shifts and additions/subtractions, and another one using look-up tables and additions. So far, it was unclear which method performs best for a given constant and input/output data types. The main contribution of this work is a thorough comparison of both methods in the main application contexts of constant multiplication: filters, signal-processing transforms, and elementary functions. Most of the previous state of the art addresses multiplication by an integer constant. This work shows that, in most of these application contexts, a formulation of the problem as the multiplication by a real constant allows for more efficient architectures. Another contribution is a novel extension of the shift-and-add method to real constants. For that, an integer linear programming (ILP) formulation is proposed, which truncates each component in the shift-and-add network to a minimum necessary word size that is aligned with the approximation error of the coefficient. All methods are implemented within the open-source FloPoCo framework.

[1]  Michael J. Wirthlin Constant Coefficient Multiplication Using Look-Up Tables , 2004, J. VLSI Signal Process..

[2]  Oscar Gustafsson,et al.  Addition Aware Quantization for Low Complexity and High Precision Constant Multiplication , 2010, IEEE Signal Processing Letters.

[3]  Levent Aksoy,et al.  Optimization of Area in Digital FIR Filters using Gate-Level Metrics , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[4]  Markus Püschel,et al.  Multiplierless multiple constant multiplication , 2007, TALG.

[5]  A. Dempster,et al.  Constant integer multiplication using minimum adders , 1994 .

[6]  Jean-Michel Muller,et al.  Integer and floating-point constant multipliers for FPGAs , 2008, 2008 International Conference on Application-Specific Systems, Architectures and Processors.

[7]  Jens Willkomm,et al.  Multiple constant multiplication with ternary adders , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[8]  Lars Wanhammar,et al.  Bit-Level Optimization of Shift-and-Add Based FIR Filters , 2007, 2007 14th IEEE International Conference on Electronics, Circuits and Systems.

[9]  O. Gustafsson,et al.  A detailed complexity model for multiple constant multiplication and an algorithm to minimize the complexity , 2005, Proceedings of the 2005 European Conference on Circuit Theory and Design, 2005..

[10]  Anastasia Volkova,et al.  Towards Hardware IIR Filters Computing Just Right: Direct Form I Case Study , 2019, IEEE Transactions on Computers.

[11]  Mathias Faust,et al.  Pipelined adder graph optimization for high speed multiple constant multiplication , 2012, 2012 IEEE International Symposium on Circuits and Systems.

[12]  Laurent Imbert,et al.  Multiplication by a Constant is Sublinear , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).

[13]  K. Steiglitz,et al.  Some complexity issues in digital signal processing , 1984 .

[14]  Florent de Dinechin,et al.  Floating-point exponential functions for DSP-enabled FPGAs , 2010, 2010 International Conference on Field-Programmable Technology.

[15]  O. Gustafsson,et al.  Simplified Design of Constant Coefficient Multipliers , 2006 .

[16]  Peter Zipf,et al.  FIR filter optimization for video processing on FPGAs , 2013, EURASIP J. Adv. Signal Process..

[17]  Peter Zipf,et al.  Optimal Single Constant Multiplication Using Ternary Adders , 2018, IEEE Transactions on Circuits and Systems II: Express Briefs.

[18]  Nicola Nicolici,et al.  An Optimal and Practical Approach to Single Constant Multiplication , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[19]  Mathias Faust,et al.  Bit-parallel Multiple Constant Multiplication using Look-Up Tables on FPGA , 2011, 2011 IEEE International Symposium of Circuits and Systems (ISCAS).

[20]  Florent de Dinechin Multiplication by Rational Constants , 2012, IEEE Trans. Circuits Syst. II Express Briefs.

[22]  Martin Kumm,et al.  Optimal Constant Multiplication Using Integer Linear Programming , 2018, IEEE Transactions on Circuits and Systems II: Express Briefs.

[23]  Rui Guo,et al.  Truncated MCM using pattern modification for FIR filter implementation , 2010, Proceedings of 2010 IEEE International Symposium on Circuits and Systems.

[24]  Eugene George Walters Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs , 2017 .