ABSTRACT
Concurrent interaction of multi-processor systems result in errors which are difficult to find. Traditional simulation-based verification techniques remove the concurrency information by arbitrary schedulings. We present a novel simulation-based technique for SystemC that preserves and exploits concurrency information. Our approach is unique in that we can detect potential errors in an observed execution, even if the error does not actually occur in that execution. We identify synchronization constructs in SystemC and develop predictive techniques for temporal assertion verification and deadlock detection. Our automated potential deadlock detection algorithm works on SystemC programs with semaphores, locks, wait and notify synchronizations and has less overhead compared with assertion verification. We patched SystemC kernel to implement our solution and obtained favorable results on industrial designs.
- R. Agarwal and S. D. Stoller. Run-Time Detection of Potential Deadlocks for Programs with Locks, Semaphores, and Condition Variables. In Proceedings of the Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD), 2006. Google ScholarDigital Library
- E. Cheung, P. Satapathy, V. Pham, H. Hsieh, and X. Chen. Runtime Deadlock Analysis of SystemC Designs. In Proceedings of the IEEE International High-Level Design Validation and Test Workshop (HLDVT), 2006.Google ScholarCross Ref
- W. Ecker, V. Esen, T. Steininger, M. Velten, and M. Hull. Implementation of a Transaction Level Assertion Framework in SystemC. In Proceedings of the Conference on Design Automation and Test in Europe (DATE), 2007. Google ScholarDigital Library
- C. Fidge. Logical Time in Distributed Computing Systems. IEEE Computer, 24(8): 28--33, Aug. 1991. Google ScholarDigital Library
- D. Grosse and R. Drechsler. Formal verification of LTL formulas for SystemC designs. In Proceedings of the International Symposium on Circuits and Systems (ISCAS), 2003.Google ScholarCross Ref
- A. Habibi and S. Tahar. On the extension of SystemC by System Verilog assertions. In Proceedings of Canadian Conference on Electrical and Computer Engineering, 2004.Google Scholar
- C. Helmstetter, F. Maraninchi, L. Maillet-Contoz, and M. Moy. Automatic Generation of Schedulings for Improving the Test Coverage of Systems-on-a-Chip. In Proceedings of the International Conference on Formal Methods in Computer Aided Design (FMCAD), 2006. Google ScholarDigital Library
- A. Kasuya and T. Tesfaye. Verification methodologies in a TLM-to-RTL design flow. In Proceedings of the Design Automation Conference (DAC), 2007. Google ScholarDigital Library
- L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM (CACM), 21(7): 558--565, July 1978. Google ScholarDigital Library
- F. Mattern. Virtual Time and Global States of Distributed Systems. In Parallel and Distributed Algorithms: Proceedings of the Workshop on Distributed Algorithms (WDAG), 1989.Google Scholar
- M. Moy, F. Maraninchi, and L. Maillet-Contoz. LusSy: A Toolbox for the Analysis of Systems-on-a-Chip at the Transactional Level. In Int'l Conference on Application of Concurrency to System Design, 2005. Google ScholarDigital Library
- Open SystemC Initiative, http://www.systemc.org/.Google Scholar
- A. Sen and V. K. Garg. Formal Verification of Simulation Traces Using Computation Slicing. IEEE Transactions on Computers, 56(4): 511--527, Apr. 2007. Google ScholarDigital Library
- K. Sen, G. Rosu, and G. Agha. Runtime Safety Analysis of Multithreaded Programs. In Proceedings of the Symposium on the Foundations of Software Engineering (FSE), 2003. Google ScholarDigital Library
- M. Y. Vardi. Formal Techniques for SystemC Verification; Position Paper. In Proceedings of the Design Automation Conference (DAC), 2007. Google ScholarDigital Library
Index Terms
- Predictive runtime verification of multi-processor SoCs in SystemC
Recommendations
Concurrency-oriented verification and coverage of system-level designs
Correct concurrent System-on-Chips (SoCs) are very hard to design and reason about. In this work, we develop an automated framework complete with concurrency-oriented verification and coverage techniques for system-level designs. Our techniques are ...
An automatic ABV methodology enabling PSL assertions across SLD flow for SOCs modeled in SystemC
Property specification languages and ABV (assertion-based verification) driven by simulation are being recognized by many as essential for verification of today's increasingly complex designs. In addition, there are few mature approaches that ...
A Transaction Level Assertion Verification Framework in SystemC: An Application Study
CENICS '09: Proceedings of the 2009 Second International Conference on Advances in Circuits, Electronics and Micro-electronicsThis paper presents a new transaction level assertion verification framework built on top of SystemC to support the integration of Assertion Based Verification in a Model Driven Design methodology. A key point of the proposed framework is that it ...
Comments