Checking Consistency of C and Verilog using Predicate Abstraction and Induction

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).

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 25, 2004
Accession Number
ADA457879

Entities

People

  • Daniel Kroening
  • Edmund M. Clarke

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Computations
  • Computer Science
  • Computers
  • Concrete
  • Consistency
  • Construction
  • Contrast
  • Floating Point Operations
  • Information Operations
  • Language
  • Machines
  • Reasoning
  • Simulations
  • Standards
  • Transitions

Fields of Study

  • Computer science
  • Engineering

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Computational Linguistics
  • Integrated Circuit Design and Technology.