Some internal signals in the legalizer have their valid signals dependent on ready signals. Ideally, to keep it consistent with the AXI handshaking, this should not be the case.
|
always_comb begin : proc_legalizer_flow_control |
|
if (opt_tf_q.decouple_rw) begin |
|
r_tf_ena = (r_ready_i & !flush_i) | kill_i; |
|
w_tf_ena = (w_ready_i & !flush_i) | kill_i; |
|
|
|
r_valid_o = r_tf_q.valid & r_ready_i & !flush_i; |
|
w_valid_o = w_tf_q.valid & w_ready_i & !flush_i; |
|
end else begin |
|
r_tf_ena = (r_ready_i & w_ready_i & !flush_i) | kill_i; |
|
w_tf_ena = (r_ready_i & w_ready_i & !flush_i) | kill_i; |
|
|
|
r_valid_o = r_tf_q.valid & w_ready_i & r_ready_i & !flush_i; |
|
w_valid_o = w_tf_q.valid & r_ready_i & w_ready_i & !flush_i; |
|
end |
|
end |
Some internal signals in the legalizer have their valid signals dependent on ready signals. Ideally, to keep it consistent with the AXI handshaking, this should not be the case.
iDMA/src/idma_legalizer.sv
Lines 374 to 388 in 201ec2e