Digital's Alpha-based DECchip 21164 processor was verified extensively prior to fabrication of silicon. This simulation-based verification effort used implementation-directed, pseudorandom exercisers which were supplemented with implementation-specific, hand-generated tests. Special emphasis was placed on the tasks of checking for correct operation and functional coverage analysis. Coverage analysis shows where testing is incomplete, under the assumption that untested logic often contains bugs. Correctness checkers are various mechanisms (both during and after simulation) that monitor a test to determine if it was successful. This paper details the coverage analysis and correctness checking techniques that were used. We show how our methodology and its implementation was successful, and we discuss the reasons why this methodology allowed several minor bugs to escape detection until the first prototype systems were available. These bugs were corrected before any chips were shipped to customers.
[1]
Randy H. Katz,et al.
Verifying a multiprocessor cache controller using random test generation
,
1990,
IEEE Design & Test of Computers.
[2]
Aharon Aharon,et al.
Verification of the IBM RISC System/6000 by a Dynamic Biased Pseudo-Random Test Program Generator
,
1991,
IBM Syst. J..
[3]
Walker Anderson.
Logical verification of the NVAX CPU chip design
,
1992,
Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.
[4]
Ruben W. Castelino,et al.
Internal Organization of the Alpha 21164, a 300-MHz 64-bit Quad-issue CMOS RISC Microprocessor
,
1995,
Digit. Tech. J..