题解 | #四选一多路器#
四选一多路器
https://www.nowcoder.com/practice/cba4617e1ef64e9ea52cbb400a0725a3
`timescale 1ns/1ns
module mux4_1(
input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output[1:0]mux_out
);
//*************code***********//
reg [1:0]mux_out;
always @(*) begin
case (sel)
2'b00: mux_out=d3;
2'b01: mux_out=d2;
2'b10: mux_out=d1;
2'b11: mux_out=d0;
endcase
end
//*************code***********//
endmodule
说明一下上面需要注意的几个点:
- case语句需要在always中使用
- sel为00时不一定选择d0,需要根据题目要求来
- 在always中,对mux_out进行赋值,需要是reg型,所以需要重新定义mux_out,注意定义mux_out时,别忘了前面的位数!
各位兄台加油!

