我可以在SystemVerilog中创建const对象吗?
我想在SystemVerilog类中创建一个const对象。SystemVerilog支持常量对象(以及如何支持?),还是只支持常量原语类型 我想做一些类似的事情:我可以在SystemVerilog中创建const对象吗?,verilog,system-verilog,Verilog,System Verilog,我想在SystemVerilog类中创建一个const对象。SystemVerilog支持常量对象(以及如何支持?),还是只支持常量原语类型 我想做一些类似的事情: const my_object MY_CONST; const begin MY_CONST = new(); MY_CONST.param1 = "value1"; MY_CONST.param2 = "value2"; end 您可以创建常量类实例 类的实例(对象句柄)也可以用 const关键字 co
const my_object MY_CONST;
const begin
MY_CONST = new();
MY_CONST.param1 = "value1";
MY_CONST.param2 = "value2";
end
您可以创建常量类实例 类的实例(对象句柄)也可以用 const关键字
const class_name object = new(5,3);
换句话说,,
对象的行为类似于无法写入的变量。争论
对于新方法,应使用常数表达式(见11.2.1)。这个
可以写入对象的成员(除了
声明为常量)
您可以创建常量类实例 类的实例(对象句柄)也可以用 const关键字
const class_name object = new(5,3);
换句话说,,
对象的行为类似于无法写入的变量。争论
对于新方法,应使用常数表达式(见11.2.1)。这个
可以写入对象的成员(除了
声明为常量)
我本想对Adam12的答案发表评论,但我不能,所以我将发布一个新的答案,叹气 在SV
MY_CONST
中,只能是一个常量句柄。因此,您可能无法将另一个对象指定给句柄,但句柄指向的对象的内容仍然可以修改
我没有听说过任何
const begin。。。结束
构造。我认为调用new
有一个限制-应该在分配给const
句柄时调用它,或者如果const
句柄是类的成员,则可以在构造函数中调用new
。const
句柄的成员函数可以在任何地方调用,我猜。我本想对Adam12的答案发表评论,但我不能,所以我将发布一个新的答案,叹气
在SVMY_CONST
中,只能是一个常量句柄。因此,您可能无法将另一个对象指定给句柄,但句柄指向的对象的内容仍然可以修改
我没有听说过任何
const begin。。。结束
构造。我认为调用new
有一个限制-应该在分配给const
句柄时调用它,或者如果const
句柄是类的成员,则可以在构造函数中调用new
。const
句柄的成员函数可以在任何地方调用,我猜。我看到了对它的引用,但VCS编译器似乎在2009或2011版本的工具中不接受它。也许const
在系统Verilog规范中,但它没有为您的编译器实现。我不认为三个主要的SV模拟器(VCS、NCSim、ModelSim)都支持所有的SV规范。它们目前都支持不同的子集,afaik。我在上面看到了对它的引用,但VCS编译器似乎在2009或2011版本的工具中不接受它。也许const
在系统Verilog规范中,但它不是为您的编译器实现的。我认为三个主要的SV模拟器(VCS、NCSim、ModelSim)都不支持所有的SV规范。它们目前都支持不同的子集,afaik。