SystemVerilog具有已定义宽度的参数

时间:2016-02-16 23:08:51

标签: vhdl constants system-verilog

我有以下VHDL代码,用于定义特定宽度的常量。

constant WIDTH : natural := 16
constant X : std_logic_vector(WIDTH - 1 downto 0) := std_logic_vector(to_unsigned(16#0#, WIDTH));

如何在SystemVerilog中定义类似的内容?

我认为像这样的东西会对应

parameter WIDTH = 16
parameter X = WIDTH'd1231413412

但这似乎与我的Verilog编译器不兼容

2 个答案:

答案 0 :(得分:1)

It Verilog,您很少需要指定无符号常量的宽度。但如果你确实需要,那就是:

parameter WIDTH = 16
parameter bit [WIDTH-1:0] X = 'd1231413412

请注意,一旦使用数据类型定义参数,您只能覆盖其值,而不是其类型。

答案 1 :(得分:0)

它应该类似于以下内容:

parameter WIDTH = 16;
parameter [WIDTH-1:0] X = 0;

自2001年起,它将与SystemVerilog(IEEE1800)和Verilog一起使用(IEEE1364-2001)。如果您遇到仅支持Verilog 1995(IEEE1364-1995)的古老模拟器,它将无法工作。