PoC.misc.sync.Reset

This module synchronizes an asynchronous reset signal to the clock Clock. The Input can be asserted and de-asserted at any time. The Output is asserted asynchronously and de-asserted synchronously to the clock.

Attention

Use this synchronizer only to asynchronously reset your design. The ‘Output’ should be feed by global buffer to the destination FFs, so that, it reaches their reset inputs within one clock cycle.

Constraints:
General:
Please add constraints for meta stability to all ‘_meta’ signals and timing ignore constraints to all ‘_async’ signals.
Xilinx:
In case of a Xilinx device, this module will instantiate the optimized module xil_SyncReset. Please attend to the notes of xil_SyncReset.
Altera sdc file:
TODO

Entity Declaration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
entity sync_Reset is
  generic (
    SYNC_DEPTH    : T_MISC_SYNC_DEPTH   := 2  -- generate SYNC_DEPTH many stages, at least 2
  );
  port (
    Clock         : in  std_logic;            -- <Clock>  output clock domain
    Input         : in  std_logic;            -- @async:  reset input
    Output        : out std_logic             -- @Clock:  reset output
  );
end entity;