题解 | #四选一多路器#
四选一多路器
https://www.nowcoder.com/practice/cba4617e1ef64e9ea52cbb400a0725a3
1,组合逻辑可以使用always@(*)搭配case或者assign.
2,testbench记得加上$finish,否则会提示超时。
`timescale 1ns/1ns
module mux4_1(input [1:0]d1,d2,d3,d0,
input [1:0]sel,
output[1:0]mux_out
);
//*************code***********//
wire [1:0]d1;
wire [1:0]d2;
wire [1:0]d3;
wire [1:0]d0;
wire [1:0]sel;
wire [1:0]mux_out;
reg [1:0]mux_out_temp;
assign mux_out = mux_out_temp;
always@(*)
begin
case(sel)
2'b00:
mux_out_temp = d3;
2'b01:
mux_out_temp = d2;
2'b10:
mux_out_temp = d1;
2'b11:
mux_out_temp = d0;
default:
mux_out_temp = 2'b00;
endcase
end
//*************code***********//
endmodule