Synchronous reset has the following characteristics:
- It will not work if clock path has failures
- It tends to immune to glitches, since sync reset requires clock toggling
- It makes STA simpler and the whole design synchronous, since sync reset has no difference from regular data path
- Sync reset implementation will add a MUX at the input of each flop
Asynchronous reset has the following characteristics:
- It does not require clock toggling to reset the logic
- Unintended glitches on async reset line will introduce catastrophic effect
- Async reset introduces async timing path in the design, since the reset can take effect at any time, leading to possible metastability issues. Usually async reset is released synchronously by using reset synchronizers, and STA needs to check reset removal time and recovery time
- Async reset is implemented inside the flop, in transistor level. Please see the diagram below extracted from this link.
We recommend interviewees to read this paper “Asynchronous & Synchronous Reset Design Techniques – Part Deux” for more details.