Abstract
We address the problem of formally verifying arithmetic instructions of microprocessors implemented by microprograms that contain loops. We try to avoid theorem proving techniques using a new symbolic representation: Binary Moment Diagrams (*BMDs).
In order to use *BMDs for verifying sequential circuits as well as microprograms, we extend this representation and define several bit-vector level operators. This extension is then integrated into an automatic verification system. We illustrate the paper with examples and we discuss power and weakness of *BMDs.
Preview
Unable to display preview. Download preview PDF.
References
L. Arditi. Formal verification of microprocessors: a first experiment with the Coq proof assistant. Technical Report RR-96-31, Université de Nice-Sophia Antipolis. Laboratoire I3S, May 1996.
L. Arditi and H. Collavizza. An object-oriented framework for the formal verification of processors. In European Conference on Object-Oriented Programming, volume 952 of LNCS, 1995.
L. Arditi and H. Collavizza. Towards verifying VHDL descriptions of processors. In European Design Automation Conference with EURO-VHDL, 1995.
P. J. Ashenden. The VHDL Cookbook. Public Domain, Dept. Computer Science, University of Adelaide, South Australia, first edition, July 1990.
D. L. Beatty and R. E. Bryant. Formally verifying a microprocessor using a simulation methodology. In31st ACM/IEEE Design Automation Conference, 1994.
J. Bern, C. Meinel, and A. Slobodová. Efficient OBDD-based boolean, manipulation in CAD beyond current limits. In 32nd ACM/IEEE Design Automation Conference, 1995.
R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8):677–691, Aug. 1986.
R. E. Bryant. Binary decision diagrams and beyond: Enabling technologies for formal verification. In IEEE Internationl Conference on Computer-Aided Design, 1995.
R. E. Bryant and Y.-A. Chen. Verification of arithmetic functions with binary moment diagrams. Technical Report CMU-CS-94-160, School of Computer Science, Carnegie Mellon University, June 1994.
R. E. Bryant and Y.-A. Chen. Verification of arithmetic circuits with binary moment diagrams. In 32nd ACM/IEEE Design Automation Conference, 1995.
J. Burch. Using BDDs to verify multipliers. In 28th ACM/IEEE Design Automation Conference, 1991.
J. Burch, E. Clarke, K. McMillan, and D. Dill. Sequential circuit verification using symbolic model checking. In 27th ACM/IEEE Design Automation Conference, 1990.
J. Burch and D. Dill. Automatic verification of pipelined microprocessor control. In Computer-Aided Verification, volume 818 of LNCS, 1994.
E. Clarke, M. Fujita, and X. Zhao. Hybrid decision diagrams, overcoming the limitations of MTBDDs and BMDs. In IEEE Internationl Conference on Computer-Aided Design, 1995.
E. Clarke, K. McMillan, X. Zhao, M. Fujita, and H.-Y. Yang. Spectral transforms for large Boolean functions with application to technology mapping.In 30th ACM/IEEE Design Automation Conference, 1993.
E. C. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. In ACM Symposium on Principles of Programming Languages, 1992.
A. Cohn. A proof of correctness of the Viper microprocessor: the first level. In VLSI Specification, Verification and Synthesis. Kluwer Acad. Publ., Jan. 1987.
F. Corella. Automatic high-level verification against clocked algorithmic specifications. In 11th International Conference on Computer Hardware Description Languages and their Applications. Elsevier Science Publishers B.V., 1993.
Cornes, Courant, Filliâtre, Huet, Manoury, MŨnoz, Murthy, Parent, Paulin-Mohring, SaÏbi, and Werner. The Coq Proof Assistant. Reference Manual. Version 5.10. Technical report, INRIA Rocquencourt-CNRS-ENS Lyon, 1996.
O. Coudert, C. Berthet, and J.-C. Madre. Verification of synchronous sequential machines based on symbolic execution. In Automatic Verification Methods for Finite State Systems, volume 407 of LNCS, 1989.
R. Drechsler, B. Becker, and S. Ruppertz.K*BMDs: a new data structure for verification. In European Design and Test Conference, 1996.
M. Gordon. Proving a computer correct using LCF-LSM hardware verification system. Technical Report 42, Computer Laboratory, The University of Cambridge, Sept. 1983.
A. Gupta. Formal hardware verification methods: a survey. Formal Methods in System Design, 1(2/3):151–238, Oct. 1992.
K. Hamaguchi, A. Morita, and S. Yajima. Efficient construction of binary moment diagrams for verifying arithmetic circuits. In IEEE Internationl Conference on Computer-Aided Design, 1995.
R. Hojati and R. K. Brayton. Automatic datapath abstraction in hardware systems. In Computer-Aided Verification, volume 939 of LNCS, 1995.
A. D. Hu, D. L. Dill, A. J. Drexler, and H. C. Yang. Higher-level specification and verification with BDDs. In Computer-Aided Verification: Fourth International Workshop, volume 663 of LNCS, 1992.
W. Hunt Jr. FM8501: a Verified Microprocessor. PhD thesis, Institute for Computing Science, University of Texas at Austin, 1986.
J. Joyce. Multi Level Verification of Microprocessor-Based Systems. PhD thesis, University of Cambridge, Computer Laboratory, 1989.
Y.-T. Lai and S. Sastry. Edge-valued binary decision diagrams for multi-level hierarchical verification. In 29th ACM/IEEE Design Automation Conference, 1992.
S. Rajan, N. Shankar, and M. Srivas. An integration of model checking with automated proof checking. In Computer-Aided Verification, volume 939 of LNCS, 1995.
M. K. Srivas and S. P. Miller. Applying formal verification to a commercial microprocessor. In International Conference on Computer Hardware Description Languages, 1995.
P. J. Windley. Formal modeling and verification of microprocessors. IEEE Transactions on Computers, 44(1), Jan. 1995.
Z. Zhu, J. Joyce, and C. Seger. Verification of the Tamarack-3 microprocessor in a hybrid verification environment. In Higher Order Logic Theorem Proving and Its Applications. 6th International Workshop, volume 780 of LNCS, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arditi, L. (1996). *BMDs can delay the use of theorem proving for verifying arithmetic assembly instructions. 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/BFb0031798
Download citation
DOI: https://doi.org/10.1007/BFb0031798
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