1 ------------------------------------------------------------------------------- 2 -- File : EthMacTxFifo.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2016-09-21 5 -- Last update: 2016-10-20 6 ------------------------------------------------------------------------------- 7 -- Description: Inbound FIFO buffers 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;
26 --! @ingroup ethernet_EthMacCore 40 -- Master Clock and Reset 78 -- General Configurations 84 -- FIFO configurations 89 -- AXI Stream Port Configurations 103 BYP_DISABLED : if (BYP_EN_G = false) generate 108 BYP_ENABLED : if (BYP_EN_G = true) generate 118 -- General Configurations 124 -- FIFO configurations 129 -- AXI Stream Port Configurations 145 VLAN_DISABLED : if (VLAN_EN_G = false) generate 150 VLAN_ENABLED : if (VLAN_EN_G = true) generate 157 GEN_VEC : for i in (VLAN_SIZE_G-1) downto 0 generate 160 -- General Configurations 166 -- FIFO configurations 171 -- AXI Stream Port Configurations 183 end generate GEN_VEC;
FIFO_ADDR_WIDTH_Ginteger range 4 to 48:= 9
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
PRIM_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
PIPE_STAGES_Gnatural range 0 to 16:= 1
BYP_COMMON_CLK_Gboolean := false
AxiStreamMasterType :=(tValid => '0',tData =>( others => '0'),tStrb =>( others => '1'),tKeep =>( others => '1'),tLast => '0',tDest =>( others => '0'),tId =>( others => '0'),tUser =>( others => '0')) AXI_STREAM_MASTER_INIT_C
out mVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
in mVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
SLAVE_AXI_CONFIG_GAxiStreamConfigType := AXI_STREAM_CONFIG_INIT_C
in sBypMasterAxiStreamMasterType
SLAVE_READY_EN_Gboolean := true
in mPrimSlaveAxiStreamSlaveType
in mBypSlaveAxiStreamSlaveType
VLAN_COMMON_CLK_Gboolean := false
GEN_SYNC_FIFO_Gboolean := false
PRIM_COMMON_CLK_Gboolean := false
out mPrimMasterAxiStreamMasterType
out sPrimSlaveAxiStreamSlaveType
out mBypMasterAxiStreamMasterType
INT_PIPE_STAGES_Gnatural range 0 to 16:= 0
VLAN_EN_Gboolean := false
out sVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
out sAxisSlaveAxiStreamSlaveType
in sAxisMasterAxiStreamMasterType
out mAxisMasterAxiStreamMasterType
VLAN_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
AxiStreamSlaveType :=(tReady => '1') AXI_STREAM_SLAVE_FORCE_C
in sVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
in mAxisSlaveAxiStreamSlaveType
CASCADE_SIZE_Ginteger range 1 to ( 2** 24):= 1
in sPrimMasterAxiStreamMasterType
VALID_THOLD_Ginteger range 0 to ( 2** 24):= 1
BYP_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
MASTER_AXI_CONFIG_GAxiStreamConfigType := AXI_STREAM_CONFIG_INIT_C
out sBypSlaveAxiStreamSlaveType
AxiStreamConfigType :=(TSTRB_EN_C => false,TDATA_BYTES_C => 16,TDEST_BITS_C => 8,TID_BITS_C => 0,TKEEP_MODE_C => TKEEP_COMP_C,TUSER_BITS_C => 4,TUSER_MODE_C => TUSER_FIRST_LAST_C) EMAC_AXIS_CONFIG_C