[SystemVerilog语法拾遗] 类作用符::使用总结

[SystemVerilog语法拾遗] 类作用符::使用总结

先看下systemverilog2017的标准里关于::的定义描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分析总结如下:
:: 中文叫做类作用域解析描述符,顾名思义表示引用的是类中定义的对象,区别于instance的作用符 (.) ,具体的用法包含以下几类:
1、包packet的使用,如import packets:😗,引用包中定义的成员
2、类中静态static成员的引用,包括静态变量和静态方法,因为静态类型不属于类的任何对象,而是归属于整个类,因而必须用类作用符::,比如内建类process::self,std::randomize(),自定义的类如uvm中常使用的config_db#(int)::set/get都属于类中静态成员的引用,静态成员不仅包括静态方法、静态变量,还包括定义在类中的结构体、枚举类型里的枚举值,比如通过typedef enum {RD, WR} kind_e;定义在类seq_item中,那么就可以用下面的方法引用枚举类型seq_item::RD
3、class中方法的声明用extern修饰表示方法的定义在外部时,也需要在class外面方法定义的前面添加类作用符来讲该方法跟类进行关联。
4、引用class内部定义的parameter或者localparam
5、还有些例如local关键字使用::以及function coverage相关使用::由于使用场景非常局限,这里就不做过多解释了,留着后面的话题再展开讨论

关于上面截图中的最后一个例子只是想说明嵌套类可以直接访问外部类里的静态变量,非静态变量无法直接访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值