Quartus® Prime 開発ソフトウェア・プロ・エディション・バージョン 23.2 以前の問題により、このエラーは、Agilex™™ 7 F タイルデバイスとその他のサポートされているデバイスをターゲットにしたデザインのインスタンス化から選択するブロックが HDL コードに生成された場合に発生することがあります。
'generate if' ブロックにラベルが付けられていない場合、ラベル付けされていない生成ブロックへのクロスモジュール参照はエラーをスローします。
例えば
生成
する場合(Agilex == 0)
開始
...
他の
終わり
が始まります
...
終了
エンド生成
このエラーは、分析および合成の段階で発生します。
この問題を回避するには、Verilog HDL では各「if と else」ステートメントのラベルを、VHDL では「generate」ステートメントのラベルを定義します。例えば、デザインが Agilex™™ F タイル デバイスと Arria® 10 デバイスのどちらかを選択することを目的としている場合、以下のように Verilog HDL および VHDL の generate ステートメントを使用してインスタンス化を選択できます。
Verilog HDL
生成
if(Agilex == 0)
開始 : label1_notfor_AG
...
終わり
他
開始 : label2_for_AG
...
終わり
エンドジェネレーション
Vhdl
ラベル:
Cond1 が生成する場合
...
elsif cond2 generate
...
else generate
...
終了生成ラベル;