Full simulation coverage for SystemC transaction-level models of systems-on-a-chip

Transaction-Level Models (TLM) are used for the early validation of embedded software. A TL model is a virtual prototype of the hardware part of a System-on-a-Chip (SoC). When using SystemC for transaction level modeling, the main parallel entities of the hardware platform (processors, DMAs, bus arbiters, etc.) are modeled by asynchronous processes, which are scheduled at simulation time. The specification of this scheduling mechanism is non-deterministic; the set of all possible schedulings of the parallel activities represents the physical parallelism faithfully. Moreover TL models may contain loose timing annotations (intervals for instance), and the set of all possible values of time in these intervals is also meant to represent the hardware behaviors faithfully.However, any simulation engine is built on a deterministic scheduler, and at runtime will use specific values in the time intervals. This means that only a very small subset of all the possible schedulings and timings are exhibited during simulation. Some bugs may be missed if they are due to some behaviors of the hardware that are represented by other schedulings or timings.For a given finite test scenario, the set of valid schedulings and timings of a model is finite, but far too large to be explored fully. We present a solution to cover the set of schedulings and timings efficiently. Our solution is based on dynamic partial order reduction and constraint solving techniques. It gives a complete scheduling and timing set, which guarantees the detection of all local errors and deadlocks for a fixed test scenario.

[1]  Claude Helmstetter,et al.  Validation de modèles de systèmes sur puce en présence d'ordonnancements indéterministes et de temps imprécis. (Validating Models of Systems-on-a-Chip in the Presence of Nondeterministic Schedulings and Loose Timings) , 2007 .

[2]  Rajesh Gupta,et al.  Partial order reduction for scalable testing of SystemC TLM designs , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[3]  Fernando Herrera,et al.  Extension of the SystemC Kernel for Simulation Coverage , 2006, FDL.

[4]  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..

[5]  Olivier Ponsini,et al.  A Comparison of Two SystemC/TLM Semantics for Formal Verification , 2008, 2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design.

[6]  Martin Leucker,et al.  11th International Workshop on Formal Methods for Industrial Critical Systems , 2006 .

[7]  Yu Yang,et al.  Distributed Dynamic Partial Order Reduction Based Verification of Threaded Software , 2007, SPIN.

[8]  Petru Eles,et al.  Formal Verification of SystemC Designs Using a Petri-Net Based Representation , 2006, Proceedings of the Design Automation & Test in Europe Conference.

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

[10]  Florence Maraninchi,et al.  A SystemC/TLM Semantics in Promelaand Its Possible Applications , 2007, SPIN.

[11]  Frank Ghenassia,et al.  Transaction Level Modeling with SystemC , 2005 .

[12]  Florence Maraninchi,et al.  Automatic Generation of Schedulings for Improving the Test Coverage of Systems-on-a-Chip , 2006, 2006 Formal Methods in Computer Aided Design.

[13]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[14]  Xiaowei Shen,et al.  Using term rewriting systems to design and verify processors , 1999, IEEE Micro.

[15]  Daniel Kroening,et al.  Formal verification of SystemC by automatic hardware/software partitioning , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[16]  Jordi Cortadella,et al.  The octahedron abstract domain , 2004, Sci. Comput. Program..

[17]  Wolfgang Reisig,et al.  Petri Nets: Applications and Relationships to Other Models of Concurrency , 1986, Lecture Notes in Computer Science.

[18]  Doron A. Peled,et al.  Defining Conditional Independence Using Collapses , 1992, Theor. Comput. Sci..

[19]  Patrice Godefroid,et al.  Dynamic partial-order reduction for model checking software , 2005, POPL '05.

[20]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[21]  Florence Maraninchi,et al.  Test Coverage for Loose Timing Annotations , 2006, FMICS/PDMC.

[22]  Patrice Godefroid,et al.  Software Model Checking: The VeriSoft Approach , 2005, Formal Methods Syst. Des..

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

[24]  Antoine Mid The Octagon Abstract Domain , 2001 .

[25]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[26]  Antoine Miné,et al.  The octagon abstract domain , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[27]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[28]  Antoni W. Mazurkiewicz,et al.  Trace Theory , 1986, Advances in Petri Nets.

[29]  Bastien Chopard,et al.  A Conservative Approach to SystemC Parallelization , 2006, International Conference on Computational Science.

[30]  Javier Esparza,et al.  An Unfolding Algorithm for Synchronous Products of Transition Systems , 1999, CONCUR.

[31]  Christian Haubelt,et al.  Formalizing TLM with Communicating State Machines , 2006, FDL.

[32]  Chris J. Myers,et al.  Automatic Derivation of Timing Constraints by Failure Analysis , 2002, CAV.

[33]  Florence Maraninchi,et al.  Pinapa: an extraction tool for SystemC descriptions of systems-on-a-chip , 2005, EMSOFT.

[34]  Roberto Giacobazzi Static analysis : 11th International Symposium, SAS 2004, Verona, Italy, August 26-28, 2004 : proceedings , 2004 .

[35]  Xuejun Yang,et al.  Stateful Dynamic Partial-Order Reduction , 2006, ICFEM.

[36]  Kenneth L. McMillan,et al.  Using Unfoldings to Avoid the State Explosion Problem in the Verification of Asynchronous Circuits , 1992, CAV.

[37]  Moshe Y. Vardi Formal Techniques for SystemC Verification; Position Paper , 2007, DAC 2007.

[38]  Patrice Godefroid,et al.  Compositional dynamic test generation , 2007, POPL '07.