更多内容请关注下面公众号!
硅芯思见
本文纯属学习之用,欢迎指正文中不足,封面图片若有侵权,请及时沟通!
在SystemVerilog中关于方法有两种“static”,一种是具有静态生命周期的方法(参见《SystemVerilog中的生命周期lifetime》),另一种则是静态的方法,这种方法常见于类中,先来看下两者的声明方式,如下:
[task/function] static method_name(arg_list); // static lifetime
static [task/function] method_name(arg_list); // static method
可见两种“static”方法在声明时“static”关键字所处的位置是不同的,本文将主要针对静态方法进行说明。在SystemVerilog中,类中方法的生命周期是动态的(automatic lifetime),不能将类中的方法声明为具有静态的生命周期,但是可以将类中的方法声明为静态方法(static method),那么这种静态方法有哪些特点和使用注意事项呢?本文我们将通过示例进行说明。
首先通过一个示例了解下将类中方法声明为具有static lifetime时的情况。
【示例】将类中方法声明为static lifetime
【仿真结果】
示例代码中,因为示例中在类packet中定义的方法disp被声明为了具有静态的生命周期