Verifying correct pipeline implementation for microprocessors

We introduce a general, automatic verification technique for pipelined designs. The technique is based on a scalable, formal methodology for analysing pipelines. The key advantages to our technique are: it specifically targets pipeline control, making it more efficient; it requires no explicit specification, since it compares hardware against itself; it can be used within the broader framework of hierarchical verification; and, it can be easily extended to handle certain "complex" pipelined structures.

[1]  Jerry R. Burch Techniques for verifying superscalar microprocessors , 1996, DAC '96.

[2]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[3]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[4]  Michael C. McFarland,et al.  Formal verification of sequential hardware: a tutorial , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  David L. Dill,et al.  Efficient validity checking for processor verification , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[6]  Kunle Olukotun,et al.  A scalable formal verification methodology for pipelined microprocessors , 1996, 33rd Design Automation Conference Proceedings, 1996.

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[9]  Mark Bickford,et al.  Formal verification of a pipelined microprocessor , 1990, IEEE Software.

[10]  Srinivas Devadas,et al.  Automatic Verification of Pipelined Microprocessors , 1994, 31st Design Automation Conference.

[11]  Kenneth L. McMillan,et al.  Fitting Formal Methods into the Design Cycle , 1994, 31st Design Automation Conference.