Skip to content

Commit fc99baa

Browse files
committed
axi_mux: Remove dependency of ready on valid
1 parent 814b000 commit fc99baa

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/axi_mux.sv

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -296,17 +296,23 @@ module axi_mux #(
296296
aw_ready = 1'b1;
297297
lock_aw_valid_d = 1'b0;
298298
load_aw_lock = 1'b1;
299+
w_fifo_push = 1'b1;
299300
end
300301
end else begin
301-
if (!w_fifo_full && aw_valid) begin
302-
mst_aw_valid = 1'b1;
303-
w_fifo_push = 1'b1;
302+
if (!w_fifo_full) begin
304303
if (mst_aw_ready) begin
305304
aw_ready = 1'b1;
306-
end else begin
307-
// go to lock if transaction not in this cycle
308-
lock_aw_valid_d = 1'b1;
309-
load_aw_lock = 1'b1;
305+
end
306+
if (aw_valid) begin
307+
mst_aw_valid = 1'b1;
308+
if (!mst_aw_ready) begin
309+
// go to lock if transaction not in this cycle
310+
lock_aw_valid_d = 1'b1;
311+
load_aw_lock = 1'b1;
312+
// remember if it was a unicast transaction
313+
end else begin
314+
w_fifo_push = 1'b1;
315+
end
310316
end
311317
end
312318
end

0 commit comments

Comments
 (0)