Checking consistency of C and Verilog using predicate abstraction and induction

  • Authors:
  • Daniel Kroening;Edmund Clarke

  • Affiliations:
  • Comput. Syst. Inst., ETH Zurich, Switzerland;Computer Science Department, Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is common practice to write C models of circuits due to the greater simulation efficiency. Once the C program satisfies the requirements, the circuit is designed in a hardware description language (HDL) such as Verilog. It is therefore highly desirable to automatically perform a correspondence check between the C model and a circuit given in HDL. We present an algorithm that checks consistency between an ANSI-C program and a circuit given in Verilog using predicate abstraction. The algorithm exploits the fact that the C program and the circuit share many basic predicates. In contrast to existing tools that perform predicate abstraction, our approach is SAT-based and allows all ANSI-C and Verilog operators in the predicates. We report experimental results on an out-of-order RISC processor. We compare the performance of the new technique to bounded model checking (BMC).