Automatic Test Program Generation For Pipelined Processors

Simulation-based verification has both advantages and disadvantages compared with formal verification. Our demand is to find a practical way to verify actual microprocessors. This paper presents an efficient test program generation method for simulation-based verification using techniques developed for formal verification. Our test program generator enumerates all reachable states of a processor pipeline and generates instruction sequences for every reachable test care. The program covers complicated test cases that are difficult to cover with random instructions and impossible to cover with conventional test program generation methods. Our test program generator also works for larger microprocessor designs than formal verifiers have done.

[1]  Fumiyasu Hirose,et al.  Integrated Design and Test Assistance for Pipeline Controllers (Special Issue on VLSI Testing and Testable Design) , 1993 .

[2]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[3]  Daniel P. Siewiorek,et al.  Functional test generation for pipelined computer implementations , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[4]  Randal E. Bryant,et al.  Formally Verifying a Microprocessor Using a Simulation Methodology , 1994, 31st Design Automation Conference.

[5]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

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

[7]  Mike Johnson,et al.  Superscalar microprocessor design , 1991, Prentice Hall series in innovative technology.

[8]  Fumiyasu Hirose,et al.  Behavioral design and test assistance for pipelined processors , 1992, Proceedings First Asian Test Symposium (ATS `92).

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

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