diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-05-06 16:51:17 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-05-06 16:51:17 -0600 |
| commit | faea27c352b078410e4b2eed9063b6e5833f6af3 (patch) | |
| tree | 48213b92a29fd37c5b0be51fba70b5b308c3a865 /rtl/if_common | |
| parent | 95c35cdd306868599e6ee11cbfbe4495a0ab843f (diff) | |
rtl/if_common: add id, resp, size, strb signals to if_axib
Diffstat (limited to 'rtl/if_common')
| -rw-r--r-- | rtl/if_common/if_axib.sv | 111 |
1 files changed, 78 insertions, 33 deletions
diff --git a/rtl/if_common/if_axib.sv b/rtl/if_common/if_axib.sv index 6db8518..3d703de 100644 --- a/rtl/if_common/if_axib.sv +++ b/rtl/if_common/if_axib.sv @@ -1,80 +1,125 @@ -// AXI4 con burst +// AXI4 full modulo prot, cache, lock, QoS, region interface if_axib -#(int WIDTH = 32); +#(int ADDR_WIDTH = 32, + int DATA_WIDTH = 32, + int ID_WIDTH = 8); - logic awvalid, - awready; - logic[7:0] awlen; - logic[1:0] awburst; - logic[WIDTH - 1:0] awaddr; + logic awvalid, + awready; + logic[ID_WIDTH - 1:0] awid; + logic[7:0] awlen; + logic[2:0] awsize; + logic[1:0] awburst; + logic[ADDR_WIDTH - 1:0] awaddr; - logic wlast; - logic wvalid; - logic wready; - logic[WIDTH - 1:0] wdata; + logic wvalid; + logic wready; + logic[DATA_WIDTH - 1:0] wdata; + logic wlast; + logic[(DATA_WIDTH + 7) / 8 - 1:0] wstrb; - logic bvalid; - logic bready; + logic bvalid; + logic bready; + logic[ID_WIDTH - 1:0] bid; + logic[1:0] bresp; - logic arvalid, - arready; - logic[7:0] arlen; - logic[1:0] arburst; - logic[WIDTH - 1:0] araddr; + logic arvalid, + arready; + logic[ID_WIDTH - 1:0] arid; + logic[7:0] arlen; + logic[2:0] arsize; + logic[1:0] arburst; + logic[ADDR_WIDTH - 1:0] araddr; - logic rlast; - logic rvalid; - logic rready; - logic[WIDTH - 1:0] rdata; + logic rvalid; + logic rready; + logic[ID_WIDTH - 1:0] rid; + logic[DATA_WIDTH - 1:0] rdata; + logic[1:0] rresp; + logic rlast; modport m ( input awready, + wready, + + bid, + bresp, bvalid, + arready, + + rid, + rdata, rlast, + rresp, rvalid, - rdata, - output awlen, + output awid, + awlen, + awaddr, + awsize, awburst, awvalid, - awaddr, + + wdata, wlast, + wstrb, wvalid, - wdata, + bready, + + arid, arlen, + araddr, + arsize, arburst, arvalid, - araddr, + rready ); modport s ( - input awlen, + input awid, + awlen, + awaddr, + awsize, awburst, awvalid, - awaddr, + + wdata, wlast, + wstrb, wvalid, - wdata, + bready, + + arid, arlen, + araddr, + arsize, arburst, arvalid, - araddr, + rready, output awready, + wready, + + bid, + bresp, bvalid, + arready, + + rid, + rdata, rlast, - rvalid, - rdata + rresp, + rvalid ); endinterface |
