我的问题是如何在Verilog(SystemVerilog)中的分层路径中使用预定义的数组元素。
例如,我已经定义了以下字符串数组:
string my_modules [0:1] = {"my_module_0","my_module_1"};
之后,在我的代码中,我尝试在某种层次结构中使用它们:
generate
for (genvar i = 0; i < 2; i++) begin: BLOCK
wire a = top_module.my_modules[i].a;
end
endgenerate
但我收到模拟错误,因为它找不到层次结构,因为它正在查找my_modules
模块而不是其定义的值(即my_module_0
和my_module_1
)。
有人可以就此提出建议吗?
感谢。
答案 0 :(得分:0)
我试过NCVerilog,结果很好,只需要很小的修改。
generate
for (genvar i = 0; i < 2; i++) begin: BLOCK
wire a = top_module.my_modules[i][0];
end
endgenerate
my_modules[i].a
。字符串类型如何具有子字段a
? [0]
附加到my_modules[i]
,因为my_modules[i]
是字符串类型。