Verification of a CAN bus model in SystemC with functional coverage

Many heterogeneous embedded systems, for example industrial automation and automotive applications, require hard-real time constraints to be exhaustively verified - which is a challenging task for the verification engineer. To cope with complexity, verification techniques working on different abstraction levels are best practice. SystemC is a versatile C++ based design and verification language, offering various mechanisms and constructs required for embedded systems modeling. Using the add-on SystemC Verification Library (SCV) elemental constrained-random stimuli techniques may be used for verification. However, SCV has several drawbacks such as lack of functional coverage. In this paper we present a functional coverage library that implements parts of the IEEE 1800-2005 SystemVerilog standard and allows capturing functional coverage throughout the design and verification process with SystemC. Moreover, we will demonstrate the usability of the approach with a case study working on a CAN bus model written in SystemC.

[1]  Guido Araujo,et al.  An automatic testbench generation tool for a systemC functional verification methodology , 2004, Proceedings. SBCCI 2004. 17th Symposium on Integrated Circuits and Systems Design (IEEE Cat. No.04TH8784).

[2]  Janick Bergeron,et al.  Writing Testbenches: Functional Verification of HDL Models , 2000 .

[3]  Elmar U. K. Melcher,et al.  Functional verification of an MPEG-4 decoder design using a random constrained movie generator , 2007, SBCCI '07.

[4]  Soo-Ik Chae,et al.  A C/C++-based functional verification framework using the SystemC verification library , 2005, 16th IEEE International Workshop on Rapid System Prototyping (RSP'05).

[5]  R. Tourki,et al.  Verification flow optimization using an automatic coverage driven testing policy , 2006, International Conference on Design and Test of Integrated Systems in Nanoscale Technology, 2006. DTIS 2006..

[6]  Cássio L. Rodrigues,et al.  Improving functional verification of embedded systems using hierarchical composition and set theory , 2009, SAC '09.

[7]  Andreas Herrholz,et al.  A Functional Coverage Prototype for SystemC-based Verification of Chipset Designs , 2004 .