1.1. コンパイルの概要
1.2. Compilation Dashboardの使用
1.3. デザイン・ネットリストのインフラストラクチャー (ベータ版)
1.4. デザインの合成
1.5. デザインの配置配線
1.6. インクリメンタル最適化フロー
1.7. Fast Forwardコンパイルフロー
1.8. フルコンパイル・フロー
1.9. コンパイル結果のエクスポート
1.10. 他のEDAツールの統合
1.11. 合成言語のサポート
1.12. コンパイラーの最適化手法
1.13. 合成設定のリファレンス
1.14. フィッター設定のリファレンス
1.15. デザインのコンパイルの改訂履歴
1.10.1. 他のEDAツールに向けたVQMネットリストの生成
EDA Netlist Writer (quartus_eda) では、ノードレベルのネットリストをVerilog Quartusマッピングファイル (.vqm) 形式で生成することができます。これを他のEDAツールで使用します。.vqm ネットリストを他のEDAツールで処理し、新しいモジュールを追加したり、ネットリストをパーティション化したり、接続を変更したりすることができます。サードパーティー・ツールでの変更後、 インテル® Quartus® Prime開発ソフトウェアで .vqm を再合成し、コンパイルします。
.vqm 形式は標準構造のVerilog RTLです。モジュールは、コアロジック (フリップフロップ、LUT、DSP、M20Kなど) に向けたインテル FPGAファミリー固有の任意のWYSIWYGタイプにすることができます。EDA Netlist Writerは、ペリフェラル・モジュール (トランシーバー、メモリー・インターフェイス、I/O、またはそれらを含むIPなど) の .vqm をサポートしません。RTL は、デザイン階層全体またはパーティションを完全にフラット化して表現したものです。モジュール名は元の階層をキャプチャーしますが、一部を変更することで、有効な名前にしている場合があります。ネットリスト・モジュール名の切り捨てはありません。
.vqm ネットリストのパーティション化を他のEDAツールで行うには、コアロジック要素のみを含むデザイン・パーティションを定義します。手順3 の説明に従い、パーティション・ネットリストを生成します。サードパーティー製ツールで .vqm を処理したら、.vqm ファイルを単独で、またはデザイン・パーティションとして再合成します。ブラックボックス・モジュール・インスタンスを .vqm に含める場合は、.vqm の既存のロジックとブラックボックスの間に接続を作成します。再合成する前に、ブラックボックスのソースファイル (.ip、.v、または .vqm) をプロジェクトの .qsf で指定します。
| 要件または制限 | 詳細 |
|---|---|
| デザイン・パーティションにはコアロジックのみを含める必要があります | デザイン・パーティションには、フリップフロップ、LUT、DSP、オンチップメモリーのみを含める必要があります。EDA Netlist Writerは、ペリフェラル・モジュール (トランシーバー、メモリー・インターフェイス、I/O、またはそれらを含むIPなど) の .vqm 出力をサポートしません。 |
| Analysis & Synthesisでは、SystemVerilogでは有効な一部の特殊文字をインスタンス名でサポートしません | Analysis & Synthesisでは、標準エスケープ文字「\」を配置することでこれらの文字を解決し、RTLに存在する特殊文字をエスケープします。階層制約 (SDCタイミング制約など) でそのような特殊文字を明示的に参照している場合は、それらの文字を手動で変更します。 |
| 合成後のネットリストに対してのみ .vqm を生成します | フィット後のネットリストには、ワイヤーLUTなどの再合成に適さないアトムが含まれています。 |
| モジュール名またはエンティティー名の衝突を避けます | RTLデザインファイルから生成された .vqm を、.vqm を生成した インテル® Quartus® Primeプロジェクトに追加する場合は、エンティティー名またはモジュール名が衝突する可能性があることに注意してください。.vqm を生成した元のRTLファイルと .vqm ファイルで同じエンティティー名またはモジュール名を指定している場合は、名前の衝突が発生する可能性があります。RTLファイルと .vqm ファイルがどちらもプロジェクトの Files リストに存在する場合、コンパイラーはリストの最後のエントリーを使用します。 |
| パーティションの割り当てが元のデザインと一致しない場合があります | .vqm の生成では、–exclude_sub_partitions 引数を指定しない限り、パーティション内のすべてのロジックをフラット化します。フラット化されたパーティションに関連する割り当てを含むデザインをコンパイルすると、エラーが発生します。 |
他のEDAツールでの処理に向けて .vqm を生成するには、次の手順に従います。
- インテル® Quartus® Prime開発ソフトウェアで Processing > Start > Start Analysis & Synthesis をクリック (または quartus_syn を実行) し、デザイン・ネットリストを合成します。
- .vqm に向けたコアロジック要素のみを含むデザイン・パーティションを作成します。詳細は、デザイン・パーティションの作成 で説明しています。
- .vqm を resynthesis ディレクトリーに生成するには、次の任意のコマンドをコマンドプロンプトで実行します。
- デザイン・ネットリスト全体を .vqm に書き出す場合
quartus_eda –-resynthesis=on <project_name>
- 特定のデザイン・パーティション・ネットリストのみを .vqm に書き出す場合
quartus_eda –-resynthesis=on -partition=<name> <project_name>
- サブ・パーティションをブラックボックス・ネットリストとして .vqm に書き出す場合
quartus_eda –-resynthesis=on –exclude_sub_partitions <project_name>
–exclude_sub_partitions と -partition を組み合わせることもできます。
- デザイン・ネットリスト全体を .vqm に書き出す場合
- 生成された .vqm を resynthesis ディレクトリーで確認し、.vqm をEDAツールへの入力として指定します。
- .vqm を別のEDAツールで処理したら、.vqm を インテル® Quartus® Primeプロジェクト・デザインファイルとして追加します。これを行うには、Project > Add/Remove Files In Project をクリックします。VQMネットリスト生成の要件と制限の表で説明されているとおり、モジュール名またはエンティティー名の衝突を避けてください。
- プロジェクトでAnalysis & Synthesisを実行し、続いて残りのコンパイラー・ステージを実行します。