我正在尝试编写一个8位,4x1多路复用器,我已经看到了一些可以使用参数的地方。还有其他办法吗?

时间:2014-10-10 17:49:52

标签: system-verilog

我正在尝试编写一个8位,4x1多路复用器,我已经看到某个地方可以使用参数来实现。还有其他办法吗?

module multiplier (a,b,c,d,select,y);
parameter size =8;
input [7:0] a,b,c,d;//input
input [1:0] select;//2-bit select
output [7:0] y;// output
reg [7:0] select;
always @ (a or b or c or d or select)
case (select) //case select
          0: y=a;
          1: y=b;
          2: y=c;
          3: y=d;
default : y ='bx ;
endmodule

1 个答案:

答案 0 :(得分:1)

因为您将其标记为SystemVerilog:

 module multiplier #(parameter size=8) (
             input [size-1:0] a,b,c,d,
             input [1:0] select,
             output logic [size-1:0] y);

    always_comb
    case (select) //case select
              0: y=a;
              1: y=b;
              2: y=c;
              3: y=d;
    default : y ='x ;
    endmodule