Multipliers and dividers: Insights on arithmetic circuit verification (extended abstract)

  • Randal E. Bryant
Session 1: Invited Talk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 939)

Abstract

We consider methods for verifying multiplier and divider circuits based on symbolic function representations. Verification can be performed at either the bit-level, where individual signals are represented as Boolean functions, or at the word-level, where signal vectors are represented as “pseudo-Boolean” functions mapping Boolean variables to numeric values. These two classes of functions can be represented and manipulated as ordered Binary Decision Diagrams (BDDs), and Binary Moment Diagrams (BMDs), respectively.

It is impractical to verify multiplier or divider circuits entirely at the bit-level, because the BDD representations for these functions grow exponentially with the word size. It is possible, however, to analyze individual stages of these circuits using BDDs. Such analysis can be helpful when implementing complex arithmetic algorithms. As a demonstration, we show that Intel could have used BDDs to detect and even correct erroneous table entries in the Pentium floating point divider.

Abstracting to a word level offers two advantages over bit-level verification. First, it allows much more abstract and concise specifications in terms of arithmetic expressions. Second, we can verify complete multiplier circuits in polynomial time. Future extensions promise to enable word-level verification of divider circuits, as well.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    D. E. Atkins, “Higher-radix division using estimates of the divisor and partial remainder,” IEEE Transactions on Computers, Vol. C-17, No. 10 (October, 1968), pp. 925–934.Google Scholar
  2. 2.
    R. E. Bryant, “On the complexity of VLSI implementations and graph representations of Boolean functions with application to integer multiplication,” IEEE Transactions on Computers, Vol. 40, No. 2 (February, 1991), pp. 205–213.Google Scholar
  3. 3.
    R. E. Bryant, “Symbolic Boolean manipulation with ordered binary decision diagrams,” ACM Computing Surveys, Vol. 24, No. 3 (September, 1992), pp. 293–318.CrossRefGoogle Scholar
  4. 4.
    R. E. Bryant, and Y.-A. Chen, “Verification of arithmetic circuits with binary moment diagrams,” 32nd Design Automation Conference, 1995.Google Scholar
  5. 5.
    E. M. Clarke, J. R. Burch, K. L. McMillan, and D. L. Dill, “Sequential circuit verification using symbolic model checking,” 27th Design Automation Conference, June 1990.Google Scholar
  6. 6.
    Y.-T. Lai, and S. Sastry, “Edge-valued binary decision diagrams for multi-level hierarchical verification,” 29th Design Automation Conference, June, 1992, pp. 608–613.Google Scholar
  7. 7.
    H. P. Sharangpani, M. L. Barton, “Statistical analysis of floating point flaw in the Pentium processor(1994),” Intel Technical Report, Nov. 30, 1994.Google Scholar
  8. 8.
    D. Verkest, L. Claesen, and H. DeMan, “A proof of the nonrestoring division algorithm and its implementation on an ALU,” Formal Methods in System Design, Vol. 4, No. 1 (January, 1994), pp. 5–32.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Randal E. Bryant
    • 1
  1. 1.Carnegie Mellon UniversityPittsburghUSA

Personalised recommendations