Clocks and the performance of synchronisers

Abstract
The performance of two synchronisation schemes is compared. One scheme uses a fixed-period clock with the allowable resolution time of the synchronising flip-flop being one clock period, the other scheme uses a clock with extensible clock-pulse recurrence time and a special flip-flop with an additional output, M, which is asserted whenever the flip-flop is in the metastable state. By asserting the PAUSE input to the clock, clock-pulse generation is inhibited. The M outputs of the rank of flip-flops are collectively ORed to drive the PAUSE input of the clock, thus pausing clock-pulse generation when one or more of them is in the metastable state. A system using the first scheme fails when conflicting actions are taken by its components, owing to inconsistent interpretation of the outputs of the flip-flops that are in the metastable state. In the second scheme, a system fails when the job execution time exceeds a specified upper bound, owing to extension in clock pulse recurrence times. If the path delays from the M outputs to the PAUSE input of the pausable clock are small, the second scheme performs better. However, its performance degrades exponentially as the delays increase.