Monitoring transaction level SystemC models using a generic and aspect-oriented framework

Transaction level modelling (TLM) is gaining acceptance as a way to create hardware designs at high abstraction levels. It allows better simulation performances and early prototyping for system-on-chip (SoC) designs. Transaction level models are therefore increasingly being used as golden references. In this paper, we present a new framework for the verification of properties of SystemC transaction level models during simulation. Functional as well as performance properties are addressed. Aspect-oriented programming (AOP) techniques are exploited to monitor the design under verification in an automated way and to write assertion checkers that fit TLM requirements. In addition, we propose a generic SystemC implementation approach that allows the specification and validation of fully-parameterisable transaction level properties. We illustrate our work on a realistic multi-level SoC platform based on the TLM-2.0 standard and including Open Core Protocol (OCP) interfaces.

[1]  Stephan Merz,et al.  Model Checking: A Tutorial Overview , 2000, MOVEP.

[2]  Olivier Ponsini,et al.  Verification of an industrial SystemC/TLM model using LOTOS and CADP , 2009, 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design.

[3]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[4]  Wolfgang Ecker,et al.  Interactive presentation: Implementation of a transaction level assertion framework in SystemC , 2007 .

[5]  Takeo Imai,et al.  A pointcut-based assertion for high-level hardware design , 2008, ACP4IS@AOSD.

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

[7]  Andrew Piziali,et al.  Functional verification coverage measurement and analysis , 2004 .

[8]  Robert Günzel,et al.  Transaction Level Modelling: A reflection on what TLM is and how TLMs may be classified , 2007, FDL.

[9]  Florence Maraninchi,et al.  LusSy: An open tool for the analysis of systems-on-a-chip at the transaction level , 2005, Des. Autom. Embed. Syst..

[10]  Laurence Pierre,et al.  A Tractable and Fast Method for Monitoring SystemC TLM Specifications , 2008, IEEE Transactions on Computers.

[11]  Wolfgang Schröder-Preikschat,et al.  AspectC++: an aspect-oriented extension to the C++ programming language , 2002 .

[12]  Ilan Beer,et al.  FoCs: Automatic Generation of Simulation Checkers from Formal Specifications , 2000, CAV.

[13]  Atsushi Kasuya,et al.  Verification Methodologies in a TLM-to-RTL Design Flow , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[14]  Frank Ghenassia Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems , 2010 .

[15]  Christian Haubelt,et al.  Assertion-Based Verification of Transaction Level Models , 2006, MBMV.

[16]  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).

[17]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[18]  Frederic P. Miller,et al.  Advanced Encryption Standard , 2009 .