Checking architectural outputs instruction-by-instruction on acceleration platforms

  • Authors:
  • Debapriya Chatterjee;Anatoly Koyfman;Ronny Morad;Avi Ziv;Valeria Bertacco

  • Affiliations:
  • University of Michigan, Ann Arbor, MI;IBM Research Lab, Haifa, Israel;IBM Research Lab, Haifa, Israel;IBM Research Lab, Haifa, Israel;University of Michigan, Ann Arbor, MI

  • Venue:
  • Proceedings of the 49th Annual Design Automation Conference
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Simulation-based verification is an integral part of a modern microprocessor's design effort. Commonly, several checking techniques are deployed alongside the simulator to detect and localize each functional bug manifestation. Among these, a widespread technique entails comparing a microprocessor design's outputs with a golden model at the architectural granularity, instruction-by-instruction. However, due to exponential growth in design complexity, the performance of software-based simulation falls far short of achieving an acceptable level of coverage, which typically requires billions of simulation cycles. Hence, verification engineers rely on simulation acceleration platforms. Unfortunately, the intrinsic characteristics of these platforms make the adoption of the checking solutions mentioned above a challenging goal: for instance, the lockstep execution of a software checker together with the design's simulation is no longer feasible. To address this challenge we propose an innovative solution for instruction-by-instruction (IBI) checking tailored to acceleration platforms. We provide novel design techniques to decouple event tracing from checking by including specialized tracing logic and by adding a post-simulation checking phase. Note that simulation performance in acceleration platforms degrades when increasing the number of signals that are traced; hence, it is imperative to generate a compact summary of the information required for checking, collecting and tracing only a few bits of information per cycle.