HDLBits练习(八)Circuits_Combinational Logic_Multiplexers

Mux2to1

要求:描述一个2选1选择器,当选通信号sel=1,输出b,sel=0,输出a。

module top_module( 
    input a, b, sel,
    output out ); 

    assign out = sel ? b : a;

endmodule

Mux2to1v

要求:描述一个输入为2个100位向量的选择器,当选通信号sel=1,输出b,sel=0,输出a。

module top_module( 
    input [99:0] a, b,
    input sel,
    output [99:0] out );

    assign out = sel ? b : a;

endmodule

Mux9to1v

要求:描述一个9选1选择器,sel=0输出a,sel=1输出b,如此类推,sel=9到15时,输出所有的位为1。

使用case语句,sel=9到15可以归类到default中。

module top_module( 
    input [15:0] a, b, c, d, e, f, g, h, i,
    input [3:0] sel,
    output [15:0] out );

    always@(*)
        begin
            case(sel)
                4'd0 : out = a;
                4'd1 : out = b;
                4'd

你可能感兴趣的:(HDLBits练习,fpga开发)