参数化类
systemverilog提供了参数化的类,类似于C++的模板,在定义时并未指明类的类型参数
类参数化
定义格式:
class parameter_class #(parameter type T=int);
T value;
endclass
function T val(T ca);
....
endfunction
![在这里插入图片描述](https://img-blog.csdnimg.cn/d975484c1c2045c7ac3c0d80026ad764.png)
数值参数化
![在这里插入图片描述](https://img-blog.csdnimg.cn/b4afa2c0333e4f729508277fff244565.png)
carr类创建了3个不同的句柄指向不同类型的对象,其相当于三个不同类型的类,三个对象的句柄的类型不相同,不能将其进行句柄传递,例如:c1=c3,这是错误的。
父类子类参数化
![在这里插入图片描述](https://img-blog.csdnimg.cn/29b78d5b35a448c5a37a94b561688f91.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7f6f74ac790341f397d7cfdcaa8b2cb6.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/ada682f3e877480eab65c25b7b2e2d4b.png)