1 ------------------------------------------------------------------------------- 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2013-05-01 5 -- Last update: 2017-02-23 6 ------------------------------------------------------------------------------- 7 -- Description: Synchronizes the trailing edge of an asynchronous reset to a 9 ------------------------------------------------------------------------------- 10 -- This file is part of 'SLAC Firmware Standard Library'. 11 -- It is subject to the license terms in the LICENSE.txt file found in the 12 -- top-level directory of this distribution and at: 13 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 14 -- No part of 'SLAC Firmware Standard Library', including this file, 15 -- may be copied, modified, propagated, or distributed except according to 16 -- the terms contained in the LICENSE.txt file. 17 ------------------------------------------------------------------------------- 20 use IEEE.STD_LOGIC_1164.
all;
24 --! @ingroup base_sync 27 TPD_G : := 1 ns;
-- Simulation FF output delay 30 BYPASS_SYNC_G : := false;
-- Bypass Synchronizer module for synchronous data configuration 31 RELEASE_DELAY_G : range 3 to positive'high := 3;
-- Delay between deassertion of async and sync resets 45 -- assert (RELEASE_DELAY_G >= 3) report "RELEASE_DELAY_G must be >= 3" severity failure; 47 -- Reuse synchronizer that turns off shift reg extraction and register balancing for you 59 dataIn =>
not OUT_POLARITY_G ,
62 -- Final stage does not have async constraints applied, can be duplicated to ease timing 67 elsif (rising_edge(clk)) then
in rstsl :=not RST_POLARITY_G
BYPASS_SYNC_Gboolean := false
BYPASS_SYNC_Gboolean := false
RELEASE_DELAY_Ginteger range 3 to positive'high:= 3
OUT_REG_RST_Gboolean := true
RST_ASYNC_Gboolean := false