• 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