提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
system verilog 中类的变量和方法的动态和静态类型
一、变量类型
- 动态变量
变量类型分为动态和静态两种,class偏向于软件斜体样式盒子,为了达到节省内存空间的目的,默认变量类型为动态类型。因为动态类型的变量仅存在于所创建的对象的生命周期,内存可以得到及时释放。
- 静态变量
如果使用关键字static来声明class内的变量时,则其为静态变量。静态变量的生命周期开始于编译阶段,贯穿整个仿真阶段。要注意在例化多个类的对象时的资源共享保护。
二、方法类型
-
动态方法
class中定义的方法默认为动态类型。 -
静态方法
通过添加static将默认的动态方法转变为静态方法。静态方法内可以声明并使用动态变量,但是不能使用类的动态成员变量。在调用静态方法时,可能并没有为动态成员变量开辟内存空间,因此可能会导致内存泄漏。