前言
在UVM的验证环境中,为了让环境具备更好的移植性,通常采用参数形式的传输类,本文主要通过代码记录一下,这些带参数的传输类,在UVM验证环境中的使用方法。
1、声明和注册
带参数的传输类,相比普通的传输类的区别,具体如下图所示。
声明的时候,带参数的传输类,需要增加 #(parameter=var)。
注册的时候,带参数的传输类,需要增加 _param_。
2、get_type_name函数重定义
带参数的传输类,需要重新定义get_type_name这个虚函数,并且返回的type_name,也需要自己构造,否则通过field automation机制使用print函数时,会打印其父类。
3、例化和使用
下图演示了,带参数的传输类,例化和使用的方法,并且推荐使用typdef的方式,这样可以消除潜在的一些问题。
总结
本文主要记录一下,带参数的传输类,在UVM环境中的使用方法,以及需要注意的一些方面。