Arrays Verilog:在分层路径中使用数组元素
我的问题是关于如何在Verilog(SystemVerilog)的分层路径中使用预定义的数组元素 例如,我定义了以下字符串数组:Arrays Verilog:在分层路径中使用数组元素,arrays,verilog,system-verilog,Arrays,Verilog,System Verilog,我的问题是关于如何在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
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
生成
对于(genvar i=0;i<2;i++)开始:块
导线a=顶部模块。我的模块[i]。a;
结束
最终生成
但是我得到了模拟错误,因为它找不到层次结构,因为它正在寻找my_modules
module,而不是它的定义值(即my_module_0
和my_module_1
)
有人能对此提出建议吗
谢谢。我试过使用NCVerilog,只需稍加修改,结果就可以了
generate
for (genvar i = 0; i < 2; i++) begin: BLOCK
wire a = top_module.my_modules[i][0];
end
endgenerate
生成
对于(genvar i=0;i<2;i++)开始:块
导线a=顶部_模块。我的_模块[i][0];
结束
最终生成
my_模块[i].a
。字符串类型怎么可能有子字段a
李>
[0]
附加到我的\u模块[I]
,因为我的\u模块[I]
是字符串类型不能使用字符串在SystemVerilog中形成变量路径名。如果你能展示更多你想要完成的事情,我们可能会建议一个替代方案。这至少在cadence xcelium中也是如此。。。感谢在精化过程中,这段代码出现了分层查找失败,很不幸。。。