1

このようなVerilogコードがあります

module top_tb
  genUnit genUnit1;
  spyUnit spyUnit1;
endmodule

module unitX(...)
  logic some_signal;
endmodule

module genUnit
  unitX unit1(….);
  **generate
  if(myparam==2) begin : generate_block_2
    unitX unit2(….);
  end
  endgenerate**
endmodule

module spyUnit
  output logic spy1;
  output logic spy2;
  assign spy1 = genUnit1.unit1.some_signal;
  **generate
  if(myparam==2) begin : assign_spy_2
    assign spy2 = genUnit1.unit2.some_signal;
  end
  endgenerate**
endmodule

VCS エラー - [XMRE] spy2 への割り当てでのこのコードによるクロスモジュール参照解決エラー (spy1 割り当ては問題ありません)。mypram が 2 の場合にのみ spy2 を割り当てる必要がありますが、解析パラメーター値がまだ定義されていない場合は、割り当てステートメントは最終的なパラメーター値に関係なく解析されます。階層の存在はパラメーター値に依存しているため、この問題に遭遇しました。

では、このタイプのパラメーター依存の割り当てを行うにはどうすればよいでしょうか?

4

1 に答える 1