SystemVerilog中的局部变量与全局变量

关键字local、protected、static

1. 公有与私有
  • 在SV中,所有成员默认都是 public 类型的,除非显示的使用关键字 local/protected 来声明。local与protected均可对方法或者属性进行修饰说明。

    • local 表示的成员或方法只对该类的对象可见,扩展类以及类外不可见;
    • protected 表示的成员或方法对该类以及扩展类可见,对类外不可见;
2. 静态与全局
  • 在SV中,可在类中创建静态变量。该变量被这个类的所有实例所共享,并且它的使用范围仅限于这个类。
    • 静态变量使用关键字 static 加以修饰;
    • 静态变量被所有的对象共享,可以认为静态变量保存在类中而非对象中;
    • SV中不允许静态方法读写非静态变量,因此静态方法中的变量均为静态变量;
    • 包含静态属性的类无需实例化即可直接使用静态属性,无需实例化分配内存,具有静态的声明周期;

可参考SystemVerilog : 静态变量和静态方法 以及数据生命周期属性

你可能感兴趣的:(SV学习笔记)