Skip to content

Commit ed2a918

Browse files
robertszczepanskitmichalak
authored andcommitted
Add missing AXI user signals
1 parent 335e289 commit ed2a918

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

src/hci/axi_adapter.sv

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ module axi_adapter #(
2626
output logic [AxiDataWidth-1:0] rdata_o,
2727
output logic [ 1:0] rresp_o,
2828
output logic [ AxiIdWidth-1:0] rid_o,
29+
output logic [AxiUserWidth-1:0] ruser_o,
2930
output logic rlast_o,
3031
output logic rvalid_o,
3132
input logic rready_i,
@@ -43,14 +44,16 @@ module axi_adapter #(
4344

4445
input logic [ AxiDataWidth-1:0] wdata_i,
4546
input logic [AxiDataWidth/8-1:0] wstrb_i,
47+
input logic [ AxiUserWidth-1:0] wuser_i,
4648
input logic wlast_i,
4749
input logic wvalid_i,
4850
output logic wready_o,
4951

50-
output logic [ 1:0] bresp_o,
51-
output logic [AxiIdWidth-1:0] bid_o,
52-
output logic bvalid_o,
53-
input logic bready_i,
52+
output logic [ 1:0] bresp_o,
53+
output logic [AxiIdWidth-1:0] bid_o,
54+
output logic [AxiUserWidth-1:0] buser_o,
55+
output logic bvalid_o,
56+
input logic bready_i,
5457

5558
// I3C SW CSR access interface
5659
output logic s_cpuif_req,
@@ -92,6 +95,7 @@ module axi_adapter #(
9295
rvalid_o = axi.rvalid;
9396
axi.rready = rready_i;
9497
rid_o = axi.rid;
98+
ruser_o = axi.ruser;
9599
rdata_o = axi.rdata;
96100
rresp_o = axi.rresp;
97101
rlast_o = axi.rlast;
@@ -113,12 +117,14 @@ module axi_adapter #(
113117
wready_o = axi.wready;
114118
axi.wdata = wdata_i;
115119
axi.wstrb = wstrb_i;
120+
axi.wuser = wuser_i;
116121
axi.wlast = wlast_i;
117122

118123
bvalid_o = axi.bvalid;
119124
axi.bready = bready_i;
120125
bresp_o = axi.bresp;
121126
bid_o = axi.bid;
127+
buser_o = axi.buser;
122128
end
123129

124130
logic i3c_req_dv, i3c_req_hld, i3c_req_hld_ext;
@@ -127,6 +133,7 @@ module axi_adapter #(
127133
logic i3c_req_last;
128134
logic [CsrDataWidth-1:0] i3c_req_wdata;
129135
logic [AxiDataWidth/8-1:0] i3c_req_wstrb;
136+
logic [2:0] i3c_req_size;
130137
logic [AxiAddrWidth-1:0] i3c_req_addr;
131138
logic [CsrDataWidth-1:0] i3c_req_rdata;
132139
logic [AxiIdWidth-1:0] i3c_req_id;
@@ -154,6 +161,7 @@ module axi_adapter #(
154161
.id(i3c_req_id),
155162
.wdata(i3c_req_wdata),
156163
.wstrb(i3c_req_wstrb),
164+
.size(i3c_req_size),
157165
.rdata(i3c_req_rdata),
158166
.last(i3c_req_last),
159167
.hld(i3c_req_hld),

verification/cocotb/block/axi_adapter/axi_adapter_wrapper.sv

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ module axi_adapter_wrapper
3434
output logic [AxiDataWidth-1:0] rdata,
3535
output logic [ 1:0] rresp,
3636
output logic [ AxiIdWidth-1:0] rid,
37+
output logic [AxiUserWidth-1:0] ruser,
3738
output logic rlast,
3839
output logic rvalid,
3940
input logic rready,
@@ -51,14 +52,16 @@ module axi_adapter_wrapper
5152

5253
input logic [AxiDataWidth-1:0] wdata,
5354
input logic [ 3:0] wstrb,
55+
input logic [AxiUserWidth-1:0] wuser,
5456
input logic wlast,
5557
input logic wvalid,
5658
output logic wready,
5759

58-
output logic [ 1:0] bresp,
59-
output logic [AxiIdWidth-1:0] bid,
60-
output logic bvalid,
61-
input logic bready,
60+
output logic [ 1:0] bresp,
61+
output logic [ AxiIdWidth-1:0] bid,
62+
output logic [AxiUserWidth-1:0] buser,
63+
output logic bvalid,
64+
input logic bready,
6265

6366
output logic [ 6:0] fifo_depth_o
6467
);
@@ -99,6 +102,7 @@ module axi_adapter_wrapper
99102
.rdata_o(rdata),
100103
.rresp_o(rresp),
101104
.rid_o(rid),
105+
.ruser_o(ruser),
102106
.rlast_o(rlast),
103107
.rvalid_o(rvalid),
104108
.rready_i(rready),
@@ -116,12 +120,14 @@ module axi_adapter_wrapper
116120

117121
.wdata_i (wdata),
118122
.wstrb_i (wstrb),
123+
.wuser_i (wuser),
119124
.wlast_i (wlast),
120125
.wvalid_i(wvalid),
121126
.wready_o(wready),
122127

123128
.bresp_o(bresp),
124129
.bid_o(bid),
130+
.buser_o(buser),
125131
.bvalid_o(bvalid),
126132
.bready_i(bready),
127133

verification/cocotb/block/axi_adapter/test_bus_stress.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ async def initialize(dut, timeout=50):
5757
dut.awvalid.value = 0
5858
dut.wdata.value = 0
5959
dut.wstrb.value = 0
60+
dut.wuser.value = 0
6061
dut.wlast.value = 0
6162
dut.wvalid.value = 0
6263
dut.bready.value = 0

0 commit comments

Comments
 (0)