#systemverilog# 说说Systemverilog中《static》那些事儿(理论篇1)

本文主要介绍了Systemverilog中`static`关键字的使用,包括静态属性、静态方法和数据生命周期属性。静态属性允许类的所有实例共享同一变量,无需实例化即可访问。静态方法可以在类外部调用,但不能访问非静态成员。`static`还用于决定数据的生命周期,静态数据在整个仿真期间存在。此外,讨论了静态任务和函数的声明以及它们与自动变量生命周期的区别。
摘要由CSDN通过智能技术生成

目录

一 类中的静态属性

二 类中的静态方法

三 数据的生命周期属性


一 类中的静态属性

对于普通的实例类的属性,每一个类实例的每一个变量都有自己的copy(单独的内存空间),相互独立。但是有时会要求一个类的所有实例都共享变量的一个版本,也就是说所有实例都共享同一个copy,该变量对所有实例都是可见并相同的。
这样的类属性就是静态属性(静态变量),使用关键字 static 产生。通过下面的例子可以清楚的看见静态属性的特点。

class Packet;
  bit [15:0]   addr;
  bit [7:0]   data;
  static int   static_ctr = 0;
       int   ctr = 0;
 
  function new (bit [15:0] ad, bit [7:0] d);
    addr = ad;
    data = d;
    static_ctr++;
    ctr++;
    $display ("static_ctr=%0d ctr=%0d ad
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

那么菜

你的鼓励和批评是我最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值