| 
   CMU-CS-03-126 
    Computer Science Department 
    School of Computer Science, Carnegie Mellon University
    
      
 
 
CMU-CS-03-126
Behavioral Consistency of C and Verilog Programs 
 
Edmund Clarke, Daniel Kroening, Karen Yorav 
May 2003  
CMU-CS-03-126.ps 
CMU-CS-03-126.pdf  
 
Keywords: Hardware verification, ANSI-C, Bounded Model Checking 
We present an algorithm that checks behavioral consistency between an ANSI-C
program and a circuit given in Verilog using Bounded Model Checking. Both
the circuit and the program are unwound and translated into a formula that
is satisfiable if and only if the circuit and the code disagree. The formula
is then checked using a SAT solver. We are able to translate C programs that
make use of side effects, pointers, dynamic memory allocation, and loops
with conditions that cannot be evaluated statically. We describe
experimental results on various reactive circuits and programs, including a
small processor given in Verilog and its Instruction Set Architecture given
in ANSI-C.
 
34 pages 
  |