apb: Add user sideband signals to APB interface

Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
Alex Forencich
2025-09-30 15:19:07 -07:00
parent e836357c33
commit f4f473afeb

View File

@@ -14,7 +14,23 @@ interface taxi_apb_if #(
// Width of address bus in bits
parameter ADDR_W = 32,
// Width of pstrb (width of data bus in words)
parameter STRB_W = (DATA_W/8)
parameter STRB_W = (DATA_W/8),
// Use pauser signal
parameter logic PAUSER_EN = 1'b0,
// Width of pauser signal
parameter PAUSER_W = 1,
// Use pwuser signal
parameter logic PWUSER_EN = 1'b0,
// Width of pwuser signal
parameter PWUSER_W = 1,
// Use pruser signal
parameter logic PRUSER_EN = 1'b0,
// Width of pruser signal
parameter PRUSER_W = 1,
// Use pbuser signal
parameter logic PBUSER_EN = 1'b0,
// Width of pbuser signal
parameter PBUSER_W = 1
)
();
logic [ADDR_W-1:0] paddr;
@@ -27,6 +43,10 @@ interface taxi_apb_if #(
logic pready;
logic [DATA_W-1:0] prdata;
logic pslverr;
logic [PAUSER_W-1:0] pauser;
logic [PWUSER_W-1:0] pwuser;
logic [PRUSER_W-1:0] pruser;
logic [PBUSER_W-1:0] pbuser;
modport mst (
output paddr,
@@ -38,7 +58,11 @@ interface taxi_apb_if #(
output pstrb,
input pready,
input prdata,
input pslverr
input pslverr,
output pauser,
output pwuser,
input pruser,
input pbuser
);
modport slv (
@@ -51,7 +75,11 @@ interface taxi_apb_if #(
input pstrb,
output pready,
output prdata,
output pslverr
output pslverr,
input pauser,
input pwuser,
output pruser,
output pbuser
);
endinterface