首页 > 解决方案 > uvm_component parent = null, uvm_component parent 和 uvm_component parent = "" 有什么区别?

问题描述

和有什么区别

uvm_component parent = null

,

uvm_component parent 

uvm_component parent = " " 

在构造函数中

function new(string name = " ", uvm_component ) 

在给定的课程中?您能否同时提供上述三个的一些示例以及解释?

标签: system-veriloguvm

解决方案


这是更一般的 SystemVerilog 问题。声明函数参数默认值允许您在不指定该参数的情况下调用函数。这对于与默认值很少不同的参数是有意义的。但是在从 派生的类的情况下uvm_component,只有一个顶级测试组件有一个 null 父级。所有其他组件都应该提供一个实际的父级。

如果您将uvm_component parent = " "其视为参数的默认值,那将是语法错误。不能为类句柄分配字符串。


推荐阅读