SURF  1.0
EthMacTop.vhd
Go to the documentation of this file.
1 -------------------------------------------------------------------------------
2 -- File : EthMacTop.vhd
3 -- Company : SLAC National Accelerator Laboratory
4 -- Created : 2015-09-22
5 -- Last update: 2016-10-20
6 -------------------------------------------------------------------------------
7 -- Description: Top-level for 1GbE/10GbE/40GbE ETH MAC Module
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 -------------------------------------------------------------------------------
17 
18 library ieee;
19 use ieee.std_logic_1164.all;
20 use ieee.std_logic_arith.all;
21 use ieee.std_logic_unsigned.all;
22 
23 use work.AxiStreamPkg.all;
24 use work.StdRtlPkg.all;
25 use work.EthMacPkg.all;
26 
27 --! @see entity
28  --! @ingroup ethernet_EthMacCore
29 entity EthMacTop is
30  generic (
31  -- Simulation Generics
32  TPD_G : time := 1 ns;
33  -- MAC Configurations
34  PAUSE_EN_G : boolean := true;
35  PAUSE_512BITS_G : positive range 1 to 1024 := 8;
36  PHY_TYPE_G : string := "XGMII"; -- "GMII", "XGMII", or "XLGMII"
37  DROP_ERR_PKT_G : boolean := true;
38  JUMBO_G : boolean := true;
39  -- RX FIFO Configurations
40  INT_PIPE_STAGES_G : natural := 1;
41  PIPE_STAGES_G : natural := 1;
42  FIFO_ADDR_WIDTH_G : positive := 10;
43  CASCADE_SIZE_G : positive := 2;
44  FIFO_PAUSE_THRESH_G : positive := 1000;
45  CASCADE_PAUSE_SEL_G : natural := 0;
46  -- Non-VLAN Configurations
47  FILT_EN_G : boolean := false;
48  PRIM_COMMON_CLK_G : boolean := false;
50  BYP_EN_G : boolean := false;
51  BYP_ETH_TYPE_G : slv(15 downto 0) := x"0000";
52  BYP_COMMON_CLK_G : boolean := false;
54  -- VLAN Configurations
55  VLAN_EN_G : boolean := false;
56  VLAN_SIZE_G : positive range 1 to 8 := 1;
57  VLAN_VID_G : Slv12Array := (0 => x"001");
58  VLAN_COMMON_CLK_G : boolean := false;
60  port (
61  -- Core Clock and Reset
62  ethClk : in sl;
63  ethRst : in sl;
64  -- Primary Interface
65  primClk : in sl;
66  primRst : in sl;
71  -- Bypass interface
72  bypClk : in sl := '0';
73  bypRst : in sl := '0';
78  -- VLAN Interfaces
79  vlanClk : in sl := '0';
80  vlanRst : in sl := '0';
85  -- XLGMII PHY Interface
86  xlgmiiRxd : in slv(127 downto 0) := (others => '0');
87  xlgmiiRxc : in slv(15 downto 0) := (others => '0');
88  xlgmiiTxd : out slv(127 downto 0);
89  xlgmiiTxc : out slv(15 downto 0);
90  -- XGMII PHY Interface
91  xgmiiRxd : in slv(63 downto 0) := (others => '0');
92  xgmiiRxc : in slv(7 downto 0) := (others => '0');
93  xgmiiTxd : out slv(63 downto 0);
94  xgmiiTxc : out slv(7 downto 0);
95  -- GMII PHY Interface
96  gmiiRxDv : in sl := '0';
97  gmiiRxEr : in sl := '0';
98  gmiiRxd : in slv(7 downto 0) := (others => '0');
99  gmiiTxEn : out sl;
100  gmiiTxEr : out sl;
101  gmiiTxd : out slv(7 downto 0);
102  -- Configuration and status
103  phyReady : in sl;
106 end EthMacTop;
107 
108 architecture mapping of EthMacTop is
109 
114 
119 
124 
125  signal rxPauseReq : sl;
126  signal rxPauseValue : slv(15 downto 0);
128 
129  -- attribute dont_touch : string;
130  -- attribute dont_touch of rxPauseReq : signal is "true";
131  -- attribute dont_touch of rxPauseValue : signal is "true";
132  -- attribute dont_touch of flowCtrl : signal is "true";
133 
134 begin
135 
138 
139  ----------
140  -- TX FIFO
141  ----------
142  U_TxFifo : entity work.EthMacTxFifo
143  generic map (
144  TPD_G => TPD_G,
147  BYP_EN_G => BYP_EN_G,
150  VLAN_EN_G => VLAN_EN_G,
154  port map (
155  -- Master Clock and Reset
156  mClk => ethClk,
157  mRst => ethRst,
158  -- Primary Interface
159  sPrimClk => primClk,
160  sPrimRst => primRst,
165  -- Bypass interface
166  sBypClk => bypClk,
167  sBypRst => bypRst,
171  mBypSlave => sBypSlave,
172  -- VLAN Interfaces
173  sVlanClk => vlanClk,
174  sVlanRst => vlanRst,
179 
180  ------------
181  -- TX Module
182  ------------
183  U_Tx : entity work.EthMacTx
184  generic map (
185  -- Simulation Generics
186  TPD_G => TPD_G,
187  -- MAC Configurations
192  JUMBO_G => JUMBO_G,
193  -- Non-VLAN Configurations
194  BYP_EN_G => BYP_EN_G,
195  -- VLAN Configurations
196  VLAN_EN_G => VLAN_EN_G,
199  port map (
200  -- Clocks
201  ethClk => ethClk,
202  ethRst => ethRst,
203  -- Primary Interface
206  -- Bypass interface
208  sBypSlave => sBypSlave,
209  -- VLAN Interfaces
212  -- XLGMII PHY Interface
213  xlgmiiTxd => xlgmiiTxd,
214  xlgmiiTxc => xlgmiiTxc,
215  -- XGMII PHY Interface
216  xgmiiTxd => xgmiiTxd,
217  xgmiiTxc => xgmiiTxc,
218  -- GMII PHY Interface
219  gmiiTxEn => gmiiTxEn,
220  gmiiTxEr => gmiiTxEr,
221  gmiiTxd => gmiiTxd,
222  -- Flow control Interface
223  clientPause => flowCtrl.pause,
226  pauseTx => ethStatus.txPauseCnt,
227  -- Configuration and status
228  phyReady => phyReady,
229  ethConfig => ethConfig,
230  txCountEn => ethStatus.txCountEn,
231  txUnderRun => ethStatus.txUnderRunCnt,
232  txLinkNotReady => ethStatus.txNotReadyCnt);
233 
234  ---------------------
235  -- Flow Control Logic
236  ---------------------
237  U_FlowCtrl : entity work.EthMacFlowCtrl
238  generic map (
239  TPD_G => TPD_G,
240  BYP_EN_G => BYP_EN_G,
241  VLAN_EN_G => VLAN_EN_G,
243  port map (
244  -- Clock and Reset
245  ethClk => ethClk,
246  ethRst => ethRst,
247  -- Inputs
248  primCtrl => mPrimCtrl,
249  bypCtrl => mBypCtrl,
250  vlanCtrl => mVlanCtrl,
251  -- Output
252  flowCtrl => flowCtrl);
253 
254  ------------
255  -- RX Module
256  ------------
257  U_Rx : entity work.EthMacRx
258  generic map (
259  -- Simulation Generics
260  TPD_G => TPD_G,
261  -- MAC Configurations
264  JUMBO_G => JUMBO_G,
265  -- Non-VLAN Configurations
266  FILT_EN_G => FILT_EN_G,
267  BYP_EN_G => BYP_EN_G,
269  -- VLAN Configurations
270  VLAN_EN_G => VLAN_EN_G,
273  port map (
274  -- Clock and Reset
275  ethClk => ethClk,
276  ethRst => ethRst,
277  -- Primary Interface
279  mPrimCtrl => mPrimCtrl,
280  -- Bypass Interface
282  mBypCtrl => mBypCtrl,
283  -- VLAN Interfaces
285  mVlanCtrl => mVlanCtrl,
286  -- XLGMII PHY Interface
287  xlgmiiRxd => xlgmiiRxd,
288  xlgmiiRxc => xlgmiiRxc,
289  -- XGMII PHY Interface
290  xgmiiRxd => xgmiiRxd,
291  xgmiiRxc => xgmiiRxc,
292  -- GMII PHY Interface
293  gmiiRxDv => gmiiRxDv,
294  gmiiRxEr => gmiiRxEr,
295  gmiiRxd => gmiiRxd,
296  -- Flow Control Interface
299  -- Configuration and status
300  phyReady => phyReady,
301  ethConfig => ethConfig,
302  rxCountEn => ethStatus.rxCountEn,
303  rxCrcError => ethStatus.rxCrcErrorCnt);
304 
305  ----------
306  -- RX FIFO
307  ----------
308  U_RxFifo : entity work.EthMacRxFifo
309  generic map (
310  TPD_G => TPD_G,
320  BYP_EN_G => BYP_EN_G,
323  VLAN_EN_G => VLAN_EN_G,
327  port map (
328  -- Slave Clock and Reset
329  sClk => ethClk,
330  sRst => ethRst,
331  -- Status (sClk domain)
332  phyReady => phyReady,
333  rxFifoDrop => ethStatus.rxFifoDropCnt,
334  -- Primary Interface
335  mPrimClk => primClk,
336  mPrimRst => primRst,
338  sPrimCtrl => mPrimCtrl,
341  -- Bypass interface
342  mBypClk => bypClk,
343  mBypRst => bypRst,
345  sBypCtrl => mBypCtrl,
348  -- VLAN Interfaces
349  mVlanClk => vlanClk,
350  mVlanRst => vlanRst,
352  sVlanCtrl => mVlanCtrl,
355 
356 end mapping;
AxiStreamSlaveType sBypSlave
Definition: EthMacTop.vhd:116
JUMBO_Gboolean := true
Definition: EthMacRx.vhd:36
BYP_EN_Gboolean := false
Definition: EthMacTop.vhd:50
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
VLAN_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
Definition: EthMacTop.vhd:59
out xlgmiiTxdslv( 127 downto 0)
Definition: EthMacTx.vhd:59
TPD_Gtime := 1 ns
Definition: EthMacTx.vhd:32
PIPE_STAGES_Gnatural := 1
array(natural range <> ) of slv( 11 downto 0) Slv12Array
Definition: StdRtlPkg.vhd:399
out txUnderRunsl
Definition: EthMacTx.vhd:77
VLAN_SIZE_Gpositive := 1
VLAN_EN_Gboolean := false
Definition: EthMacTx.vhd:42
AxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0) sVlanSlaves
Definition: EthMacTop.vhd:121
FILT_EN_Gboolean := false
Definition: EthMacRx.vhd:38
in bypClksl := '0'
Definition: EthMacTop.vhd:72
in primClksl
Definition: EthMacTop.vhd:65
BYP_COMMON_CLK_Gboolean := false
PRIM_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
slv( 15 downto 0) rxPauseValue
Definition: EthMacTop.vhd:126
out xgmiiTxdslv( 63 downto 0)
Definition: EthMacTop.vhd:93
EthMacStatusType
Definition: EthMacPkg.vhd:90
out sPrimSlaveAxiStreamSlaveType
Definition: EthMacTx.vhd:51
FIFO_PAUSE_THRESH_Gpositive := 1000
Definition: EthMacTop.vhd:44
VLAN_SIZE_Gpositive := 1
out gmiiTxEnsl
Definition: EthMacTx.vhd:65
in rxPauseValueslv( 15 downto 0)
Definition: EthMacTx.vhd:71
in mBypCtrlAxiStreamCtrlType
Definition: EthMacRx.vhd:54
VLAN_SIZE_Gpositive range 1 to 8:= 1
Definition: EthMacTx.vhd:43
BYP_COMMON_CLK_Gboolean := false
PRIM_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
TPD_Gtime := 1 ns
Definition: EthMacRx.vhd:32
std_logic sl
Definition: StdRtlPkg.vhd:28
in xlgmiiRxcslv( 15 downto 0) :=( others => '0')
Definition: EthMacTop.vhd:87
in mVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
in xgmiiRxcslv( 7 downto 0)
Definition: EthMacRx.vhd:63
out mBypMasterAxiStreamMasterType
Definition: EthMacRx.vhd:53
FIFO_ADDR_WIDTH_Gpositive := 10
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
VLAN_VID_GSlv12Array :=( 0=> x"001")
Definition: EthMacTx.vhd:44
out mVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
AxiStreamCtrlType mBypCtrl
Definition: EthMacTop.vhd:118
_library_ ieeeieee
in xgmiiRxcslv( 7 downto 0) :=( others => '0')
Definition: EthMacTop.vhd:92
PAUSE_EN_Gboolean := true
Definition: EthMacTop.vhd:34
in mVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
in sBypMasterAxiStreamMasterType
out txLinkNotReadysl
Definition: EthMacTx.vhd:78
BYP_EN_Gboolean := false
Definition: EthMacTx.vhd:40
out obMacVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
Definition: EthMacTop.vhd:83
VLAN_SIZE_Gpositive range 1 to 8:= 1
Definition: EthMacRx.vhd:43
in vlanClksl := '0'
Definition: EthMacTop.vhd:79
out mVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
in gmiiRxdslv( 7 downto 0)
Definition: EthMacRx.vhd:67
VLAN_COMMON_CLK_Gboolean := false
BYP_EN_Gboolean := false
VLAN_SIZE_Gpositive range 1 to 8:= 1
Definition: EthMacTop.vhd:56
in ibMacPrimMasterAxiStreamMasterType
Definition: EthMacTop.vhd:67
in mPrimSlaveAxiStreamSlaveType
in sBypMasterAxiStreamMasterType
in mBypSlaveAxiStreamSlaveType
VLAN_VID_GSlv12Array :=( 0=> x"001")
Definition: EthMacRx.vhd:44
out sBypCtrlAxiStreamCtrlType
VLAN_COMMON_CLK_Gboolean := false
out xgmiiTxcslv( 7 downto 0)
Definition: EthMacTop.vhd:94
JUMBO_Gboolean := true
Definition: EthMacTop.vhd:38
out rxCountEnsl
Definition: EthMacRx.vhd:74
CASCADE_PAUSE_SEL_Gnatural := 0
Definition: EthMacTop.vhd:45
in sPrimMasterAxiStreamMasterType
Definition: EthMacTx.vhd:50
AxiStreamMasterType sBypMaster
Definition: EthMacTop.vhd:115
BYP_EN_Gboolean := false
in bypRstsl := '0'
Definition: EthMacTop.vhd:73
in sBypMasterAxiStreamMasterType
Definition: EthMacTx.vhd:53
BYP_EN_Gboolean := false
Definition: EthMacRx.vhd:39
in mPrimSlaveAxiStreamSlaveType
AxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0) mVlanMasters
Definition: EthMacTop.vhd:122
in mBypSlaveAxiStreamSlaveType
VLAN_EN_Gboolean := false
in ethRstsl
Definition: EthMacRx.vhd:48
PRIM_COMMON_CLK_Gboolean := false
in mPrimCtrlAxiStreamCtrlType
Definition: EthMacRx.vhd:51
in obMacPrimSlaveAxiStreamSlaveType
Definition: EthMacTop.vhd:70
out gmiiTxEnsl
Definition: EthMacTop.vhd:99
out mPrimMasterAxiStreamMasterType
in ibMacVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
Definition: EthMacTop.vhd:81
in clientPausesl
Definition: EthMacTx.vhd:69
in xlgmiiRxdslv( 127 downto 0)
Definition: EthMacRx.vhd:59
out sBypSlaveAxiStreamSlaveType
Definition: EthMacTx.vhd:54
in ethClksl
Definition: EthMacTx.vhd:47
PAUSE_EN_Gboolean := true
Definition: EthMacTx.vhd:34
AxiStreamMasterType sPrimMaster
Definition: EthMacTop.vhd:110
CASCADE_SIZE_Gpositive := 2
Definition: EthMacTop.vhd:43
FILT_EN_Gboolean := false
Definition: EthMacTop.vhd:47
PRIM_COMMON_CLK_Gboolean := false
in rxPauseReqsl
Definition: EthMacTx.vhd:70
in xlgmiiRxdslv( 127 downto 0) :=( others => '0')
Definition: EthMacTop.vhd:86
BYP_ETH_TYPE_Gslv( 15 downto 0) := x"0000"
Definition: EthMacRx.vhd:40
out mPrimMasterAxiStreamMasterType
AxiStreamMasterType mBypMaster
Definition: EthMacTop.vhd:117
out sPrimCtrlAxiStreamCtrlType
in phyReadysl
Definition: EthMacRx.vhd:72
in ethRstsl
Definition: EthMacTx.vhd:48
out sPrimSlaveAxiStreamSlaveType
out mBypMasterAxiStreamMasterType
in primRstsl
Definition: EthMacTop.vhd:66
out obMacPrimMasterAxiStreamMasterType
Definition: EthMacTop.vhd:69
in ethClksl
Definition: EthMacRx.vhd:47
VLAN_SIZE_Gpositive range 1 to 8:= 1
PAUSE_EN_Gboolean := true
Definition: EthMacRx.vhd:34
in gmiiRxDvsl
Definition: EthMacRx.vhd:65
DROP_ERR_PKT_Gboolean := true
Definition: EthMacTop.vhd:37
TPD_Gtime := 1 ns
out gmiiTxdslv( 7 downto 0)
Definition: EthMacTx.vhd:67
in ethRstsl
Definition: EthMacTop.vhd:63
PAUSE_512BITS_Gpositive range 1 to 1024:= 8
Definition: EthMacTop.vhd:35
in xgmiiRxdslv( 63 downto 0) :=( others => '0')
Definition: EthMacTop.vhd:91
FIFO_PAUSE_THRESH_Gpositive := 1000
AxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0) sVlanMasters
Definition: EthMacTop.vhd:120
out mBypMasterAxiStreamMasterType
out xlgmiiTxdslv( 127 downto 0)
Definition: EthMacTop.vhd:88
in phyReadysl
Definition: EthMacTx.vhd:74
AxiStreamCtrlArray( VLAN_SIZE_G- 1 downto 0) mVlanCtrl
Definition: EthMacTop.vhd:123
BYP_COMMON_CLK_Gboolean := false
Definition: EthMacTop.vhd:52
in sVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
Definition: EthMacTx.vhd:56
EthMacConfigType
Definition: EthMacPkg.vhd:68
out rxFifoDropsl
in vlanCtrlAxiStreamCtrlArray( VLAN_SIZE_G- 1 downto 0)
in xlgmiiRxcslv( 15 downto 0)
Definition: EthMacRx.vhd:60
in ethConfigEthMacConfigType
Definition: EthMacTx.vhd:75
out ibMacPrimSlaveAxiStreamSlaveType
Definition: EthMacTop.vhd:68
PIPE_STAGES_Gnatural := 1
Definition: EthMacTop.vhd:41
out mPrimMasterAxiStreamMasterType
Definition: EthMacRx.vhd:50
INT_PIPE_STAGES_Gnatural := 1
Definition: EthMacTop.vhd:40
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
in ethClksl
Definition: EthMacTop.vhd:62
AxiStreamCtrlType flowCtrl
Definition: EthMacTop.vhd:127
out pauseTxsl
Definition: EthMacTx.vhd:72
VLAN_EN_Gboolean := false
VLAN_EN_Gboolean := false
Definition: EthMacTop.vhd:55
FIFO_ADDR_WIDTH_Gpositive := 10
Definition: EthMacTop.vhd:42
out sVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
out obMacBypMasterAxiStreamMasterType
Definition: EthMacTop.vhd:76
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
VLAN_VID_GSlv12Array :=( 0=> x"001")
Definition: EthMacTop.vhd:57
PRIM_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
Definition: EthMacTop.vhd:49
sl rxPauseCnt
Definition: EthMacPkg.vhd:92
out gmiiTxErsl
Definition: EthMacTop.vhd:100
CASCADE_PAUSE_SEL_Gnatural := 0
out ibMacBypSlaveAxiStreamSlaveType
Definition: EthMacTop.vhd:75
in vlanRstsl := '0'
Definition: EthMacTop.vhd:80
in bypCtrlAxiStreamCtrlType
VLAN_EN_Gboolean := false
in ethConfigEthMacConfigType
Definition: EthMacRx.vhd:73
DROP_ERR_PKT_Gboolean := true
VLAN_COMMON_CLK_Gboolean := false
Definition: EthMacTop.vhd:58
AxiStreamCtrlType mPrimCtrl
Definition: EthMacTop.vhd:113
AxiStreamMasterType mPrimMaster
Definition: EthMacTop.vhd:112
BYP_EN_Gboolean := false
PHY_TYPE_Gstring := "XGMII"
Definition: EthMacTop.vhd:36
out ibMacVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
Definition: EthMacTop.vhd:82
in gmiiRxDvsl := '0'
Definition: EthMacTop.vhd:96
VLAN_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
BYP_ETH_TYPE_Gslv( 15 downto 0) := x"0000"
Definition: EthMacTop.vhd:51
in primCtrlAxiStreamCtrlType
BYP_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
Definition: EthMacTop.vhd:53
out xgmiiTxcslv( 7 downto 0)
Definition: EthMacTx.vhd:63
VLAN_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
PHY_TYPE_Gstring := "XGMII"
Definition: EthMacRx.vhd:35
out rxPauseValueslv( 15 downto 0)
Definition: EthMacRx.vhd:70
PRIM_COMMON_CLK_Gboolean := false
Definition: EthMacTop.vhd:48
out rxPauseReqsl
Definition: EthMacRx.vhd:69
AxiStreamSlaveType :=(tReady => '1') AXI_STREAM_SLAVE_FORCE_C
in sPrimMasterAxiStreamMasterType
in sVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
TPD_Gtime := 1 ns
in gmiiRxdslv( 7 downto 0) :=( others => '0')
Definition: EthMacTop.vhd:98
sl rxOverFlow
Definition: EthMacPkg.vhd:95
out flowCtrlAxiStreamCtrlType
TPD_Gtime := 1 ns
Definition: EthMacTop.vhd:32
BYP_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
out xlgmiiTxcslv( 15 downto 0)
Definition: EthMacTx.vhd:60
in ethConfigEthMacConfigType
Definition: EthMacTop.vhd:104
in sPrimMasterAxiStreamMasterType
in sVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
in xgmiiRxdslv( 63 downto 0)
Definition: EthMacRx.vhd:62
TPD_Gtime := 1 ns
in obMacBypSlaveAxiStreamSlaveType := AXI_STREAM_SLAVE_FORCE_C
Definition: EthMacTop.vhd:77
in gmiiRxErsl := '0'
Definition: EthMacTop.vhd:97
out ethStatusEthMacStatusType
Definition: EthMacTop.vhd:105
PHY_TYPE_Gstring := "XGMII"
Definition: EthMacTx.vhd:36
BYP_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
in gmiiRxErsl
Definition: EthMacRx.vhd:66
out xgmiiTxdslv( 63 downto 0)
Definition: EthMacTx.vhd:62
JUMBO_Gboolean := true
Definition: EthMacTx.vhd:38
in ibMacBypMasterAxiStreamMasterType := AXI_STREAM_MASTER_INIT_C
Definition: EthMacTop.vhd:74
out mVlanMastersAxiStreamMasterArray( VLAN_SIZE_G- 1 downto 0)
Definition: EthMacRx.vhd:56
out txCountEnsl
Definition: EthMacTx.vhd:76
out sVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0)
Definition: EthMacTx.vhd:57
INT_PIPE_STAGES_Gnatural := 1
in mVlanCtrlAxiStreamCtrlArray( VLAN_SIZE_G- 1 downto 0)
Definition: EthMacRx.vhd:57
DROP_ERR_PKT_Gboolean := true
Definition: EthMacTx.vhd:37
out sBypSlaveAxiStreamSlaveType
CASCADE_SIZE_Gpositive := 2
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
Definition: EthMacPkg.vhd:58
out xlgmiiTxcslv( 15 downto 0)
Definition: EthMacTop.vhd:89
AxiStreamSlaveType sPrimSlave
Definition: EthMacTop.vhd:111
VLAN_EN_Gboolean := false
Definition: EthMacRx.vhd:42
std_logic_vector slv
Definition: StdRtlPkg.vhd:29
out gmiiTxdslv( 7 downto 0)
Definition: EthMacTop.vhd:101
out sVlanCtrlAxiStreamCtrlArray( VLAN_SIZE_G- 1 downto 0)
out gmiiTxErsl
Definition: EthMacTx.vhd:66
PAUSE_512BITS_Gpositive range 1 to 1024:= 8
Definition: EthMacTx.vhd:35
in obMacVlanSlavesAxiStreamSlaveArray( VLAN_SIZE_G- 1 downto 0) :=( others => AXI_STREAM_SLAVE_FORCE_C)
Definition: EthMacTop.vhd:84
in phyReadysl
Definition: EthMacTop.vhd:103
out rxCrcErrorsl
Definition: EthMacRx.vhd:75