Towards formal verification of real-world SystemC TLM peripheral models - a case study

SystemC-based Virtual Prototypes (VPs) serve as reference models for various activities in the modern design flow and therefore, the functional correctness of each individual components and the VPs as a whole should be subjected to rigorous formal verification. In the last few years, notable progress on SystemC formal verification has been made. This paper presents a case study on applying a recent approach to formally verify TLM peripheral models. To the best of our knowledge, this is the first formal verification case study targeting this important class of VP components. First, we show how to bridge the gap between the industry-accepted modeling pattern for TLM peripheral models and the semantics currently supported by SystemC formal verification approaches. Then, we report verification results for the interrupt controller of the LEON3-based SoCRocket VP used by the European Space Agency and reflect on our experiences and lessons learned in the process.

[1]  Paula Herber,et al.  Transforming SystemC Transaction Level Models into UPPAAL timed automata , 2011, Ninth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMPCODE2011).

[2]  Paula Herber,et al.  Model checking a SystemC/TLM design of the AMBA AHB protocol , 2011, 2011 9th IEEE Symposium on Embedded Systems for Real-Time Multimedia.

[3]  Tim Kogel,et al.  Peripheral Modeling for Platform Driven ESL Design , 2006 .

[4]  Rolf Drechsler,et al.  Verifying SystemC using stateful symbolic simulation , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[5]  Marco Roveri,et al.  Software Model Checking SystemC , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Daniel Kroening,et al.  Race analysis for SystemC using model checking , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[7]  Chun-Nan Chou,et al.  Symbolic model checking on SystemC designs , 2012, DAC Design Automation Conference 2012.

[8]  Rolf Drechsler,et al.  Verifying SystemC using an intermediate verification language and symbolic simulation , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[9]  Rolf Drechsler,et al.  Proving transaction and system-level properties of untimed SystemC TLM designs , 2010, Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2010).

[10]  Thomas Schuster,et al.  SoCRocket - A virtual platform for the European Space Agency's SoC development , 2014, 2014 9th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC).

[11]  Brian Bailey,et al.  ESL Design and Verification: A Prescription for Electronic System Level Methodology , 2007 .