Integrating formal verification and high-level processor pipeline synthesis

When a processor implementation is synthesized from a specification using an automatic framework, this implementation still should be verified against its specification to ensure the automatic framework introduced no error. This paper presents our effort in integrating fully automated formal verification with a high-level processor pipeline synthesis framework. As an integral part of the pipeline synthesis, our framework also emits SMV models for checking the functional equivalence between the output pipelined processor implementation and its input non-pipelined specification. Well known compositional model checking techniques are automatically applied to curtail state explosion during model checking. The paper reports case studies of applying this integrated framework to synthesize and formally verify pipelined RISC and CISC processors.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

[2]  Prabhat Mishra,et al.  Functional Test Generation Using Efficient Property Clustering and Learning Techniques , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Jun Sawada,et al.  Trace Table Based Approach for Pipeline Microprocessor Verification , 1997, CAV.

[4]  James C. Hoe,et al.  Automatic Pipelining From Transactional Datapath Specifications , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Sanjit A. Seshia,et al.  Modeling and Verification of Out-of-Order Microprocessors in UCLID , 2002, FMCAD.

[6]  Martin C. Rinard,et al.  High-level automatic pipelining for sequential circuits , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

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

[8]  Daniel J. Sorin,et al.  Verification-Aware Microprocessor Design , 2007, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007).

[9]  Ranjit Jhala,et al.  Microarchitecture Verification by Compositional Model Checking , 2001, CAV.

[10]  Rainer Leupers,et al.  Integrated Verification Approach during ADL-Driven Processor Design , 2006, Seventeenth IEEE International Workshop on Rapid System Prototyping (RSP'06).

[11]  Rainer Leupers,et al.  RTL processor synthesis for architecture exploration and implementation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[12]  Adrian J. Isles,et al.  Formal verification of pipeline control using controlled token nets and abstract interpretation , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[13]  Yossi Lichtenstein,et al.  Industrial experience with test generation languages gar processor verification , 2004, Proceedings. 41st Design Automation Conference, 2004..

[14]  Ganesh Gopalakrishnan,et al.  Verifying Advanced Microarchitectures that Support Speculation and Exceptions , 2000, CAV.