1

$depositパスにgenerateループからのインデックスが含まれている場合に使用できる方法。私がしようとすると:

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

エラーが発生します:

Error-[STASKEC_IFAIDT] Illegal argument to $deposit task

  The first argument passed to $deposit task: path is illegal.
  Please pass net/reg/bitselect type to $deposit task and recompile.
4

1 に答える 1

3

生成ブロックに名前を付ける必要があり、インデックスを作成できます。標準のセクション 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
于 2014-04-09T11:11:19.777 に答える