Notes on Synchronizers and Probability of Failure
Introduction to Synchronizers
- Synchronizers manage asynchronous inputs.
- Common in user interfaces (e.g., smartphones, computers).
- Goal: Minimize probability of failure, but cannot eliminate it completely.
Structure of a Synchronizer
- Constructed using two back-to-back flip-flops:
- First Flip-Flop: Sampling flip-flop that samples asynchronous input (D).
- Second Flip-Flop: Allows for signal regeneration by providing feedback.
Timing Considerations
- Important timing parameters:
- Tc: Cycle time
- T_setup: Setup time
- Regeneration time:
- Defined as: T_waiting = Tc - T_setup
- This waiting time is crucial for reducing the probability of failure.
Calculating Probability of Failure
- Probability of Failure: Can be calculated based on the waiting time.
- Probability of Failure per Second:
- If a button is pressed n times per second, overall probability = Probability of failure × n.
- Example Calculation:
- If the probability of hitting a target is 0.1 and you hit it 5 times per second, the probability of failure per second = 0.1 × 5 = 0.5.
Mean Time Between Failures
- Calculated as:
- Mean Time Between Failures = 1 / Probability of Failure per Second
- Example with Coin Toss:
- Probability of Heads = 0.5, if tossed once per second,
- Probability of failure per second = 0.5, thus Mean Time = 2 seconds.
Example Synchronizer Parameters
- Example values:
- Cycle time = 2 ns
- Frequency = 500 MHz
- Calculation results in:
- Probability of failure ≈ 5.6 x 10^-6
- Probability of failure per second and mean time between failures calculated accordingly.
- Example: Mean time between failures = 5 hours.
Application Context
- Application of synchronizer affects acceptable failure rates:
- Computer with a 5-hour failure rate may be unacceptable.
- A child's toy may be more forgiving with similar failure rates.
Improving Reliability
- To decrease failure rate:
- Add additional flip-flops to the synchronizer.
- Each added flip-flop doubles the regeneration time, exponentially increasing reliability.
- Output is sent to the system only after confirming high stability of the output value (either high or low).
Summary: Understanding the role and design of synchronizers, including the calculation of probability of failure and mean time between failures, is key for ensuring system reliability in various applications.