目录
主要是针对类和对象进行编程,SV也是借鉴了C++中的OOP思路,尽可能与其一致。
1. 封装
类的定义和C++定义类似,使用class - endclass关键字
1.1. 构造函数 new 与句柄
构造函数比较熟悉,就是实例化一个对象调用的函数。
执行new时,还会为该实例内部的成员分配值,如果没有给定就会赋予默认值
类中的方法可在类内部定义。如果在类外部定义,需要写明extern和作用域。
句柄的含义非常类似于C++中的指针,即为对象在内存的地址。
但一定要注意,SV并未提供对象的表示方法,均是通过句柄操作对象的,因此构造函数 new() 的作用是创建了一个新的对象,并返回指向该对象的句柄!!!
同理,this表示的也是对象的句柄!!要用.!!!
class Transaction; //分号
bit <
本文详细介绍了SystemVerilog的面向对象编程(OOP)特性,包括封装、继承和多态。讨论了类的构造函数、句柄、静态属性和方法、权限控制,以及继承和虚方法的使用。还提到了$cast操作符在类型转换中的应用,强调了类、struct和module之间的区别。
订阅专栏 解锁全文
2618

被折叠的 条评论
为什么被折叠?



