using onehot multiplexer to reduce critical path

This commit is contained in:
Blaise Tine
2021-07-08 00:26:59 -07:00
parent dc34c5c5bd
commit 10e9ee124b
11 changed files with 161 additions and 207 deletions

View File

@@ -0,0 +1,20 @@
`include "VX_platform.vh"
module VX_onehot_mux #(
parameter DATAW = 1,
parameter COUNT = 1
) (
input wire [COUNT-1:0][DATAW-1:0] data_in,
input wire [COUNT-1:0] sel_in,
output wire [DATAW-1:0] data_out
);
if (COUNT > 1) begin
for (genvar i = 0; i < COUNT; ++i) begin
assign data_out = sel_in[i] ? data_in[i] : 'z;
end
end else begin
`UNUSED_VAR (sel_in)
assign data_out = data_in;
end
endmodule