fixed critical path in operand collector's war_dep_check
Some checks failed
CI / setup (push) Has been cancelled
CI / build (32) (push) Has been cancelled
CI / build (64) (push) Has been cancelled
CI / tests (cache, 32) (push) Has been cancelled
CI / tests (cache, 64) (push) Has been cancelled
CI / tests (config1, 32) (push) Has been cancelled
CI / tests (config1, 64) (push) Has been cancelled
CI / tests (config2, 32) (push) Has been cancelled
CI / tests (config2, 64) (push) Has been cancelled
CI / tests (debug, 32) (push) Has been cancelled
CI / tests (debug, 64) (push) Has been cancelled
CI / tests (opencl, 32) (push) Has been cancelled
CI / tests (opencl, 64) (push) Has been cancelled
CI / tests (regression, 32) (push) Has been cancelled
CI / tests (regression, 64) (push) Has been cancelled
CI / tests (scope, 32) (push) Has been cancelled
CI / tests (scope, 64) (push) Has been cancelled
CI / tests (stress, 32) (push) Has been cancelled
CI / tests (stress, 64) (push) Has been cancelled
CI / tests (synthesis, 32) (push) Has been cancelled
CI / tests (synthesis, 64) (push) Has been cancelled
CI / tests (vector, 32) (push) Has been cancelled
CI / tests (vector, 64) (push) Has been cancelled
CI / tests (vm, 32) (push) Has been cancelled
CI / tests (vm, 64) (push) Has been cancelled
CI / complete (push) Has been cancelled

This commit is contained in:
tinebp 2025-03-04 09:58:46 -08:00
parent bbc44350b7
commit c078721ef7

View file

@ -202,11 +202,12 @@ module VX_opc_unit import VX_gpu_pkg::*; #(
other_pending_regs |= pending_regs_in[i] & {NUM_REGS{staging_if.data.wis == pending_wis_in[i]}};
end
end
wire war_dp_check = staging_if.data.wb && (other_pending_regs[rd] != 0);
wire war_dep_check;
`BUFFER(war_dep_check, staging_if.data.wb && (other_pending_regs[rd] != 0));
wire output_ready_w;
assign output_ready = output_ready_w && ~war_dp_check;
wire output_valid = (state == STATE_DISPATCH) && ~war_dp_check;
assign output_ready = output_ready_w && ~war_dep_check;
wire output_valid = (state == STATE_DISPATCH) && ~war_dep_check;
// simd iterator
VX_nz_iterator #(