题解 | #四选一多路器#
四选一多路器
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***********// assign mux_out = sel[1]?(sel[0]?d0:d1):(sel[0]?d2:d3); //*************code***********// endmodule
这种方式是最简单的,但需要对真值表很敏感
'timescale 1ns/1ns
module mux4x1(
input [1:0] d0,
input [1:0] d1,
input [1:0] d2,
input [1:0] d3,
output [1:0] mux_out
)
reg [1:0] s_mux_out;
always@(*)
begin
case(sel)
2'd0:s_mux_out<= d0 ;
2'd1:s_mux_out<= d1 ;
2'd2:s_mux_out<= d2 ;
2'd3:s_mux_out<= d3 ;
dafult:s_mux_out<= d3 ;
endcase
end
assign mux_out = s_mux_out;
endmodule

查看4道真题和解析