This Article 
 Bibliographic References 
 Add to: 
Leading-One Prediction with Concurrent Position Correction
October 1999 (vol. 48 no. 10)
pp. 1083-1097

Abstract—This paper describes the design of a leading-one prediction (LOP) logic for floating-point addition with an exact determination of the shift amount for normalization of the adder result. Leading-one prediction is a technique to calculate the number of leading zeros of the result in parallel with the addition. However, the prediction might be in error by one bit and previous schemes to correct this error result in a delay increase. The design presented here incorporates a concurrent position correction logic, operating in parallel with the LOP, to detect the presence of that error and produce the correct shift amount. We describe the error detection as part of the overall LOP, perform estimates of its delay and complexity, and compare with previous schemes.

[1] Am. Nat'l Standard Inst. and Inst. of Electrical and Electronic Engineers, IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard, std. 745-1985, 1985.
[2] J.D. Bruguera and T. Lang, “Leading-One Prediction Scheme for Latency Improvement in Single Datapath Floating-Point Adders,” Proc. Int'l Conf. Computer Design (ICCD'98), pp. 298-305, 1998.
[3] D. Greenley et al., “UltraSparc: The Next Generation Superscalar 64-bit Sparc,” Proc. COMPCON'95, pp. 442-451, 1995.
[4] E. Hokenek and R.K. Montoye, “Leading-Zero Anticipator (LZA) in the IBM RISC System/6000 Floating-Point Execution Unit,” IBM J. Research and Development, vol. 34, no. 1, pp. 71-77, 1990.
[5] E. Hokenek, R.K. Montoye, and P.W. Cook, “Second-Generation RISC Floating Point with Multiply-Add Fused,” IEEE J. Solid-State Circuits, vol. 25, no. 5, pp. 1,207-1,213, 1990.
[6] N. Ide, H. Fukuhisa, Y. Kondo, T. Yoshida, M. Nagamatsu, J. Mori, I. Yamazaki, and K. Ueno, “A 320-Mflops CMOS Floating-Point Processing Unit for Superscalar Processors,” IEEE J. Solid-State Circuits, vol. 28, no. 3, pp. 352-361, 1993.
[7] L. Kohn and S.W. Fu, “A 1,000,000 Transistor Microprocessor,” Proc. IEEE Int'l Solid-State Circuits Conf., pp. 54-55, 1989.
[8] J.A. Kowaleski et al., “A Dual-Execution Pipelined Floating-Point CMOS Processor,” Proc. IEEE Int'l Solid-State Circuits Conf., p. 287, 1996.
[9] R.K. Montoye, E. Hokenek, and S.L. Runyon, "Design of the IBM RISC System/6000 Floating-Point Execution Unit," IBM J. Research and Development, vol. 34, pp. 59-70, Jan. 1990.
[10] H. Nakano, M. Nakajima, Y. Nakakura, T. Yoshida, Y. Goi, Y. Nakai, R. Segawa, T. Kishida, and H. Kadota, “An 80-Mflops (Peak) 64-b Microprocessor for Parallel Computer,” IEEE J. Solid–State Circuits, vol. 27, no. 3, pp. 365-372, 1992.
[11] 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.
[12] S.F. Oberman and M.J. Flynn, “A Variable Latency Pipelined Floating-Point Adder,” Technical Report CSL-TR-96-689, Stanford Univ., 1996.
[13] F. Okamoto et al., "A 200-MFLOPS 100-MHz 64-b BiCMOS Vector-Pipelined Processor (VPP) VLSI," J. Solid State Circuits, vol. 26, pp. 1,885-1,892, Dec. 1991.
[14] V.G. Oklobdzija, “An Algorithmic and Novel Design of a Leading Zero Detector Circuit: Comparison with Logic Synthesis,” IEEE Trans. VLSI Systems, vol. 2, no. 1, pp. 124-128, 1994.
[15] N.T. Quach and M.J. Flynn, “An Improved Algorithm for High-Speed Floating-Point Addition, Technical Report CSL-TR-9-442, Stanford Univ., 1990.
[16] N.T. Quach and M.J. Flynn, “Leading-One Prediction: Implementation, Generalization and Application,” Technical Report CSL-TR-91-463, Stanford Univ., 1991.
[17] N.T. Quach and M.J. Flynn, “Design and Implementation of the SNAP Floating Point Adder,” Technical Report CSL-TR-91-501, Stanford Univ., 1991.
[18] H. Suzuki, H. Morinaka, H. Makino, Y. Nakase, K. Mashiko, and T. Sumi, “Leading-Zero Anticipatory Logic for High Speed Floating Point Addition,” IEEE J. Solid-State Circuits, vol. 31, no. 8, pp. 1,157-1,164, 1996.

Index Terms:
Floating-point addition, normalization, leading-one prediction.
Javier D. Bruguera, Tomás Lang, "Leading-One Prediction with Concurrent Position Correction," IEEE Transactions on Computers, vol. 48, no. 10, pp. 1083-1097, Oct. 1999, doi:10.1109/12.805157
Usage of this product signifies your acceptance of the Terms of Use.