Formal Verification of a Theory of IEEE Rounding

We report on the formal verification of a theory of IEEE rounding in the theorem prover PVS. The theory consists of a formalization of the IEEE standard, and notations and theorems facilitating the verification of floating point hardware. In particular, the concepts of α-equivalence and round decomposition are formalized, allowing for a subdivision of floating point units into smaller building blocks, which then can be verified separately. The theory has been successfully applied to the verification of a fully IEEE compliant floating point unit.

[1]  bob. norin IA-64 Floating-Point Operations and the IEEE Standard for Binary Floating-Point Arithmetic , 1999 .

[2]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[3]  Christoph Berg,et al.  Formal Verification of the VAMP Floating Point Unit , 2001, Formal Methods Syst. Des..

[4]  Randal E. Bryant,et al.  Verification of Floating-Point Adders , 1998, CAV.

[5]  Carl-Johan H. Seger,et al.  The formal verification of a pipelined double-precision IEEE floating-point multiplier , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[6]  David M. Russinoff A Case Study in Fomal Verification of Register-Transfer Logic with ACL2: The Floating Point Adder of the AMD AthlonTM Processor , 2000, FMCAD.

[7]  David M. Russinoff A Mechanically Checked Proof of IEEE Compliance of the Floating Point Multiplication, Division and Square Root Algorithms of the AMD-K7™ Processor , 1998, LMS J. Comput. Math..

[8]  John Harrison,et al.  A Machine-Checked Theory of Floating Point Arithmetic , 1999, TPHOLs.

[9]  S Miner Paul,et al.  Defining the IEEE-854 Floating-Point Standard in PVS , 1995 .

[10]  Wolfgang J. Paul,et al.  On the design of IEEE compliant floating point units , 1997, Proceedings 13th IEEE Sympsoium on Computer Arithmetic.

[11]  Geoff Barrett,et al.  Formal Methods Applied to a Floating-Point Number System , 1989, IEEE Trans. Software Eng..

[12]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[13]  Mustapha Bourahla,et al.  Verification of Pipelined Microprocessors Using Invariants , 2003 .

[14]  D. Kroening,et al.  Formal Verification of a Basic Circuits Library , 2001 .

[15]  W. Paul,et al.  Computer Architecture , 2000, Springer Berlin Heidelberg.

[16]  Matt Kaufmann,et al.  A Mechanically Checked Proof of the , 1998 .

[17]  David M. Russinoff A Mechanically Checked Proof of Correctness of the AMD K5 Floating Point Square Root Microcode , 1999, Formal Methods Syst. Des..