无法使用localparam变量作为值

时间:2014-11-28 13:53:37

标签: system-verilog

我有这个:

localparam A_PARAM = 64;

我想在此使用它:

some_register <= A_PARAM'h197;

我试过了:

some_register <= `A_PARAM'h197;

但没有任何反应。

1 个答案:

答案 0 :(得分:2)

令人讨厌的是,不允许使用这种语法。

参数可用于指定寄存器或复制运算符的宽度。

localparam A_PARAM = 64;

reg [A_PARAM-1:0] some_register;

always @* begin
  some_register = { A_PARAM  {1'b1}};
end

您可以使用自动调整大小,如果您使用的数字被截断,您应该收到警告。

some_register <= 'h0; //Right Hands side will be sized to match left hand side (some_reg)