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.
- Alur, R. and Dill, D. L. 1994. A theory of timed automata. Theore. Compu. Science 126, 183--235. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- FZI Research Center for Information Technology. KaSCPar - Karlsruhe SystemC parser.Google Scholar
- Ghenassia, F. 2005. Transaction Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems. Springer. Google ScholarDigital Library
- Groetker, T. 2002. System Design with SystemC. Kluwer Academic Publishers. Google ScholarDigital Library
- Grosse, D. and Drechsler, R. 2004. Checkers for SystemC designs. In Formal Methods and Models for Codesign, IEEE Computer Society, 171--178. Google ScholarDigital Library
- 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 ScholarDigital Library
- Grosse, D., Peraza, H., Klingauf, W., and Drechsler, R. 2008. Embedded Systems Specification and Design Languages. Springer 73--86.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Herber, P. 2010. A Framework for Automated HW/SW Co-Verification of SystemC Designs using Timed Automata. Logos.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- IEEE Standards Association. 2005. IEEE Std. 1666--2005, Open SystemC Language Reference Manual.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Kirchsteiger, C. M., Trummer, C., Steger, C., Weiss, R., and Pistauer, M. 2008. Distributed Embedded Systems: Design, Middleware and Resources. Springer, 35--44.Google Scholar
- 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 ScholarCross Ref
- Larsen, K. G., Mikucionis, M., and Nielsen, B. 2005. Formal Approaches to Software Testing. Springer, 79--94.Google Scholar
- Man, K. L. 2005. An overview of SystemCFL. Rese. Microelectronics Electron. 1, 145--148.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Müller, W., Ruf, J., and Rosenstiel, W. 2003. SystemC: Methodologies and Applications. Kluwer Academic Publishers, 97--126.Google Scholar
- 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 ScholarDigital Library
- Parr, T. 2008. ANTLR -- ANother Tool for Language Recognition.Google Scholar
- Patel, H. D. and Shukla, S. K. 2008. Model-driven validation of SystemC designs. EURASIP J. Embed. Syst. 3, 1--14. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- SystemC Verification Working Group - SCV. SystemC Verification Standard.Google Scholar
- 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 ScholarDigital Library
Index Terms
- A HW/SW co-verification framework for SystemC
Recommendations
HW/SW co-verification of embedded systems using bounded model checking
GLSVLSI '06: Proceedings of the 16th ACM Great Lakes symposium on VLSIToday, the underlying hardware of embedded systems is often verified successfully. In this context formal verification techniques allow to prove the functional correctness. But in embedded system design the integration of software components becomes ...
ISS-centric modular HW/SW co-simulation
GLSVLSI '06: Proceedings of the 16th ACM Great Lakes symposium on VLSIModular design is an important requirement in modern embedded system design flows because of the widespread acceptance of new paradigms such as IP core reuse and platform-based design. Co-simulation frameworks must thus support modular design, since ...
Co-simulation framework of SystemC SoC virtual prototype and custom logic (abstract only)
FPGA '13: Proceedings of the ACM/SIGDA international symposium on Field programmable gate arraysTo address the increasing demand of System-on-Chip (SoC) for high performance applications and IP programmability, specialized SoC with custom logic is developed in a single chip or multi-chip system. Like any other SoC platforms, early software ...
Comments