An Abstraction Algorithm for the Verification of Level-Sensitive Latch-Based Netlists

  • Authors:
  • Jason Baumgartner;Tamir Heyman;Vigyan Singhal;Adnan Aziz

  • Affiliations:
  • IBM Enterprise Systems Group, Austin, Texas 78758, USA. jasonb@austin.ibm.com;IBM Haifa Research Laboratory, Haifa, Israel. tamirh@cs.technion.ac.il;Tempus Fugit, Inc., Fremont, California 94538, USA. vigyan@tempusf.com;The University of Texas, Austin, Texas 78712, USA. adnan@ece.utexas.edu

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

High-performance hardware designs often intersperse combinational logic freely between level-sensitive latch layers (wherein each layer is transparent during only one clock phase), rather than utilizing master-slave latch pairs with no combinational logic between. While such designs may generally achieve much faster clock speeds, this design style poses a challenge to verification. In particular, unless the k-phase netlist N is abstracted to a full-cycle register-based netlist N′, verification of N requires k times (or greater) as many state variables as would be necessary to obtain equivalent verification of N′. We present algorithms to automatically identify and abstract k-phase netlists—i.e., to perform phase abstraction—by selectively eliminating latches. The abstraction is valid for model checking CTL* formulae which reason solely about latches of a single phase. This algorithm has been implemented in the model checker RuleBase, and used to enhance the model checking of IBM's Gigahertz Processor, which would not have been feasible otherwise due to computational constraints. This abstraction has furthermore allowed verification engineers to write properties and environments more efficiently.