On the design of IEEE compliant floating point units

Guy Even, Wolfgang J. Paul

Research output: Contribution to journalArticlepeer-review


Engineering design methodology recommends designing a system as follows: Start with an unambiguous specification, partition the system into blocks, specify the functionality of each block, design each block separately, and glue the blocks together. Verifying the correctness of an implementation then reduces to a local verification procedure. We apply this methodology for designing a provably correct IEEE rounding unit that can be used for various operations, such as addition and multiplication. First, we provide a mathematical and, hopefully, unambiguous definition of the IEEE Standard which specifies the functionality. We give explicit and concise rules for gluing the rounding unit with a floating-point adder and multiplier. We then present floating-point addition and multiplication algorithms that use the rounding unit. To the best of our knowledge, our design is the first publication that deals with detecting exceptions and trapped overflow and underflow exceptions as an integral part of the rounding unit in a floating point unit. Our abstraction level avoids bit-level representations and arguments to help clarify the functionality of the algorithm.

Original languageEnglish
Pages (from-to)398-413
Number of pages16
JournalIEEE Transactions on Computers
Issue number5
StatePublished - May 2000


Dive into the research topics of 'On the design of IEEE compliant floating point units'. Together they form a unique fingerprint.

Cite this