Leading-One Prediction with Concurrent Position Correction

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]  Michael J. Flynn,et al.  The SNAP project: design of floating point arithmetic units , 1997, Proceedings 13th IEEE Sympsoium on Computer Arithmetic.

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

[3]  Tadayoshi Enomoto,et al.  A 200-MFLOPS 100-MHz 64-b BiCMOS vector-pipelined processor (VPP) ULSI , 1991 .

[4]  A. Olesin,et al.  A dual execution pipelined floating-point CMOS processor , 1996, 1996 IEEE International Solid-State Circuits Conference. Digest of TEchnical Papers, ISSCC.

[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]  Koichiro Mashiko,et al.  Leading-zero anticipatory logic for high-speed floating point addition , 1995 .

[7]  Michael J. Flynn,et al.  Leading One Detection --- Implementation, Generalization, and Application , 1991 .

[8]  Peter W. Cook,et al.  Second-generation RISC floating point with multiply-add fused , 1990 .

[9]  Michael J. Flynn,et al.  A Variable Latency Pipelined Floating-Point Adder , 1996, Euro-Par, Vol. II.

[10]  L. Kohn,et al.  A 1,000,000 transistor microprocessor , 1989, IEEE International Solid-State Circuits Conference, 1989 ISSCC. Digest of Technical Papers.

[11]  Marc Tremblay,et al.  UltraSPARC: the next generation superscalar 64-bit SPARC , 1995, Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.

[12]  J. Mori,et al.  A 320 Mflops Cmos Floating-point Processing Unit For Superscalar Processors , 1992, 1992 Proceedings of the IEEE Custom Integrated Circuits Conference.

[13]  Yuji Nakai,et al.  An 80-MFLOPS (peak) 64-b microprocessor for parallel computer , 1992 .

[14]  Javier D. Bruguera,et al.  Leading-one prediction scheme for latency improvement in single datapath floating-point adders , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[15]  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..

[16]  Erdem Hokenek,et al.  Design of the IBM RISC System/6000 Floating-Point Execution Unit , 1990, IBM J. Res. Dev..