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

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

1.2.2. Synchronous Reset Design Strategies

The use of synchronous resets helps to ensure a fully synchronous design. The Intel® Quartus® Prime Timing Analyzer can more efficiently analyze synchronous designs.

If you use an asynchronous reset source, synchronize the source before feeding it to the register's reset input. Depending on the design specifications, you can externally synchronize the reset source. Whether you synchronize the reset source internally or externally, it is part of the data logic path. Hence, you can easily determine the data arrival and data required times for proper slack analysis.

Like any broadcast signal, a synchronous reset has a high fan-out. The high fan-out makes it difficult (and at times impossible) to close timing without pipelining and duplicating the synchronous reset source.

A good technique for synchronous reset is to build a balanced reset tree, as Figure 5 shows. In this example, srstb_main output of the reset synchronizer serves as the main source of the distributed synchronous reset tree. The reduction of fan-out at each stage can ease the delay paths passed through by each reset branch, thereby helping to close timing.

Figure 5.  srstb_main as Synchronous Reset Source

You can use Hyper-Pipelining and Hyper-Retiming in your design to generate a similar reset distribution. The main goal of this design technique is to address the critical paths connecting the synchronous reset line. The Fitter accomplishes this by moving the registers on the pipeline and retiming them as needed to resolve timing issues.

Another design technique to reduce fan-out involves specifying the DUPLICATE_HIERARCHY_DEPTH assignment in the Intel® Quartus® Prime settings file (.qsf). This assignment can distribute duplicate registers of any high fan-out broadcast signals using hierarchical proximity to guide the duplication process.