题解 | #四选一多路器#
四选一多路器
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]state;
always @(*)(1444584) begin
case(sel)
2'b00: state=d3;
2'b01: state=d2;
2'b10: state=d1;
2'b11: state=d0;
default: state=d1;
endcase
end
assign mux_out=state;
*/
//思路二
/*assign mux_out = sel[1]==1?(sel[0]==1?d0:d1):(sel[0]==1?d2:d3);*/
/*也可以这么写
assign mux_out = sel[1]?(sel[0]?d0:d1):(sel[0]?d2:d3);
*/
//思路三
assign mux_out = sel==0?d3:(sel==1?d2:(sel==2?d1:d0));
//*************code***********//
endmodule
#Verilog#牛客——Verilog篇 文章被收录于专栏
https://www.nowcoder.com/exam/oj?page=1&tab=Verilogç¯&topicId=301
查看19道真题和解析