blob: c3679dd8c1e437b78d0c384f4f4216b9c940a76c [file] [log] [blame]
// a mux with 8 inputs and 1 output
module mux8_1
(
sel,
indata0,
indata1,
indata2,
indata3,
indata4,
indata5,
indata6,
indata7,
outdata
);
parameter WIDTH = 1;
input logic [2:0] sel;
input logic [WIDTH-1:0] indata0;
input logic [WIDTH-1:0] indata1;
input logic [WIDTH-1:0] indata2;
input logic [WIDTH-1:0] indata3;
input logic [WIDTH-1:0] indata4;
input logic [WIDTH-1:0] indata5;
input logic [WIDTH-1:0] indata6;
input logic [WIDTH-1:0] indata7;
output logic [WIDTH-1:0] outdata;
always_comb begin
case(sel)
3'd0: begin
outdata = indata0;
end
3'd1: begin
outdata = indata1;
end
3'd2: begin
outdata = indata2;
end
3'd3: begin
outdata = indata3;
end
3'd4: begin
outdata = indata4;
end
3'd5: begin
outdata = indata5;
end
3'd6: begin
outdata = indata6;
end
3'd7: begin
outdata = indata7;
end
default: begin
outdata = 'b0;
end
endcase
end
endmodule