skip to main content
10.1145/1391469.1391708acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Predictive runtime verification of multi-processor SoCs in SystemC

Published:08 June 2008Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Fidge. Logical Time in Distributed Computing Systems. IEEE Computer, 24(8): 28--33, Aug. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarCross RefCross Ref
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Kasuya and T. Tesfaye. Verification methodologies in a TLM-to-RTL design flow. In Proceedings of the Design Automation Conference (DAC), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Open SystemC Initiative, http://www.systemc.org/.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Y. Vardi. Formal Techniques for SystemC Verification; Position Paper. In Proceedings of the Design Automation Conference (DAC), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Predictive runtime verification of multi-processor SoCs in 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
    • Published in

      cover image ACM Conferences
      DAC '08: Proceedings of the 45th annual Design Automation Conference
      June 2008
      993 pages
      ISBN:9781605581156
      DOI:10.1145/1391469
      • General Chair:
      • Limor Fix

      Copyright © 2008 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: 8 June 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,770of5,499submissions,32%

      Upcoming Conference

      DAC '24
      61st ACM/IEEE Design Automation Conference
      June 23 - 27, 2024
      San Francisco , CA , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader