loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Delay-Optimized Implementation of IEEE Floating-Point Addition
February 2004 (vol. 53 no. 2)
pp. 97-113

Abstract—We present an IEEE floating-point adder (FP-adder) design. The adder accepts normalized numbers, supports all four IEEE rounding modes, and outputs the correctly normalized rounded sum/difference in the format required by the IEEE Standard. The FP-adder design achieves a low latency by combining various optimization techniques such as: A nonstandard separation into two paths, a simple rounding algorithm, unification of rounding cases for addition and subtraction, sign-magnitude computation of a difference based on one's complement subtraction, compound adders, and fast circuits for approximate counting of leading zeros from borrow-save representation. We present technology-independent analysis and optimization of our implementation based on the Logical Effort hardware model and we determine optimal gate sizes and optimal buffer insertion. We estimate the delay of our optimized design at 30.6 FO4 delays for double precision operands (15.3 FO4 delays per stage between latches). We overview other IEEE FP addition algorithms from the literature and compare these algorithms with our algorithm. We conclude that our algorithm has shorter latency (-13 percent) and cycle time (-22 percent) compared to the next fastest algorithm.

[1] 97 S. Bar-Or, G. Even, and Y. Levin, Generation of Representative Input Vectors for Parametric Designs: from Low Precision to High Precision Integration, the VLSI J., vol. 36, issues 1-2, pp. 69-82, Sept. 2003.[2] A. Beaumont-Smith, N. Burgess, S. Lefrere, and C. Lim, Reduced Latency IEEE Floating-Point Standard Adder Architectures Proc. 14th IEEE Symp. Computer Arithmetic, pp. 35-43, 1999.[3] R. Brent and H. Kung, A Regular Layout for Parallel Adders IEEE Trans. Computers, vol. 31, no. 3, pp. 260-264, Mar. 1982.[4] J. Bruguera and T. Lang, Using the Reverse-Carry Approach for Double-Datapath Floating-Point Addition Proc. 15th IEEE Int'l Symp. Computer Arithmetic (Arith15), pp. 203-210, June 2001.[5] M. Daumas and D. Matula, Recoders for Partial Compression and Rounding Technical Report RR97-01, Ecole Normale Superieure de Lyon, LIP 1996.[6] L. Eisen, T. Elliott, R. Golla, and C. Olson, Method and System for Performing a High Speed Floating Point Add Operation. IBM Corporation, US patent 5790445, 1998.[7] G. Even, S. Müller, and P. Seidel, Dual Precision IEEE Floating-Point Multiplier INTEGRATION The VLSI J., vol. 29, no. 2, pp. 167-180, Sept. 2000.[8] G. Even and P.-M. Seidel, A Comparison of Three Rounding Algorithms for IEEE Floating-Point Multiplication IEEE Trans. Computers, vol. 49, no. 7, pp. 638-650, July 2000.[9] P. Farmwald, On the Design of High Performance Digital Arithmetic Units PhD thesis, Stanford Univ., Aug. 1981.[10] P. Farmwald, Bifurcated Method and Apparatus for Floating-Point Addition with Decreased Latency Time US patent 4639887, 1987.[11] V. Gorshtein, A. Grushin, and S. Shevtsov, Floating Point Addition Methods and Apparatus. Sun Microsystems, US patent 5808926, 1998.[12] M. Horowitz, VLSI Scaling for Architects http://velox.stanford. edu/papersVLSIScaling.pdf , 2000.[13] IEEE Standard for Binary Floating Point Arithmetic ANSI/IEEE754-1985, 1985.[14] T. Ishikawa, Method for Adding/Subtracting Floating-Point Representation Data and Apparatus for the Same Toshiba, K.K., US patent 5063530, 1991.[15] T. Kawaguchi, Floating Point Addition and Subtraction Arithmetic Circuit Performing Preprocessing of Addition or Subtraction Operation Rapidly NEC, US patent 5931896, 1999.[16] Y. Levin, Supporting Denormalized Numbers in an IEEE Compliant Floating-Point Adder Optimized for Speed http://hyde.eng.tau.ac.il/Projects/FPADD index.html, 2001.[17] A. Naini, A. Dhablania, W. James, and D. Das Sarma, 1-GHz HAL SPARC64 Dual Floating Point Unit with RAS Features Proc. 15th IEEE Int'l Symp. Computer Arithmetic (Arith15), pp. 173-183, June 2001.[18] T. Nakayama, Hardware Arrangement for Floating-Point Addition and Subtraction NEC, US patent 5197023, 1993.[19] K. Ng, Floating-Point ALU with Parallel Paths US patent 5136536, Weitek Corp., 1992.[20] A. Nielsen, D. Matula, C.-N. Lyu, and G. Even, IEEE Compliant Floating-Point Adder that Conforms with the Pipelined Packet-Forwarding Paradigm IEEE Trans. Computers, vol. 49, no. 1, pp. 33-47, Jan. 2000.[21] S. Oberman, Floating-Point Arithmetic Unit Including an Efficient Close Data Path AMD, US patent 6094668, 2000.[22] S. Oberman, H. Al-Twaijry, and M. Flynn, The SNAP Project: Design of Floating Point Arithmetic Units Proc. 13th IEEE Symp. Computer Arithmetic, pp. 156-165, 1997.[23] W.-C. Park, T.-D. Han, S.-D. Kim, and S.-B. Yang, Floating Point Adder/Subtractor Performing IEEE Rounding and Addition/Subtraction in Parallel IEICE Trans. Information and Systems, vol. 4, pp. 297-305, 1996.[24] N. Quach and M. Flynn, Design and Implementation of the SNAP Floating-Point Adder Technical Report CSL-TR-91-501, Stanford Univ., Dec. 1991.[25] N. Quach, N. Takagi, and M. Flynn, On fast IEEE Rounding Technical Report CSL-TR-91-459, Stanford Univ., Jan. 1991.[26] M. Schmookler and K. Nowka, Leading Zero Anticipation and Detection A Comparison of Methods, Proc. 15th IEEE Symp. Computer Arithmetic, pp. 7-12, 2001.[27] P.-M. Seidel, On The Design of IEEE Compliant Floating-Point Units and Their Quantitative Analysis PhD thesis, Univ. of Saarland, Germany, Dec. 1999.[28] P.-M. Seidel and G. Even, How Many Logic Levels Does Floating-Point Addition Require? Proc. 1998 Int'l Conf. Computer Design (ICCD '98): VLSI, in Computers&Processors, pp. 142-149, Oct. 1998.[29] P.-M. Seidel and G. Even, On the Design of Fast IEEE Floating-Point Adders Proc. 15th IEEE Int'l Symp. Computer Arithmetic (Arith15), pp. 184-194, June 2001.[30] P.-M. Seidel and G. Even, Delay-Optimized Implementation of IEEE Floating-Point Addition http://www.engr.smu.edu/seidel/researchfpadd /, 2002.[31] H. Sit, D. Galbi, and A. Chan, Circuit for Adding/Subtracting Two Floating-Point Operands Intel, US patent 5027308, 1991.[32] D. Stiles, Method and Apparatus for Performing Floating-Point Addition AMD, US patent 5764556, 1998.[33] I. Sutherland, B. Sproull, and D. Harris, Logical Effort: Designing Fast CMOS Circuits. Morgan Kaufmann 1999.[34] A. Tyagi, A Reduced-Area Scheme for Carry-Select Adders IEEE Trans. Computers, vol. 42, no. 10, Oct. 1993.[35] H. Yamada, F. Murabayashi, T. Yamauchi, T. Hotta, H. Sawamoto, T. Nishiyama, Y. Kiyoshige, and N. Ido, Floating-Point Addition/Subtraction Processing Apparatus and Method Thereof Hitachi, US patent 5684729, 1997.

Index Terms:
Floating-point addition, IEEE rounding, delay optimization, dual path algorithm, logical effort, optimized gate sizing, buffer insertion.
Citation:
Peter-Michael Seidel, Guy Even, "Delay-Optimized Implementation of IEEE Floating-Point Addition," IEEE Transactions on Computers, vol. 53, no. 2, pp. 97-113, Feb. 2004, doi:10.1109/TC.2004.1261822
Usage of this product signifies your acceptance of the Terms of Use.