Title :
A scalable formal verification methodology for pipelined microprocessors
Author :
Levitt, Jeremy ; Olukotun, Kunle
Author_Institution :
Comput. Syst. Lab., Stanford Univ., CA, USA
Abstract :
We describe a novel, formal verification technique for proving the correctness of a pipelined microprocessor that focuses specifically on pipeline control logic. We iteratively deconstruct a pipeline by merging adjacent pipeline stages, allowing for the verification to be done in several easier steps. We present an inductive proof methodology that verifies that pipeline behaviour is preserved as the pipeline depth is reduced via deconstruction; this inductive approach is less sensitive to pipeline depth and complexity than previous approaches. Invariants are used to simplify the proof, and datapath components are abstracted using validity checking with uninterpreted functions. We present experimental results from the formal verification of a DLX five-stage pipeline using our technique
Keywords :
computational complexity; formal verification; microprocessor chips; pipeline processing; theorem proving; DLX five-stage pipeline; adjacent pipeline stages; complexity; datapath components; inductive proof methodology; pipeline control logic; pipelined microprocessors; program correctness proving; scalable formal verification methodology; validity checking; Automatic control; Computer bugs; Control systems; Costs; Formal verification; Laboratories; Logic; Microprocessors; Permission; Pipeline processing;
Conference_Titel :
Design Automation Conference Proceedings 1996, 33rd
Conference_Location :
Las Vegas, NV
Print_ISBN :
0-7803-3294-6
DOI :
10.1109/DAC.1996.545638