Zen and the art of Alpha verification

The advanced architecture of the Alpha 21264 microprocessor compelled the verification team to invent far-reaching techniques to achieve the goal of booting multiple operating systems on first silicon. These techniques, built on traditional verification methodology, exposed a number of esoteric bugs prior to tape-out. Verification engineers took focused testing, pseudo-random testing, and coverage analysis to new levels in order to meet the challenge of verifying a highly out-of order, superscalar machine. A new hybrid exerciser and a method for predicting the future enhanced pseudo-random testing. A new way of looking at coverage analysis was devised. Random behavior was added to hand-coded rests, several methods were created for tackling atomic operations, and a shadow reference model was written for the most advanced branch predictor implemented to date in a commercial microprocessor. Verification techniques were also expanded to include test pattern generation and post-silicon debugging.