diff --git a/ip/tl/rtl/tl_broadcast.sv b/ip/tl/rtl/tl_broadcast.sv index 0ce2a7e..97d2a4f 100644 --- a/ip/tl/rtl/tl_broadcast.sv +++ b/ip/tl/rtl/tl_broadcast.sv @@ -419,9 +419,7 @@ module tl_broadcast import tl_pkg::*; #( // Wait for all probes to be acked. StateInv: begin - if (probe_ack_complete || probe_ack_data_complete) begin - probe_ack_pending_d = probe_ack_pending_q - 1; - end + probe_ack_pending_d = probe_ack_pending_q - probe_ack_complete - probe_ack_data_complete; if (probe_ack_pending_d == 0) begin // We can return to the caller. @@ -498,8 +496,8 @@ module tl_broadcast import tl_pkg::*; #( assign host_b_valid = |probe_pending_q; assign host_b.opcode = ProbeBlock; assign host_b.param = probe_param_q; - assign host_b.size = 6; - assign host_b.address = {address_q[AddrWidth-1:6], 6'd0}; + assign host_b.size = MaxSize; + assign host_b.address = {address_q[AddrWidth-1:MaxSize], {MaxSize{1'b0}}}; // Zero or onehot bit mask of currently probing host. logic [NumCachedHosts-1:0] probe_selected;