mirror of
https://github.com/fpganinja/taxi.git
synced 2026-04-09 05:18:44 -07:00
eth: Use SV enums in MAC logic
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -98,28 +98,40 @@ if (s_axis_tx.DATA_W != DATA_W)
|
||||
if (s_axis_tx.USER_W != USER_W)
|
||||
$fatal(0, "Error: Interface USER_W parameter mismatch (instance %m)");
|
||||
|
||||
localparam [7:0]
|
||||
typedef enum logic [7:0] {
|
||||
ETH_PRE = 8'h55,
|
||||
ETH_SFD = 8'hD5;
|
||||
ETH_SFD = 8'hD5
|
||||
} eth_pre_t;
|
||||
|
||||
localparam [7:0]
|
||||
XGMII_IDLE = 8'h07,
|
||||
XGMII_START = 8'hfb,
|
||||
XGMII_TERM = 8'hfd,
|
||||
XGMII_ERROR = 8'hfe;
|
||||
typedef enum logic [7:0] {
|
||||
XGMII_IDLE = 8'h07,
|
||||
XGMII_LPI = 8'h06,
|
||||
XGMII_START = 8'hfb,
|
||||
XGMII_TERM = 8'hfd,
|
||||
XGMII_ERROR = 8'hfe,
|
||||
XGMII_SEQ_OS = 8'h9c,
|
||||
XGMII_RES_0 = 8'h1c,
|
||||
XGMII_RES_1 = 8'h3c,
|
||||
XGMII_RES_2 = 8'h7c,
|
||||
XGMII_RES_3 = 8'hbc,
|
||||
XGMII_RES_4 = 8'hdc,
|
||||
XGMII_RES_5 = 8'hf7,
|
||||
XGMII_SIG_OS = 8'h5c
|
||||
} xgmii_ctrl_t;
|
||||
|
||||
localparam [3:0]
|
||||
STATE_IDLE = 4'd0,
|
||||
STATE_PREAMBLE = 4'd1,
|
||||
STATE_PAYLOAD = 4'd2,
|
||||
STATE_PAD = 4'd3,
|
||||
STATE_FCS_1 = 4'd4,
|
||||
STATE_FCS_2 = 4'd5,
|
||||
STATE_FCS_3 = 4'd6,
|
||||
STATE_ERR = 4'd7,
|
||||
STATE_IFG = 4'd8;
|
||||
typedef enum logic [3:0] {
|
||||
STATE_IDLE,
|
||||
STATE_PREAMBLE,
|
||||
STATE_PAYLOAD,
|
||||
STATE_PAD,
|
||||
STATE_FCS_1,
|
||||
STATE_FCS_2,
|
||||
STATE_FCS_3,
|
||||
STATE_ERR,
|
||||
STATE_IFG
|
||||
} state_t;
|
||||
|
||||
logic [3:0] state_reg = STATE_IDLE, state_next;
|
||||
state_t state_reg = STATE_IDLE, state_next;
|
||||
|
||||
// datapath control signals
|
||||
logic reset_crc;
|
||||
|
||||
Reference in New Issue
Block a user