如何在索引中使用verilog$deposit

如何在索引中使用verilog$deposit,verilog,system-verilog,register-transfer-level,Verilog,System Verilog,Register Transfer Level,当路径包含来自生成循环的索引时,如何使用$deposit。当我尝试时: for(int idx=0; idx<`NUM_OF_ENGIES; idx++) $deposit(i_engines_array.engines_loop[i].engine_top.soft_reset_n, 1'b0); 您需要命名generate块,然后为其编制索引。见本手册第24.7节。例如: genvar idx; for(idx=0; idx<4; idx) begin : engine_

当路径包含来自
生成
循环的索引时,如何使用
$deposit
。当我尝试时:

for(int idx=0; idx<`NUM_OF_ENGIES; idx++)
   $deposit(i_engines_array.engines_loop[i].engine_top.soft_reset_n, 1'b0);

您需要命名generate块,然后为其编制索引。见本手册第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
genvar-idx;

对于(idx=0;idxIs
idx
a genvar?另外,您是指
engines\u loop[idx]
而不是
engines\u loop[i]
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