VCEGAR: Verilog counterexample guided abstraction refinement

  • Authors:
  • Himanshu Jain;Daniel Kroening;Natasha Sharygina;Edmund Clarke

  • Affiliations:
  • Carnegie Mellon University, School of Computer Science;ETH Zuerich, Switzerland;Carnegie Mellon University, School of Computer Science and Informatics Department, University of Lugano;Carnegie Mellon University, School of Computer Science

  • Venue:
  • TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

As first step, most model checkers used in the hardware industry convert a high-level register transfer language (RTL) design into a netlist. However, algorithms that operate at the netlist level are unable to exploit the structure of the higher abstraction levels, and thus, are less scalable. The RTL level of a hardware description language such as Verilog is similar to a software program with special features for hardware design such as bit-vector arithmetic and concurrency. We describe a hardware model checking tool, VCEGAR, which performs verification at the RTL level using software verification techniques. It implements predicate abstraction and a refinement loop as used in software verification. The novel aspects are the generation of new word-level predicates, an efficient predicate image computation in presence of a large number of predicates, and precise modeling of the bit-vector semantics of hardware designs.