DocumentCode
1833595
Title
Behavioral consistency of C and Verilog programs using bounded model checking
Author
Clarke, Edmund ; Kroening, Daniel ; Yorav, Karen
Author_Institution
Carnegie Mellon Univ., Pittsburgh, PA, USA
fYear
2003
fDate
2-6 June 2003
Firstpage
368
Lastpage
371
Abstract
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 represents behavioral consistency. The formula is then checked using a SAT solver. We are able to translate C programs that include 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.
Keywords
C language; formal verification; hardware description languages; program testing; ANSI-C programs; SAT solver; Verilog programs; behavioral consistency; bounded model checking; dynamic memory allocation; equivalence checking; instruction set architecture; Circuits; Collaboration; Computer architecture; Computer languages; Contracts; Electromagnetic compatibility; Hardware design languages; Logic; Permission; US Department of Defense;
fLanguage
English
Publisher
ieee
Conference_Titel
Design Automation Conference, 2003. Proceedings
Print_ISBN
1-58113-688-9
Type
conf
DOI
10.1109/DAC.2003.1219026
Filename
1219026
Link To Document