Fourteen Ways to Fool Your Synchronizer

  • Authors:
  • Ran Ginosar

  • Affiliations:
  • -

  • Venue:
  • ASYNC '03 Proceedings of the 9th International Symposium on Asynchronous Circuits and Systems
  • Year:
  • 2003

Quantified Score

Hi-index 0.02

Visualization

Abstract

Transferring data between mutually asynchronous clock domains requires safe synchronization. However, the exact nature of synchronization sometimes eludes designers, and as a result synchronization circuits get "optimized" to the point where they do no longer operate correctly. This paper reviews a number of such cases, analyzes the causes of the errors, and offers a correct synchronizer circuit for each case. A correct two-flop synchronizer is presented. After discussing cases that avoid synchronization, the following synchronizers are reviewed: one flop, sneaky path, greedy path, wrong protocol, global reset, async clear, DFT leakage, pulse, slow-to-fast, metastability blocker, parallel and shared flop synchronizers.