当路径包含来自生成循环的索引时,如何使用存款。 即,当我尝试
时for(int idx=0; idx<`NUM_OF_ENGIES; idx++)
$deposit(i_engines_array.engines_loop[i].engine_top.soft_reset_n, 1'b0);
我收到错误:
错误 - [STASKEC_IFAIDT] $ deposit任务的非法参数
传递给$ deposit任务的第一个参数:path是非法的。 请将net / reg / bitselect类型传递给$ deposit任务并重新编译。
答案 0 :(得分:1)
您需要命名生成块,然后您可以将其编入索引。见standard的第24.7节。例如:
genvar idx;
for(idx=0; idx<4; idx) begin : engine_loop
engine engine_top();
end
initial begin
$deposit(engine_loop[2].engine_top.soft_reset_n, 1'b0);
end