CADRE: Cycle-Accurate Deterministic Replay for Hardware Debugging

  • Authors:
  • Smruti R. Sarangi;Brian Greskamp;Josep Torrellas

  • Affiliations:
  • University of Illinois;University of Illinois;University of Illinois

  • Venue:
  • DSN '06 Proceedings of the International Conference on Dependable Systems and Networks
  • Year:
  • 2006

Quantified Score

Hi-index 0.02

Visualization

Abstract

One of the main reasons for the difficulty of hardware verification is that hardware platforms are typically nondeterministic at clock-cycle granularity. Uninitialized state elements, I/O, and timing variations on high-speed buses all introduce nondeterminism that causes different behavior on different runs starting from the same initial state. To improve our ability to debug hardware, we would like to completely eliminate nondeterminism. This paper introduces the Cycle-Accurate Deterministic REplay (CADRE) architecture, which cost-effectively makes a boardlevel computer cycle-accurate deterministic. We characterize the sources of nondeterminism in computers and show how to address them. In particular, we introduce a novel scheme to ensure deterministic communication on source-synchronous buses that cross clock-domain boundaries. Experiments show that CADRE on a 4-way multiprocessor server enables cycle-accurate deterministic execution of one-second intervals with modest buffering requirements (around 200MB) and minimal performance loss (around 1%). Moreover, CADRE has modest hardware requirements.