skip to main content
research-article

A HW/SW co-verification framework for SystemC

Authors Info & Claims
Published:29 March 2013Publication History
Skip Abstract Section

Abstract

SystemC is widely used for modeling and simulation in hardware/software co-design. However, existing verification techniques are mostly ad-hoc and non-systematic. In this article, we present a systematic, comprehensive, and formally founded co-verification framework for digital HW/SW systems that are modeled in SystemC. The framework is based on a formal semantics of SystemC and uses a combination of model checking and testing, whereby testing includes both the automated generation of timed inputs and automated conformance evaluation. We demonstrate its performance and its error detecting capability with two case studies, namely a packet switch and an anti-slip regulation and anti-lock braking system.

References

  1. Alur, R. and Dill, D. L. 1994. A theory of timed automata. Theore. Compu. Science 126, 183--235. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Behrmann, G., David, A., and Larsen, K. G. 2004. A tutorial on Uppaal. In Formal Methods for the Design of Real-Time Systems, Lecture Notes in Computer Science, vol. 3185. Springer, 200--236. Google ScholarGoogle ScholarCross RefCross Ref
  3. Bengtsson, J. and Yi, W. 2004. Timed automata: Semantics, algorithms and tools. In Lecture Notes on Concurrency and Petri Nets, Lecture Notes in Computer Science, vol. 3098. Springer, 87--124. Google ScholarGoogle ScholarCross RefCross Ref
  4. Bruschi, F., Ferrandi, F., and Sciuto, D. 2005. A framework for the functional verification of SystemC models. Int. J. Parallel Program. 33, 6, 667--695. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chen, M., Mishra, P., and Kalita, D. 2007. Towards RTL test generation from SystemC TLM specifications. In Proceedings of the IEEE International High Level Design Validation and Test Workshop. IEEE Computer Society, 91--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. da Silva, K. R. G., Melcher, E. U. K., Araujo, G., and Pimenta, V. A. 2004. An automatic testbench generation tool for a SystemC functional verification methodology. In Proceedings of the 17th Symposium on Integrated Circuits and System Design. ACM Press, 66--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. de Vries, R. G. c and Tretmans, J. 2000. On-the-fly conformance testing using SPIN. Softw. Tools Technol. Transfer 2, 4, 382--393.Google ScholarGoogle ScholarCross RefCross Ref
  8. FZI Research Center for Information Technology. KaSCPar - Karlsruhe SystemC parser.Google ScholarGoogle Scholar
  9. Ghenassia, F. 2005. Transaction Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Groetker, T. 2002. System Design with SystemC. Kluwer Academic Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Grosse, D. and Drechsler, R. 2004. Checkers for SystemC designs. In Formal Methods and Models for Codesign, IEEE Computer Society, 171--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Grosse, D., Kühne, U., and Drechsler, R. 2006. HW/SW Co-Verification of Embedded Systems using Bounded Model Checking. In Proceedings of the Great Lakes Symposium on VLSI. ACM Press, 43--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Grosse, D., Peraza, H., Klingauf, W., and Drechsler, R. 2008. Embedded Systems Specification and Design Languages. Springer 73--86.Google ScholarGoogle Scholar
  14. Habibi, A., Moinudeen, H., and Tahar, S. 2006. Generating finite state machines from Systemc. In Proceedings of the Design, Automation and Test in Europe. IEEE Press, 76--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Habibi, A. and Tahar, S. 2005. An approach for the verification of SystemC designs using AsmL. In Automated Technology for Verification and Analysis, Lecture Notes in Computer Science, vol. 3707. Springer, 69--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Herber, P. 2010. A Framework for Automated HW/SW Co-Verification of SystemC Designs using Timed Automata. Logos.Google ScholarGoogle Scholar
  17. Herber, P., Fellmuth, J., and Glesner, S. 2008. Model checking systemc designs using timed automata. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. ACM Press, 131--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Herber, P., Friedemann, F., and Glesner, S. 2009. Combining model checking and testing in a continuous HW/SW co-verification process. In Tests and Proofs, Lecture Notes in Computer Science, vol. 5668. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Herber, P., Pockrandt, M., and Glesner, S. 2010. Automated conformance evaluation of SystemC designs using timed automata. In Proceedings of the IEEE European Test Symposium. IEEE Computer Society, 188--193. Google ScholarGoogle ScholarCross RefCross Ref
  20. Hessel, A., Larsen, K. G., Mikucionis, M., Nielsen, B., Pettersson, P., and Skou, A. 2008. Testing real-time systems using UPPAAL. In Formal Methods and Testing, Lecture Notes in Computer Science, vol. 4949. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Hessel, A., Larsen, K. G., Nielsen, B., Petterson, P., and Skou, A. 2003. Time-optimal test cases for real-time systems. In Proceedings of the 3rd International Workshop on Formal Approaches to Testing of Software, Lecture Notes in Computer Science, vol. 2931. Springer, 114--130. Google ScholarGoogle ScholarCross RefCross Ref
  22. IEEE Standards Association. 2005. IEEE Std. 1666--2005, Open SystemC Language Reference Manual.Google ScholarGoogle Scholar
  23. Junior, A. D. and Cecilio da Silva, D. J. 2007. Code-coverage based test vector generation for SystemC designs. In Proceedings of the IEEE Computer Society Annual Symposium on VLSI. IEEE Computer Society, 198--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Karlsson, D., Eles, P., and Peng, Z. 2006. Formal verification of SystemC designs using a petri-net based representation. In Proceedings of the Design, Automation and Test in Europe. IEEE Press, 1228--1233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Kirchsteiger, C. M., Trummer, C., Steger, C., Weiss, R., and Pistauer, M. 2008. Distributed Embedded Systems: Design, Middleware and Resources. Springer, 35--44.Google ScholarGoogle Scholar
  26. Krichen, M. and Tripakis, S. 2004. Real-time testing with timed automata testers and coverage criteria. In Proceedings of the Joint conference on Formal Modelling and Analysis of Timed Systems and Formal Techniques in Real-Time and Fault Tolerant System, Lecture Notes in Computer Science, vol. 3253. Springer, 134--151. Google ScholarGoogle ScholarCross RefCross Ref
  27. Larsen, K. G., Mikucionis, M., and Nielsen, B. 2005. Formal Approaches to Software Testing. Springer, 79--94.Google ScholarGoogle Scholar
  28. Man, K. L. 2005. An overview of SystemCFL. Rese. Microelectronics Electron. 1, 145--148.Google ScholarGoogle Scholar
  29. Man, K. L., Fedeli, A., Mercaldi, M., Boubekeur, M., and Schellekens, M. P. 2007. SC2SCFL: Automated SystemC to SystemCFL Translation. In Embedded Computing Systems: Architectures, Modeling, and Simulation, Lecture Notes in Computer Science, vol. 4599. Springer, 34--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mathaikutty, D. A., Ahuja, S., Dingankar, A., and Shukla, S. 2007. Model-driven test generation for system level validation. In Proceedings of the IEEE International High Level Design Validation and Test Workshop. IEEE Computer Society, 83--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Müller, W., Ruf, J., and Rosenstiel, W. 2003. SystemC: Methodologies and Applications. Kluwer Academic Publishers, 97--126.Google ScholarGoogle Scholar
  32. Nielsen, B. and Skou, A. 2001. Automated test generation from timed automata. In Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science, vol. 2031. Springer, 343--357. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Parr, T. 2008. ANTLR -- ANother Tool for Language Recognition.Google ScholarGoogle Scholar
  34. Patel, H. D. and Shukla, S. K. 2008. Model-driven validation of SystemC designs. EURASIP J. Embed. Syst. 3, 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Robinson-Mallett, C., Hierons, R. M., and Liggesmeyer, P. 2006. Achieving communication coverage in testing. ACM SIGSOFT Softw. Engin. Notes 31, 6, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Ruf, J., Hoffmann, D. W., Gerlach, J., and Wolfgang Rosenstiel, T. K., and Müller, W. 2001. The simulation semantics of SystemC. In Proceedings of the Design, Automation and Test in Europe. IEEE Press, 64--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Salem, A. 2003. Formal Semantics of Synchronous SystemC. In Proceedings of the Design, Automation and Test in Europe (DATE). IEEE Computer Society, 10376--10381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. SystemC Verification Working Group - SCV. SystemC Verification Standard.Google ScholarGoogle Scholar
  39. Traulsen, C., Cornet, J., Moy, M., and Maraninchi:, F. 2007. A SystemC/TLM semantics in Promela and its possible applications. In Proceedings of the 14th Workshop on Model Checking Software, Lecture Notes in Computer Science, vol. 4595. Springer, Berlin, 204--222. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A HW/SW co-verification framework for SystemC

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 12, Issue 1s
        Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systems
        March 2013
        701 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/2435227
        Issue’s Table of Contents

        Copyright © 2013 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 29 March 2013
        • Accepted: 1 July 2011
        • Revised: 1 February 2011
        • Received: 1 October 2010
        Published in tecs Volume 12, Issue 1s

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader