AN 917: Reset Design Techniques for Intel® Hyperflex™ Architecture FPGAs
ID
683539
Date
1/05/2021
Public
Visible to Intel only — GUID: mef1603894761060
Ixiasoft
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