Entity: EthMacTop

Diagram

time TPD_G boolean PAUSE_EN_G positive range 1 to 1024 PAUSE_512BITS_G string PHY_TYPE_G boolean DROP_ERR_PKT_G boolean JUMBO_G natural INT_PIPE_STAGES_G natural PIPE_STAGES_G positive FIFO_ADDR_WIDTH_G string SYNTH_MODE_G string MEMORY_TYPE_G boolean FILT_EN_G boolean PRIM_COMMON_CLK_G AxiStreamConfigType PRIM_CONFIG_G boolean BYP_EN_G slv(15 downto 0) BYP_ETH_TYPE_G boolean BYP_COMMON_CLK_G AxiStreamConfigType BYP_CONFIG_G boolean VLAN_EN_G positive range 1 to 8 VLAN_SIZE_G Slv12Array VLAN_VID_G boolean VLAN_COMMON_CLK_G AxiStreamConfigType VLAN_CONFIG_G sl ethClkEn sl ethClk sl ethRst sl primClk sl primRst AxiStreamMasterType ibMacPrimMaster AxiStreamSlaveType obMacPrimSlave sl bypClk sl bypRst AxiStreamMasterType ibMacBypMaster AxiStreamSlaveType obMacBypSlave sl vlanClk sl vlanRst AxiStreamMasterArray(VLAN_SIZE_G-1 downto 0) ibMacVlanMasters AxiStreamSlaveArray(VLAN_SIZE_G-1 downto 0) obMacVlanSlaves slv(127 downto 0) xlgmiiRxd slv(15 downto 0) xlgmiiRxc slv(63 downto 0) xgmiiRxd slv(7 downto 0) xgmiiRxc sl gmiiRxDv sl gmiiRxEr slv(7 downto 0) gmiiRxd sl phyReady EthMacConfigType ethConfig AxiStreamSlaveType ibMacPrimSlave AxiStreamMasterType obMacPrimMaster AxiStreamSlaveType ibMacBypSlave AxiStreamMasterType obMacBypMaster AxiStreamSlaveArray(VLAN_SIZE_G-1 downto 0) ibMacVlanSlaves AxiStreamMasterArray(VLAN_SIZE_G-1 downto 0) obMacVlanMasters slv(127 downto 0) xlgmiiTxd slv(15 downto 0) xlgmiiTxc slv(63 downto 0) xgmiiTxd slv(7 downto 0) xgmiiTxc sl gmiiTxEn sl gmiiTxEr slv(7 downto 0) gmiiTxd EthMacStatusType ethStatus

Description


Company : SLAC National Accelerator Laboratory

Description: Top-level for 1GbE/10GbE/40GbE ETH MAC Module

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns Simulation Generics
PAUSE_EN_G boolean true MAC Configurations
PAUSE_512BITS_G positive range 1 to 1024 8 For 10GbE: 8 clock cycles for 512 bits = one pause "quanta"
PHY_TYPE_G string "XGMII" "GMII", "XGMII", or "XLGMII"
DROP_ERR_PKT_G boolean true
JUMBO_G boolean true
INT_PIPE_STAGES_G natural 1 RX FIFO Configurations
PIPE_STAGES_G natural 1
FIFO_ADDR_WIDTH_G positive 11
SYNTH_MODE_G string "inferred"
MEMORY_TYPE_G string "block"
FILT_EN_G boolean false Non-VLAN Configurations
PRIM_COMMON_CLK_G boolean false
PRIM_CONFIG_G AxiStreamConfigType EMAC_AXIS_CONFIG_C
BYP_EN_G boolean false
BYP_ETH_TYPE_G slv(15 downto 0) x"0000"
BYP_COMMON_CLK_G boolean false
BYP_CONFIG_G AxiStreamConfigType EMAC_AXIS_CONFIG_C
VLAN_EN_G boolean false VLAN Configurations
VLAN_SIZE_G positive range 1 to 8 1
VLAN_VID_G Slv12Array (0 => x"001")
VLAN_COMMON_CLK_G boolean false
VLAN_CONFIG_G AxiStreamConfigType EMAC_AXIS_CONFIG_C

Ports

Port name Direction Type Description
ethClkEn in sl Core Clock and Reset
ethClk in sl
ethRst in sl
primClk in sl Primary Interface
primRst in sl
ibMacPrimMaster in AxiStreamMasterType
ibMacPrimSlave out AxiStreamSlaveType
obMacPrimMaster out AxiStreamMasterType
obMacPrimSlave in AxiStreamSlaveType
bypClk in sl Bypass interface
bypRst in sl
ibMacBypMaster in AxiStreamMasterType
ibMacBypSlave out AxiStreamSlaveType
obMacBypMaster out AxiStreamMasterType
obMacBypSlave in AxiStreamSlaveType
vlanClk in sl VLAN Interfaces
vlanRst in sl
ibMacVlanMasters in AxiStreamMasterArray(VLAN_SIZE_G-1 downto 0)
ibMacVlanSlaves out AxiStreamSlaveArray(VLAN_SIZE_G-1 downto 0)
obMacVlanMasters out AxiStreamMasterArray(VLAN_SIZE_G-1 downto 0)
obMacVlanSlaves in AxiStreamSlaveArray(VLAN_SIZE_G-1 downto 0)
xlgmiiRxd in slv(127 downto 0) XLGMII PHY Interface
xlgmiiRxc in slv(15 downto 0)
xlgmiiTxd out slv(127 downto 0)
xlgmiiTxc out slv(15 downto 0)
xgmiiRxd in slv(63 downto 0) XGMII PHY Interface
xgmiiRxc in slv(7 downto 0)
xgmiiTxd out slv(63 downto 0)
xgmiiTxc out slv(7 downto 0)
gmiiRxDv in sl GMII PHY Interface
gmiiRxEr in sl
gmiiRxd in slv(7 downto 0)
gmiiTxEn out sl
gmiiTxEr out sl
gmiiTxd out slv(7 downto 0)
phyReady in sl Configuration and status
ethConfig in EthMacConfigType
ethStatus out EthMacStatusType

Signals

Name Type Description
sPrimMaster AxiStreamMasterType
sPrimSlave AxiStreamSlaveType
mPrimMaster AxiStreamMasterType
mPrimCtrl AxiStreamCtrlType
sBypMaster AxiStreamMasterType
sBypSlave AxiStreamSlaveType
mBypMaster AxiStreamMasterType
mBypCtrl AxiStreamCtrlType
sVlanMasters AxiStreamMasterArray(VLAN_SIZE_G-1 downto 0)
sVlanSlaves AxiStreamSlaveArray(VLAN_SIZE_G-1 downto 0)
mVlanMasters AxiStreamMasterArray(VLAN_SIZE_G-1 downto 0)
mVlanCtrl AxiStreamCtrlArray(VLAN_SIZE_G-1 downto 0)
rxPauseReq sl
rxPauseValue slv(15 downto 0)
flowCtrl AxiStreamCtrlType

Instantiations

Description

TX FIFO

Description

TX Module

Description

Flow Control Logic

Description

RX Module

Description

RX FIFO