Skip to content

iDMA legalizer has dependencies from valids to readys on internal signals #6

@thommythomaso

Description

@thommythomaso

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

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

Metadata

Metadata

Assignees

Labels

invalidThis doesn't seem right

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions