Formal verification of SystemC by automatic hardware/software partitioning

  • Authors:
  • D. Kroening;N. Sharygina

  • Affiliations:
  • Comput. Syst. Inst., Eidgenossische Tech. Hochschule, Zurich, Switzerland;-

  • Venue:
  • MEMOCODE '05 Proceedings of the 2nd ACM/IEEE International Conference on Formal Methods and Models for Co-Design
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Variants of general-purpose programming languages, like SystemC, are increasingly used to specify system designs that have both hardware and software parts. The system-level languages allow a flexible partitioning in the design of the hardware and software. Moreover, many properties depend on the combination of hardware and software and cannot be verified on either part alone. Existing tools either apply non-formal approaches or handle only the low-level parts of the language. This papers presents a new technique that handles both hardware and software parts of a system description. This is done by automatically partitioning the uniform system description into synchronous (hardware) and asynchronous (software) parts. This technique has been implemented and applied to system level descriptions of several industrial examples. The hardware/software partitioning improves the performance of the verification compared to the monolithic approach.