Abstract:
We address the problem of verification of implementations of complex processors using architectural level automatic test program generators. A number of automatic test program generators exist, and are widely used for verification of the compliance of complex processors with their architectures. We define a four stage verification process: (1) describing the processor implementation control as a Finite State Machine (2) deriving transition coverage on the FSM using methods from formal verification (3) translation of the covering tours to constraints on test programs (4) generation of test programs for each set of constraints. This process combines a high quality and well defined theoretical method along with tools used in industrial practice. There are a number of advantages of our Method: (a) The last three stages are automated (b) Implementing the FSM model involves relatively little expert designers time (c) The method is feasible for modern superscalar processors and was studied on an enhanced PowerPC processor. We describe a formal framework for the new process, identify the obstacles that are encountered in the modeling phase, and show how to overcome them.
Citations
|
1128
|
Symbolic Model Checking
– McMillan
- 1993
|
|
58
|
Formally verifying a microprocessor using a simulation methodology
– Beatty, Bryant
- 1994
|
|
57
|
Architecture validation for processors
– Ho, Yang, et al.
- 1995
|
|
12
|
The smv system – draft
– McMillan
- 1992
|
|
7
|
Design and Validation of Computer Protocols
– Holtzman
- 1991
|
|
4
|
Aharon "Model Based Test Generation for Processor Design Verification
– Lichtenstein, Malka, et al.
- 1994
|
|
4
|
Rosen "Architectural Verification of Processors Using Symbolic Instruction Graphs
– Chandra, Iyengar, et al.
- 1994
|
|
3
|
Shwartzbund "Verification of the IBM RISC System/6000 by a Dynamic Biased Pseudo-Random Test Program Generator
– Aharon, Bar-David, et al.
- 1991
|
|
3
|
The Pentium Bug, an Industry Watershed", Testing Techniques Newsletter On-Line Edition
– Beizer
- 1995
|
|
3
|
Shurek "Test Program Generation for Functional Verification
– Aharon, Goodman, et al.
- 1995
|
|
3
|
Wolfstal "AVPGEN - A Test Case Generator for Architecture Verification
– Chandra, Iyengar, et al.
- 1995
|
|
3
|
Wolfsthal "Coverage Directed Generation Using Symbolic Techniques", FMCAD 96
– Geist, Farkas, et al.
|
|
3
|
Hirose "Automatic Test Program Generation for Pipelined Processors
– Iwashita, Kowatari, et al.
- 1994
|
|
3
|
Shen "Systematic Validation of Pipeline Interlock for Superscalar Microarchitectures
– Diep, P
- 1995
|
|
3
|
editors "The PowerPC Architecture
– May, Silha, et al.
- 1994
|
|
3
|
Smith "POWER and PowerPC
– Weiss, E
- 1994
|
|
2
|
Jeng "Analyzing Partition Testing Strategies
– Weyuker, B
- 1991
|
|
2
|
Ostrand "Theories of Program Testing and the Application of Revealing Subdomains
– Weyuker, J
- 1980
|
|
2
|
Coverage Driven Processor Bug Classification
– Abarbanel, Lichtenstein, et al.
- 1996
|
|
2
|
Shurek "Constraint Satisfaction for Test Program Generation
– Lewin, Fournier, et al.
- 1995
|
|
2
|
Iyengar "Constraint Solving for Test Case Generation
– Chandra, S
- 1992
|
|
2
|
Hirose "Integrated Design and Test Assistance for Pipeline Controllers
– Iwashita, Nakata, et al.
- 1993
|
|
2
|
Ur "A Processor Implementation Verification Methodology", IBM
– Lewin, Lorenz, et al.
|