DIVA: A Dynamic Approach to Microprocessor Verification.
Todd M. Austin · 2000
Building a high-performance microprocessor presents many reliability challenges. De-signers must verify the correctness of large complex systems and construct implementations that work reliably in varied (and occasionally adverse) operating conditions. To further complicate this task, deep submicron fabrication technologies present new reliability chal-lenges in the form of degraded signal quality and logic failures caused by natural radiation interference. In this paper, we introduce dynamic verication, a novel microarchitectural technique that can signicantly reduce the burden of correctness in microprocessor designs. The ap-proach works by augmenting the commit phase of the processor pipeline with a functional checker unit. The functional checker veries the correctness of the core processor's compu-tation, permitting only correct results to commit. In the event of an incorrect result, the checker xes the error and ushes any incorrect results from the core using the existing speculation recovery mechanism. Overall design costs can be dramatically reduced because designers need only verify the correctness of the checker unit. The core processor need not be fully correct, only suÆciently correct that its errors do not adversely aect performance. We detail the DIVA checker architecture, a design optimized for simplicity and low cost. Using detailed timing simulation, we show that even resource-frugal DIVA checkers have little impact on core processor performance. To make the case for reduced verication costs, we argue that the DIVA checker should lend itself to functional and electrical verication better than a complex core processor. Finally, future applications of dynamic verication are suggested. 1.