题解 | #四选一多路器#

四选一多路器

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
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务