Workaround fix for Verilator bug with array indexing

This commit is contained in:
Blaise Tine 2021-09-07 23:28:54 -07:00
parent c8d705158c
commit 0d91f8771e

View file

@ -102,11 +102,27 @@ module VX_stream_arbiter #(
for (genvar i = 0; i < NUM_REQS; i++) begin
assign valid_data_in[i] = {valid_in[i], data_in[i]};
end
assign {valid_in_sel, data_in_sel} = valid_data_in[sel_index];
VX_mux #(
.DATAW (LANES * (1 + DATAW)),
.N (NUM_REQS)
) data_in_mux (
.data_in (valid_data_in),
.sel_in (sel_index),
.data_out ({valid_in_sel, data_in_sel})
);
`UNUSED_VAR (sel_valid)
end else begin
assign data_in_sel = data_in[sel_index];
VX_mux #(
.DATAW (DATAW),
.N (NUM_REQS)
) data_in_mux (
.data_in (data_in),
.sel_in (sel_index),
.data_out (data_in_sel)
);
assign valid_in_sel = sel_valid;
end