如何检查SV类属性是否存在

时间:2016-12-08 12:50:02

标签: system-verilog uvm

我想检查我的班级父类是否有这样的属性。如果是,请访问它。

if ( $cast(this.get_parent(), agent_inst) && agent_inst != "NULL" )
        if (agent_inst.vitf != "NULL")
            vitf = agent_inst.vitf;

现在,如果agent_inst没有vitf属性,模拟器将发出错误。 那么我如何检查agent_inst是否具有vitf属性?

由于

1 个答案:

答案 0 :(得分:1)

你有倒退的论点;第一个参数是目标变量,第二个参数是源。 $ cast的工作方式,您应该使用具有agent_inst属性的类类型声明vitf。如果源对象与目标类型兼容,则$ cast仅在运行时成功。除非存在agent_inst.vitf,否则您的代码将无法编译。