A Survey on Design and Implementation of Floating Point Adder in FPGA

FPGAs are widely being used in high performance and scientific computing applications. FPGAs are suitable for such applications when conventional processors implementations do not satisfy the realtime and high performance requirements. Most of these applications demand high numerical stability and accuracy, and wide range of numbers. Hence, they are usually based on floating point. Implementing floating point unit in FPGA is one of the crucial issues of hardware implementations. Floating point addition is the most frequent floating point operation and takes most of the scientific operation. It is a costly operation in terms of time and hardware. The main objectives of implementing floating point in FPGA are to achieve high performance with less area, increase the throughput, and decrease the latency. This review paper presents a survey on floating point addition algorithms and techniques, and the implementation of floating point adder in FPGA.

[1]  Luka B. Daoud,et al.  Faster Processor Allocation Algorithms for Mesh-Connected CMPs , 2011, 2011 14th Euromicro Conference on Digital System Design.

[2]  Fan Yu,et al.  High Performance FPGA Implementation of Floating Point Addition , 2013 .

[3]  Seok-Bum Ko,et al.  Effective implementation of floating-point adder using pipelined LOP in FPGAs , 2005, Canadian Conference on Electrical and Computer Engineering, 2005..

[4]  Scott McMillan,et al.  A re-evaluation of the practicality of floating-point operations on FPGAs , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[5]  Erdem Hokenek,et al.  Leading-Zero Anticipator (LZA) in the IBM RISC System/6000 Floating-Point Execution Unit , 1990, IBM J. Res. Dev..

[6]  Vojin G. Oklobdzija,et al.  An algorithmic and novel design of a leading zero detector circuit: comparison with logic synthesis , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Stuart Franklin Oberman,et al.  Design issues in high performance floating point arithmetic units , 1996 .

[8]  Cheng-Chew Lim,et al.  Reduced latency IEEE floating-point standard adder architectures , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[9]  Seok-Bum Ko,et al.  Design tradeoff analysis of floating-point adders in FPGAs , 2008, Canadian Journal of Electrical and Computer Engineering.

[10]  Koichiro Mashiko,et al.  Leading-zero anticipatory logic for high-speed floating point addition , 1995 .

[11]  Michael J. Flynn,et al.  An improved algorithm for high-speed floating-point addition , 1990 .

[12]  Mircea Vladutiu,et al.  Exploiting Parallelism in Double Path Adders' Structure for Increased Throughput of Floating Point Addition , 2007 .

[13]  Tomás Lang,et al.  Digit-Serial Arithmetic , 2004 .

[14]  D. Vaithiyanathan,et al.  Optimized architecture for Floating Point computation Unit , 2013, 2013 International Conference on Emerging Trends in VLSI, Embedded System, Nano Electronics and Telecommunication System (ICEVENT).

[15]  Luka B. Daoud,et al.  High Performance Bitwise OR Based Submesh Allocation for 2D Mesh-Connected CMPs , 2013, 2013 Euromicro Conference on Digital System Design.

[16]  Javier D. Bruguera,et al.  Leading-One Prediction with Concurrent Position Correction , 1999, IEEE Trans. Computers.

[17]  Grzegorz Chmaj,et al.  Modeling computational limitations in H-Phy and Overlay-NoC architectures , 2013, The Journal of Supercomputing.

[18]  S. Ghosh,et al.  FPGA based implementation of a double precision IEEE floating-point adder , 2013, 2013 7th International Conference on Intelligent Systems and Control (ISCO).

[19]  Luka Daoud,et al.  A Survey of High Level Synthesis Languages, Tools, and Compilers for Reconfigurable High Performance Computing , 2013, ICSS.

[20]  Viktor K. Prasanna,et al.  Analysis of high-performance floating-point arithmetic on FPGAs , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[21]  Peter-Michael Seidel,et al.  On the design of fast IEEE floating-point adders , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[22]  Brent E. Nelson,et al.  Novel Optimizations for Hardware Floating-Point Units in a Modern FPGA Architecture , 2002, FPL.

[23]  Michael J. Flynn,et al.  The SNAP project: design of floating point arithmetic units , 1997, Proceedings 13th IEEE Sympsoium on Computer Arithmetic.

[24]  Russell Tessier,et al.  Floating point unit generation and evaluation for FPGAs , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[25]  N. Quach,et al.  On fast IEEE rounding , 1991 .

[26]  D. Liu,et al.  High Performance, Low Latency FPGA based Floating Point Adder and Multiplier Units in a Virtex 4 , 2006, 2006 NORCHIP.

[27]  Woo-Chan Park,et al.  Floating point adder/subtractor performing IEEE pounding and addition/subtraction in parallel , 1996 .

[28]  M.M. Ozbilen,et al.  A multi-precision floating-point adder , 2008, 2008 Ph.D. Research in Microelectronics and Electronics.

[29]  Guy Even,et al.  An IEEE Compliant Floating-Point Adder that Conforms with the Pipelined Packet-Forwarding Paradigm , 2000, IEEE Trans. Computers.

[30]  Grzegorz Chmaj,et al.  Heuristic algorithms for optimization of task allocation and result distribution in peer-to-peer computing systems , 2012, Int. J. Appl. Math. Comput. Sci..

[31]  Dawid Zydek,et al.  PROCESSOR ALLOCATOR FOR CHIP MULTIPROCESSORS , 2010 .

[32]  Grzegorz Chmaj,et al.  Tracker-Node Model for Energy Consumption in Reconfigurable Processing Systems , 2013, ICSS.

[33]  M. Kamaraju,et al.  Design Of High Performance IEEE- 754 Single Precision (32 bit) Floating Point Adder Using VHDL , 2013 .

[34]  Shanzhen Xing,et al.  FPGA Adders: Performance Evaluation and Optimal Design , 1998, IEEE Des. Test Comput..

[35]  Milos D. Ercegovac,et al.  Digital Arithmetic , 2003, Wiley Encyclopedia of Computer Science and Engineering.

[36]  Paul Michael Farmwald,et al.  On the design of high performance digital arithmetic units , 1981 .