Presents a new method for verifying, in a fully automated way, that two synchronous sequential circuits have the same input/output behavior. The method applies to designs in which a distinction between data path and control can be made, and in particular to microprocessors. The verification is carried out at the register-transfer level. In contrast with previous methods, our procedure is not limited by the total number of latches in the circuit: it runs in time that is independent of the width of the data path. A price has to be paid for this: the procedure does not always terminate, and may produce false negatives. We argue, however, that these problems should not come up when verifying general purpose microprocessors. We have implemented the procedure in Prolog on an IBM RS/6000 workstation, and have tried it on the Tamarack-3 microprocessor previously verified by J.J. Joyce (1990) with the interactive theorem prover HOL at the University of Cambridge. We have verified the equivalence of several alternative implementations to the original one, in times ranging from 11 to 26 s, and we have detected the errors in several incorrect implementations, in times ranging from 1 to 26 s. >
[1]
Robert K. Brayton,et al.
Implicit state enumeration of finite state machines using BDD's
,
1990,
1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.
[2]
Warren A. Hunt.
FM8501: A Verified Microprocessor
,
1994,
Lecture Notes in Computer Science.
[3]
Srinivas Devadas,et al.
Verification of relations between synchronous machines
,
1993,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[4]
Kenneth J. Supowit,et al.
A New Method for Verifying Sequential Circuits
,
1986,
DAC 1986.
[5]
Olivier Coudert,et al.
A unified framework for the formal verification of sequential circuits
,
1990,
ICCAD 1990.
[6]
Edmund M. Clarke,et al.
Sequential circuit verification using symbolic model checking
,
1991,
DAC '90.
[7]
Jr. Warren Alva Hunt.
Fm8501: a verified microprocessor (theorem-proving, computers, design)
,
1985
.
[8]
Francisco Corella.
Automated High-level Verification Against Clocked Algorithmic Specifications
,
1993,
CHDL.