A Mechanically Verified Commercial SRT Divider

Chapter

Abstract

We present a proof of correctness of a commercial implementation of the Sweeney–Robertson–Tocher (SRT) division algorithm, namely the integer divider of the AMD processor code-named “Llano.” The register-transfer logic (RTL) design of the divider and its behavioral specification are both formalized in the ACL2 logic; the proof has been formally checked by the ACL2 prover. The complexity of the problem is managed by modeling the design at successively lower levels of abstraction, beginning with the SRT algorithm and ending with the RTL module. This approach is contrasted with earlier published work on this problem, which addresses only the high-level algorithm.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Bryant RE, Chen YA (1996) Verification of arithmetic circuits with binary moment diagrams. In: Proceedings of the 32nd design automation conference, San Francisco, CA, June 1996Google Scholar
  3. 3.
    Clarke EM, German SM, Zhou X (1999) Verifying the SRT division algorithm using theorem proving techniques. Formal Methods Syst Des 14(1):7–44. http://www-2.cs.cmu.edu/~modelcheck/ed-papers/VtSRTDAU.pdf CrossRefGoogle Scholar
  4. 4.
    Gerwig G, Wetter H, Schwarz EM, Haess J, Krygowski CA, Fleischer BM, Kroener M (2004) The IBM eServer z990 floating-point unit. IBM J Res Dev 48(3/4):311–322. http://www.research.ibm.com/journal/rd/483/gerwig.html CrossRefGoogle Scholar
  5. 5.
    Kapur D, Subramaniam M (1997) Mechanizing verification of arithmetic circuits: SRT division. In: Invited Talk, Proceedings of FSTTCS-17, Kharagpur, India, LNCS 1346. Springer, New York, pp 103–122. http://www.cs.unm.edu/~kapur/myabstracts/fsttcs97.html
  6. 6.
    Parhami B (2000) Computer arithmetic: algorithms and hardware designs. Oxford University Press, OxfordGoogle Scholar
  7. 7.
    Pratt V (1995) Anatomy of the pentium bug. In: TAPSOFT ’95: theory and practice of software development, LNCS 915. Springer, Heidelberg. https://eprints.kfupm.edu.sa/25851/1/25851.pdf
  8. 8.
    Robertson JE (1958) A new class of digital division methods. IRE Trans Electron Comput EC-7:218–222CrossRefGoogle Scholar
  9. 9.
    Ruess H, Shankar N (1999) Modular verification of SRT division. Formal Methods Syst Des 14(1):45–73. http://www.csl.sri.com/papers/srt-long/srt-long.ps.gz CrossRefGoogle Scholar
  10. 10.
    Russinoff DM (2007) A formal theory of register-transfer logic and computer arithmetic. http://www.russinoff.com/libman/
  11. 11.
    Russinoff DM (2005) Formal verification of floating-point RTL at AMD using the ACL2 theorem prover, IMACS World Congress, Paris, 2005. http://www.russinoff.com/papers/paris.html
  12. 12.
    Taylor GS (1981) Compatible hardware for division and square root. In: Proceedings of the 5th symposium on computer arithmetic. IEEE Computer Society, Washington, DCGoogle Scholar
  13. 13.
    Tocher KD (1958) Techniques of multiplication and division for automatic binary computers. Q J Mech Appl Math 11(3):364–384MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Advanced Micro Devices, Inc.AustinUSA

Personalised recommendations