AN 917: Reset Design Techniques for Intel® Hyperflex™ Architecture FPGAs

ID 683539
Date 1/05/2021
Public
Document Table of Contents

1.3.2. Example: Synchronous Reset Design Assistant Analysis

You can also use Design Assistant to identify and correct problematic synchronous reset conditions. In the following example, the reset synchronizer output incorrectly connects to a register reset using a different clock domain. Such a connection error can create functional design issues, especially if one domain is reset unnecessarily during normal operation.

Figure 16 shows an example where the reset synchronizer clocked on the clk1 domain connects to the u2_counter instance from the clk2 domain.

Figure 16. Reset Synchronizer used on Multiple Clock Domain
Design Assistant reports the following CDC rule violations in the Timing Analyzer folder of the Compilation Report for this condition:
Figure 17. Design Rule CDC-50001 Violations

Rule check CDC-50001 identifies two paths originating from FF2 of the reset synchronizer clocked by clk1, driving the u2_counter registers clocked by clk2. To resolve the violation for this example:

  1. Review the Design Assistant rule Description and Recommendation:
    Figure 18. Rule CDC-50001 Recommendation
  2. Implement a separate reset synchronizer for every clock domain, as the following figure shows:
    Figure 19. Separate Reset Synchronizer per Clock Domain
  3. Recompile the design changes. The synchronizer implementation corrects the CDC rule violations.
    Figure 20. CDC Rule Violations Corrected