SystemC is becoming a de-facto standard for the development of embedded systems. Verification of SystemC designs is critical since it can prevent error propagation down to the hardware. SystemC allows for very efficient simulations before synthesizing the RTL description, but formal verification is still at a preliminary stage. Recent works translate SystemC into the input language of finite-state model checkers, but they abstract away relevant semantic aspects, and show limited scalability. In this paper, we approach formal verification of SystemC by reduction to software model checking. We explore two directions. First, we rely on a translation from SystemC to a sequential C program, that contains both the mapping of the SystemC threads in form of C functions, and the coding of relevant semantic aspects (e.g. of the SystemC kernel). In terms of verification, this enables the off-the-shelf use of model checking techniques for sequential software, such as lazy abstraction. Second, we p...

Verifying SystemC: a Software Model Checking Approach / Cimatti, Alessandro; Micheli, Andrea; Narasamdya, Iman; Roveri, Marco. - (2010), pp. 51-59. (Intervento presentato al convegno Formal Methods in Computer Aided Design, FMCAD 2010 tenutosi a Lugano, Switzerland nel October, 20-23, 2010).

Verifying SystemC: a Software Model Checking Approach

Cimatti, Alessandro;Micheli, Andrea;Roveri, Marco
2010-01-01

Abstract

SystemC is becoming a de-facto standard for the development of embedded systems. Verification of SystemC designs is critical since it can prevent error propagation down to the hardware. SystemC allows for very efficient simulations before synthesizing the RTL description, but formal verification is still at a preliminary stage. Recent works translate SystemC into the input language of finite-state model checkers, but they abstract away relevant semantic aspects, and show limited scalability. In this paper, we approach formal verification of SystemC by reduction to software model checking. We explore two directions. First, we rely on a translation from SystemC to a sequential C program, that contains both the mapping of the SystemC threads in form of C functions, and the coding of relevant semantic aspects (e.g. of the SystemC kernel). In terms of verification, this enables the off-the-shelf use of model checking techniques for sequential software, such as lazy abstraction. Second, we p...
2010
Proceedings of the 10th Int. Conference on Formal Methods in Computer-Aided Design
Lugano, Switzerland
IEEE
9780983567806
Cimatti, Alessandro; Micheli, Andrea; Narasamdya, Iman; Roveri, Marco
Verifying SystemC: a Software Model Checking Approach / Cimatti, Alessandro; Micheli, Andrea; Narasamdya, Iman; Roveri, Marco. - (2010), pp. 51-59. (Intervento presentato al convegno Formal Methods in Computer Aided Design, FMCAD 2010 tenutosi a Lugano, Switzerland nel October, 20-23, 2010).
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/258793
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 60
  • ???jsp.display-item.citation.isi??? ND
  • OpenAlex ND
social impact