题解 | #四选一多路器#

四选一多路器

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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