You are on page 1of 2

Report task 5:

module MUX8to1(muxIn, S, dataOut);


input [7:0] muxIn;
input [2:0] S;
wire muxOut;
wire deMuxIn;
wire [7:0] deMuxOut;
output dataOut;
//Multiplexer
assign muxOut = (S == 0) ? muxIn[0]:
(S == 1) ? muxIn[1]:
(S == 2) ? muxIn[2]:
(S == 3) ? muxIn[3]:
(S == 4) ? muxIn[4]:
(S == 5) ? muxIn[5]:
(S == 6) ? muxIn[6]:
muxIn[7];
assign deMuxIn = muxOut;
//Demultiplexer
assign deMuxOut[0] = S ? 3'b000 : deMuxIn;
assign deMuxOut[1] = S ? 3'b001 : deMuxIn;
assign deMuxOut[2] = S ? 3'b010 : deMuxIn;
assign deMuxOut[3] = S ? 3'b011 : deMuxIn;
assign deMuxOut[4] = S ? 3'b100 : deMuxIn;
assign deMuxOut[5] = S ? 3'b101 : deMuxIn;
assign deMuxOut[6] = S ? 3'b110 : deMuxIn;
assign deMuxOut[7] = S ? 3'b111 : deMuxIn;
//Show Output
assign dataOut = deMuxOut[S];
endmodule
Vector Wave function

You might also like