我需要在generate if条件中使用当前实例名称(完整层次名称):
generate
if (current_instance_name() == "a.b.c.foo")
...
在Verilog或SystemVerilog中有没有办法做到这一点? 我知道%m,但它只允许打印实例名称。
感谢。
答案 0 :(得分:3)
这样做的方法是
localparam string current_path = $sformatf("%m");
generate
if (current_path = "a.b.c.foo") begin ...
答案 1 :(得分:0)
你仍然可以通过将%m传递给$ psprintf来使用它,这将返回一个字符串。以下功能可以解决您的问题:
function string current_instance_name();
return $psprintf("%m");
endfunction