我正在尝试编写一个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
答案 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