apb: Use SV enums in APB components

Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
Alex Forencich
2026-02-27 17:11:22 -08:00
parent d055cb7857
commit 450960c564
2 changed files with 25 additions and 20 deletions

View File

@@ -93,11 +93,12 @@ if (M_BYTE_LANES == S_BYTE_LANES) begin : bypass
end else if (M_BYTE_LANES > S_BYTE_LANES) begin : upsize end else if (M_BYTE_LANES > S_BYTE_LANES) begin : upsize
// output is wider; upsize // output is wider; upsize
localparam [0:0] typedef enum logic [0:0] {
STATE_IDLE = 1'd0, STATE_IDLE,
STATE_DATA = 1'd1; STATE_DATA
} state_t;
logic [0:0] state_reg = STATE_IDLE, state_next; state_t state_reg = STATE_IDLE, state_next;
logic s_apb_pready_reg = 1'b0, s_apb_pready_next; logic s_apb_pready_reg = 1'b0, s_apb_pready_next;
logic [S_DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next; logic [S_DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next;
@@ -232,11 +233,12 @@ end else begin : downsize
localparam SEG_DATA_W = DATA_W / SEG_COUNT; localparam SEG_DATA_W = DATA_W / SEG_COUNT;
localparam SEG_STRB_W = STRB_W / SEG_COUNT; localparam SEG_STRB_W = STRB_W / SEG_COUNT;
localparam [0:0] typedef enum logic [0:0] {
STATE_IDLE = 1'd0, STATE_IDLE,
STATE_DATA = 1'd1; STATE_DATA
} state_t;
logic [0:0] state_reg = STATE_IDLE, state_next; state_t state_reg = STATE_IDLE, state_next;
logic [DATA_W-1:0] data_reg = '0, data_next; logic [DATA_W-1:0] data_reg = '0, data_next;
logic [STRB_W-1:0] strb_reg = '0, strb_next; logic [STRB_W-1:0] strb_reg = '0, strb_next;

View File

@@ -91,11 +91,12 @@ if (m_axil_wr.DATA_W != m_axil_rd.DATA_W)
if (AXIL_BYTE_LANES == APB_BYTE_LANES) begin : bypass if (AXIL_BYTE_LANES == APB_BYTE_LANES) begin : bypass
// same width; translate // same width; translate
localparam [0:0] typedef enum logic [0:0] {
STATE_IDLE = 1'd0, STATE_IDLE,
STATE_DATA = 1'd1; STATE_DATA
} state_t;
logic [0:0] state_reg = STATE_IDLE, state_next; state_t state_reg = STATE_IDLE, state_next;
logic s_apb_pready_reg = 1'b0, s_apb_pready_next; logic s_apb_pready_reg = 1'b0, s_apb_pready_next;
logic [APB_DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next; logic [APB_DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next;
@@ -243,11 +244,12 @@ if (AXIL_BYTE_LANES == APB_BYTE_LANES) begin : bypass
end else if (AXIL_BYTE_LANES > APB_BYTE_LANES) begin : upsize end else if (AXIL_BYTE_LANES > APB_BYTE_LANES) begin : upsize
// output is wider; upsize // output is wider; upsize
localparam [0:0] typedef enum logic [0:0] {
STATE_IDLE = 1'd0, STATE_IDLE,
STATE_DATA = 1'd1; STATE_DATA
} state_t;
logic [0:0] state_reg = STATE_IDLE, state_next; state_t state_reg = STATE_IDLE, state_next;
logic s_apb_pready_reg = 1'b0, s_apb_pready_next; logic s_apb_pready_reg = 1'b0, s_apb_pready_next;
logic [APB_DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next; logic [APB_DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next;
@@ -406,11 +408,12 @@ end else begin : downsize
localparam SEG_DATA_W = DATA_W / SEG_COUNT; localparam SEG_DATA_W = DATA_W / SEG_COUNT;
localparam SEG_STRB_W = STRB_W / SEG_COUNT; localparam SEG_STRB_W = STRB_W / SEG_COUNT;
localparam [0:0] typedef enum logic [0:0] {
STATE_IDLE = 1'd0, STATE_IDLE,
STATE_DATA = 1'd1; STATE_DATA
} state_t;
logic [0:0] state_reg = STATE_IDLE, state_next; state_t state_reg = STATE_IDLE, state_next;
logic [DATA_W-1:0] data_reg = '0, data_next; logic [DATA_W-1:0] data_reg = '0, data_next;
logic [STRB_W-1:0] strb_reg = '0, strb_next; logic [STRB_W-1:0] strb_reg = '0, strb_next;