⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mux16_1.v

📁 本程序实现了对输入数路的16选1功能
💻 V
字号:
 //第二题:
 //    设计MUX4×1多路选择器模块,然后用该模块编写16×1多路选择器程序。
module mux16_1(sel,in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16,mout,en);
    output [width-1:0] mout;
    input [width-1:0] in1,in2,in3,in4,in5,in6,in7,in8,in9,in10,in11,in12,in13,in14,in15,in16;
    input[3:0] sel;
    input en;
    wire [width-1:0] mout1,mout2,mout3,mout4;
    reg [width-1:0] mout;
    parameter width=4;                       
 sel4m1 u1(sel[1:0],in1,in2,in3,in4,mout1,en);
 sel4m1 u2(sel[1:0],in5,in6,in7,in8,mout2,en); 
 sel4m1 u3(sel[1:0],in9,in10,in11,in12,mout3,en);
 sel4m1 u4(sel[1:0],in13,in14,in15,in16,mout4,en);
   always@(sel or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or in9 or in10 or in11 or in12 or in13 or in14 or in15 or in16 or en)
       begin 
         if(en==1'b1)
          case(sel[1:0])
             2'b00: mout=mout1;
             2'b01: mout=mout2;
             2'b10: mout=mout3;
             2'b11: mout=mout4;
             default: mout='b0;
           endcase
         else 
           mout='b0;
       end
endmodule
module sel4m1(sel,in1,in2,in3,in4,mout,en);
    output [width-1:0] mout;
    input [width-1:0] in1,in2,in3,in4;
    input[1:0] sel;
    input en;
    reg [width-1:0] mout;
    parameter width=4; 
    always@(sel or in1 or in2 or in3 or in4 or en)
     begin 
       if(en==1'b1)
         case(sel)
          2'b00: mout=in1;
          2'b01: mout=in2;
          2'b10: mout=in3;
          2'b11: mout=in4;
          default: mout='b0;
         endcase
    else 
     mout='b0;
   end
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -