硅芯思见:SystemVerilog类中的静态方法和属性

本文详细探讨了SystemVerilog中类的静态方法和静态属性。通过示例展示了静态方法的声明和使用,以及静态属性如何在不同对象间共享数据。同时强调了静态方法不能访问非静态属性,且在静态方法中不能使用"this"指针。
摘要由CSDN通过智能技术生成

                  更多内容请关注下面公众号!

                                 硅芯思见

本文纯属学习之用,欢迎指正文中不足,封面图片若有侵权,请及时沟通!

在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 

5ed1be8b7c4a63d5ceae7ecf9728d702.png

【仿真结果】

73ba1fd5df9b3e578949ed8b83c4f7bf.png

917c93fa1e6f5cc465892aef5dce08d4.png

示例代码中,因为示例中在类packet中定义的方法disp被声明为了具有静态的生命周期࿰

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硅芯思见

你的鼓励是我创作的最大源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值