Assertion macros

I’m writing assertion macros and want to pass hierarchical name eg out.vld. But I’m getting an error of illegal location for a hierarchical name while passing it as an argument to the macro `assert_xyz_p(out.vld, in.sel,in.col), Is there a way I can pass hierarchical arguments?

In reply to Nimisha Varadkar:

Macros have no knowledge of SystemVerilog syntax—they just do simple text replacement. You need to make sure to text replaced by the macro is valid syntax.

In reply to dave_59:

Thanks, Dave!