uvm_object是基类,从中派生数据和组件的所有其他uvm类。因此,这个类有一组通用的函数和特性,所有派生类都可以使用这些函数和特性是合乎逻辑的。
通常需要的一些常见功能是打印其内容、将内容从一个对象复制到另一个对象以及可能比较两个对象。UVM有许多自动化宏,在编译过程中扩展为完整代码,并轻松地为所有类实现这些函数。
Example(使用print())
本示例的目的是展示如何使用UVM自动化宏轻松打印可变内容。
名为Object的类从uvm_Object
派生,从而继承父类中的所有函数。声明了一些不同数据类型的变量,并尝试在随机化后打印这些变量的内容。
对于每种数据类型,这里有不同的uvm_field_*
宏变体,变量必须注册到对应于其数据类型的宏中。UVM_DEFAULT
表示给定变量应用于对象实现的所有默认UVM自动化宏,即