Measuring the Quality of a SystemC Testbench by using Code Coverage Techniques

The system description language SystemC enables to quickly create executable specifications at adequate levels of abstraction for both hardware/software integration and fast design space exploration. Besides the modelling of a system, verification has become a dominant factor in circuit and system design. Since SystemC is a versatile language based on C++, testbenches at different abstraction levels can easily be built. But the fault coverage of a manually developed testbench is hard to quantify. In this paper, an approach for measuring the quality of SystemC testbenches is presented. The approach is based on dedicated code coverage techniques and identifies all the parts of a SystemC model that have not been tested. Experimental results show the applicability of our methodology.

[1]  Terence Parr Language Translation Using PCCTS and C , 1999 .

[2]  Oliver Bringmann,et al.  GreenBus - a generic interconnect fabric for transaction level modelling , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[3]  Rolf Drechsler,et al.  System exploration of SystemC designs , 2006, IEEE Computer Society Annual Symposium on Emerging VLSI Technologies and Architectures (ISVLSI'06).

[4]  Adnan Aziz,et al.  Constraint-based verification , 2006 .

[5]  Rolf Drechsler,et al.  HW/SW co-verification of embedded systems using bounded model checking , 2006, GLSVLSI '06.

[6]  Kurt Keutzer,et al.  Coverage Metrics for Functional Validation of Hardware Designs , 2001, IEEE Des. Test Comput..

[7]  Rolf Drechsler,et al.  HW/SW Co-Verification of a RISC CPU using Bounded Model Checking , 2005, 2005 Sixth International Workshop on Microprocessor Test and Verification.

[8]  Kunle Olukotun,et al.  A General Method for Compiling Event-Driven Simulations , 1995, 32nd Design Automation Conference.

[9]  Wolfgang Klingauf Systematic transaction level modeling of embedded systems with SystemC , 2005, Design, Automation and Test in Europe.

[10]  Sigrid Eldh Software Testing Techniques , 2007 .

[11]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[12]  Rolf Drechsler,et al.  SyCE: an integrated environment for system design in SystemC , 2005, 16th IEEE International Workshop on Rapid System Prototyping (RSP'05).

[13]  Rolf Drechsler,et al.  ParSyC: An Efficient SystemC Parser , 2004 .