1 ------------------------------------------------------------------------------- 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2015-09-22 5 -- Last update: 2016-10-20 6 ------------------------------------------------------------------------------- 7 -- Description: Ethernet MAC RX 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;
28 --! @ingroup ethernet_EthMacCore 31 -- Simulation Generics 37 -- Non-VLAN Configurations 41 -- VLAN Configurations 58 -- XLGMII PHY Interface 61 -- XGMII PHY Interface 68 -- Flow Control Interface 71 -- Configuration and status 101 -- XLGMII PHY Interface 104 -- XGMII PHY Interface 107 -- GMII PHY Interface 111 -- Configuration and status 130 -- Incoming data from MAC 139 ------------------------------ 140 -- RX Non-VLAN Checksum Module 141 ------------------------------ 155 -- Outbound data to MAC 159 -------------------------- 160 -- RX VLAN Checksum Module 161 -------------------------- 162 GEN_VLAN : if (VLAN_EN_G = true) generate 178 -- Outbound data to MAC 181 end generate GEN_VEC;
184 BYPASS_VLAN : if (VLAN_EN_G = false) generate 185 -- Terminate Unused buses 201 -- Incoming data from MAC 203 -- Outgoing primary data 205 -- Outgoing bypass data 219 -- Incoming data from MAC out mPrimMasterAxiStreamMasterType
out mAxisMasterAxiStreamMasterType
out mAxisMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
in xgmiiRxdslv( 63 downto 0)
in sAxisMasterAxiStreamMasterType
array(natural range <> ) of slv( 11 downto 0) Slv12Array
FILT_EN_Gboolean := false
in macAddressslv( 47 downto 0)
FILT_EN_Gboolean := false
in xlgmiiRxcslv( 15 downto 0)
in sAxisMasterAxiStreamMasterType
in mBypCtrlAxiStreamCtrlType
in xgmiiRxcslv( 7 downto 0)
out mAxisMasterAxiStreamMasterType
out mBypMasterAxiStreamMasterType
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 mAxisMasterAxiStreamMasterType
in xgmiiRxcslv( 7 downto 0)
PHY_TYPE_Gstring := "XGMII"
AxiStreamMasterType bypassMaster
VLAN_SIZE_Gpositive range 1 to 8:= 1
AxiStreamMasterType pauseMaster
in gmiiRxdslv( 7 downto 0)
in xlgmiiRxdslv( 127 downto 0)
VLAN_VID_GSlv12Array :=( 0=> x"001")
VLAN_EN_Gboolean := false
out rxPauseValueslv( 15 downto 0)
in mPrimCtrlAxiStreamCtrlType
in xlgmiiRxdslv( 127 downto 0)
VLAN_VID_GSlv12Array :=( 0=> x"001")
BYP_ETH_TYPE_Gslv( 15 downto 0) := x"0000"
AxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0) pauseMasters
PAUSE_EN_Gboolean := true
VLAN_SIZE_Gpositive range 1 to 8:= 1
in xlgmiiRxcslv( 15 downto 0)
in sAxisMasterAxiStreamMasterType
out mBypMasterAxiStreamMasterType
out mPrimMasterAxiStreamMasterType
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
PAUSE_EN_Gboolean := true
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
in ethConfigEthMacConfigType
AxiStreamMasterType macIbMaster
in gmiiRxdslv( 7 downto 0)
PHY_TYPE_Gstring := "XGMII"
out rxPauseValueslv( 15 downto 0)
out macIbMasterAxiStreamMasterType
in sAxisMasterAxiStreamMasterType
AxiStreamMasterType csumMaster
in xgmiiRxdslv( 63 downto 0)
in mAxisCtrlAxiStreamCtrlType
out mVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
BYP_ETH_TYPE_Gslv( 15 downto 0) := x"0000"
in mVlanCtrlAxiStreamCtrlArray( VLAN_SIZE_G- 1 downto 0)
VLAN_EN_Gboolean := false