题解 | #四选一多路器#

四选一多路器

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务