Verification of an implementation of Tomasulo's algorithm by compositional model checking
An implementation of an out-of-order processing unit based on Tomasulo's algorithm is formally verified using compositional model checking techniques. This demonstrates that finite-state methods can be applied to such algorithms, without recourse to higher-order proof systems. The paper introduces a novel compositional system that supports cyclic environment reasoning and multiple environment abstractions per signal. A proof of Tomasulo's algorithm is outlined, based on refinement maps, and relying on the novel features of the compositional system. This proof is fully verified by the SMV verifier, using symmetry to reduce the number of assertions that must be verified.
Unable to display preview. Download preview PDF.
- [AH96]R. Alur and T. A. Henzinger. Reactive modules. In 11th annual IEEE symp. Logic in Computer Science (LICS '96), 1996.Google Scholar
- [BD94]J. R. Burch and D. L. Dill. Automatic verification of pipelined microprocessor control. In Computer-Aided Verification (CAV '94). Springer-Verlag, 1994.Google Scholar
- [DP97]W. Damm and A. Pnueli. Verifying out-of-order executions. In D. Probst, editor, CHARMS '97. Chapman & Hall, 1997. To appear.Google Scholar
- [JNB96]A. Jain, K. Nelson, and R. E. Bryant. Verifying nondeterministic implementations of deterministic systems. In Formal Methods in Computer-Aided Design (FMCAD '96), pages 109–25, 1996.Google Scholar
- [KSL95]A. Kuehlmann, A. Srinivasan, and D. P. LaPotin. Verity — a formal verification program for custom CMOS circuits. IBM J. of Research and Development, 39(1-2):149–65, Jan.-Mar. 1995.Google Scholar
- [Kur94]R. P. Kurshan. Computer-Aided Verification of Coordinating Processes. Princeton, 1994.Google Scholar
- [LR97]D. Leibholz and R. Razdan. The alpha 21264: a 500 mhz out-of-order execution microprocessor. In Digest of Papers, COMPCON Spring 97, pages 28–36, 1997.Google Scholar
- [McM93]K. L. McMillan. Symbolic Model Checking. Kluwer, 1993.Google Scholar
- [McM97]K. L. McMillan. A compositional rule for hardware design refinement. In Computer Aided Verification (CAV'97), pages 24–35, 1997.Google Scholar
- [ORSS94]S. Owre, J. M. Rushby, N. Shankar, and M. K. Srivas. A tutorial on using PVS for hardware verification. In Theorem Provers in Circuit Design (TPCD '94), pages 258–79. Springer, 1994.Google Scholar
- [Tom67]R. M. Tomasulo. An efficient algorithm for exploiting multiple arithmetic units. IBM J. of Research and Development; 11(1):25–33, Jan. 1967.Google Scholar