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:
@@ -93,11 +93,12 @@ if (m_axis_rx.DATA_W != DATA_W)
|
||||
if (m_axis_rx.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 [6:0]
|
||||
typedef enum logic [6:0] {
|
||||
CTRL_IDLE = 7'h00,
|
||||
CTRL_LPI = 7'h06,
|
||||
CTRL_ERROR = 7'h1e,
|
||||
@@ -106,17 +107,20 @@ localparam [6:0]
|
||||
CTRL_RES_2 = 7'h4b,
|
||||
CTRL_RES_3 = 7'h55,
|
||||
CTRL_RES_4 = 7'h66,
|
||||
CTRL_RES_5 = 7'h78;
|
||||
CTRL_RES_5 = 7'h78
|
||||
} baser_ctrl_t;
|
||||
|
||||
localparam [3:0]
|
||||
typedef enum logic [3:0] {
|
||||
O_SEQ_OS = 4'h0,
|
||||
O_SIG_OS = 4'hf;
|
||||
O_SIG_OS = 4'hf
|
||||
} baser_o_t;
|
||||
|
||||
localparam [1:0]
|
||||
typedef enum logic [1:0] {
|
||||
SYNC_DATA = 2'b10,
|
||||
SYNC_CTRL = 2'b01;
|
||||
SYNC_CTRL = 2'b01
|
||||
} baser_sync_t;
|
||||
|
||||
localparam [7:0]
|
||||
typedef enum logic [7:0] {
|
||||
BLOCK_TYPE_CTRL = 8'h1e, // C7 C6 C5 C4 C3 C2 C1 C0 BT
|
||||
BLOCK_TYPE_OS_4 = 8'h2d, // D7 D6 D5 O4 C3 C2 C1 C0 BT
|
||||
BLOCK_TYPE_START_4 = 8'h33, // D7 D6 D5 C3 C2 C1 C0 BT
|
||||
@@ -131,14 +135,16 @@ localparam [7:0]
|
||||
BLOCK_TYPE_TERM_4 = 8'hcc, // C7 C6 C5 D3 D2 D1 D0 BT
|
||||
BLOCK_TYPE_TERM_5 = 8'hd2, // C7 C6 D4 D3 D2 D1 D0 BT
|
||||
BLOCK_TYPE_TERM_6 = 8'he1, // C7 D5 D4 D3 D2 D1 D0 BT
|
||||
BLOCK_TYPE_TERM_7 = 8'hff; // D6 D5 D4 D3 D2 D1 D0 BT
|
||||
BLOCK_TYPE_TERM_7 = 8'hff // D6 D5 D4 D3 D2 D1 D0 BT
|
||||
} baser_block_type_t;
|
||||
|
||||
localparam [1:0]
|
||||
STATE_IDLE = 2'd0,
|
||||
STATE_PAYLOAD = 2'd1,
|
||||
STATE_LAST = 2'd2;
|
||||
typedef enum logic [1:0] {
|
||||
STATE_IDLE,
|
||||
STATE_PAYLOAD,
|
||||
STATE_LAST
|
||||
} state_t;
|
||||
|
||||
logic [1:0] state_reg = STATE_IDLE, state_next;
|
||||
state_t state_reg = STATE_IDLE, state_next;
|
||||
|
||||
logic lanes_swapped_reg = 1'b0;
|
||||
logic lanes_swapped_d1_reg = 1'b0;
|
||||
|
||||
Reference in New Issue
Block a user