Abstract
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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Actis Design, LLC. ‘AccurateC™ Rule Checker’, 2005. http://www.actisdesign.com/.
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.
ARM Limited. ‘AHB Example Amba SYstem technical reference manual’, 1999. http://www.arm.com/pdfs/DDI0170A.zip.
Aynsley, J., D. Long, S. Vandeputte, and S. Swan. ‘SystemC v2.0.1 Language Reference Manual’, 2003. Open SystemC Initiative. http://www.systemc.org/.
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.
Ball, T. and S. K. Rajamani. ‘Boolean Programs: A Model and Process for Software Analysis’. Technical report, Microsoft Research, 2000.
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.
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.
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.
Bultan, T. ‘Action Language: A Specification Language for Model Checking Reactive Systems’. pp. 335–344, 2000.
Cadence Design Systems. ‘NC-SystemC’, 2003. http://www.cadence.com/products/functional_ver/nc-systemc/.
Clarke, E. and D. Kroening. ‘Hardware Verification using ANSI-C Programs as a Reference’. In: Proceedings of ASP-DAC 2003, pp. 308–311, 2003.
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.
Donovan, S. ‘The UnderC Development Project’, 2001–2002. http://home.mweb.co.za/sd/sdonovan/underc.html.
Drechsler, R. and D. Große. ‘Formal Verification of LTL Formulas for SystemC Designs’, 2003. http://www.informatik.uni-bremen.de/grp/ag-ram/doc/konf/iscas03_verification_systemc.pdf.
Edison Design Group. ‘Compiler Front Ends’, 1996–2005. http://www.edg.com/.
Ferrandi, F., M. Rendine, and D. Sciuto. ‘Functional Verification for SystemC Descriptions Using Constraint Solving’. In: DATE. pp. 744–751, 2002.
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. http://www.informatik.uni-bremen.de/agram/doc/work/04sasimi_parsyc.pdf.
Ghenassia, F. (ed.). Transaction-Level Modeling with SystemC. TLM Concepts and Applications for Embedded Systems. Springer. ISBN 0-387-26232-6, 2005.
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.
Goessler, G. and A. Sangiovanni-Vincentelli. ‘Prometheus—A Compositional Modeling Tool for Real-Time Systems’. In: EMSOFT, 2001.
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.
Havelund, K. ‘Java PathFinder: A Translator from Java to Promela’. p. 152, 1999.
Havelund, K., S. Park, and W. Visser. ‘Java PathFinder—Second Generation of a Java Model Checker’, 2000.
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.
Maraninchi, F. and Y. Rémond. ‘Argos: an Automaton-Based Synchronous Language’. Computer Languages (27), 61–92, 2001.
Matthaikutty, D., D. Berner, H. Patel, and S. Shukla. ‘SystemCXML’, 2005. http://systemcxml.sourceforge.net/.
McMillan, K. L. ‘Symbolic Model Checking’. Ph.D. thesis, Boston, 1993.
Moy, M. ‘Techniques and Tools for the Verification of Systems-on-a-Chip at the Transaction Level’. Ph.D. thesis, INPG, Grenoble, France, 2005.
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.
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.
Müler, W., W. Rosentiel, and J. Ruf. SystemC Methodologies and Applications, Chapt. 2. Kluwer, 2003.
PROVER Technology. ‘Prover Plug-in™ for SCADE™’, 1989–2005. http://www.prover.com/products/ppi/sl.xml.
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.
Snyder, W. ‘SystemPerl Home Page’, 2001–2005. http://www.veripool.com/systemperl.html.
SPIRIT Consortium: 2003. http://www.spiritconsortium.com/.
synopsys. Discussion with the team developing the front-end of the CoCentric suite before writting Pinapa, 2003.
Synopsys Inc. ‘CoCentric System Studio’, 2005. http://www.synopsys.com/products/cocentric_studio/cocentric_studio.html.
van Heesch, D. ‘Doxygen’, 1997–2005. http://www.doxygen.org.
Villar, J. C. ‘sc2v: SystemC to Verilog Synthesizable Subset Translator’, 2004–2005. http://www.opencores.org/projects.cgi/web/sc2v/overview.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Moy, M., Maraninchi, F. & Maillet-Contoz, L. LusSy: An open tool for the analysis of systems-on-a-chip at the transaction level. Des Autom Embed Syst 10, 73–104 (2005). https://doi.org/10.1007/s10617-006-9044-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-006-9044-6