Abstract
We verify the correctness of an SRT division circuit similar to the one in the Intel Pentium processor. The circuit and its correctness conditions are formalized as a set of algebraic relations on the real numbers. The main obstacle to applying theorem proving techniques for hardware verification is the need for detailed user guidance of proofs. We overcome the need for detailed proof guidance in this example by using a powerful theorem prover called Analytica. Analytica uses symbolic algebra techniques to carry out the proofs in this paper with much less guidance than existing general purpose theorem provers require for algebraic reasoning.
Similar content being viewed by others
References
R. Alur and T. Henzinger (Eds.), Computer-Aided Verification (CAV '96), volume 1102 of Lecture Notes in Computer Science, Springer-Verlag, 1996.
APT Data Services, “Pentium bug fiasco costs Intel dear,” Computer Business Review, Jan. 1995.
D.E. Atkins, “Higher-radix division using estimates of the divisor and partial remainders,” IEEE Transactions on Computers, Vol. C-17,No. 10, pp. 925–934, Oct. 1968.
W.W. Bledsoe, “The UT natural deduction prover,” Technical Report ATP-17B, Mathematical Department, University of Texas at Austin, TX, 1983.
W.W. Bledsoe, P. Bruell, and R. Shostak, “A prover for general inequalities,” Technical Report ATP-40A, Mathematical Department, University of Texas at Austin, TX, 1979.
R.S. Boyer and J.S. Moore, A Computational Logic Handbook, Academic Press, 1988.
E.M. Clarke and S.M. German, Personal communication to H. Ruess, N. Shankar, and M.K. Srivas, 1995.
E.M. Clarke, S.M. German, and X. Zhao, “Verifying the SRT division algorithm using theorem proving techniques,” in R. Alur and T. Henzinger (Eds.), Computer-Aided Verification (CAV '96), volume 1102 of Lecture Notes in Computer Science, Springer-Verlag, 1996.
E.M. Clarke, M. Khaira, and X. Zhao, “Word level symbolic model checking—Avoiding the pentium FDIV error,” Design Automation Conference, June 1996.
E.M. Clarke and X. Zhao, “Analytica: A theorem prover for mathematica,” The Journal of Mathematica, Vol. 3,No. 1, 1993.
J.H. Gallier, Logic for Computer Science: Foundations of Automatic Theorem Proving, Harper & Row, 1986.
S.M. German, “Verification of arithmetic hardware using a symbolic algebra system,” Lecture Notes, March 1995.
S.M. German and Y. Wang, “Verification of parameterized hardware designs,” in Proceedings of International Conference on Computer Design, 1985.
J. Joyce and C. Seger, “The HOL-Voss system: Model-checking inside a general-purpose theorem prover,” in Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications, HUG '93, LNCS 780, Springer-Verlag, 1993.
J. O'Leary, M. Leeser, J. Hickey, and M. Aagaard, “Non-restoring integer square root: A case study in design by principled optimization,” in Proceedings of the Theorem Provers in Circuit Design '94, LNCS 901, Springer-Verlag, 1995.
V. Pratt, “Anatomy of the Pentium bug,” in Proceedings of TAPSOFT '95: Theory and Practice of Software Development, LNCS 915, Springer-Verlag, 1995.
S. Rajan, N. Shankar, and M.K. Srivas, “An integration of model checking with automated proof checking,” in Proceedings of the Seventh Workshop on Computer-Aided Verification, 1995.
H. Ruess, N. Shankar, and M.K. Srivas, “Modular verification of SRT division,” preliminary version in T. Henzinger (Eds.), Computer-Aided Verification (CAV '96), volume 1102 of Lecture Notes in Computer Science, Springer-Verlag, 1996 [1]}, final version in this journal.
E. Sacks, “Hierarchical inequality reasoning,” Technical Report, MIT Laboratory for Computer Science, 1987.
H.P. Sharangpani and M.L. Barton, “Statistical analysis of floating point flaw in the Pentium processor (1994),” Technical Report, Intel Corporation, Nov. 1994.
R. Shostak, “On the sup-inf method for proving Presburger formulas,” Journal of the Association for Computing Machinery, Vol. 24, pp. 529–543, 1977.
G.S. Taylor, “Compatible hardware for division and square root,” in Proceedings of the 5th IEEE Symposium on Computer Arithmetic, May 1981.
D. Verkest, L. Claesen, and H. De Man, “A proof of the nonrestoring division algorithm and its implementation on an ALU,” Formal Methods in System Design, Vol. 4, pp. 5–31, Jan. 1994.
S. Wolfram, Mathematica: A System for Doing Mathematics by Computer, Wolfram Research Inc., 1988.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Clarke, E.M., German, S.M. & Zhao, X. Verifying the SRT Division Algorithm Using Theorem Proving Techniques. Formal Methods in System Design 14, 7–44 (1999). https://doi.org/10.1023/A:1008665528003
Issue Date:
DOI: https://doi.org/10.1023/A:1008665528003