Design and verification of SystemC transaction-level models

Transaction-level modeling allows exploring several SoC design architectures, leading to better performance and easier verification of the final product. In this paper, we present an approach to design and verify SystemC models at the transaction level. We integrate the verification as part of the design flow where we first model both the design and the properties (written in Property Specification language) in Unifed Modeling Language (UML); then, we translate them into an intermediate format modeled with AsmL [language based on Abstract State Machines (ASM)]. The AsmL model is used to generate a finite state machine of the design, including the properties. Checking the correctness of the properties is performed on the fly while generating the state machine. Finally, we translate the verified design to SystemC and map the properties to a set of assertions (as monitors in C#) that can be reused to validate the design at lower levels by simulation. For existing SystemC designs, we propose to translate the code back to AsmL in order to apply the same verification approach. At the SystemC level, we also present a genetic algorithm to enhance the assertions coverage. We will ensure the soundness of our approach by proving the correctness of the SystemC-to-AsmL and AsmL-to-SystemC transformations. We illustrate our approach on two case studies including the PCI bus standard and a master/slave generic architecture from the SystemC library.

[1]  S. Tahar,et al.  Formal verification of a bus structure modeled in SystemC , 2004, The 2nd Annual IEEE Northeast Workshop on Circuits and Systems, 2004. NEWCAS 2004..

[2]  S. Tahar,et al.  Assertion based verification of PSL for SystemC designs , 2004, 2004 International Symposium on System-on-Chip, 2004. Proceedings..

[3]  Sofiène Tahar,et al.  Towards an efficient assertion based verification of SystemC designs , 2004, Proceedings. Ninth IEEE International High-Level Design Validation and Test Workshop (IEEE Cat. No.04EX940).

[4]  Sofiène Tahar,et al.  On the design and verification methodology of the look-aside interface , 2005, Design, Automation and Test in Europe.

[5]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[6]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[7]  Michael J. C. Gordon,et al.  Validating the PSL/Sugar Semantics Using Automated Reasoning , 2003, Formal Aspects of Computing.

[8]  Ashraf Salem Formal semantics of synchronous SystemC , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[9]  Wolfgang Rosenstiel,et al.  SystemC: methodologies and applications , 2003 .

[10]  Sofiène Tahar,et al.  On the Transformation of SystemC to AsmL Using Abstract Interpretation , 2005, Electron. Notes Theor. Comput. Sci..

[11]  Robertas Damasevicius,et al.  Application of UML for hardware design based on design process model , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[12]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[13]  Patrick Cousot,et al.  Systematic design of program transformation frameworks by abstract interpretation , 2002, POPL '02.

[14]  Harry Rudin Protocol Development Success Stories: Part 1 , 1992, PSTV.

[15]  Sarfraz Khurshid,et al.  Exploring very large state spaces using genetic algorithms , 2004, International Journal on Software Tools for Technology Transfer.

[16]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[17]  Tommy Kuhn,et al.  Object-oriented modeling and synthesis of SystemC specifications , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[18]  Peter D. Mosses,et al.  Denotational semantics , 1995, LICS 1995.

[19]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[20]  S. Tahar,et al.  Design for verification of a PCI bus in SystemC , 2004, 2004 International Symposium on System-on-Chip, 2004. Proceedings..

[21]  Sofiène Tahar,et al.  Design for verification of SystemC transaction level models , 2005, Design, Automation and Test in Europe.