RDC

RDC issues

RDC refers to paths where a async reset on a flop can generate metastability in the circuit.

There are few scenarios this can happen.

Scenario-1

Possible solutions

Ensure "rst2" is asserted prior or with "rst1". This will ensure no metastability on FF2.

A synchronized guard signal. This signal can ensure the async signal won't propagate.

The sync cell ensures async signal won't propagate. But it also adds latency.

By turning off the clock on receiving domain, the async signal on reset assertion will not be sampled.

Scenario - 2

RDC can also exist when a Flop with async reset is connected to a resetless flop.

The above solutions can be explored here too

Fault positive scenario

create_rdc_static -from FF/Q -from_reset rst