Formal verification of synchronizers

  • Authors:
  • Tsachy Kapschitz;Ran Ginosar

  • Affiliations:
  • VLSI Systems Research Center, Electrical Engineering Department, Technion–Israel Institute of Technology, Haifa, Israel;VLSI Systems Research Center, Electrical Engineering Department, Technion–Israel Institute of Technology, Haifa, Israel

  • Venue:
  • CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Large Systems on Chips (SoC) comprise multiple clock domains, and inter-domain data transfers require synchronization. Synchronizers may fail due to metastability, but when using proper synchronization circuits the probability of such failures can be made negligible. Failures due to unexpected order of events (caused by interfacing multiple unrelated clocks) are more common. Correct synchronization is independent of event order, and can be verified by model checking. Given a synchronizer, a correct protocol is guessed, verification rules are generated out of the protocol specification, and the model checker applies these rules to the given synchronizer. An alternative method verifies correct data transfer and seeks potential data missing or duplication. Both approaches require specific modeling of multiple clocks, allowing for non-determinism in their relative ordering. These methods have been applied successfully to several synchronizers.