Skip to main content

Verification of all circuits in a floating-point unit using word-level model checking

  • Conference paper
  • First Online:
Book cover Formal Methods in Computer-Aided Design (FMCAD 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1166))

Included in the following conference series:

Abstract

This paper presents the formal verification of all sub-circuits in a floating-point arithmetic unit (FPU) from an Intel microprocessor using a word-level model checker. This work represents the first large-scale application of word-level model checking techniques. The FPU can perform addition, subtraction, multiplication, square root, division, remainder, and rounding operations; verifying such a broad range of functionality required coupling the model checker with a number of other techniques, such as property decomposition, property-specific model extraction, and latch removal. We will illustrate our verification techniques using the Weitek WTL3170/3171 Sparc floating point coprocessor as an example. The principal contribution of this paper is a practical verification methodology explaining what techniques to apply (and where to apply them) when verifying floating-point arithmetic circuits. We have applied our methods to the floating-point unit of a state-of-the-art Intel microprocessor, which is capable of extended precision (64-bit mantissa) computation. The success of this effort demonstrates that word-level model checking, with the help of other verification techniques, can verify arithmetic circuits of the size and complexity found in industry.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. E. Atkins. Higher-radix division using estimates of the divisor and partial remainders. IEEE Transactions on Computers, C-17(10):925–934, October 1968.

    Google Scholar 

  2. R.E. I. Beer, S. Ben-David, C. Eisner, and Avner Landver. Rulebase: an industry-oriented formal verification tool. In Proceedings of the 33rd Design Automation Conference. IEEE Computer Society Press, June 1996.

    Google Scholar 

  3. R. E. Bryant and Y. A. Chen. Verification of arithmetic functions with binary moment diagrams. In Proceedings of the 32nd ACM/IEEE Design Automation Conference, pages 535–541. IEEE Computer Society Press, June 1995.

    Google Scholar 

  4. R. E. Bryant. On the complexity of vlsi implementations and graph representations of boolean functions with application to integer multiplication. IEEE Transactions on Computers, 40(2):205–213, 1991.

    Google Scholar 

  5. R.E. Bryant. Bit-level analysis of an srt divider circuit. Technical report, Carnegie Mellon University, 1995.

    Google Scholar 

  6. M. Birman, A. Samuels, G. Chu, T. Chuk, L. Hu, J. McLeod, and J. Barnes. Developing the wtl3170/3171 sparc floating-point coprocessors. IEEE Micro, pages 55–64, February 1990.

    Google Scholar 

  7. J. Bannur and A. Varma. The vlsi implementation of a square root algorithm. In Proceedings of the 7th Symposium on Computer Arithmetic, pages 159–165. IEEE Computer Society Press, 1985.

    Google Scholar 

  8. E. M. Clarke, M. Fujita, and X. Zhao. Hybrid decision diagrams — overcoming the limitations of mtbdds and bmds. In Proceedings of the 1995 Proceedings of the IEEE International Conference on Computer Aided Design, pages 159–163. IEEE Computer Society Press, November 1995.

    Google Scholar 

  9. E. M. Clarke, M. Khaira, and X. Zhao. Word level symbolic model checking — a new approach for verifying arithmetic circuits. In Proceedings of the 33rd ACM/IEEE Design Automation Conference. IEEE Computer Society Press, June 1996.

    Google Scholar 

  10. E. M. Clarke, K. McMillan, X. Zhao, M. Fujita, and J. Yang. Spectral transforms for large boolean functions with applications to technology mapping. In Proceedings of the 30th ACM/IEEE Design Automation Conference, pages 54–60. IEEE Computer Society Press, June 1993.

    Google Scholar 

  11. T. Coe. Inside the pentium fdiv bug. Dr. Dobbs Journal, 20(4):129–135, April 1995.

    Google Scholar 

  12. C. V. Frieman. Statistical analysis of certain arithmetic binary division algorithms. IRE Transaction, pages 91–103, January 1961.

    Google Scholar 

  13. K. Hamaguchi, A. Morita, and S. Yajima. Efficient construction of binary moment diagrams for verifying arithmetic circuits. In Proceedings of the 1995 IEEE International Conference on Computer Aided Design, pages 78–82, November 1995.

    Google Scholar 

  14. J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 1996.

    Google Scholar 

  15. R. P. Kurshan and L. Lamport. Verification of a multiplier: 64 bits and beyond. In C. Courcoubetis, editor, Proceedings of the Fifth Workshop on Computer-Aided Verification, June/July 1993.

    Google Scholar 

  16. K. L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.

    Google Scholar 

  17. 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, volume 901 of Lecture Notes in Computer Science. Springer-Verlag, 1995.

    Google Scholar 

  18. R. Rudell. Dynamic variable ordering for ordered binary decision diagrams. In Intl. Conf. on Computer Aided Design, Santa Clara, Ca., November 1993.

    Google Scholar 

  19. H. P. Sharangpani and M. L. Barton. Statistical analysis of floating point flaw in the pentium processor(1994). Technical report, Intel Corporation, November 1994.

    Google Scholar 

  20. 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, 4:5–31, January 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mandayam Srivas Albert Camilleri

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, YA. et al. (1996). Verification of all circuits in a floating-point unit using word-level model checking. In: Srivas, M., Camilleri, A. (eds) Formal Methods in Computer-Aided Design. FMCAD 1996. Lecture Notes in Computer Science, vol 1166. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031797

Download citation

  • DOI: https://doi.org/10.1007/BFb0031797

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61937-6

  • Online ISBN: 978-3-540-49567-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics