Design Automation for Embedded Systems

, Volume 10, Issue 2–3, pp 73–104 | Cite as

LusSy: An open tool for the analysis of systems-on-a-chip at the transaction level

  • Matthieu MoyEmail author
  • Florence Maraninchi
  • Laurent Maillet-Contoz
Open Access


We describe a toolbox for the analysis of Systems-on-a-chip written in SystemC at the transaction level. The tool is able to extract information from SystemC code, and to build a set of parallel automata that capture the semantics of a SystemC design, including the transaction-level specific constructs. As far as we know, this provides the first executable formal semantics of SystemC. Being implemented as a traditional compiler front-end, it is able to deal with general SystemC designs. The intermediate representation is now connected to existing formal verification tools via appropriate encodings. The toolbox is open and other tools will be used in the future.


SystemC Formal verification Model-checking Semantics Pinapa Lussy 


  1. 1.
    Actis Design, LLC. ‘AccurateC™ Rule Checker’, 2005.
  2. 2.
    Aho, A. V., R. Sethi, and J. D. Ullman. Compilers—Prin-ci-ples, Techniques, and Tools. Reading, MA, USA: Ad-di-son-Wes-ley, 1986.Google Scholar
  3. 3.
    ARM Limited. ‘AHB Example Amba SYstem technical reference manual’, 1999.
  4. 4.
    Aynsley, J., D. Long, S. Vandeputte, and S. Swan. ‘SystemC v2.0.1 Language Reference Manual’, 2003. Open SystemC Initiative.
  5. 5.
    Balarin, F., L. Lavagno, C. Passerone, A. L. Sangiovanni-Vincentelli, M. Sgroi, and Y. Watanabe. ‘Modeling and Designing Heterogeneous Systems’. In: Concurrency and Hardware Design, Advances in Petri Nets. pp. 228–273, 2002.Google Scholar
  6. 6.
    Ball, T. and S. K. Rajamani. ‘Boolean Programs: A Model and Process for Software Analysis’. Technical report, Microsoft Research, 2000.Google Scholar
  7. 7.
    Baray, F., P. Codognet, D. Diaz, and H. Michel. ‘Code-based Test Generation for Validation of Functional Processor Descriptions’. In: TACAS. pp. 569–584, 2003.Google Scholar
  8. 8.
    Bergerand, J.-L., P. Caspi, N. Halbwachs, D. Pilaud, and E. Pilaud. ‘Outline of a Real Time Data-Flow Language’. In: Real Time Systems Symposium. San Diego, pp. 33–42, 1985.Google Scholar
  9. 9.
    Berry, G. ‘The Foundations of Esterel’. In: G. Plotkin, C. Stirling and M. Tofte (eds.), Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 425–454, 2000.Google Scholar
  10. 10.
    Bultan, T. ‘Action Language: A Specification Language for Model Checking Reactive Systems’. pp. 335–344, 2000.Google Scholar
  11. 11.
    Cadence Design Systems. ‘NC-SystemC’, 2003.
  12. 12.
    Clarke, E. and D. Kroening. ‘Hardware Verification using ANSI-C Programs as a Reference’. In: Proceedings of ASP-DAC 2003, pp. 308–311, 2003.Google Scholar
  13. 13.
    Clarke, E., D. Kroening, and F. Lerda. ‘A Tool for Checking ANSI-C Programs’. In: K. Jensen and A. Podelski (eds.). Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2004), Vol. 2988 of Lecture Notes in Computer Science. pp. 168–176, 2004.Google Scholar
  14. 14.
    Donovan, S. ‘The UnderC Development Project’, 2001–2002.
  15. 15.
    Drechsler, R. and D. Große. ‘Formal Verification of LTL Formulas for SystemC Designs’, 2003.
  16. 16.
    Edison Design Group. ‘Compiler Front Ends’, 1996–2005.
  17. 17.
    Ferrandi, F., M. Rendine, and D. Sciuto. ‘Functional Verification for SystemC Descriptions Using Constraint Solving’. In: DATE. pp. 744–751, 2002.Google Scholar
  18. 18.
    Fey, G., D. Große, T. Cassens, C. Genz, T. Warode, and R. Drechsler. ‘ParSyC: An Efficient SystemC Parser’. In: Synthesis And System Integration of Mixed Information technologies, 2004.
  19. 19.
    Ghenassia, F. (ed.). Transaction-Level Modeling with SystemC. TLM Concepts and Applications for Embedded Systems. Springer. ISBN 0-387-26232-6, 2005.Google Scholar
  20. 20.
    Godefroid, P. ‘Model checking for programming languages using VeriSoft’. In: ACM (ed.): Conference record of POPL ’97, the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages: papers presented at the symposium, Paris, France, 15–17 January 1997. New York, NY, USA, pp. 174–186, 1997.Google Scholar
  21. 21.
    Goessler, G. and A. Sangiovanni-Vincentelli. ‘Prometheus—A Compositional Modeling Tool for Real-Time Systems’. In: EMSOFT, 2001.Google Scholar
  22. 22.
    Halbwachs, N., F. Lagnier, and C. Ratel. ‘Programming and Verifying Critical Systems by Means of the Synchronous Data-Flow Programming Language Lustre’. IEEE Transactions on Software Engineering, Special Issue on the Specification and Analysis of Real-Time Systems, pp. 785–793, 1992.Google Scholar
  23. 23.
    Havelund, K. ‘Java PathFinder: A Translator from Java to Promela’. p. 152, 1999.Google Scholar
  24. 24.
    Havelund, K., S. Park, and W. Visser. ‘Java PathFinder—Second Generation of a Java Model Checker’, 2000.Google Scholar
  25. 25.
    Jeannet, B. ‘Dynamic Partitioning In Linear Relation Analysis. Application To The Verification Of Reactive Systems’. Formal Methods in System Design 23(1), 5–37, 2003.Google Scholar
  26. 26.
    Maraninchi, F. and Y. Rémond. ‘Argos: an Automaton-Based Synchronous Language’. Computer Languages (27), 61–92, 2001.Google Scholar
  27. 27.
    Matthaikutty, D., D. Berner, H. Patel, and S. Shukla. ‘SystemCXML’, 2005.
  28. 28.
    McMillan, K. L. ‘Symbolic Model Checking’. Ph.D. thesis, Boston, 1993.Google Scholar
  29. 29.
    Moy, M. ‘Techniques and Tools for the Verification of Systems-on-a-Chip at the Transaction Level’. Ph.D. thesis, INPG, Grenoble, France, 2005.Google Scholar
  30. 30.
    Moy, M., F. Maraninchi, and L. Maillet-Contoz. ‘LusSy: A Toolbox for the Analysis of Systems-on-a-Chip at the Transactional Level’. In: International Conference on Application of Concurrency to System Design. pp. 26–35, 2005a.Google Scholar
  31. 31.
    Moy, M., F. Maraninchi, and L. Maillet-Contoz. ‘Pinapa: An Extraction Tool for SystemC descriptions of Systems-on-a-Chip’. In: EMSOFT. pp. 317–324, 2005b.Google Scholar
  32. 32.
    Müler, W., W. Rosentiel, and J. Ruf. SystemC Methodologies and Applications, Chapt. 2. Kluwer, 2003.Google Scholar
  33. 33.
    PROVER Technology. ‘Prover Plug-in™ for SCADE™’, 1989–2005.
  34. 34.
    Ruf, J., D. Hoffmann, T. Kropf, and W. Rosenstiel. ‘Simulation-guided property checking based on multivalued ar-automata’. In: Design, Automation and Test in Europe, pp. 742–748, 2001.Google Scholar
  35. 35.
    Snyder, W. ‘SystemPerl Home Page’, 2001–2005.
  36. 36.
    SPIRIT Consortium: 2003.
  37. 37.
    synopsys. Discussion with the team developing the front-end of the CoCentric suite before writting Pinapa, 2003.Google Scholar
  38. 38.
    Synopsys Inc. ‘CoCentric System Studio’, 2005.
  39. 39.
    van Heesch, D. ‘Doxygen’, 1997–2005.
  40. 40.
    Villar, J. C. ‘sc2v: SystemC to Verilog Synthesizable Subset Translator’, 2004–2005.

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  • Matthieu Moy
    • 1
    Email author
  • Florence Maraninchi
    • 1
  • Laurent Maillet-Contoz
    • 2
  1. 1.Verimag, Centre équation - 2GIÉRESFrance
  2. 2.STMicroelectronics, HPC, System Platform Group.CROLLESFrance

Personalised recommendations