[rtl] Buffer cleanup in top-level

A minor change to use the Width parameter of prim_buf. No functional
impact but stops the hierarchy from being cluttered with hundreds of
generate contexts in the top level.

Signed-off-by: Tom Roberts <tomroberts@lowrisc.org>
This commit is contained in:
Tom Roberts 2021-07-23 15:23:07 +01:00 committed by Tom Roberts
parent d44966373e
commit 4d729e20e5

View file

@ -609,28 +609,22 @@ module ibex_top #(
} = buf_out;
// Manually buffer all input signals.
for (genvar k = 0; k < NumBufferBits; k++) begin : gen_buffers
prim_buf u_prim_buf (
.in_i(buf_in[k]),
.out_o(buf_out[k])
);
end
prim_buf #(.Width(NumBufferBits)) u_signals_prim_buf (
.in_i(buf_in),
.out_o(buf_out)
);
logic [TagSizeECC-1:0] ic_tag_rdata_local [IC_NUM_WAYS];
logic [LineSizeECC-1:0] ic_data_rdata_local [IC_NUM_WAYS];
for (genvar k = 0; k < IC_NUM_WAYS; k++) begin : gen_ways
for (genvar j = 0; j < TagSizeECC; j++) begin : gen_tag_bufs
prim_buf u_prim_buf (
.in_i(ic_tag_rdata[k][j]),
.out_o(ic_tag_rdata_local[k][j])
);
end
for (genvar j = 0; j < LineSizeECC; j++) begin : gen_data_bufs
prim_buf u_prim_buf (
.in_i(ic_data_rdata[k][j]),
.out_o(ic_data_rdata_local[k][j])
);
end
prim_buf #(.Width(TagSizeECC)) u_tag_prim_buf (
.in_i(ic_tag_rdata[k]),
.out_o(ic_tag_rdata_local[k])
);
prim_buf #(.Width(LineSizeECC)) u_data_prim_buf (
.in_i(ic_data_rdata[k]),
.out_o(ic_data_rdata_local[k])
);
end
logic lockstep_alert_minor_local, lockstep_alert_major_local;