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

ID 683539
Date 1/05/2021
Public

Visible to Intel only — GUID: mef1603894761060

Ixiasoft

Document Table of Contents

1.4.1.1. Converting to Synchronous Resets

Complete the coding of your design before targeting an Intel® Hyperflex™ architecture device. If you are using asynchronous resets in your design, convert them to synchronous resets to benefit from Hyper-Retiming performance optimization. Hyper-Retiming helps to meet the timing requirements for fast running clocks. The design blocks that are running slow clocks, and are already passing timing requirements, can continue using asynchronous resets.

Switching your code to use synchronous resets is simple, as the following example shows:
//Asynchronous reset on control register always @(posedge clk or negedge rstb) begin if (!rstb) control <= ‘d0; else control <= new_value; end
//Synchronous reset on control register always @(posedge clk) begin if (!rstb) control <= ‘d0; else control <= new_value; end