1 ------------------------------------------------------------------------------- 2 -- File : SynchronizerFifo.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2013-07-10 5 -- Last update: 2016-03-09 6 ------------------------------------------------------------------------------- 7 -- Description: Synchronizing FIFO wrapper 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'SLAC Firmware Standard Library'. 10 -- It is subject to the license terms in the LICENSE.txt file found in the 11 -- top-level directory of this distribution and at: 12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 13 -- No part of 'SLAC Firmware Standard Library', including this file, 14 -- may be copied, modified, propagated, or distributed except according to 15 -- the terms contained in the LICENSE.txt file. 16 ------------------------------------------------------------------------------- 19 use ieee.std_logic_1164.
all;
20 use ieee.std_logic_arith.
all;
21 use ieee.std_logic_unsigned.
all;
26 --! @ingroup base_sync 30 COMMON_CLK_G : := false;
-- Bypass FifoAsync module for synchronous data configuration 42 -- Write Ports (wr_clk domain) 46 -- Read Ports (rd_clk domain) 60 "INIT_G must either be ""0"" or the same length as DATA_WIDTH_G" severity failure;
105 end architecture rtl;
in dinslv( DATA_WIDTH_G- 1 downto 0)
PIPE_STAGES_Gnatural range 0 to 16:= 0
ADDR_WIDTH_Ginteger range 2 to 48:= 4
SYNC_STAGES_Ginteger range 3 to ( 2** 24):= 3
PIPE_STAGES_Gnatural range 0 to 16:= 0
BRAM_EN_Gboolean := false
out doutslv( DATA_WIDTH_G- 1 downto 0)
out doutslv( DATA_WIDTH_G- 1 downto 0)
DATA_WIDTH_Ginteger range 1 to ( 2** 24):= 16
ALTERA_RAM_Gstring := "M9K"
ALTERA_SYN_Gboolean := false
ALTERA_RAM_Gstring := "M9K"
COMMON_CLK_Gboolean := false
ADDR_WIDTH_Ginteger range 2 to 48:= 4
ALTERA_SYN_Gboolean := false
SYNC_STAGES_Ginteger range 3 to ( 2** 24):= 3
out rd_data_countslv( ADDR_WIDTH_G- 1 downto 0)
FWFT_EN_Gboolean := false
in dinslv( DATA_WIDTH_G- 1 downto 0)
out wr_data_countslv( ADDR_WIDTH_G- 1 downto 0)
DATA_WIDTH_Ginteger range 1 to ( 2** 24):= 16