Stratix® 10 Embedded Memory User Guide

ID 683423
Date 10/21/2024
Public
Document Table of Contents

4.4.8.2. Reset

To maximize Fmax, there are non-resettable flops (or registers) with undefined initial power and reset states. Unless the reset state of a given interface signal is specified, you must not assume the reset the non-resettable flops to be of a specific value during power up or reset. As part of reset sequence, you must ensure that the FIFO internal stale states are flushed before normal operations are started or resumed.

The FIFO2 Intel® FPGA IP core exposes both asynchronous and synchronous clear ports per clock domain so that the user application has full control on how reset sequences, such as entering and exiting reset, should work. The clear events for both w_clk and r_clk clock domains come from the same source so that the logic in both domains are brought into or out of reset together nominally. For example, you can choose to reset the logic in one clock domain such as r_clk, instead of w_clk. However, some signals such as the FIFO fill level status take time to settle down to the right states. In this case, the user application must ensure those signals do not cause any unintentional side effect.

By default, the FIFO2 Intel® FPGA IP core only samples synchronous clear but ignores the asynchronous clear ports. You have the option to turn on Enable Asynchronous Clear (ACLR) to enable the synchronous clear feature in the parameter editor of the FIFO2 IP cores. You can also choose to implement only the asynchronous clear reset scheme by tying the synchronous clear ports to their inactive states.
Note: Non-resettable registers within the IP core require state flushing, even when asynchronous clear ports are used.