1 -------------------------------------------------------------------------------     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2014-05-02     5 -- Last update: 2016-10-17     6 -------------------------------------------------------------------------------     7 -- Description:   This module is the AXIS FIFO with a frame filter     9 -- Note: If EN_FRAME_FILTER_G = true, then this module DOES NOT support     10 --       interleaving of channels during the middle of a frame transfer.    11 -------------------------------------------------------------------------------    12 -- This file is part of 'SLAC Firmware Standard Library'.    13 -- It is subject to the license terms in the LICENSE.txt file found in the     14 -- top-level directory of this distribution and at:     15 --    https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.     16 -- No part of 'SLAC Firmware Standard Library', including this file,     17 -- may be copied, modified, propagated, or distributed except according to     18 -- the terms contained in the LICENSE.txt file.    19 -------------------------------------------------------------------------------    22 use ieee.std_logic_1164.
all;
    29  --! @ingroup protocols_ssi    32       -- General Configurations    41       -- FIFO configurations    53       -- AXI Stream Port Configurations   125          -- General Configurations   132          -- FIFO configurations   144          -- AXI Stream Port Configurations   154          -- FIFO status & config , synchronous to sAxisClk   176             dataIn  => rxCtrl.overflow,
 
FIFO_ADDR_WIDTH_Ginteger   range  4 to  48:= 9
 
out sAxisCtrlAxiStreamCtrlType  
 
ALTERA_RAM_Gstring  :=   "M9K"
 
SLAVE_READY_EN_Gboolean  :=   true
 
VALID_THOLD_Gnatural  := 1
 
SLAVE_READY_EN_Gboolean  :=   true
 
slv( 7 downto  0)   txTLastTUser
 
PIPE_STAGES_Gnatural   range  0 to  16:= 1
 
in mAxisSlaveAxiStreamSlaveType  
 
out mAxisMasterAxiStreamMasterType  
 
AXIS_CONFIG_GAxiStreamConfigType  :=   ssiAxiStreamConfig( 16)
 
FIFO_PAUSE_THRESH_Gpositive  := 1
 
SLAVE_AXI_CONFIG_GAxiStreamConfigType  :=   AXI_STREAM_CONFIG_INIT_C
 
FIFO_ADDR_WIDTH_Ginteger   range  4 to  48:= 9
 
AxiStreamMasterType   rxMaster
 
SLAVE_READY_EN_Gboolean  :=   true
 
FIFO_FIXED_THRESH_Gboolean  :=   true
 
out sAxisCtrlAxiStreamCtrlType  
 
INT_PIPE_STAGES_Gnatural  := 0
 
GEN_SYNC_FIFO_Gboolean  :=   false
 
out mAxisMasterAxiStreamMasterType  
 
GEN_SYNC_FIFO_Gboolean  :=   false
 
XIL_DEVICE_Gstring  :=   "7SERIES"
 
XIL_DEVICE_Gstring  :=   "7SERIES"
 
ALTERA_SYN_Gboolean  :=   false
 
VALID_THOLD_Gnatural  := 1
 
EN_FRAME_FILTER_Gboolean  :=   true
 
in rstsl  :=not    RST_POLARITY_G
 
INT_PIPE_STAGES_Gnatural   range  0 to  16:= 0
 
FIFO_FIXED_THRESH_Gboolean  :=   true
 
VALID_BURST_MODE_Gboolean  :=   false
 
USE_BUILT_IN_Gboolean  :=   false
 
in mAxisCtrlAxiStreamCtrlType  
 
AxiStreamMasterType   txMaster
 
natural   range  0 to  8 TUSER_BITS_C
 
out sAxisSlaveAxiStreamSlaveType  
 
ALTERA_SYN_Gboolean  :=   false
 
in mAxisSlaveAxiStreamSlaveType  
 
VALID_BURST_MODE_Gboolean  :=   false
 
AxiStreamConfigType  :=   ssiAxiStreamConfig( 16) SSI_CONFIG_INIT_C
 
out sAxisSlaveAxiStreamSlaveType  
 
in sAxisMasterAxiStreamMasterType  
 
EN_FRAME_FILTER_Gboolean  :=   true
 
in sTLastTUserslv( 7 downto  0)  
 
out mTLastTUserslv( 7 downto  0)  
 
in sAxisMasterAxiStreamMasterType  
 
in sAxisMasterAxiStreamMasterType  
 
out mAxisMasterAxiStreamMasterType  
 
SLAVE_AXI_CONFIG_GAxiStreamConfigType  :=   SSI_CONFIG_INIT_C
 
CASCADE_SIZE_Gpositive  := 1
 
AXIS_CONFIG_GAxiStreamConfigType  :=   ssiAxiStreamConfig( 16)
 
out sAxisCtrlAxiStreamCtrlType  
 
ALTERA_RAM_Gstring  :=   "M9K"
 
in fifoPauseThreshslv(   FIFO_ADDR_WIDTH_G- 1 downto  0)  :=( others => '1')
 
in fifoPauseThreshslv(   FIFO_ADDR_WIDTH_G- 1 downto  0)  :=( others => '1')
 
in mAxisSlaveAxiStreamSlaveType  
 
CASCADE_SIZE_Ginteger   range  1 to ( 2** 24):= 1
 
USE_BUILT_IN_Gboolean  :=   false
 
in mAxisSlaveAxiStreamSlaveType  
 
FIFO_PAUSE_THRESH_Ginteger   range  1 to ( 2** 24):= 1
 
VALID_THOLD_Ginteger   range  0 to ( 2** 24):= 1
 
AxiStreamSlaveType   txSlave
 
CASCADE_PAUSE_SEL_Gnatural  := 0
 
PIPE_STAGES_Gnatural  := 1
 
MASTER_AXI_CONFIG_GAxiStreamConfigType  :=   SSI_CONFIG_INIT_C
 
MASTER_AXI_CONFIG_GAxiStreamConfigType  :=   AXI_STREAM_CONFIG_INIT_C
 
out sAxisSlaveAxiStreamSlaveType  
 
out sAxisSlaveAxiStreamSlaveType  
 
CASCADE_PAUSE_SEL_Ginteger   range  0 to ( 2** 24):= 0
 
out mAxisMasterAxiStreamMasterType  
 
EN_FRAME_FILTER_Gboolean  :=   true
 
OR_DROP_FLAGS_Gboolean  :=   false
 
AxiStreamSlaveType   rxSlave
 
in sAxisMasterAxiStreamMasterType