intel quartus prime プロ・エディション ユーザーガイド...intel® quartus ® prime...

95
Intel ® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル ® Quartus ® Prime 開発デザインスイートの更新情報: 19.4 更新情報 フィードバック UG-20132 | 2019.12.16 最新版をウェブからダウンロード: PDF | HTML

Upload: others

Post on 24-Jan-2021

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

Intel® Quartus® Prime プロ・エディションユーザーガイドデザインのコンパイル

インテル® Quartus® Prime 開発デザインスイートの更新情報: 19.4

更新情報フィードバック

UG-20132 | 2019.12.16

新版をウェブからダウンロード: PDF | HTML

Page 2: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

目次

1. デザインのコンパイル............................................................................................................. 41.1. コンパイルの概要......................................................................................................5

1.1.1. コンパイルフロー..........................................................................................51.1.2. コンパイル階層............................................................................................ 6

1.2. デザイン合成...........................................................................................................71.2.1. 合成の実行................................................................................................. 81.2.2. 合成レポートの表示....................................................................................... 9

1.3. デザインの配置配線................................................................................................. 111.3.1. Compilation Dashboard の使用.................................................................... 111.3.2. Fitter の実行.............................................................................................121.3.3. Fitter レポートの表示...................................................................................14

1.4. インクリメンタル 適化のフロー.................................................................................. 211.4.1. 合成またはフィッティング中の同時解析.............................................................. 221.4.2. Compiler のスナップショットの解析................................................................. 231.4.3. Early Place フロー..................................................................................... 231.4.4. Plan ステージ後のペリフェラル (I/O) の検証.......................................................25

1.5. Hyper-Aware デザインフロー.................................................................................... 271.5.1. ステップ 1 : レジスターのリタイミングを実行する..................................................291.5.2. ステップ 2 : リタイミング結果を確認する............................................................301.5.3. ステップ 3 : Fast Forward コンパイルおよび Hyper-Retiming を実行する.................. 321.5.4. ステップ 4 : Hyper-Retiming 結果を確認する.................................................... 351.5.5. ステップ 5 : Fast Forward の推奨事項を実装する................................................ 37

1.6. フルコンパイルのフロー............................................................................................ 401.7. コンパイル結果のエクスポート.....................................................................................41

1.7.1. バージョン互換のコンパイル・データベースのエクスポート.........................................411.7.2. バージョン互換のコンパイル・データベースのエクスポート.........................................421.7.3. デザイン・パーティションの作成........................................................................ 431.7.4. デザイン・パーティションのエクスポート.............................................................. 451.7.5. デザイン・パーティションの再利用......................................................................471.7.6. Quartus データベース・ファイル情報の表示......................................................... 481.7.7. コンパイル結果の消去.................................................................................. 50

1.8. 合成言語サポート....................................................................................................511.8.1. Verilog および SystemVerilog 合成のサポート....................................................511.8.2. VHDL 合成のサポート.................................................................................. 54

1.9. Compiler の 適化手法............................................................................................561.9.1. 適化モード............................................................................................. 561.9.2. レジスターのリタイミングの許可.......................................................................571.9.3. 自動ゲートクロック変換................................................................................ 581.9.4. 中間の Fitter ステージのスナップショットのイネーブル............................................ 591.9.5. Fast Preserve オプション............................................................................. 591.9.6. フラクタル合成の 適化................................................................................60

1.10. Synthesis Settings のリファレンス............................................................................661.10.1. Advanced Synthesis Settings................................................................... 66

1.11. Fitter Settings のリファレンス..................................................................................72

目次

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

2

Page 3: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.12. デザインのコンパイルの改訂履歴................................................................................78

2. コンパイル時間の短縮.......................................................................................................... 822.1. コンパイル結果に影響を与える要因...............................................................................822.2. Compilation Time Advisor......................................................................................822.3. 合計コンパイル時間の短縮方法................................................................................... 82

2.3.1. Rapid Recompile の実行............................................................................. 832.3.2. マルチプロセッサー・コンパイルのイネーブル........................................................842.3.3. ブロックベースのコンパイルの使用....................................................................842.3.4. レジスターのパワーアップ初期化のディスエーブル................................................. 85

2.4. 合成時間および合成ネットリスト 適化時間の短縮............................................................ 872.4.1. 合成時間および合成ネットリスト 適化時間の短縮の設定........................................ 872.4.2. 適切なコーディング・スタイルを使用した合成時間の短縮...........................................87

2.5. 配置時間の短縮......................................................................................................882.5.1. Placement Effort Multiplier の設定................................................................88

2.6. 配線時間の短縮......................................................................................................882.6.1. Chip Planner による配線の輻輳の特定..............................................................88

2.7. スタティック・タイミング解析時間の短縮..........................................................................892.8. プロセスの優先順位の設定.........................................................................................902.9. コンパイル時間の短縮の改訂履歴.................................................................................90

3. Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル................................92

A. Intel Quartus Prime プロ・エディション ユーザーガイド............................................................93

目次

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

3

Page 4: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1. デザインのコンパイル

インテル® Quartus® Prime Compiler では、デザインの合成および配置配線をデバイス・プログラミング・ファイルの生成前に行います。Compiler では、さまざまなハイレベルデザイン、HDL デザイン、およびスケマティック・デザインのエントリー方法をサポートしています。Compiler のモジュールには、IPGeneration、Analysis & Synthesis、Fitter、Timing Analyzer、および Assembler が含まれています。

図 -1: Compilation Dashboard

Full CompilationModules

Enables OptionalModule

Opens Settings

Runs Module(s)

Reports/Analysis

Compiler の Intel® Quartus Prime プロ・エディション・バージョンでサポートする高度な機能は次のとおりです。

• インテル Arria® 10、 インテル Cyclone® 10 GX、 インテル Stratix® 10、および インテルAgilex™ デバイスのサポート。

• Incremental Fitter の 適化 - 各ステージの解析および 適化をフィッターの各ステージ後に行い、パフォーマンスを 大限に引き出し、総コンパイル時間を短縮。

• Hyper-Aware Design Flow - Hyper-Retiming および Fast Forward コンパイルを使用した、インテル Stratix 10 および インテル Agilex デバイスにおける 良のパフォーマンスの実現。

• パーシャル・リコンフィグレーション - FPGA の一部分のダイナミック・リコンフィグレーションの実行。この間、残りの部分の FPGA は機能し続けます。

• ブロックベースのデザインフロ - デザインブロックの保持および再利用。

UG-20132 | 2019.12.16

フィードバック

Intel Corporation.無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Altera、ARRIA、CYCLONE、ENPIRION、MAX、NIOS、QUARTUS および STRATIX の名称およびロゴは、アメリカ合衆国および/ またはその他の国における Intel Corporationの商標です。インテルは FPGA 製品および半導体製品の性能がインテルの標準保証に準拠することを保証しますが、インテル製品およびサービスは、予告なく変更される場合があります。インテルが書面にて明示的に同意する場合を除き、インテルはここに記載されたアプリケーション、または、いかなる情報、製品、またはサービスの使用によって生じるいっさいの責任を負いません。インテル製品の顧客は、製品またはサービスを購入する前、および、公開済みの情報を信頼する前には、デバイスの仕様を 新のバージョンにしておくことをお勧めします。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ISO9001:2015登録済

Page 5: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.1. コンパイルの概要

Compiler はモジュール式のため、必要なプロセスのみを実行することができます。Compiler の各モジュールでは、特定の機能をフルコンパイルのプロセスで実行します。モジュールを実行すると、Compilerでは、前もって必要となるモジュールがあればそれを自動的に実行し、詳細なレポートが各ステージで生成されます。Compiler では、コンパイル結果の「スナップショット」を各ステージ後に保持します。

表 1. コンパイルモジュール

コンパイルプロセス 説明

IP Generation プロジェクト内の IP コンポーネントのステータスおよびバージョンを識別します。アップグレードが必要な古い IP をレポートします。

Analysis & Synthesis デザインロジックの合成、 適化、 小化、およびデバイスリソースへのマッピングを行います。「合成」スナップショットでは、このステージの結果を保持します。Analysis & Elaboration は、Analysis & Synthesis のステージの 1 つです。このステージでは、デザインファイルおよびプロジェクト・エラーをチェックします。

Fitter (Place & Route) デザインの配置および配線を特定のデバイスリソースに割り当てる一方で、タイミングおよび配置制約を尊重します。Fitter には次のステージが含まれます。• Plan -すべてのペリフェラル (I/O や PLL など) を配置し、正当なクロックプランを決定します。このと

き、コアの配置配線は行いません。「計画」スナップショットによってこのステージの結果が保持されます。• Early Place - すべてのコア要素を隣接した場所に配置して、デザイン・プランニングを容易にします。 イ

ンテル Stratix 10 および インテル Agilex のクロック・プランニングを完了します。「早期配置」スナップショットによってこのステージの結果が保持されます。

• Place - すべてのコア要素を正当な場所に配置します。「配置」スナップショットによってこのステージの結果が保持されます。

• Route - デザイン内の要素間のすべての配線を作成します。「配線」スナップショットによってこのステージの結果が保持されます。

• Retime - 既存のレジスターを Hyper-Registers に移動 (リタイム) して、きめ細かくパフォーマンスを向上させます。「リタイミング」スナップショットによってこのステージの結果が保持されます。 (1)

• Fitter (Finalize) - インテル Arria 10 および インテル Cyclone 10 GX デバイスの場合は、不要なタイルを High-Speed または Low-Power に変換します。 インテル Stratix 10 および インテル Agilexデバイスの場合は、Route 後の修正を実行します。「 終」スナップショットによってこのステージの結果が保持されます。

Fast Forward Timing ClosureRecommendations

詳細レポートを生成し、特定の RTL の変更によって達成可能なパフォーマンスの向上を見積もります。

Timing Analysis すべてのデザインロジックのタイミング・パフォーマンスの解析および検証を Timing Analyzer を使用して行います。

Power Analysis デバイスの消費電力を見積もるオプションのモジュールです。デザインの各 I/O セルの電気規格と各 I/O 規格のボード・トレース・モデルを指定します。

Assembler Fitter の配置配線の割り当てを FPGA デバイスのプログラミング・イメージに変換します。

EDA Netlist Writer 出力ファイルを生成して、他の EDA ツールで使用できるようにします。

1.1.1. コンパイルフロー

Intel Quartus Prime プロ・エディション Compiler でサポートしているさまざまなフローは、パフォーマンスを 大限引き出し、コンパイル処理時間を 短化するのに役立ちます。モジュール式 Compilerは、柔軟かつ効率的なので、すべてのモジュールを単一のコマンドで順次実行したり、コンパイルの各ステージを個別に実行して 適化したりすることができます。

(1) Retiming および Fast Forward のコンパイルは、 インテル Stratix 10 および インテル Agilex デバイスのみで使用可能です。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

5

Page 6: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

デザインを開発および 適化する際は、フルコンパイルを待つのではなく、必要な Compiler のステージのみを実行します。フルコンパイルを実行するのは、デザインが完了し、すべての Compiler モジュールを実行してデバイス・プログラミング・イメージを生成する準備ができたときだけです。

表 2. コンパイルフロー

Compiler のフロー 機能

早期配置フロー すべてのコア要素を隣接した場所に配置して、デザイン・プランニングを容易にします。Early Place を実行して、デザイン要素の初期ハイレベル配置を Chip Planner で確認したり、タイミング制約をデバッグして微調整したりします。この情報は、フロアプランの決定を導くのに役立ちます。

インクリメンタル 適化フロー インクリメンタル 適化を行うと、各 Fitter ステージの後に処理を停止し、結果を解析し、次のコンパイルステージに進む前に設定または RTL の調整を行うことができます。この反復フローの 適化は、フルコンパイルの結果を待たずに各ステージで行われます。

Hyper-Aware デザインフロー 自動レジスター・リタイミング (Hyper-Retiming) とターゲットとするタイミング・クロージャーの推奨事項(Fast Forward Compilation) の実装との組み合わせによって、Hyper-Register を 大限使用し、 インテルStratix 10 および インテル Agilex デバイスでの 良のパフォーマンスを実現します。

フル・コンパイル・フロー すべての Compiler モジュールを順次起動して、合成、フィッティング、 終タイミングの解析、およびデバイス・プログラミング・ファイルの生成を行います。デフォルトでは、Compiler によって生成、保持されるのは、フルコンパイル中の 合成および 終スナップショットのみです。オプションで、Enable Intermediate FitterSnapshots をイネーブルして、計画、配置、および配線スナップショットを保持することができます。

パーシャル・リコンフィグレーション

FPGA の一部分のダイナミック・リコンフィグレーションを行う一方で、残りの部分の FPGA デザインは機能し続けます。

ブロックベースのデザインフロー

デザインブロックの保持と再利用のサポートを 1 つ以上のプロジェクトで行います。合成または 終デザインブロックは、他のプロジェクトで再利用できます。再利用可能なデザインブロックには、デバイスコアまたはペリフェラル・リソースを含めることができます。

関連情報• インクリメンタル 適化のフロー (21 ページ)

• インテル Quartus Prime プロ・エディション ユーザーガイド: ブロックベースのデザイン

• フルコンパイルのフロー (40 ページ)

• Fitter の実行 (12 ページ)

• Hyper-Aware デザインフロー (27 ページ)

• インテル Quartus Prime プロ・エディション ユーザーガイド: パーシャル・リコンフィグレーション

1.1.2. コンパイル階層

Intel Quartus Prime プロ・エディション Compiler で生成する階層プロジェクト構造は、各コンパイルステージの結果をデザイン・エンティティーごとに分離します。例えば、synthesized ディレクトリーには、Analysis & Synthesis ステージのスナップショットが含まれます。

デザイン・パーティションをブロックベースのデザインなどで使用する場合、Compiler では、各デザイン・パーティションの結果も分離します。Compiler では、パーティション内の配置配置をすべて保持します。デザイン階層の他の部分を変更しても、パーティションへの影響はありません。この階層構造により、特定のデザイン要素を 適化する際に他のパーティションの配置配線が影響されることはありません。階層プロジェクト構造では、分散ワークグループや複数のマシンにわたるコンパイル処理もサポートします。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

6

Page 7: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -2: 階層プロジェクト構造 ( インテル Stratix 10 デザイン)

<My_Project>

_flat - flat design compilation database

<version> - software version

final

- synthesis stage compilation snapshot

planned

placed

synthesized

routed

qdb

_compiler

<revision_name>

- top-level project directory

- Intel Quartus project database

- compilation database

- compilation database for revision

- Plan stage compilation snapshot

- Place stage compilation snapshot

- Route stage compilation snapshot

- Final stage compilation snapshot

output_files - reports and other Compiler-generated files

- Retime stage compilation snapshotretimed

early placed - Early Place stage compilation snapshot

root_partition - Root partition compilation database

- (same subdirectories as _flat partition)

<user_partition> - User partition compilation database

- (same subdirectories as _flat partition)

関連情報• コンパイル結果のエクスポート (41 ページ)

• デザイン・パーティションの作成 (43 ページ)

1.2. デザイン合成

デザイン合成のプロセスでは、デザインのソースファイルを atom ネットリストに変換し、それをデバイスリソースへのマッピングに使用できるようにします。合成処理に影響するさまざまな設定の指定ができます。 インテル Quartus Prime Compiler の Analysis & Synthesis モジュールで合成するのは、標準準拠の Verilog HDL (.v)、VHDL (.vhd)、および SystemVerilog (.sv) です。Compiler でも、Block Design File (.bdf) スケマティック・ファイル、および他の EDA ツールで生成した VerilogQuartus Mapping (.vqm) ファイルの合成ができます。

合成では、デザインの論理的な完全性と一貫性を調べ、境界接続性と構文エラーをチェックします。また、デザインロジックの 小化および 適化を行います。例えば、合成では、D フリップフロップ、ラッチ、およびステートマシンの推論を、Verilog HDL、VHDL、SystemVerilog などの「動作」言語から行うことがあります。合成では、有利な場合、+ や – などの演算子を、 インテル Quartus Prime IP ライブラリーのモジュールと置き換えます。合成中、Compiler では、ユーザーロジックおよびデザインノードの変更または削除を行う場合があります。 インテル Quartus Prime 合成では、ゲート数を 小化し、冗長ロジックを削除し、デバイスリソースの効率的な使用を保証します。

合成の 後に、Compiler では、atom ネットリストを生成します。atom は、FPGA デバイスの も基本的なハードウェア・リソースを指します。atom には、ルックアップ・テーブルに編成されたロジックセル、D フリップフロップ、I/O ピン、ブロック・メモリー・リソース、DSP ブロック、および atom 間の接続などがあります。atom ネットリストは、atom 要素のデータベースです。これは、シリコンでデザインを実装するためにデザイン合成で必要とされます。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

7

Page 8: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -3: デザイン合成

VHDL(.vhd)

Schematic(.bdf)

Verilog HDL(.v or .sv)

Third Party(.vqm)

Logic Cells DFFsI/O RAM DSP Atom Connections

Synthesis

1.2.1. 合成の実行

デザイン合成は、フルコンパイルの一部として、または独立したプロセスとして実行します。合成を実行する前に、合成処理を制御する設定を指定します。Messages ウィンドウに動的に表示されるのは、処理情報、警告、またはエラーです。Analysis & Synthesis に続いて、Synthesis レポートによってプロジェクトの合成に関する詳細情報が提供されます。合成を実行するには、次の手順を実行します。

1. コンパイル用の有効なデザインファイルを含む インテル Quartus Prime プロジェクトを作成するか開きます。

2. 合成の実行前に、合成に影響を与える設定と制約を次のとおり指定します。

• Verilog HDL 入力ファイルの合成オプションを指定するには、Assignments >Settings > Verilog HDL Input の順にクリックします。

• VHDL 入力ファイルの合成オプションを指定するには、Assignments > Settings >VHDL Input の順にクリックします。

• コンパイル処理時間に影響するオプションを指定するには、Assignments > Settings >Compilation Process Settings の順にクリックします。

• Compiler のハイレベルの 適化方法やその他のオプションを指定するには、Assignments > Settings > Compiler Settings の順にクリックします。 適化モード (56 ページ) に従って 適化目標を指定します 。

• Compiler Settings のページで、Enable Intermediate Fitter Snapshots オプションをイネーブルまたはディスエーブルして、Plan、Place、Route、および Retime ステージのスナップショットの保持をフルコンパイルの実行回ごとに行います。Compiler による中間スナップショットの生成は、デフォルトでは行われません。

• 高度な合成設定を指定するには、Assignments > Settings > Compiler Settingsの順にクリックした後、Advanced Settings (Synthesis)をクリックします。

• フラクタル合成のイネーブルは、DSP リソースをすべて使い果たす算術集約型デザインに対して検討してください。これは、フラクタル合成の 適化 (60 ページ) のガイドラインに従って行います。

3. 合成を実行するには、Compilation Dashboard の Synthesis をクリックします。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

8

Page 9: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

関連情報Synthesis Settings のリファレンス (66 ページ)

1.2.1.1. 合成中のレジスターの保持

インテル Quartus Prime 合成では、ゲート数を 小限に抑え、冗長ロジックを統合し、デバイスリソースの効率的な使用を保証します。特定のレジスターの保持が合成処理で必要な場合は、次のエンティティー・レベルの割り当てのいずれかを指定できます。

Preserve Registers in Synthesis または Preserve Fan-Out Free Register Node オプションを割り当てて、保持されたレジスターを Fitter によって 適化できるようにします。PreserveRegisters では、保持されたレジスターの Fitter 適化を制限します。合成保持割り当てを指定するには、Assignments > Assignment Editor をクリックするか、.qsf ファイルの変更、またはRTL の合成属性の指定を行います。

表 3. 合成保持オプション

Assignment 説明 Fitter 最適化の許可

Assignment 構文

PreserveRegisters inSynthesis

レジスターの削除が合成中に行われないようにします。この設定は、Fitter でのリタイミングやその他の 適化には影響しません。

許可する • PRESERVE_REGISTER_SYN_ONLY ON|Off-to <entity> .qsf

• preserve_syn_only またはsyn_preservesyn_only (合成属性)

PreserveFan-Out FreeRegisterNode

ファンアウトのないレジスターが割り当てられている場合、その削除が合成中に行われないようにします。PRESERVE_FANOUT_FREE_NODE 割り当てでは、ファンアウトのないレジスターの保持は、レジスターを定義した VerilogHDL または VHDL モジュール内にファンアウトがない場合はできません。このようなファンアウトのないレジスターを保持するには、noprune プラグマをソースファイルに次のように実装します。

(*noprune*)reg r;

このモジュールのインスタンスが複数あり、一部のインスタンスのみでファンアウトなしのレジスターの保持が必要な場合は、ダミープラグマを HDL のレジスター上に設定し、PRESERVE_FANOUT_FREE_NODE割り当ても設定します。このダミープラグマにより、レジスター合成によって割り当てが実装できるようになります。例えば、次のダミープラグマを Verilog HDL のレジスターr に対して設定します。

(*dummy*)reg r;

許可する • PRESERVE_REGISTER_FANOUT_FREE_NODEON|Off -to <entity> .qsf

• no_prune on (合成属性)

PreserveRegistersPreserveRegisters

割り当てられているレジスターの削除や順次 適化が、合成中に行われないようにします。順次ネットリストの 適化により、冗長なレジスターおよび定数ドライバーを備えたレジスターが排除できます。

許可しない • PRESERVE_REGISTER ON|Off -to<entity> .qsf

• preserve 、syn_preserve 、または keepon (合成属性)

1.2.2. 合成レポートの表示

Compilation Report ウィンドウは、コンパイル処理中に自動的に開きます。Report ウィンドウには、現在のプロジェクト・リビジョンの各パーティションの詳細な合成結果が表示されます。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

9

Page 10: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -4: 合成レポート

SynthesisReports

SelectedReport

表 4. 合成レポート (デザイン依存)

生成されるレポート 説明

Summary 合成に関する概要情報 (ステータス、日付、ソフトウェア・バージョン、エンティティー名、デバイスファミリー、タイミング・モデル・ステータス、さまざまな種類のロジック使用率) を表示します。

Synthesis Settings デザイン処理中のすべての合成設定の値を一覧表示します。

Parallel Compilation 合成中の並列処理の使用に関する仕様を一覧表示します。

Resource Utilization By Entity 全種類のロジックの使用量をデザイン合成の各エンティティーに対して一覧表示します。

Multiplexer RestructuringStatistics

合成によって実行されるマルチプレクサ再構築量に関する統計を提供します。

IP Cores Summary デザイン合成の各 IP コア・インスタンスに関する詳細情報を一覧表示します。詳細情報には、IP コア名、ベンダー、バージョン、ライセンスタイプ、エンティティー・インスタンス、および IP インクルード・ファイルが含まれます。

Synthesis Source Files Read デザイン合成のすべてのソースファイルに関する詳細情報を一覧表示します。詳細情報には、ファイルパス、ファイルタイプ、およびライブラリー情報が含まれます。

Resource Usage Summary forPartition

全種類のロジック使用量をデザイン合成の各エンティティーに対して一覧表示します。

RAM Summary for Partition デザイン合成の各デザイン・パーティションの RAM 使用量の詳細情報を一覧表示します。詳細情報には、名前、タイプ、モード、密度が含まれます。

Register Statistics さまざまな種類のグローバル信号を使用するレジスターの数を一覧表示します。

Synthesis Messages Analysis & Synthesis のプロセス中に見られた条件をレポートする情報、警告、およびエラーメッセージをすべて一覧表示します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

10

Page 11: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.3. デザインの配置配線

Compiler の Fitter モジュール (quartus_fit) では、デザインの配置配線を実行します。配置配線中、Fitter では、ターゲット FPGA デバイスのロジックの 適な配置配線を決定します。このとき、ユーザー指定の Fitter 設定または制約は尊重されます。

デフォルトで Fitter では、適切なリソース、相互接続パス、およびピン位置を選択します。ロジックを特定のデバイスリソースに割り当てると、Fitter では、その要件への一致を試み、制約のない残りのデザインロジックの適合および 適化を行います。Fitter によって、デザインを現在のターゲットデバイスに適合させることができない場合、Fitter では、コンパイルを終了し、エラーメッセージを発行します。

Intel Quartus Prime プロ・エディション Fitter で導入されたハイブリッド配置手法は、解析配置手法とアニーリング配置手法を組み合わせたものです。解析配置では、初期数学的開始配置を決定します。その後、アニーリング手法により、ロジックブロック配置の微調整が、リソース使用率が高い場合を想定して行われます。

関連情報• Fitter の実行 (12 ページ)

• Fitter レポートの表示 (14 ページ)

1.3.1. Compilation Dashboard の使用

Compilation Dashboard からは、コンパイルフローの各ステージの設定、制御、およびレポートへ即時にアクセスできます。

Compilation Dashboard は、プロジェクトを開くとデフォルトで表示されます。Tasks ウィンドウでCompilation Dashboard をクリックして再度開くこともできます。

図 -5: Compilation Dashboard

Full CompilationModules

Enables OptionalModule

Opens Settings

Runs Module(s)

Reports/Analysis

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

11

Page 12: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• Pencil アイコンをクリックすると、コンパイルフローの各ステージの設定が編集できます。

• Compiler のいずれかのステージをクリックすると、Compiler ステージが 1 つ以上実行できます。

• Report、 RTL Viewer、Technology Map Viewer、Timing Analyzer、またはSnapshot Viewer アイコンをクリックすると、ステージ結果の解析ができます。

Compiler のフローが進行するにつれて、ダッシュボードでは、各モジュールのステータスが更新され、アイコンがイネーブルされます。アイコンをクリックするとレポートや解析ができます。

関連情報Compiler のスナップショットの解析 (23 ページ)

1.3.2. Fitter の実行

Compiler の Fitter モジュールでは、デザインの配置配線のすべてのステージを実行します。これには、Plan、Early Place、Place、Route、および Retime ステージがあります。

Intel Quartus Prime プロ・エディション Compiler では、Fitter の各ステージの制御や 適化ができます。これには、Plan、Early Place、Place、および Route ステージがあります。Fitter の全ステージをフル・デザイン・コンパイルの一部として実行するか、Fitter ステージをデザイン合成後に個別に実行します。Fitter の実行前に、Fitter 処理に影響する設定を指定します。

Fitter ステージの実行後、詳細なレポートデータを表示し、そのステージのタイミングを解析します。Compiler による 終スナップショットの Fitter 結果の保持は、デフォルトで行われます。

1. Fitter の初期制約を次のように指定します。

a. デバイスの I/O ピンを割り当てるには、 Assignments > Pin Planner をクリックします。

b. デバイス・ペリフェラル、クロック、および I/O インターフェイスを割り当てるには、Tools >Interface Planner をクリックします。

c. ロジック配置領域を制約するには、Tools > Chip Planner をクリックします。

d. フィッター 適化目標を指定するには、Assignments > Settings > CompilerSettings をクリックします。 適化モード (56 ページ) でこの場合のオプションについて詳しく説明します。

e. Fitter の詳細オプションを使用して配置配線を微調整するには、Assignments >Settings > Compiler Settings > Advanced Settings (Fitter) をクリックします。

2. Fitter のステージを 1 つ以上実行するには、Compilation Dashboard で次のコマンドのいずれかをクリックします。

• Fitter ステージを順に実行するには、Fitter をクリックします。

• デバイス・ペリフェラルの配置配線のみを実行するには、Plan をクリックします。

• 早期配置のみを実行するには、Early Place をクリックします。

• ロジック配置のみを実行するには、Place をクリックします。

• ロジック配線のみを実行するには、Route をクリックします。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

12

Page 13: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• ALM レジスターの Hyper-Register へのリタイミングのみを実行するには、 Retime をクリックします。(2)

• Implement フロー (Plan、Place、Route、および Retime ステージ) を実行するには、Fitter (Implement) をクリックします。

• Finalize フロー (Plan、Early Place、Place、Route、Retime、および Finalize ステージ) を実行するには、 Fitter (Finalize) をクリックします。

関連情報• Fitter Settings のリファレンス (72 ページ)

• ステップ 2 : リタイミング結果を確認する (30 ページ)

1.3.2.1. Fitter コマンド

Fitter プロセスを Processing メニューまたは Compilation Dashboard から起動するには、Fitterコマンドを使用します。

表 5. Start Fitter コマンド

コマンド 説明

Start Fitter (Plan) 合成されたペリフェラル配置データおよび制約をロードし、ペリフェラル要素をデバイス I/O リソースに割り当てます。このコマンドによって計画スナップショットが作成されます。

Start Fitter (Early Place) すべてのコア要素を隣接した場所に配置して、デザインのプランニングを容易にします。このコマンドでは、早期配置スナップショットを作成します。Early Place は、デフォルトでは、フル・コンパイル・フロー中は実行されませんが、デフォルトでイネーブルにするか、Compilation Dashboard から直接実行できます。

Start Fitter (Place) すべてのコア要素を適切な場所に配置します。このコマンドによって配置スナップショットが作成されます。

Start Fitter (Route) すべての配線をデザイン内の要素間に作成します。このコマンドによって配線スナップショットが作成されます。

Start Fitter (Retime) レジスターのリタイミングを実行し、既存のレジスターを Hyper-Register に移動して、パフォーマンスを向上させます。このために、リタイミング制約の削除とクリティカル・パスの排除が行われます。Compiler による短いパスのホールド違反のレポートは、Retime ステージの後にされる場合もあります。Fitter では、ホールド違反のある短いパスの特定と修正を Fitter (Finalize) ステージ中に行います。このために、配線ワイヤーをパスに沿って追加します。このコマンドによってリタイミング・スナップショットが作成されます。

Start Fitter (Retime) 配線後の 適化をデザインで実行します。このステージでは、不要なタイルを High Speed から LowPower に変換します。このコマンドによって 終スナップショットが作成されます。 インテル Stratix10 および インテル Agilex の場合、Fitter では、配線後の修正を実行して、リタイミングで残っている短いパスのホールド違反を修正します。

1.3.2.2. 物理合成最適化のイネーブル

物理合成 適化では、回路パフォーマンスの向上のために、組み合せ 適化、順次 適化、およびレジスター複製を実行します。

物理合成 適化オプションをイネーブルするには、次の手順に従います。

(2) リタイミングが使用可能なのは Intel Hyperflex™ アーキテクチャー・デバイスのみです。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

13

Page 14: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1. Assignments > Settings > Compiler Settings をクリックします。

2. リタイミング、組み合わせ 適化、およびレジスターの複製をイネーブルするには、AdvancedSettings (Fitter) をクリックします。次に、Physical Synthesis をイネーブルします。

3. 物理合成結果を Netlist Optimizations レポートで表示します。

1.3.3. Fitter レポートの表示

Fitter によって、詳細なレポートとメッセージが配線配置の各ステージに対して生成されます。FitterSummary では、Fitter の実行に関する基本情報をレポートします。これには、日付、ソフトウェアのバージョン、デバイスファミリー、タイミングモデル、ロジック使用率などが含まれます。

1.3.3.1. Plan Stage レポート

Plan Stage レポートでは、Fitter のペリフェラル Plan ステージで検出された I/O、インターフェイス、およびコントロール信号を記述します。

図 -6: Plan Stage レポート ( インテル Arria 10 および インテル Cyclone 10 GX デザイン)

インテル Arria 10 および インテル Cyclone 10 GX デザインの場合、Plan ステージには、Global &Other Fast Signals Summary レポートが含まれます。このレポートでは、Compiler によってどのクロックをグローバルクロックに昇格させるか確認できます。クロック・プランニングの発生は、 インテル Stratix 10 および インテル Agilex デザインの Early Place ステージの後です。

1.3.3.2. Place Stage レポート

Place Stage レポートでは、ロジック配置中に Fitter で割り当てるすべてのデバイスリソース、LogicLock 領域とグローバル信号、およびその他の高速信号の使用について記述します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

14

Page 15: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -7: Place Stage レポート

1.3.3.2.1. Global Signal Visualization レポート

インテル Stratix 10 および インテル Agilex デザインの場合、Global Signal Visualization レポートにアクセスすると、グローバル信号配線およびクロックセクター使用率が、インタラクティブなヒートマップに表示されます。

図 -8: Global Signal Visualization レポートのヒートマップ

Utilized Clock Sectors Utilized Routing Locate Signal

このレポートを使用して、個々のクロックの配線および配置を追跡することができます。このデータを使用して、グローバル信号の配線輻輳問題を解析し、グローバル信号の配置配線の障害をデバッグすることができます。

グローバル・クロック・ツリー実装の詳細を表示し、グローバル信号をデザインに追加する能力を評価します。クロックツリー合成エラーの場合、レポートには、障害のある信号のほか配線の輻輳の原因となっている競合信号のターゲット領域も表示されます。

インタラクティブなヒートマップでは、カラー・グラデーションを使用して、クロックセクターの輻輳を示します (このクロックセクターのクロック信号は、同じセクター内で終端しています)。テーブル内のクロック信号にカーソルを合わせると、クロック信号が使用するセクターと配線要素が強調表示されます。テ

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

15

Page 16: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

ーブル内のクロック信号を選択すると、関係のないすべてのセクターと配線要素が暗くなり、その信号によって使用されるセクターと配線要素のみが強調表示されます。異なるレイヤーのグローバル・クロック信号の配線をレポートで表示する場合は、スタック・レイヤー・ビューを使用します。

図 -9: グローバル配線ワイヤー使用率 (単一レイヤー)

Single Layer Routing Multi-Layer Routing

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

16

Page 17: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -10: ヒート・マップ・セクターおよび配線ワイヤーの使用率 (全レイヤー)

フィルター処理によって Show Routing Utilization (配線使用率) および Show SectorUtilization (セクター使用率) を表示させます。テーブルの内容は、ヒートマップでの選択に基づいて変わります。Signal Names を検索した後、信号名を選択して、下のペインにそのプロパティーを表示させます。任意の信号を選択して他のツールで Locate (特定) します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

17

Page 18: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -11: Signals Name および Property の詳細

1.3.3.3. Route Stage レポート

Route ステージレポートでは、Fitter によって配線中に割り当てられるすべてのデバイスリソースを記述します。詳細情報には、各リソースタイプの種類、数、および全体的な割合が含まれます。Route ステージでは、遅延チェーンの要約情報もレポートします。

図 -12: Route Stage レポート

1.3.3.3.1. Global Router Wire Utilization Map レポート

Global Router Wire Utilization Map レポートでは、グローバル信号配線が、インタラクティブなヒートマップで表示されます。このレポートでは、長い配線ワイヤーと短い配線ワイヤーの配線使用率を示します。このレポートを使用して、デザイン内の全ネットの詳細ビューを取得することもできます。このレポートのヒートマップ・グリッドには、使用可能なデバイス LAB が表示されます。グリッドの色は、使用率が0%から 100%に変化すると、青色から赤色の範囲で変化します。ピンク色で表示されるのは、使用率が100%を超える場合です。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

18

Page 19: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -13: Global Router Wire Utilization Heat Map (複数レイヤー)

Global Router Wire テーブルをフィルター処理し、short または long の Wirelengths を表示させます。Directions には all (すべて) を選択します。テーブルの内容は、ヒートマップで行った選択に基づいて変わります。Signal Names (信号名) を検索し、信号名を単一選択または複数選択すると、下のペインにプロパティーが表示されます。1 つ以上のノードをテーブル内で選択して、さまざまなエディターで Locate (特定) します。

図 -14: Global Router Wire Utilization の詳細

Locate Selected Routing Instance

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

19

Page 20: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.3.3.4. Retime Stage レポート

インテル Stratix 10 および インテル Agilex デザインの場合、Fitter によって、Retime ステージの結果を示す詳細レポートが生成されます。これには、Retiming Limit Details レポートなどがあります。このレポートに一覧表示されるのは、制限理由のほか、クリティカル・チェーンや、各クロック転送のクリティカルチェーンの推奨事項です。

図 -15: Retiming Limit Details

Retiming Limit Condition

Details of Critical ChainRight-click to locate in viewer

1.3.3.5. Retime Stage のレポート

Finalize ステージのレポートでは、次のような 終的な配置配線動作を記述します。

• HSLP Summary。 インテル Arria 10 および インテル Cyclone 10 GX デザインの場合、Compiler では、不要なタイルを High-Speed または Low-Power (HSLP) タイルに変換します。

• 配線後ホールド・フィックスアップ・データ。 インテル Stratix 10 および インテル Agilex デザインの場合、Compiler レポートでは、短いパスの違反を Retime ステージ後に保持します。 Fitterでは、短いパスにホールド違反のあったパスの特定および修正を Fitter (Finalize) ステージ中に行います。そのために、パスに沿って配線ワイヤーを追加します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

20

Page 21: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -16: Finalize Stage レポート ( インテル Stratix 10 デザイン)

関連情報ステップ 2 : リタイミング結果を確認する (30 ページ)

リタイミングおよび Fast Forward コンパイルレポートの詳細

1.4. インクリメンタル最適化のフロー

Intel Quartus Prime プロ・エディションでは、インクリメンタル 適化をデザイン・コンパイルの各ステージでサポートします。インクリメンタル 適化では、各コンパイルステージの実行と 適化は、その次のコンパイルモジュールを順次実行するより前に行われます。Compiler では、各ステージの結果をスナップショットとして保持し、それを解析に使用できるようにします。デザインまたは制約を変更した場合、Compiler によって実行されるのは、その変更の影響を受けるステージのみです。合成または Fitterステージの後は、結果の表示やタイミング解析の実行ができます。デザイン RTL や Compiler 設定の変更は、必要に応じて行います。その後で、合成または Fitter を再実行し、変更の結果を評価します。このプロセスを繰り返して、モジュールのパフォーマンスによって要件が満たされるようにします。このフローによって、フルコンパイルの結果を待たずに、各ステージでの結果を 大限に高めます。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

21

Page 22: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -17: インクリメンタル最適化のフロー

Plan EarlyPlace Place Route

optimizeoptimize optimize optimize optimize

Retime

表 6. Fitter ステージでのインクリメンタル最適化

Fitter ステージ インクリメンタル最適化

Plan このステージの後、Plan 後のタイミング解析を実行して、タイミング制約を検証し、クロック間のタイミング・ウィンドウの検証ができます。ペリフェラル (I/O) の配置およびプロパティーを表示します。

Early Place このステージの後、Chip Planner では、デザイン要素の初期ハイレベル配置を表示します。この情報を使用して、フロアプランの決定を導きます。

Place このステージの後、リソースおよびロジックの使用率を Compilation Reports で検証し、デザイン要素の配置を Chip Planner で確認します。

Routing このステージの後、詳細セットアップとタイミング・クロージャーの保持を Timing Analyzer で行い、ChipPlanner を介して配線の輻輳を表示します。

Retime このステージの後、Retiming の結果を Fitter レポートで確認し、リタイミングのさらなる 適化を制限している制約をレポートして修正します。

注意: Compiler で、フルコンパイル中に planned、placed、routed、および retimed スナップショットをデフォルトで保存するのは、 Enable Intermediate Fitter Snapshots (Assignments >Settings > Compiler Settings) をオンにした場合のみです。中間の Fitter ステージを個別に実行して、そのステージのスナップショットを生成することもできます。

1.4.1. 合成またはフィッティング中の同時解析

Analysis & Synthesis または Fitter を実行した場合、結果へのアクセスは、下流の Fitter ステージの実行中でも可能です。Concurrent Analysis アイコンがダッシュボードでアクティブになると、解析の表示は、コンパイルを中断せずにすることができます。

Analysis & Synthesis 中に、ダッシュボードの Concurrent Analysis アイコンをクリックすると、レポート、RTL Viewer、または Technology Map Viewer が表示されます。Fitter の処理中のタイミング解析は、ステージで Timing Analyzer アイコンが表示されていれば可能です。また、Technology Map Viewer スナップショットの表示は、Fitter ステージ中にできます。タイミング制約の変更は、同時解析中は行わないでください。変更すると、元となるコンパイルの結果に影響します。ただし、いつでもコンパイルを停止して、ソースファイルの .sdc 制約を変更した上で、 TimingAnalyzer アイコンをクリックして、変更した制約を使用して解析を再開できます。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

22

Page 23: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -18: 同時解析オプション

Opens RTL Viewer for Snapshot

Opens Timing Analyzer for Snapshot

Opens Report for Snapshot

Opens Tech Map Viewer for Snapshot

1.4.2. Compiler のスナップショットの解析

コンパイルのスナップショットの結果解析によるデザインの評価は、次のステージの実行前、またはフルコンパイルの実行前に行います。Compiler のスナップショットを解析して、潜在的な問題を特定し、デザインのコンパイルの実行に費やす合計時間を短縮します。

1.4.3. Early Place フロー

Early Place では、デバイスリソースに対するコアロジックの割り当てを開始します。Early Place を実行すると、フロアプランを繰り返し変更することによる効果がすばやく確認できます。このとき、完全な配置やフルコンパイルを待つ必要はありません。Compiler では、Early Place の結果のスナップショットを保持します。 Early Place の後、Timing Analyzer アイコンをクリックして、.sdc 制約を検証します。Early Place のタイミング結果は、Final のタイミング結果とは比較しないでください。これは、早期スナップショットと 終スナップショットの間のタイミングには十分な相関がないからです。

Early Place が Fitter 処理中に自動的に実行されるのは、Early Place ステージをコンパイル・ダッシュボードでイネーブルした場合、または Settings > Compiler Settings > Fitter Settings(Advanced) > Run Early Place During Compilation をイネーブルした場合です。

1.4.3.1. Early Place 後のクロック・プランニング

インテル Stratix 10 および インテル Agilex デバイスでは、Early Place ステージ後のクロック・プランニングをサポートしています。Early Place の実行後、Global & Other Fast Signals レポートを表示して、詳細の確認とプロジェクトのクロック・プランニングができます。Early Place 後のクロックの詳細を表示するには、次の手順を実行します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

23

Page 24: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1. Compilation Dashboard で Early Place ステージをクリックします。

2. Compilation Report の Early Place Stage フォルダーで、Global & Other FastSignals Details または Global & Other Fast Signals Summary レポートをクリックします。

図 -19: Global & Other Fast Signal Details のレポート

レポートには、クロック・ツリー・パスの長さと深さが表示されます。クロックソースからクロックツリーまでの 短パス長、およびクロックツリーの 小深度によって、 良のクロック・パフォーマンスが得られます。

3. クロックパスの長さとクロックツリーの深さを可視化するには、Tools > Chip Planner をクリックします。

4. Chip Planner の Tasks ペインで、Clock Reports フォルダーの Report Clock Details をクリックします。

5. Report Clock Details ダイアログボックスで、OK をクリックします。Report ペインには、デザイン内のすべてのクロックが一覧表示されます。

6. Report ペインで、クロックを 1 つ以上選択すると、Chip Planner のクロック要素が強調表示されます。

図 -20: Chip Planner でのクロックの可視化

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

24

Page 25: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.4.3.2. Early Place 後の late_place の実行

Early Place ステージの実行後、完全な Place ステージではなく、late_place を実行すると、合計コンパイル時間を短縮することができます。late_place では、Early Place で行う配置が省略されます。Place ステージには、Early Place ステージと late_place ステージが含まれます。 インテルQuartus Prime GUI では、late_place オプションはサポートされていません。late_place オプションが使用できるのは、コマンドラインでのみで、GUI またはコマンドラインから Early Place ステージを実行した後です。late_placeを実行すると、配置スナップショットが生成されます。コマンドライン・ヘルプにアクセスすると late_place 引数の詳細が表示されます。

注意: この引数のコマンドライン・ヘルプには、quartus_fit –help=late_place と入力します。

late_place を Early Place の後に実行する手順は次の通りです。

1. Early Place ステージを実行し、Early Place スナップショットを生成するには、次のいずれかを実行します。

• Early Place を GUI で実行するには、Compilation Dashboard で Early Place をクリックします。Compiler によって、前提条件として必要なステージが実行されます。

• Early Place (および前提条件のステージ) をコマンドラインで実行するには、次のコマンドを実行します。「-」記号は、二重ハイフンと同等です。

quartus_ipgenerate <design_name>quartus_syn <design name> quartus_fit -plan <design name>quartus_fit -early_place <design name>

注意: 早期配置スナップショットの生成は、late_place の実行前に行ってください。そうしないと、Fitter によってエラーがレポートされます。

2. Early Place の結果は、Compilation Report の Early Placed Fitter レポート、および ChipPlanner (Tools > Chip Planner) に表示されます。

3. 満足な Early Place の結果が出たら、次のコマンドのうちの 1 つを入力して、late_place ステージ以降に進みます。late_place の結果は <design name> .fit.place.rpt ファイルに表示されます。

• quartus_fit –late_place <design name> (runs late_place)

• quartus_fit –late_place –route <design name>(runs late_place and route)

• quartus_fit –late_place –route –finalize <design name>(runs late_place and finalize)

1.4.4. Plan ステージ後のペリフェラル (I/O) の検証

Compiler では、ペリフェラルの配置を Plan ステージで開始し、I/O ピンや PLL などのペリフェラル要素に関するデータをレポートします。Plan ステージの後、Compilation Report を表示して、ペリフェラル要素の配置の評価を次のコンパイルステージに進む前に行ってください。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

25

Page 26: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -21: Plan ステージのペリフェラル配置メッセージ

1. Compilation Dashboard で Plan ステージをクリックします。

2. Compilation Report の Plan Stage フォルダーで、Input Pins、Output Pins、 I/OBank Usage、PLL Usage Summary、または他のレポートをクリックします。物理ピンの位置、I/O 規格、PLL の配置などの I/O ピンの属性を確認します。

図 -22: Input Pins のレポート

3. インテル Arria 10 および インテル Cyclone 10 GX デザインの場合、Global & Other FastSignals Summary をクリックして、Compiler によってどのクロックをグローバルクロックに昇格させるかを確認します。クロック・プランニングの発生は、 インテル Stratix 10 および インテルAgilex デザインの Early Place ステージの後です。

図 -23: Global & Other Fast Signals レポートによるクロック昇格の表示 ( インテル Arria 10 およびインテル Cyclone 10 GX FPGA)

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

26

Page 27: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.5. Hyper-Aware デザインフロー

Intel Quartus Prime プロ・エディション Compiler は、インテル Hyperflex アーキテクチャーを インテル Stratix 10 および インテル Agilex デバイスで 大限に活用するのに役立ちます。Hyper-Aware デザインフローを使用して、デザインサイクルを短縮し、パフォーマンスを 適化します。

Hyper-Aware デザインフローは、自動レジスター・リタイミング (Hyper-Retiming) とターゲットとするタイミング・クロージャーの推奨事項の実装 (Fast Forward コンパイル) との組み合わせによって、Hyper-Register を 大限使用し、 インテル Stratix 10 および インテル Agilex デバイスでの良のパフォーマンスを実現します。

図 -24: Hyper-Aware デザインフロー

Synthesis Plan EarlyPlace Place Route Retime

Fast Forward(Hyper-Retiming)RTL

optimizeoptimize optimize optimize optimize optimize

Finalize (Hold Fixup)

Hyper-Retiming

インテル Hyperflex アーキテクチャーの主な革新は、複数の Hyper-Register をすべての配線セグメントおよびブロック入力へ追加したことです。Hyper-Registers の使用を 大化すると、デザインのパフォーマンスが向上します。Hyper-Register の普及により、レジスター間の時間遅延のバランスが改善され、クリティカル・パス遅延が緩和されます。 Hyper-Retiming では、レジスターを ALM から移動し、有利な場合はそれを Hyper-Register にリタイミングします。Hyper-Retiming はフィッティング中に自動的に実行されます。作業量は 小限で済み、パフォーマンスが大幅に向上します。

図 -25: Hyper-Register のアーキテクチャー

ALM ALM

ALM ALM

New Hyper-Registers throughout the core fabricPotential routing path

clk ConfigurationCRAM

Hyper-Register Detail

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

27

Page 28: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

Fast Forward コンパイル

Hyper-Retiming 以上の 適化が必要な場合は、Fast Forward コンパイルを実行して、タイミング・クロージャーの推奨事項を生成します。これによって主要なパフォーマンス・ボトルネックを解消します。Fast Forward コンパイルでは、RTL の変更による影響が も大きくなる場所を正確に示し、それぞれの変更によって期待できるパフォーマンス上の利点をレポートします。Fitter では、RAM および DSP ブロック全体でのレジスターの自動リタイミングはしません。ただし、Fast Forward 解析では、この 適化による潜在的なパフォーマンスの利点が示されます。

Fast-Forward コンパイルでは、パイプライン・ステージ (Hyper-Pipelining) を追加する 適な場所や、それぞれの場合に期待されるパフォーマンス上の利点を特定します。RTL を変更して、パイプライン・ステージを各クロックドメインの境界に配置すると、Hyper-Retimer では、 適な位置にあるクロックドメイン内のレジスターを自動配置して、パフォーマンスの 大化を図ります。RTL の推奨事項を実装した場合も、同様の結果が達成されます。変更を実装した後、Hyper-Retimer を再実行して、その結果がパフォーマンスおよびタイミング要件を満たすようにします。Fast Forward は、フルコンパイルの一部として自動的に実行されることはありません。Compilation Dashboard で Fast Forwardcompilation をイネーブルまたは実行してください。

表 7. HyperFlex 最適化ステップ

最適化ステップ 手法 説明

ステップ 1 Hyper-Retiming リタイマーによって既存のレジスターを Hyper-Register に移動します。

ステップ 2 Fast Forward コンパイル Compiler によってデザイン固有のタイミング・クロージャーの推奨事項を生成し、パフォーマンスの向上を予測します。

ステップ 3 Hyper-Pipelining Fast Forward コンパイルを使用して、新しいレジスターとパイプラインステージを追加する RTL 内の場所を特定します。

ステップ 4 Hyper-Optimization Hyper-Retiming および Hyper-Pipelining 以外のデザイン (ループの再構築、制御ロジックの制限の削除、長いパスに沿った遅延の削減など) の 適化。

Hyper-Aware のデザインフローには、次のハイレベルの手順が含まれます。この章で詳しく説明します。

1. Retime ステージを Fitter 中に実行して、ALM レジスターを Hyper-Register に自動的にリタイムする。

2. Retiming Results を Compilation Report で確認する。

3. パフォーマンスの 適化がさらに必要な場合は、Fast Forward コンパイルを実行する。

4. Fast Forward タイミング・クロージャーの推奨事項を確認する。

5. 適切な Fast Forward の推奨事項を RTL に実装する。

6. Retime ステージでデザインを再コンパイルする。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

28

Page 29: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -26: Hyper-Aware デザインフロー

No

Yes

Run Fitter with Retime Stage

AnalyzeTiming

FitterFinalize

Review Retiming Results

Performance Met?

Run Fast Forward Compile

Performance Met?

Recompile the Design

Yes No

Register Retiming

Fast Forward Compile

Run Design Synthesis

Review Recommendations

Modify RTL

1.5.1. ステップ 1 : レジスターのリタイミングを実行する

レジスターのリタイミングによって、デザインのパフォーマンスが向上します。これには、レジスターをALM から移動し、 インテル Stratix 10 および インテル Agilex デバイスのインターコネクトのHyper-Register にリタイムします。

Fitter では、 インテル Stratix 10 または インテル Agilex デバイスをターゲットにした場合、配置配線に従って Retime ステージを自動的に実行します。もしくは、個々の Retime ステージの開始または停止を Compilation Dashboard で行います。レジスターのリタイミングの実行後は、Fitter レポートを表示して、残りのクリティカル・パスを 適化してください。

レジスターのリタイミングを実行するには、次の手順に従います。

1. デザインの合成およびフィッティングの準備ができた インテル Quartus Prime プロジェクトを作成するか開きます。

2. レジスターのリタイミングを実行するには、Compilation Dashboard の Retime をクリックします。Compiler では、前もって必要なステージを必要に応じて自動的に実行します。Compiler では、各ステージの詳細レポートとタイミング解析データを生成します。Report または TimingAnalyzer アイコンをクリックして、各ステージの結果を確認します。ステージを再実行すると、設定またはデザインの変更が適用されます。

3. レジスターのリタイミングによってデザインのパフォーマンス目標がすべて達成できた場合は、コンパイルの Fitter (Finalize) およびタイミング解析のステージに進みます。デザインで 適化がさらに必要な場合は、 Fast Forward Timing Closure Recommendations を実行してください。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

29

Page 30: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -27: Compilation Dashboard のリタイミング・ステージ

Click toRun Flow

Click to Open Stage Reports

1.5.2. ステップ 2 : リタイミング結果を確認する

Fitter によって生成される詳細レポートでは、Retime ステージの結果を示します。次の手順に従って結果を確認し、レジスターのリタイミングによってパフォーマンスをさらに向上させます。

1. Retiming Limit Details レポートを開くには、Compilation Dashboard の Retime ステージで Report アイコンをクリックします。Retiming Limit Details には、移動したレジスターの数、そのパス、リタイミングを妨げる制限理由が一覧表示されます。

2. さらに 適化するには、デザインの Limiting Reason を解決し、Retime ステージを必要に応じて再実行します。

3. レジスターのリタイミングによってデザインのパフォーマンス目標がすべての達成できた場合は、コンパイルの Fitter (Finalize) および Timing Analysis のステージに進みます。

4. デザインでさらに 適化が必要な場合は、 Fast Forward Timing ClosureRecommendations を実行してください。

表 8. Retiming Limit Details のレポートデータ

レポートデータ 説明

Clock Transfer デザインの各クロックドメインを一覧表示します。ドメインをクリックすると、各エントリーに関するデータが表示されます。

Limiting Reason レジスターのリタイミングがさらに向上するのを妨げるデザイン条件を特定します。例えば次の条件があります。continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

30

Page 31: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

レポートデータ 説明

• Insufficient Registers - チェーンの両端のレジスターの量が、リタイミングには十分ではないことを示します。レジスターを追加することでパフォーマンスが向上します。

• Short Path/Long Path - クリティカル・チェーンの依存パス特性に矛盾があることを示します。例えば、あるパスではより多くのレジスターによってパフォーマンスが向上し、別のパスでは場所がないのでハイパーレジスターを追加できません。

• Path Limit - Hyper-Register の場所がクリティカル・パスにはもうないか、デザインが現在の配置配線のパフォーマンス制限に達したことを示します。

• Loops - 回路内のフィードバック・パスを示します。クリティカル・チェーンにフィードバック・ループが含まれている場合、リタイミングによるループ内のレジスター数の変更は、機能を変更しないとできません。Compiler では、ループの周りでのリタイミングは、機能を変更せずにすることができます。ただし、Compiler では、追加のレジスターをループに配置することはできません。

Critical Chain Details リタイミングの制限に関連するレジスター・タイミング・パスを一覧表示します。Locate Critical Chain inTechnology Map Viewer で任意のパスを右クリックします。

図 -28: Retiming Limit Details

Retiming Limit Condition

Details of Critical ChainRight-click to locate in viewer

注意:

Compiler では、短いパスの保持違反のレポートを Retime ステージ後に行います。Fitterでは、短いパスのホールド違反が Fitter (Finalize) ステージ中に発生した場合、そのパスを特定して修正します。これには、配線ワイヤーをパスに沿って追加します。

1.5.2.1. クリティカル・チェーンの検索

Retiming Limit Details では、デザインパスによってレジスターのさらなるリタイミングが制限されている場合、そのパスをレポートします。任意のパスを右クリックして、Technology Map Viewer -Post-fitting ビューでそのパスに移動します。このビューアーには、配置、配線、およびレジスターのリタイミングの後のデザイン全体の略図が表示されます。リタイムされたネットリストを Technology MapViewer で表示するには、次の手順を実行します。

1. Retiming Limit Details レポートを開くには、Compilation Dashboard で Retime ステージの横にある Report アイコンをクリックします。

2. Retiming Limit Details レポートで任意のパスを右クリックし、Locate Critical Chain inTechnology Map Viewer をクリックします 。ネットリストが、スケマティックとしてTechnology Map Viewer に表示されます。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

31

Page 32: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -29: Technology Map Viewer

図 -30: リタイミング後のポストフィット・ビューアー

Hyper-RegisterBypassed ALM Registers

Used ALM Register

1.5.3. ステップ 3 : Fast Forward コンパイルおよび Hyper-Retiming を実行する

Fast Forward コンパイルを実行すると、Compiler では、信号をレジスターから予測的に削除し、ネットリスト内のモビリティーを許可して、その後のリタイミングができるようにします。Fast Forward コンパイルでは、デザイン固有のタイミング・クロージャーの推奨事項を生成し、 大パフォーマンスを予測するためにすべてのタイミング制約を削除します。Fast Forward による検討が終わったら、どの推奨事項を実装するか決定し、 大の効果が得られるようにします。適切な推奨事項を RTL に実装し、デザインを再コンパイルして、Fast Forward によってレポートされるパフォーマンス・レベルを実現します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

32

Page 33: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

Fast Forward タイミング・クロージャーの推奨事項を生成するには、次の手順を実行します。

1. Compilation Dashboard で、Fast Forward Timing Closure Recommendations をクリックします。Compiler では、事前合成または Fitter ステージを必要に応じて自動的に実行し、Compilation Report でタイミング・クロージャーの推奨事項を生成します。

2. Compilation Report でタイミング・クロージャーの推奨事項を確認して、デザイン・パフォーマンスを評価し、主要な RTL パフォーマンスの改善事項を実装します。

3. 必要に応じて、次のいずれかのオプションを指定して、Fast Forward 解析の自動化または調整を行ってください。

• 各フルコンパイル中に Fast Forward コンパイルを実行する場合は、 Assignments >Settings > Compiler Settings > HyperFlex をクリックして、Run FastForward Timing Closure Recommendations during compilation をイネーブルします。

• Fast Forward コンパイルによる特定の I/O およびブロックタイプの解釈方法を変更する場合は、Assignments > Settings > Compiler Settings > HyperFlex >Advanced Settings をクリックしてください。

図 -31: Fast Forward コンパイルの実行

Fast Forward Flow

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

33

Page 34: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -32: HyperFlex Settings

Run Fast ForwardDuring Compilation

Fast ForwardAdvanced Options

1.5.3.1. HyperFlex Settings

HyperFlex の設定ページでは、Fast Forward Compilation によってインテル Hyperflex アーキテクチャー内の特定のロジック構造の結果を解析してレポートするかどうかを制御します。このページにアクセスするには、 Assignments > Settings > HyperFlex をクリックします。 Run FastForward Timing Closure Recommendations during compilation をオンにして、コンパイルフロー中の Fast Forward 解析をデフォルトでイネーブルします。次の追加設定にアクセスするには、Advanced Settings をクリックします。

表 9. Advanced HyperFlex Settings

オプション 説明

Fast Forward CompileAsynchronous Clears

Fast Forward 解析によって非同期クリアシグナルを備えたレジスターをどのように考慮するかを指定します。オプションは次のとおりです。• Auto - Compiler では、非同期クリアを非同期として識別します。これは、Fast Forward Compilation

中のタイミング・パフォーマンスが非同期クリアによって制限されるまで行われます。この時点で、Compilerでは、非同期クリアを削除済みとして識別します。

• Preserve - Compiler では、非同期クリアの削除や変換を Fast Forward 解析のために仮定しません。

Fast Forward CompileCut All Clock Transfers

Fast Forward Compilation 解析でのすべてのクロック転送をカットします。

Fast Forward CompileFully Registered DSPBlocks

パフォーマンスを制限する DSP ブロックを Fast Forward 解析でどのように考慮するかを指定します。このオプションをイネーブルすると、すべての DSP ブロックが完全にレジスター化されているかのように結果を生成します。

Fast Forward CompileFully Registered RAMBlocks

パフォーマンスを制限する RAM ブロックを Fast Forward 解析でどのように考慮するかを指定します。このオプションをイネーブルすると、完全にレジスター化されたブロックとしてブロックを解析します。

Fast Forward CompileMaximum AdditionalPipeline Stages

Fast Forward コンパイルで検討するパイプライン・ステージの 大数を指定します。

Fast Forward CompileUser Preserve Directives

ユーザー保持ディレクティブからの制約を Fast-Forward コンパイルでどのように考慮するかを指定します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

34

Page 35: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.5.4. ステップ 4 : Hyper-Retiming 結果を確認する

Fast Forward Compilation の実行後、Compilation Report の Fast Forward Timing ClosureRecommendations フォルダー内のレポートを確認し、どの推奨事項がデザインの機能性とパフォーマンス目標に適していて実用的かを判断します。

1.5.4.1. Clock Fmax Summary レポート

Clock Fmax Summary は、Fast Forward Timing Closure Recommendations レポートフォルダーにあり、現在の fmax および各クロックドメインに対して達成できる可能性のあるパフォーマンスについてのレポートを Hyper-Retiming、Hyper-Pipelining、および Hyper-Optimization の各ステップの後に行います。Clock Fmax Summary データを確認して、潜在的なパフォーマンス改善点のそれぞれについて、デザイン RTL の調査および潜在的 適化が必要かどうかを判断します。

図 -33: Clock Fmax Summary での現在のパフォーマンスと潜在的なパフォーマンス

Predicts Optimized Performance After Hyper-Retiming, Hyper-Pipelining, and Hyper-Optimization

1.5.4.2. Fast Forward Details レポート

Fast Forward Details レポートで推奨しているデザインの変更は、Fast Forward コンパイルのパフォーマンス・レベルの達成に必要です。推奨事項には、機能的に不可能だったり、デザイン上非実用的だったりするものもあります。どの推奨事項を RTL で実装するかを検討して、同様のパフォーマンス向上を達成するようにしてください。 適化 Step のいずれかをクリックすると、選択したステップの実装の詳細とパフォーマンスの計算結果が表示されます。

表 10. Fast Forward Details レポートデータ

Report フィールド 説明

Step 事前に 適化された Base Performance fMAX、推奨される Fast Forward 適化ステップ、およびさらなる 適化を妨げる Fast Forward Limit クリティカル・パスを表示します。

Fast Forward Optimizations Analyzed 適化の各ステップの実装に必要な 適化を要約します。

Estimated Fmax すべての Fast Forward 適化ステップを実装した場合の潜在的な fMAX パフォーマンスを指定します。

Optimizations Analyzed For FastForward Step

選択した Step のデザイン推奨事項を階層的に一覧表示します。テキスト部分をクリックしてレポートを展開すると、クロックドメイン、影響を受けるモジュール、変更が必要なバスおよびビットが表示されます。

Optimizations Analyzed (Cumulative) 選択した Step に到達するために必要なすべてのデザイン変更の累積一覧表。

Critical Chain at Fast Forward Limit パスによる Hyper-Retiming の制限が、Fast Forward のすべてのステップを適用した後も続く場合、そのパスに関する情報を表示します。クリティカル・チェーンは、さらなる Hyper-Retiming を制限するパスです。Fast Forward Limit ステップをクリックすると、このフィールドが表示されます。

Recommendations for Critical Chain リタイミングの制限に関連するレジスター・タイミング・パスを一覧表示します。LocateCritical Chain in Technology Map Viewer で任意のパスを右クリックします。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

35

Page 36: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -34: Fast Forward Details レポート

任意のパスを右クリックして、クリティカル・チェーンの位置を Fast Forward Viewer で確認してください。Fast Forward Viewer に完成デザインの予測図が表示されるのは、すべての Fast Forward の推奨事項の実装後です。

図 -35: Recommendations for Critical Chain

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

36

Page 37: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -36: Fast Forward Viewer の Locate Critical Chain

図 -37: Fast Forward Viewer での予測結果の表示

1.5.5. ステップ 5 : Fast Forward の推奨事項を実装する

Fast Forward タイミング・クロージャーの推奨事項をデザイン RTL で実装し、Retime ステージを再実行して、予測パフォーマンスの向上を実現してください。実装する変更の量と種類は、パフォーマンス目標により異なります。例えば、目標の fMAX の達成が、シンプルな非同期クリアの除去または変換によって可能な場合は、デザインの 適化を停止する前に、その変更を行います。ただし、追加のパフォーマンスが必要な場合は、Fast Forward の推奨事項を実装してください。例えば次のような手法があります。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

37

Page 38: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• 長いフィードバック・ループやステートマシンなどのコントロール・ロジックの制限を除去する。

• ロジックを再構築し、同等の機能を持つフィードフォワード・パスまたはプリコンピュート・パスを使用する。長い組み合わせフィードバック・パスは使用しなでください。

• チェーン内の「ロングパス」の遅延を減らす。標準のタイミング・クロージャー手法を使用して遅延を低減します。過度な組み合わせロジック、準 適配置、配線輻輳は、パスの遅延の原因になります。

• さらに多くのパイプライン・ステージをチェーン内の「ロングパス」に挿入する。ロングパスで遅延がも多く発生するのは、クリティカル・チェーンのレジスター間です。

• 遅延を増やす (または、パイプライン・ステージをチェーンの「ショートパス」に追加する)。

• パフォーマンスの検討と RTL のコード変更の実装をパフォーマンス目標に達するまで行う。

1.5.5.1. リタイミングの制限と対処方法

Compiler では、デザイン内のレジスターチェーンによって Hyper-Retiming でのさらなる 適化が制限されている場合、そのレジスターチェーンを特定します。Compiler では、このような関連レジスター間パスをクリティカル・チェーンとして参照します。クリティカル・チェーンやその関連クロックドメインのfMAX は、レジスター間パスの平均遅延や配線ワイヤーなどの非分割回路要素の量子化遅延によって制限されます。リタイミングの制限は、さまざまな状況によって引き起こされます。リタイミングの制約は、ハードウェア特性、ソフトウェア動作が理由で存在するか、デザインに固有のものです。RetimingLimit Details では、さらなるリタイミングを妨げる制限理由のほか、チェーンを構成するレジスターおよび組み合わせノードをレポートします。Fast Forward の推奨事項には、クリティカル・チェーンを削除し、追加のレジスター・リタイミングをイネーブルするための手順が一覧表示されます。

図 38 (38 ページ) の赤い線は、同じクリティカル・チェーンを表します。タイミング制約により、レジスター A の前方へのリタイミングを防ぎます。タイミング制約により、レジスター B の後方へのリタイミングも防止されます。ループが発生するのは、レジスター A とレジスター B が同じレジスターである場合です。

図 -38: サンプル・クリティカル・チェーン

A B

クリティカル・チェーンに関する Fast Forward の推奨事項は次のとおりです。

• チェーン内の「ロングパス」の遅延を低減します。標準のタイミング・クロージャー手法を使用して遅延を低減してください。過度な組み合わせロジック、準 適配置、配線輻輳は、パスの遅延の原因となります。

• さらに多くのパイプライン・ステージをチェーン内の「ロングパス」に挿入します。ロングパスは、レジスター間の遅延が も大きいクリティカル・チェーンの部分です。

• 遅延を増やします (または、パイプライン・ステージをチェーンの「ショートパス」に追加します)。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

38

Page 39: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

クリティカル・チェーン内の特定のレジスターによってパフォーマンスが制限されるのには、他にも多くの理由があります。Compiler では、次のタイプの理由を分類します。この理由によってリタイミングによるさらなる 適化が制限されます。

• レジスターの不足

• ループ

• ショートパス/ロングパス

• パス制限

特定のクリティカル・チェーンがデザインのパフォーマンスを制限する理由を理解すれば、RTL を変更してボトルネックを解消し、パフォーマンスを向上させることができます。

表 11. さまざまなデザイン条件に対する Hyper-Register のサポート

デザイン条件 Hyper-Register のサポート

保持できない初期条件 Hyper-Register では初期条件をサポートします。ただし、一部のリタイミング動作を実行しながら、すべてのレジスターの初期条件ステージを保持する (つまり Hyper-Register をマージして複製する) ことはできません。こうした条件がデザインで発生した場合、Fitter では、レジスターのリタイミングは行いません。このリタイミング制限により、このレジスターのリタイミングがデザイン機能に影響を与えないことが保証されます。

レジスターに非同期クリアがある Hyper-Register でサポートするのは、データおよびクロック入力のみです。Hyper-Register には、非同期クリア、プリセット、イネーブルなどのコントロール信号はありません。Fitter では、非同期クリアを備えたレジスターを Hyper-Register にリタイムすることはできません。非同期クリアは、ステートマシンやコントロール・ロジックなど、必要な場合にのみ使用してください。多くの場合、非同期クリアは、データパスの大部分から回避または削除することができます。

レジスターで非同期信号を駆動する このデザイン条件は、非同期リセットを使用するデザインに固有のものです。非同期クリアでリセットされるレジスターの数の削減に重点を置いてください。

レジスターに don’t touch または preserve 属性がある

Compiler では、このような属性を持つレジスターのリタイミングは行いません。preserve 属性を使用して高ファンアウト信号のレジスター複製を管理する場合は、preserve を削除してみてください。Compiler では、高ファンアウト・レジスターのリタイミングをそれぞれのデスティネーションへの各配線パスに沿って行うことができます。もしくは、dont_merge 属性を使用します。Compiler では、ALM、DDIO、シングルポートRAM、および DSP ブロックにレジスターをリタイムします。

レジスターがクロックソースである このデザイン条件は一般的ではありません。特にデザインのパフォーマンス・クリティカルな部分については、まれです。このリタイミング制約によって必要なパフォーマンスの達成が妨げられている場合、PLL がレジスターではなくクロックを生成できるかどうかを検討してください。

レジスターがパーティション境界である この条件は、デザイン・パーティションを使用するデザインに固有です。このリタイミング制約によって必要なパフォーマンスの達成が妨げられている場合、レジスターを Hyper-Retiming のパーティション境界内に追加してください。

レジスターが ECO 動作によって変更されたブロックタイプである

この制約は一般的ではありません。この制約を回避するには、ECO を実行するのではなく、デザインソースの機能的な変更を行って、リコンパイルしてください。

レジスターの場所が不明なブロックである この制約は一般的ではありません。この条件を回避するには、レジスターを指定ブロックタイプに隣接して追加すると効果がある場合が多いです。

レジスターが RTL 内でラッチとして記述されている Hyper-Register ではラッチの実装はできません。Compiler でラッチを推論するのは、不完全な割り当てなどの RTL コーディングの問題があるためです。ラッチを実装しない場合は、RTL を変更してください。

レジスターの場所が I/O 境界である すべてのデザインには I/O が含まれていますが、パイプライン・ステージを Hyper-Retiming の I/O 境界の隣に追加します。

組み合わせノードの供給が特別なソースからされる この条件は一般的ではありません。特にパフォーマンス重視のデザイン部分では珍しいことです。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

39

Page 40: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

デザイン条件 Hyper-Register のサポート

レジスターがローカル配線クロックによって駆動される

専用クロック・ネットワークだけが Hyper-Register をクロックします。配線ファブリックを使用してクロック信号を分散することは一般的ではありません。特にデザインのパフォーマンス・クリティカルな部分では珍しいことです。代わりに小さいクロック領域を実装することを検討してください。

レジスターがタイミング例外のエンドポイントである

Compiler では、.sdc のソースまたはデスティネーションであるレジスターのリタイミングは行いません。

レジスターの入力または出力が反転している この条件は一般的ではありません。

レジスターがシンクロナイザー・チェーンの一部である

Fitter では、シンクロナイザー・チェーンを 適化して、平均故障間隔 (MTBF) を長くします。また、Compiler ではシンクロナイザー・チェーンの一部として検出またはマークされたレジスターはリタイムしません。パイプライン・ステージの追加をシンクロナイザー・チェーンに隣接するクロックドメイン境界に対して行うと、リタイミングが柔軟になります。または、特定のシンクロナイザー・チェーンの Synchronization Register Chain Length の検出数(デフォルトは 3) を減らすことができます。場合によっては、シンクロナイザー・チェーンは不要なので、推論しません。

レジスターに期間要件が複数あり、その要件は、レジスター (クロスクロック境界) で開始または終了するパスに対するものである

この条件の発生場所はクロスクロック境界です。クロスクロック境界では、あるレジスターによるクロック上のデータのラッチが、1つの周波数で行われます。また、そのレジスターによって、別の周波数で実行されているレジスターをファンアウトします。Compiler では、クロスクロック境界でのレジスターのリタイミングは行いません。パイプライン・ステージをクロックドメイン境界の一方または他方の側に追加して、リタイミングに柔軟性を持たせることを検討してください。

1.6. フルコンパイルのフロー

次の手順に従って、 インテル Quartus Prime プロジェクトのフルコンパイルを実行します。フルコンパイルに含まれるのは、IP Generation、Analysis & Synthesis、Fitter、Timing Analyzer、およびユーザーがイネーブルした Compiler モジュールです。

1. フルコンパイルを実行する前に、次のプロジェクト設定のうちのいずれかを指定します。

• ターゲット FPGA デバイスまたは開発キットを指定するには、Assignments > Device をクリックします。

• ターゲット FPGA デバイスのデバイスとピンオプションを指定するには、Assignments >Device > Device and Pin Options をクリックします。

• コンパイル処理時間およびネットリスト保持に影響するオプションを指定するには、Assignments > Settings > Compilation Process Settings の順にクリックします。

• Compiler のハイレベルの 適化方法を指定するには、Assignments > Settings >Compiler Settings をクリックします。 Balanced 方法を指定するか、Performance、Area、Routability、Power、または Compile Time を 適化します。Compiler では、ユーザーが指定した 適化目標をターゲットにします。 適化モード (56 ページ) でこのオプションについて詳しく説明します。

• 合成アルゴリズムおよびその他の Advanced Settings を合成およびフィッティングに対して指定するには、Assignments > Settings > Compiler Settings をクリックします。Enable Intermediate Fitter Snapshots をオンにすると、計画、配置、配線、およびリタイミングのスナップショットがデフォルトでフルコンパイル中に保持されます。

• デザインの適切な動作に必要なタイミング条件を指定するには、Tools > TimingAnalyzer をクリックします。

2. フルコンパイルを実行するには、 Processing > Start Compilation をクリックします。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

40

Page 41: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

注意:

• 処理時間を節約するために、Compiler では、計画、配置、配線、およびリタイミングのスナップショットをデフォルトでフルコンパイル中に保持します。これは、EnableIntermediate Fitter Snapshots (Assignments > Settings >Compiler Settings) をオンにした場合です。

• Early Place は、デフォルトでは、フルコンパイル中は実行されません。Early Place をフルコンパイル中にイネーブルするには、Assignments > Settings > CompilerSettings > Advanced Settings (Fitter)をクリックして、Run Early Placeduring compilation オプションを変更します。

関連情報• インテル Quartus Prime プロ・エディション ユーザーガイド: デザイン制約

• インテル Quartus Prime プロ・エディション ユーザーガイド: タイミング解析

• Intel Quartus Prime プロ・エディション ユーザーガイド: プログラマーAssembler を使用したデバイス・プログラミング・ファイルの生成と実行および インテルQuartus Prime プログラマーの実行に関する詳細を説明しています。

1.7. コンパイル結果のエクスポート

コンパイルを実行すると、Compiler では、結果のデータベースを Quartus Database File (.qdb)に保持します。.qdb に含まれているデータによって、同様の結果が、別のプロジェクトまたは新しいソフトウェア・バージョンで再現できます。プロジェクトのコンパイル結果のデータベースは、エクスポートして別のプロジェクトにインポートするか、 インテル Quartus Prime 開発ソフトウェアの新しいバージョンに移行します。

.qdb のエクスポートは、プロジェクト全体、またはプロジェクトで定義したデザイン・パーティションに対して行います。プロジェクト全体のデータベースを移行する場合は、コンパイル・データベースをversion-compatible 形式でエクスポートして、新しいバージョンのソフトウェアにインポートするための互換性を持たせます。.qdb ファイルの内容の直接の読み出しは、エクスポート後にはできませんが、データベース・ファイルの属性は、Quartus Database File Viewer で表示できます。

表 12. コンパイル結果のエクスポート

エクスポートするコンパイル結果の対象

方法 説明

デザイン全体 Project > Export Design をクリックします。

プロジェクト全体のコンパイル結果が、バージョン互換の Quartus データベース・ファイル (.qdb) に保存されます。このファイルは、別のプロジェクトにインポートするか、 インテル Quartus Prime 開発ソフトウェアの新しいバージョンに移行させます。合成または 終コンパイルのスナップショットの結果をエクスポートします。

デザイン・パーティション Project > Export DesignPartition をクリックします。

デザイン・パーティションのコンパイル結果は、Partition DatabaseFile (.qdb) に保存されます。このファイルを別のプロジェクトにインポートするには、 インテル Quartus Prime 開発ソフトウェアの同じバージョンを使用します。合成または 終コンパイルのスナップショットの結果をエクスポートします。

1.7.1. バージョン互換のコンパイル・データベースのエクスポート

プロジェクトのコンパイル・データベースをエクスポートする場合、その形式に インテル QuartusPrime 開発ソフトウェアの新しいバージョンとのバージョン互換性を持たせるには、次の手順に従います。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

41

Page 42: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1. インテル Quartus Prime 開発ソフトウェアで、エクスポートするプロジェクトを開きます。

2. 合成または 終コンパイル結果を生成するには、次のコマンドのいずれかを実行します。

• Processing > Start > Start Analysis & Synthesis をクリックして、合成コンパイル結果を生成します。

• Processing > Start Compilation をクリックして、 終コンパイル結果を生成します。

3. Project > Export Design をクリックします。 synthesized または final Snapshot を選択します。

図 -39: Export Design ダイアログボックス

4. Quartus Database File の名前を指定して、エクスポートした結果を含め、OK をクリックします。

5. エクスポートしたデザインの設定および制約ファイルを含めるには、.qsf および .sdc ファイルをインポート・プロジェクト・ディレクトリーにコピーします。

1.7.2. バージョン互換のコンパイル・データベースのエクスポート

次の手順に従って、プロジェクトのコンパイル・データベースを新しいバージョンの インテル QuartusPrime 開発ソフトウェアにインポートします。

1. デザイン全体のバージョン互換のコンパイル・データベースをエクスポートします。詳しくはバージョン互換のコンパイル・データベースのエクスポート (41 ページ) で説明します。

2. 新しいバージョンの インテル Quartus Prime 開発ソフトウェアで元のプロジェクトを開きます。別のソフトウェア・バージョンで作成されたプロジェクトを開くかどうかを確認するメッセージが表示された場合は、Yes をクリックします。

3. Project > Import Design をクリックし、Quartus Database File を指定します。以前の結果を削除するには、Overwrite existing project's databases をオンにします。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

42

Page 43: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -40: Import Design ダイアログボックス

4. OK をクリックします。

5. インポートしたデザインをコンパイルする場合は、ステージ .qdb の保持の後に発生したCompiler ステージのみを実行します。フルコンパイルは実行しません。例えば、インポートするバージョン互換のデータベースに合成スナップショットが含まれている場合は、Fitter を使用してコンパイルを開始します(Processing > Start > Start Fitter)。インポートするバージョン互換のデータベースに 終スナップショットが含まれている場合は、Timing Analysis (Signoff) を使用してコンパイルを開始します (Processing > Start > Start Timing Analysis(Signoff))。

1.7.3. デザイン・パーティションの作成

デザイン・パーティションは、デザイン内のインスタンスに割り当てることができる名前付き階層ロジック境界です。デザイン・パーティションを定義すると、個々のブロックのコンパイル結果の 適化およびロックダウンができます。その後で、必要な場合は、デザイン・パーティションのコンパイル結果をエクスポートして、別のプロジェクトでの再利用などの別のコンテキストで再利用します。

図 -41: デザイン階層内のデザイン・パーティション

A

B C

D E F

Root Partition

Partition B Partition F次の手順に従って、デザイン・パーティションを作成および変更します。

1. インテル Quartus Prime 開発ソフトウェアで、パーティション作成するプロジェクトを開きます。

2. 合成または 終コンパイル結果を生成するには、次のコマンドのいずれかを実行します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

43

Page 44: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• Processing > Start > Start Analysis & Synthesis をクリックして、合成コンパイル結果を生成します。

• Processing > Start Compilation をクリックして、 終コンパイル結果を生成します。

3. Project Navigator で、Hierarchy タブのインスタンスを右クリックし、Design Partition >Set as Design Partition をクリックします。

図 -42: プロジェクト階層からデザイン・パーティションを作成する

4. プロジェクト内のすべてのデザイン・パーティションを表示および編集するには、Assignments >Design Partitions Window をクリックします。

図 -43: Design Partitions ウィンドウ

blinking_ledroot_partition

u_blinking_led Default

5. デザイン・パーティションのプロパティーを Design Partitions ウィンドウで指定します。次の設定が使用可能です。

表 13. デザイン・パーティションの設定

オプション 説明

Partition Name パーティション名を指定します。各パーティション名は一意で、その構成要素は英数字のみにしてください。 インテル Quartus Prime 開発ソフトウェアでは、プロジェクト・リビジョンごとにトップレベル (|) 「root_partition」を自動作成します。

Hierarchy Path エンティティー・インスタンスの階層パスを指定し、パーティションに割り当てます。この値は Create NewPartition ダイアログボックスで指定します。ルート・パーティション階層パスは | です。

Type ダブルクリックして、次のパーティションの種類のいずれかを指定します。これにより、Compiler のパーティションの処理および実装方法を制御します。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

44

Page 45: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

• Default - 標準パーティションを識別します。Compiler では、パーティションを処理するために、関連デザイン・ソース・ファイルを使用します。

• Reconfigurable - リコンフィグレーション可能なパーティションをパーシャル・リコンフィグレーション・フローで識別します。ReⅩconfigurable タイプを指定すると、合成結果を保持しながら、パーティションの再調整が PR フロー内で可能になります。

• Periphery Reuse Core - ブロックベースのデザインフロー内のパーティションを識別します。このパーティションは、コンシューマーによるデバイス・ペリフェラルを再利用したコア開発のために予約されたものです。

Preservation Level 次のいずれかの保持レベルをパーティションに対して指定します。• Not Set - 保持レベルは指定しません。パーティションのコンパイルは、ソースファイルから行われます。• synthesized - パーティションのコンパイルには、合成されたスナップショットを使用します。• final - パーティションのコンパイルには、 終スナップショットを使用します。

Empty 空のパーティションを指定します。Compiler では、このパーティションをスキップします。この設定は、同じパーティションに対する Periphery Reuse Core および Partition Database File 設定とは互換性がありません。Preservation Level は Not Set にしてください。空のパーティションは子パーティションを持つことはできません。

Partition Database File Partition Database File (.qdb) を指定します。Compiler では、これをパーティションのコンパイル時に使用します。.qdb のエクスポート先は、再利用するコンパイルのステージ (合成または 終) になります。.qdb をパーティションに割り当てて、その結果を別のコンテキストで再利用します。

Entity Re-binding • PR フロー - 各実装リビジョンでデフォルトのペルソナに置き換わるエンティティーを指定します。• ルート・パーティションの再利用フロー - コンシューマー・プロジェクトで予約されたコアロジックに置き換わ

るエンティティーを指定します。

Color パーティションの色分けを Chip Planner および Design Partition Planner の画面で指定します。

Post Synthesis ExportFile

Analysis & Synthesis を実行するたびに、パーティションの合成コンパイル後の結果を自動エクスポートします。エクスポート先は、指定した .qdb です。デザイン・パーティションの自動エクスポートができるのは、そのパーティションに保持された親パーティション (root_partition を含む) がない場合です。

Post Final Export File Fitter の 終ステージを実行するたびに、パーティションの 終コンパイル後の結果を自動エクスポートします。エクスポート先は、指定した .qdb です。デザイン・パーティションの自動エクスポートができるのは、そのパーティションに保持された親パーティション (root_partition を含む) がない場合です。

1.7.4. デザイン・パーティションのエクスポート

次の手順に従って、プロジェクトで作成したデザイン・パーティションのエクスポートを行います。

デザイン・パーティションが含まれるデザインをコンパイルすると、Compiler では、各パーティションの結果の合成または 終スナップショットを保持します。個々のデザイン・パーティションの合成または終コンパイル結果をエクスポートするには、Export Design Partition ダイアログボックスを使用します。

パーティション内にエンティティーにバインドされた .sdcファイルが含まれている場合、その制約を .qdb に含めることができます。また、1 つ以上のパーティションのエクスポートの自動化は、DesignPartitions Window ですることができます。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

45

Page 46: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

デザイン・パーティションの手動エクスポート

次の手順に従って、デザイン・パーティションの手動エクスポートを Export Design Partition ダイアログボックスで行います。

1. プロジェクトを開き、デザイン・パーティションを 1 つ以上作成します。 デザイン・パーティションの作成 (43 ページ) でこのプロセスについて詳しく説明しています。

2. 合成 (Processing > Start > Start Analysis & Synthesis) または、フルコンパイル(Processing > Start Compilation) を実行します。エクスポートするコンパイル結果に応じてどちらかを選びます。

3. Project > Export Design Partition をクリックし、Export Design Partition ダイアログボックスで 1 つ以上のオプションを指定します。

図 -44: Export Design Partition ダイアログボックス

• エクスポートする Partition name およびコンパイル Snapshot を選択します。

• エンティティーにバインドされた.sdc ファイルをエクスポートした .qdb に含めるには、Include entity-bound SDC files for the selected partition をオンにします。

4. OK をクリックします。デザイン・パーティションのコンパイル結果が、指定したファイルにエクスポートされます。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

46

Page 47: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

デザイン・パーティションの自動エクスポート

次の手順に従って、1 つ以上のデザイン・パーティションの自動エクスポート各コンパイル後に行います。

1. デザイン・パーティションを 1 つ以上含むプロジェクトを開きます。 デザイン・パーティションの作成(43 ページ) でこのプロセスについて詳しく説明しています。

2. Design Partitions Window を開くには、Assignments > Design Partitions Windowをクリックします。

3. 合成の実行後に毎回、パーティションに合成結果を含めて自動エクスポートするには、.qdb エクスポート・パスとファイル名を、そのパーティションの Post Synthesis Export File オプションに指定します。パスなしでファイル名のみを指定した場合は、ファイルのエクスポート先は、コンパイル後の output_files ディレクトリーになります。

4. Fitter の実行時に毎回、パーティションに合成結果を含めて自動エクスポートするには、.qdb エクスポート・パスとファイル名を、そのパーティションの Post Synthesis Export File オプションに指定します。パスなしでファイル名のみを指定した場合は、ファイルのエクスポート先は、コンパイル後の output_files ディレクトリーになります。

図 -45: Design Partitions Window でのエクスポート・ファイルの指定

.qsf Equivalent Assignment:

set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_<FINAL|SYNTHESIZED> \ <hpath> -to <file_name>.qdb

1.7.5. デザイン・パーティションの再利用

他の インテル Quartus Prime プロジェクトからエクスポートしたデザイン・パーティションのコンパイル結果を再利用することができます。デザイン・パーティションを再利用すると、合成または 終デザインブロックを他の設計者と共有することができます。デザイン・パーティションの再利用の詳細については、インテル Quartus Prime プロ・エディション ユーザーガイド: ブロックベースのデザインを参照してください。

エクスポートしたデザイン・パーティションを別のプロジェクトで再利用するには、エクスポートしたパーティション .qdb を割り当てます。割り当て先は、適切なコンフィグレーションが行われたターゲット・プロジェクト内のデザイン・パーティションです。これには、Design Partition Window を使用します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

47

Page 48: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1. デザイン・パーティションのエクスポートには、適切なスナップショットを含めます。これについては、デザイン・パーティションのエクスポート (45 ページ) で詳しく説明しています。

2. エクスポートしたパーティションを再利用する インテル Quartus Prime プロジェクトを作成するか開きます。

3. Processing > Start > Start Analysis & Elaboration をクリックします。

4. Assignments > Design Partitions Window をクリックし、適切なサイズのデザイン・パーティションを作成して、エクスポートした .qdb のロジックとコンパイル結果を含めます。

5. Partition Database File オプションをクリックし、エクスポートした .qdb ファイルを選択します。

図 -46: Design Partitions Window での Partition Database File の設定

6. Design Partitions Window で、デザイン・パーティションの他のプロパティーを指定します。Compiler では、パーティションに割り当てられた .qdb をソースとして使用します。

1.7.6. Quartus データベース・ファイル情報の表示

.qdb ファイルを直接読み出すことはできませんが、ファイルの有用な属性を表示して、その内容と使用適性をすばやく確認することができます。

インテル Quartus Prime 開発ソフトウェアでは、Quartus Database File (.qdb) をエクスポートするときに、元のプロジェクトに関するメタデータを自動的に格納します。 インテル Quartus Prime 開発ソフトウェアでは、Partition Database File (.qdb) をプロジェクトからエクスポートすると、元のプロジェクトとリソース使用率に関するメタデータを自動的に格納します。これで Quartus DatabaseFile Viewer を使用して、どの .qdb ファイルでもその属性の表示ができるようになります。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

48

Page 49: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -47: Quartus Database File Viewer

次のステップに従って、 .qdb ファイルの属性を表示します。

1. インテル Quartus Prime 開発ソフトウェアで File > Open をクリックし、 Files of Type にDesign Files を選択してから .qdb ファイルを選択します。

2. Open をクリックします。Quartus Database File Viewer には、 .qdb のプロジェクトおよびリソース使用率の属性が表示されます。

または、次の同等のコマンドラインを実行します。

quartus_cdb --extract_metadata --file <archive_name.qdb> \ --type quartus --dir <extraction_directory> \ [--overwrite]

1.7.6.1. QDB ファイルの属性タイプ

Quartus Database Viewer では、.qdb ファイルの次の属性を表示することができます。

表 14. QDB ファイルの属性

QDB の属性タイプ 属性 例

プロジェクト情報 内容 Partition

日付 Thu Jan 23 10:56:23 2018

デバイス 10AX016C3U19E2LG

エンティティー (パーティションの場合) Counter

ファミリー Arria 10

パーティション名 root_partition

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

49

Page 50: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

リビジョン名 Top

リビジョンタイプ PR_BASE

スナップショット synthesized

バージョン 18.1.0 Pro Edition

バージョン互換 Yes

リソース使用率 (パーティションQDB の場合のみエクスポート)

合成スナップショットのパーティションの場合、Synthesis Resource UsageSummary レポートからのデータを一覧表示します。

Average fan-out.16

Dedicated logic registers:14

Estimate of Logic utilization:1

I/O pins:35

Maximum fan-out:2

Maximum fan-out node:counter[23]

Total DSP Blocks:0

Maximum fan-out:6

...

終スナップショットのパーティションの場合、Fitter Partition Statistics レポートからデータが一覧表示されます。

Average fan-out:.16

Combinational ALUTs: 16

I/O Registers

M20Ks

...

1.7.7. コンパイル結果の消去

プロジェクト・データベースを空にすると、すべてのプロジェクト・リビジョンまたは特定のリビジョンの以前のコンパイル結果を消去することができます。例えば、バージョン互換のデータベースを既存のプロジェクトにインポートする場合は、その前に以前のコンパイル結果を消去してください。

1. Project > Clean Project をクリックします。

2. All revisions を選択すると、データベースの消去が、現在のプロジェクトのすべてのリビジョンに対して行われます。Revision name を指定した場合は、消去されるのは、指定したリビジョンのデータベースのみです。

3. OK をクリックします。メッセージが表示されて、データベースが空であることが分かります。

図 -48: Clean Project ダイアログボックスでのプロジェクト・データベースの消去

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

50

Page 51: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.8. 合成言語サポート

インテル Quartus Prime 開発ソフトウェアで合成するのは、標準の Verilog HDL、VHDL、およびSystemVerilog のデザインファイルです。

1.8.1. Verilog および SystemVerilog 合成のサポート

インテル Quartus Prime 合成では、次の Verilog HDL 言語規格をサポートしています。

• Verilog-1995 (IEEE Standard 1364-1995)

• Verilog-2001 (IEEE Standard 1364-2001)

• SystemVerilog-2005 (IEEE Standard 1800-2005)

• SystemVerilog-2009 (IEEE Standard 1800-2009)

次の重要なガイドラインの適用対象は、Verilog HDL および SystemVerilog の インテル QuartusPrime 合成です。

• Compiler では、拡張子が .v のファイルに対しては、デフォルトで Verilog-2001 規格が使用されます。また、拡張子が .sv のファイルに対しては、SystemVerilog が使用されます。

• スクリプトを使用してデザインファイルを追加する場合は、-HDL_VERSION コマンドを使用して、各デザインファイルの HDL バージョンを指定します。

• Compiler の Verilog HDL のサポートでは、Verilog HDL 規格に従って大文字と小文字を区別します。

• Compiler では、コンパイラー・ディレクティブ `define を Verilog HDL 規格に従ってサポートしています。

• Compiler では、Compiler ディレクティブ include がサポートされ、絶対パス (「/」または「\」をセパレーターとして含む)、または相対パスを持つファイルを含めます。

• 相対パスを検索する場合、Compiler で行う検索では、まずプロジェクト・ディレクトリーを基準にします。ファイルが見つからない場合は、すべてのユーザー・ライブラリーを基準にします。 後は、現在のファイルのディレクトリー位置を基準にします。

• Intel Quartus Prime プロ・エディション合成では、モジュールまたはエンティティーの検索は、他の Quartus ソフトウェア・ツールに比べて、合成プロセスのより早い段階で行われます。早期に検索することによって、未定義のエンティティーの構文エラーが発生するのが、他の Quartus ソフトウェア・ツールよりも早くなります。

関連情報• インテル Quartus Prime プロ・エディション ユーザーガイド: タイミング解析

• Intel Quartus Prime Pro Edition User Guide: Design Recommendations

1.8.1.1. Verilog HDL Input の設定 (設定ダイアログボックス)

Assignments > Settings > Verilog HDL Input をクリックして、Verilog HDL 入力ファイルの合成オプションを指定します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

51

Page 52: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -49: Verilog HDL Input の設定ダイアログボックス

表 15. Verilog HDL Input の設定

設定 説明

Verilog Version 合成に指示して、Verilog HDL 入力デザインファイルの処理を指定規格を使用して行います。サポート言語規格の選択は、Verilog HDL ファイルまたは SystemVerilog デザインファイルと一致させてください。

Library Mapping File オプションで、用意されている Library Mapping File (.lmf) を指定して、そのファイルを VerilogHDL ファイルの合成に使用することができます。この Verilog HDL ファイルに含まれているインテルFPGA 以外の機能は、IP コアにマッピングされています。LMF のフルパス名の指定は、File name ボックスで行ってください。

Verilog HDL Macro Verilog HDL マクロは、プリコンパイラー・ディレクティブです。これを Verilog HDL ファイルに追加して、定数、フラグ、またはその他の機能の定義を Name および Setting で行うことができます。追加したマクロは、Existing Verilog HDL macro settings リストに表示されます。

1.8.1.2. デザイン・ライブラリー

Compiler では、デフォルトで、すべてのデザインファイルを 1 つ以上のライブラリーの中に入れます。

• デザイン・インスタンスをコンパイルする際、Compiler によるエンティティーの検索は、まずインスタンスに関連するライブラリー (ライブラリーを指定しない場合はワーク・ライブラリー) 内で行われます。

• Compiler によってエンティティー定義が見つからない場合、Compiler では、一意のエンティティー定義の検索をすべてのデザイン・ライブラリー内で行います。

• Compiler によって同じ名前のエンティティーが複数見つかった場合は、Compiler ではエラーが生成されます。デザイン内で、同じ名前のエンティティーを複数使用している場合は、エンティティーを個別のライブラリーにコンパイルしてください。

1.8.1.3. Verilog HDL コンフィグレーション

Verilog HDL コンフィグレーションは、特定のインスタンスのソースコードを指定する一連のルールです。 Verilog HDL コンフィグレーションでは、次のタスクを実行することができます。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

52

Page 53: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• セル・インスタンスを解決するためのライブラリー検索順序の指定 (ライブラリー・マッピング・ファイルと同様)

• 指定インスタンスのロジック・ライブラリー検索順序の上書きの指定

• 指定セルのすべてのインスタンスのロジック・ライブラリー検索順序の上書きの指定

1.8.1.3.1. 階層デザインのコンフィグレーション

デザインには、1 つ以上のコンフィグレーションを持たせることができます。例えば、1 つのコンフィグレーションを定義して、サブ階層内の特定のインスタンスで使用するソースコードを指定してから、別のデザインの上位レベルのコンフィグレーションの定義を行うことができます。

例えば、デザインのサブ階層が 8 ビット加算器であり、RTL Verilog コードによる加算器の記述がrtllib という名前のロジック・ライブラリー内でされているとします。ゲートレベル・コードによる加算器の記述は、gatelib ロジック・ライブラリーでされます。ゲートレベル・コードを加算器の 0 (ゼロ)ビットに使用し、RTL レベルコードを他の 7 ビットに使用する場合、コンフィグレーションは次のようになります。

例-1: 加算器の 0 (ゼロ) ビットのゲートレベル・コード

config cfg1;design aLib.eight_adder;default liblist rtllib;instance adder.fulladd0 liblist gatelib;endconfig

この 8 ビット加算器を 8 回インスタンス化して 64 ビット加算器を作成する場合は、cfg1 コンフィグレーションを 8 ビット加算器の 初のインスタンスに対して使用します。これは、他のインスタンスに対しては使用しないでください。この機能を実行するコンフィグレーションは次のとおりです。

例-2: 8 ビット加算器の最初のインスタンスに対する cfg1 コンフィグレーションの使用

config cfg2;design bLib.64_adder;default liblist bLib;instance top.64add0 use work.cfg1:config;endconfig

注意: バインドされていないモジュールの名前は、インスタンスにバインドされているセルの名前と異なる場合があります。

1.8.1.4. 初期コンストラクトおよびメモリー・システム・タスク

インテル Quartus Prime 開発ソフトウェアでは、パワーアップ条件の推論を Verilog HDLinitial コンストラクトから行います。また、 インテル Quartus Prime 開発ソフトウェアでは、パワーアップ設定も作成します。これには、RAM ブロックが含まれます。 インテル Quartus Prime 開発ソフトウェアでは、合成不可能なコンストラクトが initial ブロックで検出されると、エラーを生成します。

このようなエラーを回避するには、合成不可能なコンストラクト (シミュレーション専用のコンストラクトなど) を translate_off および translate_on 合成ディレクティブ内に囲みます。初期コンストラクトの合成により、合成したデザインのパワーアップ・ステートを、元の HDL コードのパワーアップ・ステートと一致させることがシミュレーションで可能になります。

注意: 初期ブロックによるパワーアップ条件の推論は、一部のサードパーティーの EDA 合成ツールでは行われません。合成ツール間で変換する場合は、パワーアップ条件の設定を正しく行ってください。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

53

Page 54: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

インテル Quartus Prime 合成では、$readmemb および $readmemh システムタスクをサポートしてメモリーを初期化します。

例-3: Verilog HDL コード : readmemb コマンドでの RAM の初期化

reg [7:0] ram[0:15];initialbegin$readmemb("ram.txt", ram);end

テキストファイルを作成してメモリーを初期化する場合は、アドレスを@<location> 形式で新しい行に指定し、次の行に 110101 や abcde などのメモリーワードを指定します。

次の例は、RAM の Memory Initialization File (.mif) の一部を示しています。

例-4: テキスト・ファイル・フォーマット : readmemb コマンドでの RAM の初期化

@000000000@100000001@200000010…@e00001110@f00001111

1.8.1.5. Verilog HDL のマクロ

インテル Quartus Prime 開発ソフトウェアでは、Verilog HDL マクロをフルサポートしています。このマクロの定義は、Compiler ディレクティブの 'define を使用してソースコードで行うことができます。マクロの定義は、 インテル Quartus Prime 開発ソフトウェアまたはコマンドラインでも行うことができます。

Verilog HDL マクロの設定は、コマンドラインで Intel Quartus Prime プロ・エディション合成(quartus_syn) 実行可能ファイル用に行う場合、次の形式を使用します。

quartus_syn <PROJECT_NAME> --set=VERILOG_MACRO=a=2

このコマンドによって、次の新しい行がプロジェクトの .qsf ファイルに追加されます。

set_global_assignment -name VERILOG_MACRO "a=2"

この行をプロジェクトの .qsf に追加しないようにするには、次のオプションを quartus_syn コマンドに追加します。

--write_settings_files=off

1.8.2. VHDL 合成のサポート

インテル Quartus Prime 合成では、次の VHDL 言語規格をサポートしています。

• VHDL 1987 (IEEE Standard 1076-1987)

• VHDL 1993 (IEEE Standard 1076-1993)

• VHDL 2008 (IEEE Standard 1076-2008)

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

54

Page 55: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

インテル Quartus Prime Compiler では、VHDL 1993 規格をデフォルトで使用します。対象は、拡張子が .vhdl または .vhd のファイルです。

注意: VHDL コードサンプルは VHDL 1993 規格に従っています。

関連情報Migrating to Quartus Prime Pro Edition

1.8.2.1. VHDL HDL 入力設定 (設定ダイアログボックス)

Assignments > Settings > VHDL Input をクリックして、VHDL 入力ファイルの合成オプションを指定します。

表 16. VHDL 入力設定

設定 説明

VHDL Version VHDL 入力デザインファイルの合成時に使用する VHDL 規格を指定します。VHDL ファイルに対応する言語規格を選択します。

Library Mapping File オプションで、用意されている Library Mapping File (.lmf) を指定して、そのファイルを VHDL ファイルの合成に使用します。この VHDL ファイルには、IP コアが含まれています。LMF のフルパス名の指定は、File name ボックスで行ってください。

図 -50: VHDL 入力設定ダイアログボックス

1.8.2.2. VHDL 規格ライブラリーおよびパッケージ

インテル Quartus Prime 開発ソフトウェアには、標準の IEEE ライブラリーおよびベンダー固有のVHDL ライブラリーが含まれています。IEEE ライブラリーに含まれている標準の VHDL パッケージは、std_logic_1164 、numeric_std 、numeric_bit 、および math_real です。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

55

Page 56: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

STD ライブラリーは、VHDL 言語規格の一部です。STD ライブラリーに含まれているパッケージは、standard (すべてのプロジェクトにデフォルトで含まれている) と textio です。旧デザインとの互換性のために、 インテル Quartus Prime 開発ソフトウェアでは、次のベンダー固有のパッケージおよびライブラリーもサポートしています。

• IEEE ライブラリーの std_logic_arith や std_logic_unsigned などのSynopsys* のパッケージ。

• ARITHMETIC ライブラリーの std_logic_arith などの Mentor Graphics* パッケージ。

• ALTERA ライブラリーの altera_primitives_components (GLOBAL や DFFE などのプリミティブの場合) や maxplus2 などのプリミティブ・パッケージ。

• LCELL を含む特定の IP コアに対する ALTERA_MF ライブラリー内の IP コアパッケージaltera_mf_components、および library of parameterized modules (LPM) ファンクションのライブラリーに対する LPM ライブラリー内の lpm_components。

注意: コンポーネント宣言のインポートは、GLOBAL や DFFE などのプリミティブに対して行う場合、altera_primitives_components パッケージから行ってください。altera_mf_components パッケージからはインポートしないでください。

1.8.2.3. VHDL wait コンストラクト

インテル Quartus Prime 開発ソフトウェアでは、プロセスブロックごとに 1 つの VHDL waituntil ステートメントをサポートします。一方、 インテル Quartus Prime 開発ソフトウェアでは、wait for および wait on などの VHDL wait コンストラクトまたは複数の wait ステートメントを使用したプロセスはサポートしません。

例-5: VHDL wait until コンストラクトの例

architecture dff_arch of ls_dff isbeginoutput: process beginwait until (CLK'event and CLK='1');Q <= D;Qbar <= not D;end process output;end dff_arch;

1.9. Compiler の最適化手法

さまざまな 適化手法を設定とエンティティーの割り当てを使って適用し、デザイン要件をコンパイル中に達成します。例えば、オプションを指定して、合成処理による特定のレジスターの保持、フラクタル合成の適用、レジスターのリタイミングのイネーブルや、その他にもさまざまなターゲットの Compiler 適化を行います。

1.9.1. 最適化モード

次のオプションで、合成中に Compiler によって行われる 適化作業の焦点を指示します。Balanced方法を指定するか、Performance、Area、Routability、Power、または Compile Time を 適化します。Compiler では、指定した 適化目標をターゲットにします。この設定は、合成とフィッティングに影響します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

56

Page 57: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 17. Optimization Mode (Compiler Settings ページ)

Optimization Mode 説明

Balanced (normal flow) Compiler では、合成を 適化して、タイミング制約を考慮したバランスの良い実装ができるようにします。

High Performance Effort Compiler では、配置配線中のタイミング 適化作業を増やし、タイミングに関連した PhysicalSynthesis の 適化をイネーブルします (レジスターの 適化設定による)。 適化を追加で行うたびに、コンパイル時間が長くなる可能性があります。

High Performance withMaximum Placement Effort

Compiler による 適化を High Performance Effort と同様にイネーブルし、配置 適化作業を追加して行います。

Superior Performance Compiler による 適化を High Performance Effort と同様にイネーブルし、Analysis &Synthesis 中にさらに追加で 適化作業を行い、デザイン・パフォーマンスを 大化します。これには、ロジック領域の潜在的な増加が伴います。デザイン使用率がすでに非常に高い場合、このオプションを使用すると、フィッティングが困難になる可能性があります。これは、 適化の全体的な品質に悪影響を及ぼす可能性もあります。

Superior Performance withMaximum Placement Effort

Compiler による 適化を High Performance Effort と同様にイネーブルし、配置 適化作業を追加で行います。

Aggressive Area Compiler では、デザイン実装に必要なデバイス領域を積極的に削減します。このとき、デザイン・パフォーマンスが犠牲になることがあります。

High Placement RoutabilityEffort

Compiler では、作業量を増やしてデザインの配線を行います。このとき、デザイン領域、パフォーマンス、およびコンパイル時間が犠牲になることがあります。Compiler では、時間をさらに費やして、配線使用率を削減します。これにより、配線性が向上し、ダイナミック消費電力も節約できます。

High Packing RoutabilityEffort

Compiler では、作業量を増やしてデザインの配線を行います。このとき、デザイン領域、パフォーマンス、およびコンパイル時間が犠牲になることがあります。Compiler では、時間をさらに費やして、レジスターのパッキングを行います。これにより、配線性が向上し、ダイナミック消費電力も節約できます。

Optimize Netlist forRoutability

Compiler では、ネットリストの変更を実装して、配線性を向上させます。このとき、パフォーマンスが犠牲になることがあります。

High Performance Effort Compiler では、作業量を増やして低消費電力のために合成を 適化します。High Power Effort では、合成の実行時間が長くなります。

Aggressive Power 低消費電力のために積極的に合成を 適化します。Compiler では、指定または 大予測トグルレートで信号の配線使用量をさらに削減し、ダイナミック消費電力を追加で節約しますが、パフォーマンスに影響を与える可能性があります。

Aggressive Compile Time デザイン実装に必要なコンパイル時間を短縮します。この場合、作業量は減り、パフォーマンスの 適化項目は少なくなります。このオプションでは、一部の詳細レポート機能もディスエーブルします。注意: Aggressive Compile Time をオンにすると、 インテル Quartus Prime Settings File

(.qsf) 設定がイネーブルされます。これは、ほかの .qsf 設定によるオーバーライドはされません。

注意: Design Space Explorer II の拡張 適化モードのイネーブルを .qsf の割り当てを使用して行い、その後、そのプロジェクト・リビジョンの Compiler Settings タブを開くと、Compiler Settings タブの表示で、拡張 適化モードが、Compiler Settings タブの Optimization Modes のいずれかに戻ることが分かります。

1.9.2. レジスターのリタイミングの許可

Register Optimization タブの Allow Register Retiming オプション では、リタイミングをグローバルにディスエーブルするかどうかを制御します。オンにすると、Compiler では、レジスターのリタイミング 適化を自動的に実行し、レジスターの移動を組み合わせロジックによって行います。オフにすると、Compiler では、リタイミング 適化をグローバル規模で防止します。 オプションで、AllowRegister Retiming の割り当てを、デザインの特定部分の任意のデザイン・エンティティーまたはデ

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

57

Page 58: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

ザイン・インスタンスに対して行います。Assignments > Assignment Editor をクリックして、エンティティー・レベルおよびインスタンス・レベルの割り当てを指定するか、次の構文を使用して、割り当てを .qsf で直接行います。

例-6: エンティティー abc に対するレジスター・リタイミングのディスエーブル

set_global_assignment –name ALLOW_REGISTER_RETIMING ON

set_instance_assignment –name ALLOW_REGISTER_RETIMING OFF –to “abc|”

set_instance_assignment –name ALLOW_REGISTER_RETIMING ON –to “abc|def|”

例-7: エンティティー abc のレジスター以外のデザイン全体に対するレジスター・リタイミングのディスエーブル

set_global_assignment –name ALLOW_REGISTER_RETIMING ON

set_instance_assignment –name ALLOW_REGISTER_RETIMING OFF –to “abc|”

set_instance_assignment –name ALLOW_REGISTER_RETIMING ON –to “abc|def|”

1.9.3. 自動ゲートクロック変換

クロック・ゲーティングでは、ASIC デザインで電力を節約するために、回路にロジックを追加してクロックツリーを整理します。クロックツリーを削除すると、回路の一部がディスエーブルされ、フリップフロップによるステート切り替えの必要がありません。 インテル Quartus Prime FPGA を使用して ASIC デザインのプロトタイプを作成するには、クロックゲートからクロックイネーブルへの変換をデザイン内で行ってください。

表 18. ゲートクロック変換の例

ASIC ゲートクロックの例 FPGA クロックイネーブルの例

module infer_enable (clk, reset, d, en, q);

input d, en, clk, reset;output q;

wire gated_clk;reg q;

assign gated_clk = clk & en;always@(posedge gated_clk or reset) begin if (!reset) q <= 1’b0; else q <= d ; end end

endmodule

module infer_enable (clk, reset, d, en, q);

input d, en, clk, reset;output q;

reg q;

always@(posedge clk or reset) begin if (!reset) q <= 1’b0; else if (en) q <= d; else q <= q ; end end

endmodule

RTL 内のゲートクロックを手動変換せずに、Auto Gated Clock Conversion 設定を指定して、デザイン内のゲート・ベース・クロックをクロックイネーブルに自動変換します。この設定は、デザイン内のすべてのゲート・ベース・クロック、または 1 つ以上の特定のクロック信号にグローバルに適用できます。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

58

Page 59: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 19. ゲートクロック変換の設定

設定のスコープ 説明

グローバル Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis)で Auto GatedClock Conversion オプションをイネーブルします。または、プロジェクト .qsf に対してグローバル割り当てを次のようにして追加します。

set_global_assignment –name SYNTH_GATED_CLOCK_CONVERSION on

インスタンス固有 1 つ以上のインスタンスに対して Auto Gated Clock Conversion の指定を Assignment Editor(Assignments > Assignment Editor) で行います。または、インスタンス割り当てをプロジェクト .qsf に対して次のようにして追加します。

set_instance_assignment –name SYNTH_GATED_CLOCK_CONVERSION on –to clk_in

デザイン合成後、ゲートクロック変換の結果が、Gated Clock Conversion Details レポートに表示されます。このレポートには、すべての変換済みおよび未変換のゲートクロックとそのベースクロックが一覧表示されます。未変換のゲートクロックの場合、レポートでは、クロックが変換されない理由が特定されます。

注意: 自動ゲートクロック変換では、明示的な RAM (WYSIWYG RAM やインテル FPGA メモリー IP など)をサポートしますが、推論された RAM はサポートしません。

図 -51: Gated Clock Conversion Details レポート

1.9.4. 中間の Fitter ステージのスナップショットのイネーブル

コンパイル時間を節約するため、Compiler では、計画、配置、配線、またはリタイミングのスナップショットの保存は、デフォルトではフルコンパイル中には行いません。

ただし、Enable Intermediate Fitter Snapshots (Assignments > Settings >Compiler Settings) をオンにした場合、計画、配置、配線、またはリタイミングの各ステージのスナップショットの生成および保持は、フルコンパイルの実行時にはいつでも可能です。中間の Fitter ステージを個別に実行して、スナップショットをそのステージに対して生成することもできます。

注意: Rapid Recompile 機能を後で使用するには、 Enable Intermediate Fitter Snapshots をイネーブルしてください。

1.9.5. Fast Preserve オプション

Incremental Compile タブで Fast Preserve オプションをイネーブルすると、Compiler による保持済みパーティションの単純化は、インターフェイス・ロジックに対してのみ行わるようになります。

インターフェイスロジックは、デザインの残りの部分と相互接続するパーティション境界のロジックです。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

59

Page 60: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

1.9.6. フラクタル合成の最適化

フラクタル合成の 適化は、ディープラーニング・アクセラレーターに役立ちます。また、その他の高スループットの算術集約型デザインが、使用可能なすべての DSP リソースを上回る場合にも役立ちます。このようなデザインの場合、フラクタル合成の 適化により、20%から 45%の領域を削減できます。

フラクタル合成は、演算集約型デザインに 適な方法で FPGA リソースを使用する複数の合成 適化の集合です。この合成 適化を構成しているのは、乗算器の正則化とリタイミング、および連続算術パッキングです。 適化の対象となるデザインでは、低精度の算術演算 (加算や乗算など) を多数備えています。フラクタル合成のイネーブルは、グローバルに、または特定の乗算器に対して行います。詳しくは、フラクタル合成のイネーブルまたはディスエーブル (65 ページ) で説明します。

プロジェクト全体のフラクタル合成に関する考慮事項

注意: フラクタル合成の 適化の条件に も合うデザインは、ディープラーニング・アクセラレーターを備えている場合や、デザインの他の高スループットの算術集約機能がすべての DSP リソースを上回る場合です。フラクタル合成をプロジェクト全体でイネーブルすると、フラクタル 適化に適していないモジュールに不要な膨張が発生することがあります。フラクタル合成の 適化をプロジェクト全体でイネーブルする前に、次の要因を考慮してください。

• インテル FPGA デバイスでは、算術演算に 適なハード DSP ブロックを数千個格納しています。デザインの算術関数の合計数が少ない場合は、フラクタル合成をイネーブルする必要はありません。このような場合、すべての算術関数はデフォルトで DSP に直接マップされます。グローバルフラクタル合成をイネーブルするのは、DSP ブロックが十分ないために、実装できない算術コンポーネントがある場合のみです。フラクタル合成のイネーブルは、Compiler による DSP へのマッピングを望まないモジュールに対してのみ行います。

• 現在のバージョンの Intel Quartus Prime プロ・エディション開発ソフトウェアの場合、フラクタル合成の 適化のターゲットは、低精度の乗算です。高精度 (各オペランドの幅が 11 ビットを超える) 乗算器の実装には、DSP ブロックを使用します。

• フラクタル合成をプロジェクト全体でイネーブルすると、次のような情報メッセージ番号 20193が、コンパイル中に生成されることがあります

Applied dense packing to "<entity>". Area: 2 LABs. Logic density: 0.775.

この情報によって分かるのは、Compiler では、計算ロジックをパッキングして少数の LAB にしようとしていることです。デザインの使用率がすでに高い場合、Compiler では、このステージを省略できます。

— メッセージによるレポートで、Area が 100 LAB を超えていないことを確認してください。もし100 LAB を超えている場合は、フラクタル合成ブロックをサブブロックに分割し、フラクタル合成 適化をサブブロックに個別に割り当てます。

— メッセージによるレポートで、Logic 密度が 0.75 より大きいことを確認してください。もし0.75 未満の場合は、このエンティティーの Fractal Synthesis をディスエーブルします。これは、標準的な合成では、より良好な密度が達成できるためです。

表 20. フラクタル合成の領域改善

Area (LAB)

デバイス ドット積 フラクタル合成が ON の場合 フラクタル合成が OFF の場合

インテル Arria 10 および インテル Cyclone 10 GX

16 4x4sm の合計 12 19

16 5x5sm の合計 19 32

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

60

Page 61: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

Area (LAB)

デバイス ドット積 フラクタル合成が ON の場合 フラクタル合成が OFF の場合

16 6x6sm の合計 25 36

16 7x7sm の合計 34 44

16 8x8sm の合計 45 60

インテル Stratix 10 および インテル Agilex デバイス

16 4x4sm の合計 15 22

16 5x5sm の合計 21 39

16 6x6sm の合計 29 47

16 7x7sm の合計 39 55

16 8x8sm の合計 55 71

乗算器の正則化とリタイミング

乗算器の正則化とリタイミングでは、高度に 適化されたソフト乗算器の実装を推論します。Compilerでは、必要に応じて、後方リタイミングを 2 つ以上のパイプライン・ステージに適用します。フラクタル合成をイネーブルすると、Compiler では、乗算器の正規化とリタイミングを、符号ありおよび符号なし乗算器に対して適用します。

図 -52: 乗算器のリタイミング

D Q D Q

a

b

q

D Q D Q

a

b

q

Before Multiplier Retiming

After Multiplier Retiming

注意: • 乗算器の正規化では、ロジックリソースのみを使用し、DSP ブロックは使用しません。

• 乗算器の正規化とリタイミングは、FRACTAL_SYNTHESIS QSF 割り当てが設定されているモジュールの符号あり乗算器と符号なし乗算器の両方に適用されます。

乗算器の正則化の例

次のシンプルな符号なしドット積のデザイン例には、5 ビットオペランドの乗算演算子が含まれています。この短い乗数は、乗算器の正則化に 適な候補です。

(* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)module dot_product( input clk,

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

61

Page 62: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

input [4:0] a, b, c, d, e, f, g, h, output reg [11:0] out);reg [9:0] ab, cd, ef, gh;reg [10:0] ab_cd, ef_gh;

always @(posedge clk)begin ab <= a * b; cd <= c * d; ef <= e * f; gh <= g * h; ab_cd <= ab + cd; ef_gh <= ef + gh; out <= ab_cd + ef_gh;endendmodule

module top( input clk, input [4:0] a1, b1, c1, d1, e1, f1, g1, h1, input [4:0] a2, b2, c2, d2, e2, f2, g2, h2, output [11:0] out1, out2);dot_product core1(.clk(clk), .a(a1), .b(b1), .c(c1), .d(d1), .e(e1), .f(f1), .g(g1), .h(h1), .out(out1));dot_product core2(.clk(clk), .a(a2), .b(b2), .c(c2), .d(d2), .e(e2), .f(f2), .g(g2), .h(h2), .out(out2));endmodule

インテル Quartus Prime 合成では、次のメッセージをコンソールに出力します。

図 -53: コンソールメッセージ

Chip Planner では、このデザインに符号なしドット積コアが 2 つあることが分かります。この 2 つのコアは、個別に 適化され、配置されます。LAB リソースは、次の図に示すように、ほぼ 100% 適化されます。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

62

Page 63: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -54: デザイン配置

符号付きドット積は、ディープラーニング・アプリケーションでは一般的です。次で示しているのは、符号付きドット積の例です。

(* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)module dot_product( input clk, input [4:0] a, b, c, d, e, f, g, h, output reg [11:0] out);reg [9:0] ab, cd, ef, gh;reg [10:0] ab_cd, ef_gh;

always @(posedge clk)begin ab <= a * b; cd <= c * d; ef <= e * f; gh <= g * h; ab_cd <= ab + cd; ef_gh <= ef + gh; out <= ab_cd + ef_gh;endendmodule

module top( input clk, input [4:0] a1, b1, c1, d1, e1, f1, g1, h1, input [4:0] a2, b2, c2, d2, e2, f2, g2, h2, output [11:0] out1, out2);dot_product core1(.clk(clk), .a(a1), .b(b1), .c(c1), .d(d1), .e(e1), .f(f1), .g(g1), .h(h1), .out(out1));dot_product core2(.clk(clk), .a(a2), .b(b2), .c(c2), .d(d2), .e(e2), .f(f2), .g(g2), .h(h2), .out(out2));endmodule

インテル Quartus Prime 合成では、次のメッセージをコンソールに出力します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

63

Page 64: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -55: コンソールメッセージ

Chip Planner では、このデザインに符号ありドット積コアが 2 つあることが分かります。

図 -56: デザイン配置

連続算術パッキング

連続算術パッキングでは、算術ゲートを 適なサイズのロジックブロックに再合成して、インテル FPGALAB にフィットさせます。この 適化により、LAB リソースを 大 100%、算術ブロックに対して使用できるようになります。

フラクタル合成をイネーブルすると、Compiler では、この 適化をすべてのキャリーチェーンおよび 2入力ロジックゲートに適用します。この 適化では、加算器ツリー、乗算器、およびその他の算術関連ロジックのパッキングができます。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

64

Page 65: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -57: 連続算術パッキング

Before Arithmetic Repacking After Arithmetic Repacking

連続算術パッキングは、乗算器の正則化とは無関係に機能します。したがって、使用している乗算器が正則化されていない場合 (独自の乗算器の作成など)、連続算術パッキングは引き続き機能します。

1.9.6.1. フラクタル合成のイネーブルまたはディスエーブル

インテル Stratix 10 および インテル Agilex デバイスの場合、フラクタル合成の 適化が自動的に実行される対象は、小さな乗算器 (Verilog HDL または VHDL のオペランドのビット幅が 7 以下であるA*B ステートメント) です。このデバイスの小さな乗算器に対して自動フラクタル合成をディスエーブルするには、次のいずれかの方法を使用します。

• RTL での DSP multstyle の設定は、「Multstyle Verilog HDL Synthesis Attribute」の説明にあるとおりに行います。例 :

(* multstyle = "dsp" *) module foo(...);module foo(..) /* synthesis multstyle = "dsp" */;

• .qsf ファイルでは、次のようにして割り当てとして追加します。

set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \ DSP_BLOCKS -to r

また、 インテル Stratix 10、 インテル Agilex 、 インテル Arria 10 および インテル Cyclone 10GX デバイスでは、フラクタル合成をグローバルに、または特定の乗算器に対してイネーブルします。これには、Fractal Synthesis GUI オプションまたは対応する FRACTAL_SYNTHESIS .qsf 割り当てを使用します。

• RTL では、次のように altera_attribute を使用します

(* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)

• .qsf ファイルでは、次のようにして割り当てとして追加します。

set_global_assignment -name FRACTAL_SYNTHESIS ON -entity <module name>

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

65

Page 66: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

ユーザー・インターフェイスで、次の手順を実行します。

1. Assignments > Assignment Editor をクリックします。

2. Fractal Synthesis を Assignment Name に対して、On を Value に対して、算術集約型エンティティー名を Entity に対して、インスタンス名を To カラムに対して選択します。ワイルドカード (*) を To に対して入力して、エンティティーのすべてのインスタンスを割り当てます。

図 -58: Assignment Editor の Fractal Synthesis Assignment

関連情報Multstyle Verilog HDL Synthesis Attribute

インテル Quartus Prime Help 内

1.10. Synthesis Settings のリファレンス

この項では、すべての合成設定項目のクイック・リファレンスを示します。この設定を使用して、合成処理をデザイン目標に向けてカスタマイズします。

1.10.1. Advanced Synthesis Settings

次の項は Advanced Synthesis Settings のすべての項目のクイック・リファレンスです。Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis)をクリックして、設定項目を変更します。

表 21. Advanced Synthesis Settings (1/13)

オプション 説明

Allow Any RAM Size forRecognition

Compiler によって RAM の推論ができるようにします。RAM のサイズは任意で、RAM が現在の 小要件を満たしていない場合でも可能です。

Allow Any RAM Size forRecognition

Compiler によって ROM の推論ができるようにします。ROM のサイズは任意で、ROM が現在の 小サイズ要件を満たしていない場合でも可能です。

Allow Any RAM Size forRecognition

Compiler によってシフトレジスターの推論ができるようにします。シフトレジスターのサイズは任意で、シフトレジスターが現在の 小サイズ要件を満たしていない場合でも可能です。

Allow Register Duplication Compiler でレジスターを複製して、デザイン・パフォーマンスを向上させるかどうかを制御します。イネーブルすると、Compiler によって 適化が実行され、レジスターの 2 つ目のコピーを作成し、ファンアウトの一部をこの新しいノードに移動させます。この手法により、配線性が向上し、多くのファンアウトを備えたネットを配線するために必要な総配線ワイヤーを削減します。このオプションをディスエーブルすると、レジスターのリタイミングもディスエーブルされます。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスでのみ使用可能です。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

66

Page 67: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

Allow Register Merging 同一のレジスターを Compiler によって削除 (マージ) するかどうかを制御します。イネーブルした場合、2つのレジスターで同じロジックが生成されると、Compiler では、一方のレジスターを削除し、削除したレジスターのデスティネーションに対して、もう一方のレジスターをファンアウトすることがあります。このオプションが役立つのは、意図的に使用している重複レジスターが Compiler によって削除されるのを防止する場合です。ディスエーブルすると、リタイミングの 適化もディスエーブルされます。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスでのみ使用可能です。

Allow Shift Register MergingAcross Hierarchies

Compiler によって、シフトレジスターをデザインの異なる階層から取得し、そのレジスターを同じ RAM に配置できるようにします。

Allow Synchronous ControlSignals

Compiler による同期クリアおよび同期ロード信号が、通常モードのロジックセルで使用できるようにします。このオプションをオンにすると、デザインで使用するロジックセルの総数を減らすことができますが、フィッティングに悪影響を及ぼす可能性があります。この悪影響が発生するのは、LAB 内のすべてのロジックセルで同期コントロール信号を共有しているためです。

表 22. Advanced Synthesis Settings (2/13)

オプション 説明

Analysis & SynthesisMessage Level

Compiler で表示する Analysis & Synthesis メッセージのタイプを指定します。 Low では、 も重要な Analysis & Synthesis メッセージだけを表示します。Medium では、ほとんどのメッセージが表示されますが、詳細メッセージは非表示になります。 High では、すべてのメッセージを表示します。

Auto Clock EnableReplacement

Compiler によって、レジスターに供給するロジックを見つけて、そのロジックをレジスターのクロック・イネーブル入力ポートに移動させることができるようにします。

Auto DSP BlockReplacement

Compiler によって、DSP ブロックに置き換え可能な積和関数 (乗加算関数) の検索ができるようにします。

Auto Gated Clock Conversion ゲートクロックを自動変換して、クロック・イネーブル・ピンを使用します。クロック・ゲーティング・ロジックには、AND、OR、MUX、および NOT ゲートを含めることができます。このオプションをオンにすると、メモリー使用量や全体の実行時間が増える場合があります。タイミング解析には Timing Analyzer を使用してください。また、すべてのベースクロックの定義は、Synopsys Design Constraints (.sdc) 形式で行ってください。

表 23. Advanced Synthesis Settings (3/13)

オプション 概要

Auto Open-Drain Pins Compiler によって、強力な低データ入力を持つトライステート・バッファーを同等のオープンドレイン・バッファーに自動変換できるようにします。

Auto RAM Replacement Compiler によって、altsyncram または lpm_ram_dp IP コアで置き換え可能なレジスターおよびロジックを識別できるようにします。このオプションをオンにすると、デザインの機能が変更される場合があります。

Auto ROM Replacement Compiler によって、altsyncram または lpm_rom IP コアで置き換え可能なロジックを識別できるようにします。このオプションをオンにすると、デザインの機能が変更される場合があります。

Auto Resource Sharing Compiler によるハードウェア・リソースの共有が、HDL ソースコード内の類似的かつ相互排他的である多くの動作間でできるようにします。このオプションをイネーブルすると、Compiler では互換性のある加算、減算、および乗算動作をマージします。演算動作をマージすると、デザインに必要な領域が少なくなる場合があります。リソースの共有により、各共有リソースに余分な多重化と制御ロジックがもたらされるため、デザインの 終 fMAX に悪影響を与える可能性があります。

Auto Shift RegisterPlacement

Compiler によって、altshift_taps IP コアで置き換え可能な同じ長さのシフトレジスターのグループを検索できるようにします。シフトレジスターで使用するクロックおよびクロックイネーブル信号は、すべて同じものである必要があります。レジスターには他の二次信号を持たせないでください。レジスターには、少なくともレジスター 3 つ分離れた等間隔のタップが必要です。

Automatic Parallel Synthesis 自動並列合成をイネーブル/ディスエーブルするオプションです。このオプションを使用して、合成のコンパイル時間を短縮します。このとき、複数のプロセッサーが使用可能な場合は、それを使用します。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

67

Page 68: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 24. Advanced Synthesis Settings (4/13)

オプション 説明

Block Design Naming ブロックデザインの命名スキームを指定します。Compiler でこのオプションを無視するのは、このオプションをデザイン・エンティティー以外に割り当てた場合です。

Clock MUX Protection クロック・ネットワーク内のマルチプレクサを 2 対 1 のマルチプレクサ・ツリーに分解します。Compiler では、このツリーが他のロジックとマージされたり転送されたりするのを防ぎます。このオプションは、Timing Analyzer によるクロック動作の解析に役立ちます。

DSP Block Balancing 特定の DSP ブロックスライスの変換が、DSP ブロックのバランシング中に制御できるようになります。

表 25. Advanced Synthesis Settings (5/13)

オプション 説明

Disable DSP NegateInferencing

推論された DSP ブロック上での否定ポートの使用を指定できるようにします。

Disable Register MergingAcross Hierarchies

レジスターが異なる階層にあり、入力が同じである場合、そのレジスターのマージを Compiler で許可するかどうかを指定します。

Enable Formal VerificationSupport

Compiler でスクリプトを作成して、それを OneSpin*フォーマル検証ツールで使用できるようにします。

Enable State MachinesInference

Compiler によるステートマシンの推論が、VHDL または Verilog HDL デザインファイルからできるようにします。Compiler では、ステートマシンを 適化して、領域を削減し、パフォーマンスを向上させます。Off に設定すると、Compiler では、VHDL または Verilog HDL デザインファイル内のステートマシンを通常のロジックとして抽出して 適化します。

Force Use of SynchronousClear Signals

Compiler に強制して、同期クリアの使用が、通常モードのロジックセルでできるようにします。このオプションをオンにすると、デザインで使用するロジックセルの総数を減らすことができますが、フィッティングに悪影響を及ぼす可能性があります。LAB 内のすべてのロジックセルでは、同期コントロール信号を共有します。

Fractal Synthesis このオプションを On にすると、コンパイラーに指示して算術ブロックに密度の高いパッキングを適用させ、算術集約型デザインのデザイン領域を 小化します。

HDL Message Level 表示する HDL メッセージのタイプを指定します。これには、HDL ソースコードの処理エラーを表示するメッセージが含まれます。Level1 は、 も重要な HDL メッセージのみを表示します。Level2 は、ほとんどの HDL メッセージを表示します。これには、警告および情報ベースのメッセージが含まれます。Level3は、すべての HDL メッセージを表示します。これには、警告および情報ベースのメッセージおよびデザインの潜在的な問題や lint エラーに関するアラートが含まれます。

表 26. Advanced Synthesis Settings (6/13)

オプション 説明

Ignore GLOBAL Buffers デザインの GLOBAL バッファーを無視します。Compiler でこのオプションを無視するのは、このオプションを、個々の GLOBAL バッファーや GLOBAL バッファーを含むデザイン・エンティティー以外に適用した場合です。

Ignore LCELL Buffers デザインの LCELL バッファーを無視します。Compiler でこのオプションを無視するのは、このオプションを、個々の LCELL バッファーや LCELL バッファーを含むデザイン・エンティティー以外に適用した場合です。

Ignore Maximum Fan-OutAssignments

Compiler に指示して、ノード、エンティティー、またはデザイン全体の 大ファンアウト割り当てを無視させます。

Ignore SOFT Buffers デザインの SOFT バッファーを無視します。Compiler でこのオプションを無視するのは、このオプションを、個々の SOFT バッファーや SOFT バッファーを含むデザイン・エンティティー以外に適用した場合です。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

68

Page 69: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 27. Advanced Synthesis Settings (7/13)

オプション 説明

Ignore translate_off andsynthesis_off Directives

Verilog HDL および VHDL デザインファイル内のすべての translate_off/synthesis_off 合成ディレクティブを無視します。このオプションを使用して、これらの合成ディレクティブをディスエーブルし、以前のエラボレーション中に無視されたコードを含めます。

Infer RAMs from Raw Logic RAM をレジスターおよびマルチプレクサから推論します。Compiler では 初に、RAM テンプレートと異なる HDL パターンをいくつかロジックに変換します。ただし、その構造は、RAM として機能します。その結果、このオプションをイネーブルすると、Compiler では、altsyncram IP コアインスタンスをその構造と後の段階で代用する場合があります。この割り当てをイネーブルすると、Compiler で使用する、デバイスRAM リソースは多くなり、LAB は少なくなることがあります。

Iteration Limit for ConstantVerilog Loops

Verilog ループのループ条件によって各ループ・イタレーションのコンパイル時間定数が評価される場合に、そのイタレーションの制限を定義します。この制限が存在する主な目的は、潜在的な無限ループの特定を、メモリーを使い果たすか、ソフトウェアを実際の無限ループにトラップする前に行うことです。

Iteration Limit for non-Constant Verilog Loops

Verilog HDL ループのループ条件によって各ループ・イタレーションのコンパイル時間定数が評価されない場合に、そのイタレーションの制限を定義します。この制限が存在する主な目的は、潜在的な無限ループの特定を、メモリーを使い果たすか、ソフトウェアを実際の無限ループにトラップする前に行うことです。

表 28. Advanced Synthesis Settings (8/13)

オプション 説明

Maximum DSP Block Usage DSP ブロックの 大数を指定します。これは、DSP ブロックバランサーによって、現在のデバイスの各パーティションに存在すると想定される数です。このオプションによって、通常の方法 (現在のデバイスでサポートする DSP ブロックの 大数を使用) をオーバーライドします。

Maximum Number of LABs LAB の 大数を指定します。これは、デバイスに対して Analysis & Synthesis で利用しようとする数です。このオプションは、通常の方法 (値が負ではなく、現在のデバイスで使用可能な LAB の 大数より少ない場合、現在のデバイスでサポートする LAB の 大数を使用) をオーバーライドします。

Maximum Number ofM4K/M9K/M20K/M10KMemory Blocks

Compiler によってデバイスに使用する可能性があると考えらえる M4K、M9K、M20K、または M10K メモリーブロックの 大数を指定します。このオプションは、通常の方法 (値が負ではなく、現在のデバイスで使用可能な M4K、M9K、M20K、または M10K メモリーブロックの 大数より少ない場合、現在のデバイスでサポートする M4K、M9K、M20K、または M10K メモリーブロックの 大数を使用) をオーバーライドします。

表 29. Advanced Synthesis Settings (9/13)

オプション 説明

Maximum Number ofRegisters Created fromUninferred RAMs

推論されていない RAM を変換する際に Analysis & Synthesis で使用するレジスターの 大数を指定します。このオプションは、プロジェクト全体のオプションとして使用するか、パーティション・ルートのインスタンス名に割り当てを設定することで特定のパーティションで使用します。パーティションの割り当てによって、その特定のパーティションのグローバル割り当て (存在する場合) をオーバーライドします。このオプションは、推論されていない RAM に多くのレジスターが使用されている場合に、合成による長いコンパイルの発生やメモリー不足を防ぎます。 インテル Quartus Prime 開発ソフトウェアでは、コンパイルを続行する代わりに、エラーを発行して終了します。

NOT Gate Push-Back Compiler によって、レジスターを介して反転 (つまり、NOT ゲート) をプッシュバックし、その反転をレジスター上のデータ入力へ実装することができるようにします (デザインの実装が必要な場合)。このオプションがオンの場合、レジスターは、アクティブ High 状態にパワーアップし、デバイスの初期動作中に明示的なクリアを必要とする場合があります。Compiler によってこのオプションが無視されるのは、個々のレジスターまたはレジスターを含むデザイン・エンティティー以外に適用する場合です。このオプションをレジスターから直接供給される出力ピンに適用すると、割り当てはそのレジスターに自動転送されます。

Number of InvertedRegisters Reported inSynthesis Report

Synthesis レポートで表示する反転レジスターの 大数を指定します。

Number of ProtectedRegisters Reported inSynthesis Report

Synthesis レポートで表示する保護レジスターの 大数を指定します。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

69

Page 70: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

Number of RemovedRegisters Reported inSynthesis Migration Checks

Synthesis Migration Check レポートに表示する 大行数を指定します。

Number of Swept NodesReported in SynthesisReport

Synthesis レポートに表示するスイープノードの 大数を指定します。スイープノードとは、Compiler によって不要であると判断されて、デザインから削除されたノードです。

Number of Rows Reported inSynthesis Report

Synthesis レポートに表示する 大行数を指定します。

注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

Optimization Technique Analysis & Synthesis の全体的な 適化の目標を指定します。Balanced 方法を指定するか、Performance、 Area、 Routability、 Power、または Compile Time を 適化します。Compiler では、指定した 適化も目標をターゲットにします。

表 30. Advanced Synthesis Settings (10/13)

オプション 説明

Perform WYSIWYG PrimitiveResynthesis

WYSIWYG プリミティブ再合成を合成中に実行するかどうかを指定します。このオプションで使用する設定は、 Optimization Technique ロジックオプションで指定します。

Power-Up Don't Care Power-Up Level logic オプション設定を持たないレジスターを、ドントケア・ロジック・レベル (X) でパワーアップします。Power-Up Don't Care がオンの場合、Compiler では、レジスターのパワーアップ・レベルの変更が有益になる時期を判断して、デザインの領域を 小化します。Compiler では、直接的な領域の利点がない限り、パワーアップ・ステートをゼロに維持します。

Power Optimization DuringSynthesis

Analysis & Synthesis のパワー駆動コンパイル設定を制御します。このオプションでは、Analysis &Synthesis によってデザインの消費電力をいかに積極的に 適化するかを決定します。このオプションがOff の場合、Compiler では、電力 適化は実行しません。Normal compilation では、デザインのパフォーマンスが低下しないことが予想される場合、電力の 適化を実行します。Extra effort によって追加の電力 適化を実行するため、デザイン・パフォーマンスが低下する可能性があります。

表 31. Advanced Synthesis Settings (11/13)

オプション 説明

Remove Duplicate Registers 他のレジスターと同一のレジスターを削除します。2 つのレジスターによって同じロジックが生成される場合、Compiler では、重複を削除します。 初のインスタンスは、複製先にファンアウトします。また、削除されたレジスターに異なるロジックオプションの割り当てが含まれている場合、Compiler ではこのオプションを無視します。このオプションが役立つのは、意図的に重複させたレジスターが Compiler によって削除されないようにする場合です。Compiler でこのオプションを無視するのは、このオプションを個々のレジスターやレジスターを含むデザイン・エンティティー以外に適用した場合です。

Remove Redundant LogicCells

冗長 LCELL プリミティブまたは WYSIWYG プリミティブを削除します。このオプションをオンにすると、回路の領域と速度が 適化されます。Compiler でこのオプションを無視するのは、このオプションをデザイン・エンティティー以外に適用する場合です。

Report Parameter Settings Synthesis レポートに Parameter Settings by Entity Instance フォルダー内のレポートを含めるかどうかを指定します。

Report PR Initial Values asErrors

明示的に定義された初期値が PR パーティション内にある場合、そのフラグ付けは、Warning ではなくError としてすることができます。

Report Source Assignments Synthesis レポートに Source Assignments フォルダー内のレポートを含めるかどうかを指定します。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

70

Page 71: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 32. Advanced Synthesis Settings (12/13)

オプション 説明

Resource Aware Inferencefor Block RAM

RAM、ROM、およびシフトレジスターの推論で、デザインとデバイスのリソースを考慮に入れるかどうかを指定します。

Restructure Multiplexers マルチプレクサをデザインに実装するために合成に必要なロジックエレメントの数を削減します。このオプションが役に立つのは、断片化されたマルチプレクサのバスがデザインに含まれている場合です。このオプションでは、マルチプレクサの再パックが領域に対してより効率的になり、デザインによるマルチプレクサの実装が、少ないロジックエレメント数でできるようになります。• On - デザイン領域を 小化しますが、デザインクロック速度 (fMAX) に悪影響を与える可能性があり

ます。• Off -マルチプレクサの再構築をディスエーブルします。 ロジックエレメントの使用量は減らず、デザ

インクロック速度 (fMAX) には影響しません。• Auto - インテル Quartus Prime 開発ソフトウェアによって、マルチプレクサの再構築をイネーブル

するかどうかを決定できるようにします。Auto 設定によって、ロジックエレメントの使用量は減りますが、デザインクロック速度 (fMAX) に悪響を与える可能性があります。

SDC Constraint Protection レジスターマージの .sdc 制約を検証します。このオプションは、.sdc 制約の有効性をコンパイルによって維持するに役立ちます。

Safe State Machine Safe State Machine オプションでは、無効な状態から回復できるステートマシンを実装します。次の設定が使用可能です。• Auto - インテル Stratix 10 または インテル Agilex デザインの場合、Compiler によって、この設

定が、ステートが 6 以下のステートマシンにおいて有利であると判断されると、このデフォルト設定により Safe State Machine がイネーブルになります。この設定が有利なのは、予期せぬ初期パワーアップ条件に対応する場合です。 インテル Arria 10 および インテル Cyclone 10 GX の場合、Auto 設定は Never と同じです。

• On - Compiler に指示して Safe State Machine を常時使用させます。• Never - Safe State Machine を使用することはありません。

Shift Register Replacement– Allow Asynchronous ClearSignal

Compiler によって、長さが同じシフトレジスターのグループの検索ができるようにします。このシフトレジスターのグループは、altshift_taps IP コアで置き換え可能です。シフトレジスターでは、すべて同じaclr 信号を使用してください。シフトレジスターには他の二次信号を持たせないでください。また、シフトレジスターには、等間隔のタップが必要です。この間隔は、少なくともレジスター 3 つ分以上にしてください。このオプションを使用するには、Auto Shift Register Replacement ロジックオプションをオンにしてください。

Size of the Latch Report Synthesis レポートに表示させる 大ラッチ数が指定できるようにします。

Size of the PR InitialConditions Report

PR Initial Conditions レポートに表示させる 大レジスター数が指定できるようにします。

表 33. Advanced Synthesis Settings (13/13)

オプション 説明

State Machine Processing ステートマシンのを処理するために Compiler で使用する処理スタイルを指定します。ユーザー独自のUser-Encoded スタイルを使用するか、One-Hot、Minimal Bits、Gray、 Johnson、Sequential、または Auto (Compiler 選択) エンコードを選択します。

Strict RAM Replacement このオプションが On の場合、Compiler で RAM を置き換えるのは、ハードウェアがデザインと正確に一致する場合のみです。

Synchronization RegisterChain Length

Compiler で同期チェーンと見なす 1 つの行内のレジスターの 大数を指定します。同期チェーンは、レジスターのシーケンスです。そのクロックは同じですが、ファンアウトはありません。そのため、 初のレジスターの供給は、ピンまたは別のクロックドメインのロジックによってされます。Compiler では、このようなレジスターをメタスタビリティー分析向けに考慮します。Compiler では、このようなのレジスターの 適化(リタイミングなど) が行われないようにします。ゲートレベルのリタイミングがイネーブルになっている場合、Compiler では、このようなレジスターは削除しません。デフォルトの長さの設定は 2 です。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

71

Page 72: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

Synthesis Effort コンパイル速度、パフォーマンス、領域の間の合成トレードオフを制御します。デフォルトは Auto です。Fast を選択すると、コンパイル速度がより高速になりますが、パフォーマンスと領域の増加が犠牲になります。

Synthesis Migration Checkfor Stratix 10

インテル Arria 10 から インテル Stratix 10 へのデザイン移行での合成のチェックをイネーブルします。

Timing-Driven Synthesis インテル Arria 10 および インテル Cyclone 10 GX デザインの場合、合成によって、タイミング情報の使用とデザインのさらなる 適化ができるようになります。Timing-Driven Synthesis ロジックオプションによって影響を受けるのは、次の Optimization Technique オプションです。• Optimization Technique Speed - デザインのタイミング・クリティカルな部分のパフォーマン

スを 適化しますが、領域 (ロジックとレジスターの使用率) が増加する犠牲を伴います。• Optimization Technique Balanced - デザインのタイミング・クリティカルな部分のパフォー

マンスを 適化します。このオプションでは、領域の増加は限られます。• Optimization Technique Area デザインを 適化するのは、領域に対してのみです。

1.11. Fitter Settings のリファレンス

Fitter 設定を使用して、デザインの配置配線をカスタマイズします。 Assignments > Settings >Compiler Settings > Advanced Settings (Fitter) をクリックして、Fitter 設定にアクセスします。

表 34. Advanced Fitter Settings (1/8)

オプション 説明

ALM Register Packing Effort ALM をレジスターの配置中にパッキングする際の Fitter の積極性をガイドします。このオプションを使用して、セカンダリー・レジスターの場所を増やします。ALM のパッキング密度を上げると、デザインに適合させるために必要な ALM の数が減る可能性がありますが、配線の柔軟性とタイミング・パフォーマンスも低下する可能性があります。• Low - Fitter では、ALM パッキングのコンフィグレーションによって、LUT が、直接接続性のないレジ

スターと組み合わされるのを回避します。このコンフィグレーションを回避することで、タイミング・パフォーマンスが向上する可能性がありますが、デザインを実装するための ALM の数が増加します。

• Medium - Fitter では、コンフィグレーションによって組み合わせた未接続の LUT とレジスターをALM の場所に実装することを許可します。Fitter では、ALM 内のセカンダリー・レジスターの場所をさらに活用します。

• High - Fitter では、すべての正常かつ望ましい ALM パッキングのコンフィグレーションをイネーブルします。デザイン密度が高い場合、Fitter では、ALM レジスターのパッキング作業を必要に応じて自動的に増やして、デザインが適合できるようにします。

Advanced PhysicalSynthesis

Physical Synthesis エンジンをイネーブルします。 Physical Synthesis には、フィッティング中の組み合わせ 適化およびシーケンシャル 適化が含まれます。これにより、回路のパフォーマンスを向上させます。

Allow Delay Chains Fitter では、 適な遅延チェーンを選択して、tSU および tCO タイミング要件をすべての I/O エレメントに対して満たします。このオプションをイネーブルすると、tSU 違反の数が減り、同時に、 tH 違反が 小限になります。このオプションをイネーブルしても、個々のノードの遅延チェーン設定は上書きされません。

Allow DSP Retiming DSP ブロックを介したリタイミングが可能になります。

Compiler によるグローバル・リタイミングの実行が、Fitter の早い段階で可能になります。

Allow Hyper-Aware RegisterChain Area Optimizations inthe FitterAllow Early GlobalRetiming in the Fitter

一部のバックツーバック・レジスターを Hyper Register に自動的に強制することにより、ALM の使用を削減します。この領域削減方法をオンにすると、パフォーマンスが低下し、コンパイル時間が長くなる可能性があります。

Allow RAM Retiming RAM ブロックを介したリタイミングが可能になります。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

72

Page 73: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

Allow Register Duplication Compiler で、レジスターの複製によるデザイン・パフォーマンスの向上が可能になります。このオプションをイネーブルにすると、Compiler では、レジスターをコピーし、ファンアウトをこの新しいノードに移動します。この 適化により、配線性が向上し、ファンアウトの多いネット内の総配線ワイヤーの削減ができます。このオプションをディスエーブルすると、レジスターをリタイムする 適化がディスエーブルになります。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。Allow Early Global

Allow Register Merging レジスターがデザイン内の他のレジスターと同じ場合、Compiler でそのレジスターを削除できるようになります。このオプションをイネーブルすると、2 つのレジスターで同じロジックを生成した場合、Compiler では、一方のレジスターを削除し、もう一方のレジスターは、削除した方のレジスターのデスティネーションにファンアウトします。このオプションが役立つのは、意図的に使用した重複レジスターが Compiler によって削除されるのを防止する場合です。レジスターのマージをディスエーブルすると、Compiler では、レジスターをリタイムする 適化をディスエーブルします。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

Auto Delay Chains for HighFanout Input Pins

Fitter で、高ファンアウト入力ピンの遅延チェーンの 適化方法が選択できるようになります。このオプションをイネーブルするには、Auto Delay Chains をイネーブルしてください。このオプションをイネーブルすると、tSU 違反の数が減少する場合がありますが、コンパイル時間が大幅に増加します。これは、Fitterでは、すべてのファンアウトの設定を 適化しようとするためです。

Auto Fit Effort Desired SlackMargin

Fitter で維持するデフォルトのワーストケースのスラックマージンを指定します。デザインのすべてのパスで少なくともこれだけのスラックがある可能性がある場合、Fitter では、コンパイル時間を短縮するために適化の作業量を減らします。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

表 35. Advanced Fitter Settings (2/8)

オプション 説明

Auto Global Clock Compiler によるグローバルクロック信号の選択ができるようにします。Compiler で選択した信号から、ほとんどのクロック入力をフリップフロップに供給します。この信号は、グローバル配線パス上のデバイス全体で使用可能です。Compiler によって特定の信号がグローバルクロックとして自動的に選択されないようにするには、Global Signal オプションをその特定の信号で Off にします。

Auto Global RegisterControl Signals

Compiler によるグローバルレジスター制御信号の選択ができるようにします。Compiler で選択した信号から、ほとんどの制御信号入力をフリップフロップ (クロック信号を除く) にグローバル信号として供給します。このグローバル信号は、グローバル配線パス上のデバイス全体で使用可能です。ターゲットのデバイスファミリーに応じて、この制御信号には、非同期クリアおよびロード、同期クリアおよびロード、クロックイネーブル、プリセット信号などがあります。Compiler によって特定の信号がグローバルレジスター制御信号として自動的に選択されないようにするには、Global Signal オプションをその特定の信号で Off にします。

Auto Packed Registers Compiler によって、レジスターを組み合わせ関数と組み合わせたり、レジスターを実装するために、I/O セル、RAM ブロック、または DSP ブロックをロジックセルの代わりに使用したりできるようにします。このオプションでは、Fitter で、どの程度積極的にレジスターを他の機能ブロックと組み合わせてデザインの領域を削減するかを制御します。通常は Auto または Sparse Auto 設定が適切です。他の設定では、Fitter の柔軟性によるレジスターと他の機能ブロックとの組み合わせを制限します。結果として、フィットしなくなる場合があります。• Auto - Fitter では、 高のパフォーマンスを適切な領域で達成しようとします。必要に応じて、Fitter

では、追加のロジックを組み合わせて、デザインの領域を現在のデバイス内に縮小します。• Sparse Auto - Fitter では、 良のパフォーマンスを達成しようとしますが、デバイスの使用率が増

える可能性があります。このとき、デバイスロジックの容量は超えません。• Off- Fitter では、レジスターを他の機能と組み合わせません。Off に設定すると、デザインの領域が大

幅に増加し、フィットしなくなる場合があります。• Sparse - Fitter では、機能を組み合わせて、多くのデザインのパフォーマンスを向上させます。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

73

Page 74: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

• Normal - Fitter で機能を組み合わせることにより、デザイン・パフォーマンスを 大限に引き出し、領域を削減することが期待されます。

• Minimize Area - Fitter では、無関係な機能を積極的に組み合わせて、デザインの配置に必要な領域を削減しますが、パフォーマンスが犠牲になります。

• Minimize Area with Chains - Fitter では、さらに積極的に、レジスター・カスケード・チェーンの一部である機能またはレジスター・カスケード・チェーンに変換できる機能を組み合わせます。

このオプションが Off 以外の値に設定されている場合、レジスターでは、I/O セルと結合して I/O タイミングを改善します。これが当てはまるのは、Optimize IOC Register Placement For Timing オプションがイネーブルになっている場合です。

Auto RAM to MLABConversion

Fitter によって Auto ブロックタイプの RAM を変換して LAB の場所を使用するかどうかを指定します。このオプションの設定が Off の場合、ブロックタイプの設定が MLAB になっている MLAB セルまたは RAMセルのみで、LAB ロケーションを使用してメモリーを実装します。

Auto Register Duplication Fitter によるレジスターの自動複製が、空のロジックセルを含む LAB 内で可能になります。このオプションでは、デザインの機能は変更されません。Compiler で、Auto Register Duplication オプションを無視するのは、Logic Cell Insertion -- Logic Duplication ロジックオプションの設定として OFF を選択した場合です。このオプションをオンにすると、Logic Cell Insertion -- Logic Duplication ロジックオプションを使用してデザインの配線性を改善することができます。ただし、デザインの正式な検証が難しくなる可能性があります。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

表 36. Advanced Fitter Settings (3/8)

オプション 説明

Enable Auto-Pipelining 自動パイプライン化および遅延の影響を受けないフォールスパス機能をオンにします。この設定を、Assignment Editor の Maximum Additional Pipelining、およびオプションの AdditionalPipelining Group 割り当てと併用して、パイプライン・レジスターを指定した場所に自動的に追加します。注意: インテル Stratix 10 および インテル Agilex デバイスに対してのみ使用可能です。

Enable Bus-Hold Circuitry デバイス動作中のバスホールド回路をイネーブルします。このオプションが On の場合、ピンでは、駆動中以外でも、 後のロジックレベルを保持し、高インピーダンスのロジックレベルにはなりません。このオプションは、Weak Pull-Up Resistor デザインと同時には使用しないでください。Fast オプションから CriticalChain Viewer への配置が可能になります。Compiler でこのオプションを無視するのは、このオプションをピン以外に適用した場合です。

Enable Critical ChainViewer

クリティカル・チェーンの可視化が、 インテル Stratix 10 および インテル Agilex デバイスの FastForward Timing Closure Recommendations レポートでイネーブルされます。

Equivalent RAM and MLABPaused Read Capabilities

MLAB セルに実装された RAM に、ブロック RAM に実装された RAM と同等の一時停止読み出し機能が必要かどうかを指定します。読み出しの一時停止とは、読み出しがディスエーブルになっているときに、 後の読み出し値を維持する機能です。一時停止読み出し機能の違いを許容することにより、Fitter では、より柔軟に MLAB セルを使用して RAM を実装することができます。Fitter によって、MLAB セルを使用して実装する RAM をより柔軟に決定できるようにするには、このオプションを Don't Care に設定します。次のオプションが使用可能です。• Don't Care - Fitter によって RAM を変換して MLAB セルにすることができます。これは、ブロック

RAM 実装と同等の一時停止読み出し機能がない場合も可能です。Fitter で生成する情報メッセージは、さまざまな一時停止読み出し機能を備えた RAM に関するものです。

• Care - Fitter では、ブロック RAM 実装と同等の一時停止読み出し機能がない限り、RAM を MLABセルに変換しません。

Equivalent RAM and MLABPower Up

MLAB セルに実装された RAM に、ブロック RAM に実装された RAM と同等のパワーアップ条件が必要かどうかを指定します。パワーアップ条件が発生するのは、デバイスのパワーアップ時またはグローバルリセット時です。非同等パワーアップ条件を許可すると、Fitter では、より柔軟に MLAB セルを使用して RAM を実装することできます。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

74

Page 75: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

オプション 説明

Fitter で、MLAB セルを使用した実装 RAM の決定が も柔軟にできるようにするには、このオプションの設定を Auto または Don't Care にします。次のオプションが使用可能です。• Auto - Fitter では、RAM を変換して MLAB セルにすることができます。これは、MLAB セルにブロッ

ク RAM 実装と同等のパワーアップ条件がない場合も可能です。Fitter で出力する警告メッセージは、非同等パワーアップ条件の RAM に関するものです。

• Don't Care - Auto と同じ動作が適用されますが、メッセージは情報メッセージです。• Care - Fitter では、ブロック RAM 実装と同等の一時停止読み出し機能がない限り、RAM を MLAB

セルに変換しません。

Final PlacementOptimizations

Fitter で 終配置の 適化を実行するかどうかを指定します。 終配置の 適化を実行すると、タイミングと配線性が向上する場合がありますが、コンパイル時間が長くなる可能性があります。

Fitter AggressiveRoutability Optimizations

Fitter によって積極的に配線性の 適化を行うかどうかを指定します。積極的な配線性の 適化を実行すると、デザイン速度が低下する可能性がありますが、配線ワイヤーの使用率と配線時間も低減される可能性があります。Automatically 設定の場合、Fitter では、積極的な配線性が有益かどうかを決定できます。

表 37. Advanced Fitter Settings (4/8)

オプション 説明

Fitter Effort フィッティング中の物理合成 適化のレベルを次のとおり指定します。• Auto - Fitter 適化の作業量を調整して、コンパイル時間を 短にします。同時にデザインのタイミン

グ要件を達成します。Auto Fit Effort Desired Slack Margin オプションを使用して、追加のタイミングマージンを達成するために十分な 適化作業を適用します。

• Standard - デザインの要件に関係なく作業量が 大限になるため、簡単なデザインではコンパイル時間およびマージンが増えます。より難しいデザインの場合、 Auto および Standard では、両方とも作業量が 大限になります。

注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

Fitter Initial PlacementSeed

現在のデザインのシードを指定します。値には、負でない整数値を指定できます。デフォルトでは、Fitter はシード 1 を使用します。Fitter では、初期配置コンフィグレーションとしてシードを使用してデザイン配置を 適化し、タイミング要件 fMAX を満たします。シード値が異なると、フィッティング結果も異なるので、異なるシードをいくつか試して、より良いフィット結果が得られるよう試してみてください。デザインに 適なフィッティング結果をもたらすシードが変更されることがあるのは、そのデザインが変更された場合です。また、シードを変更した場合、フィッティングの結果が良くなる場合とならない場合があります。したがって、シードの指定は、Fitter がタイミング要件を少しだけ満たしていない場合にのみ行います。

注意: Design Space Explorer II (DSEII) を使用して、シードを含む複雑なフロー・パラメーターを インテル Quartus Prime 開発ソフトウェアでスイープして、デザイン・パフォーマンスを 適化することもできます。

Logic Cell Insertion Fitter によって 2 つのノード間へのバッファー・ロジック・セルの自動挿入が、デザインの機能を変更せずにできるようにします。Compiler では、バッファー・ロジック・セルをデバイス内にある未使用のロジックセルから作成します。また、このオプションにより、Fitter では、LAB 内のロジックセルの複製ができます。これは、使用可能な未使用のロジックセルが LAB 内にある場合です。このオプションを使用すると、コンパイル時間が長くなる可能性があります。デフォルト設定の Auto では、この動作は、デザインからの要求で、この動作がデザインに適合する必要があるときに許可されます。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

MLAB Add TimingConstraints for Mixed-PortFeed-Through ModeSetting Don't Care

Timing Analyzer によって、タイミング制約の評価を、MLAB メモリーブロックの書き込み動作と読み出し動作との間で行うかどうかを指定します。書き込み動作と読み出し動作を同じアドレスで同時実行すると、メタスタビリティーの問題が発生する場合があります。これは、デフォルトではこの 2 つの動作間にはタイミング制約が存在しないためです。このオプションをオンにすると、MLAB メモリーブロックの書き込み動作と読み出し動作との間にタイミング制約が生じて、メタスタビリティーの問題は回避されます。ただし、このオプションをオンにすると、MLAB メモリーブロックのパフォーマンスが低下します。デザインによる書き込みと読み出し動作が同じアドレスで同時実行されない場合、このオプションを設定する必要はありません。

Number of Example NodesReported in FitterMessages

Fitter レポートに表示させる 大ノードサンプル数が指定できます。

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

75

Page 76: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 38. Advanced Fitter Settings (5/8)

オプション 説明

Optimize Design forMetastability

この設定により、Mean Time Between Failures (MTBF) が増加し、デザインの信頼性が向上します。この設定をイネーブルすると、Fitter では、デザイン内のシンクロナイザー・レジスターの出力セットアップ・スラックを増やします。このスラックは、デザインの MTBF を指数関数的に増加させる可能性があります。このオプションが適用できるのは、Timing Analyzer を使用してタイミング駆動のコンパイルを行う場合のみです。Timing Analyzer の report_metastability コマンドを使用して、デザインで検出されたシンクロナイザーを確認し、MTBF の見積もりを作成します。

Optimize Hold Timing Fitter に指示して、デバイス内のホールドタイムを 適化し、タイミング要件と割り当てに合うようにします。次の設定が使用可能です。• I/O Paths and Minimum TPD Paths - Fitter に指示して、次のタイミング要件と割り当てに合

うようにします。— I/O ピンからレジスターへの tH— レジスターから I/O ピンへの 小 tCO

— I/O ピンまたはレジスターから I/O ピンへの 小 tPD

• All Paths - Fitter に指示して、次のタイミング要件と割り当てに合うようにします。— I/O ピンからレジスターへの tH from I/O pins to registers.— レジスターから I/O ピンへの 小 tCO

— I/O ピンまたはレジスターから I/O ピンへの 小 tPD

Optimize Timing ロジックオプションをディスエーブルした場合は、Optimize Hold Timing オプションは使用できません。

Optimize IOC RegisterPlacement for Timing

I/O ピンのタイミングを 適化するために、Fitter によってレジスターを I/O に自動的にパックし、遅延を小限に抑えるかどうかを指定します。• Normal - Fitter では、レジスターを I/O に便宜的にパックします。これにより、I/O タイミングが改善し

ます。• Pack All I/O Registers - Fitter では、レジスターが入力、出力、または出力イネーブルピンに接続

されている場合、それを I/O に積極的にパックします。ただし、ユーザーの制約またはその他の正当な制限によって妨げらている場合は例外です。

• Off - ペリフェラルからコアへの 適化は実行しません。

Optimize Multi-CornerTiming

Fitter への指示によって、 適化中のすべてのタイミングコーナーを考慮して、タイミング要件を満たします。このタイミング遅延コーナーには、高速コーナータイミングと低速コーナータイミングの両方が含まれます。このオプションはデフォルトで On です。Fitter でデザインを 適化する際に考慮するのは、低速コーナー遅延のほか、マルチコーナー遅延です。このオプションが Off の場合、Fitter でデザインを 適化する際に考慮するのは、低速コーナー・タイミング・モデル (特定のスピードグレードで も低速の製造デバイス、低電圧条件で動作) からの低速コーナー遅延のみです。このオプションを On にすると、通常、プロセス、温度、電圧の変動に対してより堅牢なデザイン実装が作成されます。Optimize Timing オプションを Off にした場合は、Optimize Multi-Corner Timing オプションは使用できません。

Optimize Timing Fitter による 適化によって 大遅延タイミング要件 (クロックサイクル時間など) を満たすかどうかを指定します。このオプションのデフォルト設定は、Normal compilation です。このオプションを Off にすると、相互接続要件が非常に高いデザインをフィットできます。このオプションを Off にすると、コンパイル時間が短縮されますが、タイミング・パフォーマンスが犠牲になります (Fitter によってデザインのタイミング要件が無視されるため)。このオプションが Off の場合、他の Fitter タイミング 適化オプションは効果がありません (Optimize Hold Timing など) 。

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

76

Page 77: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 39. Advanced Fitter Settings (6/8)

オプション 説明

Periphery to CorePlacement and RoutingOptimization

Fitter によって、ターゲットの配置配線を FPGA コア内のペリフェラル・ロジックとレジスターとの間の直接接続で 適化するかどうかを指定します。次のオプションが使用可能です。• Auto - Fitter では、転送の自動識別をタイトなタイミングウィンドウで行い、コアレジスターを配置し、ペ

リフェラルとの間のすべての接続を配線します。Fitter でこの配置配線を決定するのは、実行コアの残りの配置配線の前です。このシーケンスにより、このタイミング・クリティカルな接続によってタイミングが満たされ、配線のの輻輳が回避されます。

• On - Fitter によるペリフェラルとコアレジスターとの間のすべての転送の 適化は、タイミング要件に関係なく行われます。このオプションの設定は、グローバルに On にしないでください。代わりに、Assignment Editor を使用して、ノードまたはエンティティーのターゲットに 適化を割り当てます。

• Off - Fitter ではペリフェラルからコアへの 適化は実行しません。

注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

Physical Placement Effort 高度な物理配置 適化中に Fitter によって費やされる作業量を制御します。 High および Maximum の作業量の設定では、配置ソリューションをさらに 適化するため、追加のコンパイル時間が必要になります。

Placement EffortMultiplier

Fitter で配置に費やす相対時間を指定します。デフォルト値は 1.0 で、有効な値は 0 より大きくしてください。浮動小数点数を指定すると、配置作業の制御ができます。値を大きくすると CPU 時間は増加しますが、配置の品質が向上する可能性があります。例えば、値が「4」の場合は、フィッティング時間が約 2 倍から 4 倍長くなりますが、品質は向上します。

Power OptimizationDuring Fitting

Fitter への指示によってデバイスの総消費電力の削減を目的とした 適化を実行します。電力 適化フィッティングで使用可能な設定は次のとおりです。• Off - 電力 適化は実行しません。• Normal compilation - 電力 適化を実行します。コンパイル時間またはデザイン・パフォーマンスに

悪影響を及ぼす可能性は低いと考えられます。• Extra effort - 電力 適化を追加で実行します。デザイン・パフォーマンスに影響したり、コンパイル時

間が長くなる可能性があります。

表 40. Advanced Fitter Settings (7/8)

オプション 説明

Programmable PowerMaximum High-SpeedFraction of Used LABTiles

高速 LAB タイルの端数の上限を設定します。有効な値は 0.0 から 1.0 の間にしてください。デフォルト値は1.0 です。値が 1.0 の場合は、高速タイルの数に制限がないことを意味します。Fitter では、デザインのタイミング要件を満たすために必要な 小数を使用します。指定値を 1.0 未満にすると、タイミングの品質が低下する場合があります。これは、タイミング・クリティカルなリソースが低電力モードに強制されるためです。

Programmable PowerTechnology Optimization

Fitter によるコンフィグレーション方法を制御して、タイルを高速モードまたは低電力モードで動作させます。次のオプションが使用可能です。• Automatic - Fitter による電力の 小化が、タイミング・パフォーマンスを犠牲にせずに行われることを

指定します。• Minimize Power Only - Fitter の設定によって、 大数のタイルを低電力モードで動作させることを

指定します。• Force All Used Tiles to High Speed - Fitter の設定によって、すべての使用済みタイルを高速モー

ドで動作させることを指定します。• Force All Tiles with Failing Timing Paths to High Speed - 障害が発生したパスすべてを高

速モードに設定します。タイミングに合ったデザインの場合、この設定による動作は Automatic 設定に類似します。

障害が発生したデザインでは、パスに負のスラックがある場合、そのパスは高速モードになります。このモードでは、デザイン速度が向上する可能性は低いです。またく、スタティック消費電力が増加する場合があります。このモードは、タイミング・クロージャーのためにデザインし直す必要があるロジックパスを判断するのに役立つ場合があります。注意: インテル Arria 10 および インテル Cyclone 10 GX デバイスに対してのみ使用可能です。

Router TimingOptimization Level

ルーターでタイミング要件をどの程度積極的に満たそうとするかを制御します。このオプションを Maximumに設定すると、デザイン速度がわずかに向上しますが、コンパイル時間が長くなります。このオプションをMinimum 設定すると、コンパイル時間が短縮されますが、デザイン速度がわずかに遅くなります。デフォルト値は Normal です。

Run Early Place duringcompilation

フルコンパイル時に Early

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

77

Page 78: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

表 41. Advanced Fitter Settings (8 Place Fitter ステージをイネーブルします。この設定をオンにすると、Fitter の処理時間が長くなる場合があります。/8)

オプション 説明

SynchronizerIdentification

Compiler によって、メタスタビリティー分析に対する同期レジスター・チェーン・レジスターを識別する方法を指定します。同じクロック間にあり、ファンアウトがないレジスターのシーケンスです。同期レジスターチェーンは、別のクロックドメインのピンまたはロジックによって駆動されます。次のオプションが使用可能です。• Off - Timing Analyzer では、指定されたレジスター、または指定エンティティー内のレジスターは、同期レ

ジスターとして識別しません。• Auto - Timing Analyzer では、有効な同期レジスターがチェーンの一部であり、そのうち 1 つ以上のレジ

スターに組み合わせロジックが含まれない場合、その同期レジスターを識別します。Auto 設定を使用して、デザインに含まれる可能性のある同期チェーンのレポートを生成します。

• Forced if Asynchronous - Timing Analyzer では、ソフトウェアで非同期信号転送を検出すると、同期レジスターチェーンを識別します。これは、チェーン内に組み合わせロジックまたは 1 つのレジスターがしかない場合でも当てはまります。

• Forced - Timing Analyzer は、指定レジスター、または指定エンティティー内のすべてのレジスターをシンクロナイザーとして識別します。Forced オプションの適用は、デザイン全体のみにしてください。それ以外の場合は、デザイン内のすべてのレジスターがシンクロナイザーとして識別されます。

Fitter では、シンクロナイザーとして識別したレジスターを 適化して、Mean Time Between Failure(MTBF) を向上させます。ただしこれは、Optimize Design for Metastability をイネーブルした場合です。

同期レジスターチェーンの識別に Forced または Forced if Asynchronous オプションを使用すると、Timing Analyzer では、デザインタイミング要件を満たした場合、チェーンのメタスタビリティー MTBF をレポートします。

Treat Bidirectional Pinas Output Pin

Fitter によって双方向ピンを出力ピンとして扱うことを指定します。つまり、入力パスが出力パスからフィードバックされます。

Use Checkered Patternas uninitialized RAMContent

チェッカーパターンを初期 RAM コンテンツとして、すべての RAM ブロックにロードします。このとき、コンテンツの初期化をサポートする RAM コンテンツは指定しません。このオプションをオンにしても、シミュレーションには影響しません。このため、オンチップ動作がシミュレーション結果と異なる場合があります。

Weak Pull-Up Resistor デバイスがユーザーモードで動作しているとき、弱いプルアップ抵抗をイネーブルします。このオプションでは、高インピーダンス・バス信号を VCC にプルします。このオプションのイネーブルは、Enable Bus-HoldCircuitry オプションと同時にはしないでください。Fitter でこのオプションを無視するのは、ピン以外に適用した場合です。

1.12. デザインのコンパイルの改訂履歴

このドキュメントの改訂履歴は次のとおりです。

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

2019.10.20 19.3.0 • 「自動ゲートクロック変換」のトピックを追加しました。• 小さな乗算器の自動フラクタル合成に関する「フラクタル合成の 適化」および「フラ

クタル合成のイネーブルまたはディスエーブル」のトピックを更新しました。

2019.09.30 19.3.0 • インテル Agilex デバイスに対するサポートを文書全体に追加しました。• 「Global Signal Visualization レポート」のトピックを追加しました。• 「Global Router Wire Utilization Map」のトピックを追加しました。• 「Fast Preserve オプション」のトピックを追加しました。• 一部のトピックをデザインフローに合わせて並べ替えました。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

78

Page 79: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

2019.07.02 19.1 • 「フラクタル合成の 適化」のトピックに軽微な変更を加えました。• プロジェクト全体でのフラクタル合成のイネーブルに関する「合成の実行」のステップ

3a にメモを追加しました。• 「パーシャル・リコンフィグレーションのデザイン・ガイドライン」に

PRESERVE_FANOUT_FREE_NODE の合成に関する詳細を追加しました。• 「ステップ 3 : Fast Forward コンパイルおよび Hyper-Retiming を実行する」のタ

イプミスを修正しました。• 「タイミング駆動合成をイネーブルする」のトピックを削除しました。

2019.04.01 19.1 • 「合成の実行」で、プロジェクト全体でフラクタル合成をイネーブルする手順を削除しました。

• 「フラクタル合成の 適化」のトピックを更新して、乗算器の正則化および算術パッキング・アルゴリズムでサポートされるようになった符号付き乗算機能に関する説明を追加しました。

2019.01.03 18.1.0 • 「コンパイルの概要」にスナップショットによる説明と、「デザイン・パーティションのエクスポート」および「バージョン互換のコンパイル・データベースのエクスポート」の内容へのリンクを追加しました。

2018.10.19 18.1.0 • Rapid Recompile での Enable Intermediate Fitter Snapshots オプションの依存関係について説明しました。

2018.09.24 18.1.0 • 中間の Fitter スナップショットをイネーブルまたはディスエーブルするオプションについて説明し、それに伴ってコンパイルフローとダッシュボードの説明を更新しました。

• 「コンパイル結果のエクスポート」の項とサブトピックを追加しました。• 「バージョン互換のコンパイル・データベースのエクスポート」の項でフルチップ・デー

タベースの移行について説明しました。• 「デザイン・パーティションのエクスポート」の項で.qdb パーティションの自動エクス

ポートについて説明しました。• 「Quartus データベース・ファイル情報の表示」で QDB ファイルのメタデータの表示

について説明しました。• 「フラクタル合成の 適化」の項を追加し、新しいオプションの「合成の実行」の項の手

順を更新しました。• 新しい Compiler Optimization Mode、および .qsf によって追加される拡張 適

化モードに表示される注意事項について説明しました。• 新しい Global Signal Visualization レポートについて説明しました。• 「コンパイル結果に影響する要因」の項を追加しました。• 「Compilation Dashboard の使用」の項を追加しました。• Enable Auto-Pipelining 設定の説明を追加しました。• Enable Formal Verification Support の説明を「Advanced Synthesis

Settings」に追加しました。• Report PR Initial Values as Errors オプションの説明を「Advanced Synthesis

Settings」に追加しました。• Size of the Latch Report オプションの説明を「Advanced Synthesis Settings」

に追加しました。• Size of the PR Initial Conditions Report オプションの説明を「Advanced

Synthesis Settings」に追加しました。• Advanced Physical Synthesis オプションの説明を「Fitter Settings

Reference」に追加しました。• Allow DSP Retiming オプションの説明を「Fitter Settings Reference」に追加し

ました。• Allow Early Global Retiming in the Fitter オプションの説明を「Fitter

Settings Reference」に追加しました。• Allow Hyper-Aware Register Chain Area Optimizations in the Fitter オプ

ションの説明を「Fitter Settings Reference」に追加しました。• Allow RAM Retiming オプションの説明を「Fitter Settings Reference」に追加し

ました。continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

79

Page 80: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

• Number of Example Nodes Reported in Fitter Messagesオプションの説明を「Fitter Settings Reference」に追加しました。

• Physical Placement Effort オプションの説明を「Fitter Settings Reference」に追加しました。

• Use Checkered Pattern as uninitialized RAM Content オプションの説明を「Fitter Settings Reference」に追加しました。

• Auto 設定の Safe State Machine オプションの説明を更新しました。• Ignore ROW GLOBAL Buffers オプションのサポートを削除しました。• Ignore CARRY Buffers オプションのサポートを削除しました。• Ignore CASCADE Buffers オプションのサポートを削除しました。

2018.05.07 18.0.0 • 適化モードの項を更新して、Compile Time (Aggressive) を追加しました。• 同時解析の内容を Early Place フローの項から新しい合成またはフィッティング中の

同時解析の項に移動しました。• Rapid Recompile で インテル Stratix 10 デバイスをサポートするようになりまし

た。• Retime Stage のレポートの説明を強化しました。• Retime Stage の説明を強化して、従来のレジスターのリタイミングを含めました。

表 42. 改訂履歴

日付 バージョン 変更内容

2017.11.06 17.1.0 • インテル Stratix 10 Hyper-Aware デザインフロー、Hyper-Retiming、FastForward コンパイル、Fast Forward Viewer のサポートを追加しました。

• Advanced HyperFlex Settings のトピックを追加しました。• リタイミングの制限と対処方法のトピックを追加しました。• RAM および DSP ブロック全体のリタイミングの Fast Forward コンパイルのサ

ポートに関する説明を追加しました。• 同時解析のトピックを追加しました。• Fitter スナップショットの解析の項を追加しました。• Compilation Dashboard の Early Place ステージ制御の図を追加しました。• Early Place 後の late_place の実行• 新の Intel 命名規則に更新しました。

2017.05.08 17.0.0 • Cyclone 10 GX デバイスの初期コンパイルサポートへの参照を追加しました。• Early Place 後の同時解析について説明しました。• Compilation Dashboard の図を Timing Analyzer、Report、Setting、および

Concurrent Analysis 制御に対して更新しました。• Advanced Synthesis Settings の Auto DSP Block Replacement の説明

を更新しました。• Advanced Fitter Settings のレジスターのリタイミングの許可の説明を更新し

ました。また、Advanced Fitter Settings の廃止された SSN Optimization オプションを削除しました。

• レジスターのリタイミング防止の項を追加しました。• 合成中のレジスターの保持の項を追加しました。• Safe State Machine ロジックオプションの制限を削除しました。• パーシャル・リコンフィグレーションおよびブロックベースのデザインのフローへ

の参照を追加しました。

2016.10.31 16.1.0 • インテルにブランド名を変更しました。• Compiler のスナップショットについて説明し、スナップショットのタイミング解

析の項を追加しました。• プロジェクト・ディレクトリーの構造図を更新しました。• Fitter ステージの新しいメニューコマンドとレポートについて説明しました。

continued...

1. デザインのコンパイルUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

80

Page 81: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

日付 バージョン 変更内容

• Early Place フロー、Implement フロー、および Finalize フローの説明を追加しました。

• Fitter のインクリメンタル 適化の説明を追加しました。• 章内の項の順序を再編成しました。• 非推奨の Per-Stage Compilation (Beta) コンパイルフローを削除しまし

た。

2016.05.03 16.0.0 • Fitter Plan、 Place、および Route ステージ、レポート、および 適化の説明を追加しました。

• 非推奨の Per-Stage Compilation (Beta)コンパイルフローを削除しました。

• Compilation Dashboard の情報を追加しました。• Safe State Machine ロジックオプションのサポートを削除しました。safe ス

テートは RTL でエンコードします。• ダイナミック合成レポートの生成の項を追加しました。• Quartus プロジェクト・ディレクトリーの構造を更新しました。

2015.11.02 15.1.0 • 初版

1. デザインのコンパイルUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

81

Page 82: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

2. コンパイル時間の短縮

さまざまな手法を使用して、 インテル Quartus Prime Compiler での合成およびフィッティングに必要な時間を短縮することができます。

2.1. コンパイル結果に影響を与える要因

次のプロジェクト設定、ハードウェア、またはソフトウェアへの変更は、それぞれのコンパイルの結果に影響する可能性があります。

• プロジェクト・ファイル - プロジェクト設定 (.qsf、quartus2.ini)、デザインファイル、およびタイミング制約 (.sdc) への変更によって結果が変更されることがあります。

• 設定によってコンパイル中のプロセッサーの数が変更される場合、コンパイル結果に影響を与えることがあります。

• ハードウェア - CPU アーキテクチャー。ハードディスクまたはメモリーサイズの違いは含まれません。Windows XP x32 の結果は、Windows XP x64 の結果と同一ではありません。Linux x86 の結果は、Linux x86_64 と同一ではありません。

• インテル Quartus Prime 開発ソフトウェアのバージョン - ビルド番号とインストール済みの暫定アップデートが含まれます。この情報を得るには、Help > About をクリックします。

• オペレーティング・システム - Windows または Linux オペレーティング・システム (バージョン・アップデートを除く)。たとえば、Windows XP、Windows Vista、および Windows 7 の結果は同一です。同様に、Linux RHEL、CentOS 4、および CentOS 5 の結果は同一です。

2.2. Compilation Time Advisor

Compilation Time Advisor は、 インテル Quartus Prime GUI にあります。入手するには、Tools > Advisors > Compilation Time Advisor をクリックします。この章では、Compilation Time Advisor で使用可能なコンパイル時間 適化のすべての方法について説明します。

2.3. 合計コンパイル時間の短縮方法

次の方法を使用して、デザインのコンパイルに必要な合計時間を短縮します。

• 並列コンパイル (システムに複数のプロセッサー・コアがある場合)

• Rapid Recompile と Smart Compilation では、以前のコンパイルの結果を再利用して、合計コンパイル時間を短縮します。

UG-20132 | 2019.12.16

フィードバック

Intel Corporation.無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Altera、ARRIA、CYCLONE、ENPIRION、MAX、NIOS、QUARTUS および STRATIX の名称およびロゴは、アメリカ合衆国および/ またはその他の国における Intel Corporationの商標です。インテルは FPGA 製品および半導体製品の性能がインテルの標準保証に準拠することを保証しますが、インテル製品およびサービスは、予告なく変更される場合があります。インテルが書面にて明示的に同意する場合を除き、インテルはここに記載されたアプリケーション、または、いかなる情報、製品、またはサービスの使用によって生じるいっさいの責任を負いません。インテル製品の顧客は、製品またはサービスを購入する前、および、公開済みの情報を信頼する前には、デバイスの仕様を 新のバージョンにしておくことをお勧めします。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ISO9001:2015登録済

Page 83: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

2.3.1. Rapid Recompile の実行

Rapid Recompile 中、Compiler では、以前の合成およびフィッティングの結果をできるだけ再利用し、未変更のデザインブロックの再処理は行いません。Rapid Recompile を使用して、軽微なデザイン変更を行った後のタイミングのばらつきと合計リコンパイル時間を削減します。

図 -59: Rapid Recompile

Regular Compile

A

BC

D

E

J Gx y z

Unchanged

Changed

RapidRecompile

Rapid Recompile を実行するには、次の手順に従います。

1. 初期コンパイルの前に、Assignments > Settings > Compiler Settings をクリックし、Enable Intermediate Fitter Snapshots をオンにします。このオプションをイネーブルして、後で Rapid Recompile 機能を使用します。

2. Rapid Recompile を初期コンパイルの後 (または Fitter の Route ステージの実行後)、Processing > Start > Start Rapid Recompile をクリックします。Rapid Recompile による次の種類のデザイン変更の実装には、フル・リコンパイルは行いません。

• Signal Tap Logic Analyzer によってタップされたノードの変更

• 組み合わせロジック関数の変更

• ステートマシン・ロジックの変更 (例 : 新しいステート、ステート遷移の変更)

• 信号またはバスのレイテンシーの変更、またはパイプライン・レジスターの追加

• 加算器または乗算器の係数の変更

• DSP、RAM、または I/O のレジスターパッキング動作の変更

• 不要なロジックの削除

• 合成ディレクティブの変更

3. Rapid Recompile Preservation Summary レポートをクリックすると、保持されたコンパイル結果の割合に関する詳細情報が表示されます。

図 -60: Rapid Recompile Preservation Summary

2. コンパイル時間の短縮UG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

83

Page 84: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

2.3.2. マルチプロセッサー・コンパイルのイネーブル

Compiler では、複数のプロセッサーを検出、使用して、コンパイル時間を短縮します。Compiler で使用するプロセッサーの数を指定してください。 インテル Quartus Prime 開発ソフトウェアでは、 大でプロセッサーを 16 個使用して、アルゴリズムを並列実行します。Compiler では、デフォルトで並列コンパイルを使用します。プロセッサーの一部を他のタスク用に予約するには、ソフトウェアで使用するプロセッサーの 大数を指定します。

この方法で短縮できるコンパイル時間は、処理コアが 2 個あるシステムでは 大 10%、コアが 4 個あるシステムでは 大 20%です。タイミング解析を単独で実行する場合、2 個のプロセッサーによってタイミング解析時間が平均 10%短縮されます。プロセッサーを 4 個使用する場合は、タイミング解析時間の削減は平均 15%に達します。

インテル Quartus Prime 開発ソフトウェアでは、ユーザーが指定したプロセッサーのすべてが、必ずしも特定のコンパイル中に使用されるわけではありません。また、使用するプロセッサーの数が、指定より多くなることはありません。このため、他のタスクを行う際に、コンピューターの速度が遅くなることはありません。複数のプロセッサーを使用しても、フィッティング品質への影響はありません。指定した Fitterシードの場合、特定のデザインで Maximum processors allowed 設定にすると、フィッティングはまったく同じで確定的です。これは、ターゲットマシンや使用可能なプロセッサーの数に関係なく成立します。異なる Maximum processors allowed 仕様によって生成される結果は異なりますが、品質は同じです。その影響は、Fitter シード設定の変更に類似しています。

デザインのコンパイル後にマルチプロセッサーのコンパイルをイネーブルするには、次の手順を実行します。

1. インテル Quartus Prime プロジェクトを開くか作成します。

2. Assignments > Settings > Compiler Settings をクリックします。

3. Parallel compilation で、Compiler で使用するプロセッサー数のオプションを指定します。

4. コンパイル後の Parallel Compilation レポートのプロセッサー使用に関する詳細情報が表示されます。

コンパイルするプロセッサーの数をコマンドラインで指定するには、次の Tcl コマンドをスクリプトで使用します。

set_global_assignment -name NUM_PARALLEL_PROCESSORS <value>

この場合、<value> は 1 から 16 の整数です。

インテル Quartus Prime 開発ソフトウェアを使用してプロセッサー数を検出し、すべてのプロセッサーをコンパイルに使用するには、次の Tcl コマンドをスクリプトに含めます。

set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL

注意:

Compiler では、 Intel Hyper-Threading® Technology (Intel® HT Technology) を 1個のプロセッサーとして検出します。お使いのシステムに Intel HT Technology 搭載のプロセッサーが 1 個含まれている場合は、プロセッサー数を 1 に設定します。 Intel HTTechnology は、 インテル Quartus Prime コンパイルには使用しないでください。

2.3.3. ブロックベースのコンパイルの使用

デザインプロセス中、配置およびタイミング要件を満たす機能ブロックは、変更および 適化を実行中の他の機能ブロックから分離することができます。機能ブロックをパーティションに分離し、選択した領域に 適化手法を適用して、その領域だけのコンパイルができます。

2. コンパイル時間の短縮UG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

84

Page 85: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

ブロックベースのコンパイルを使用する場合、Fast Preserve オプションをイネーブルすると、保持されたパーティションのロジックを減らして、コンパイル中にインターフェイス・ロジックだけにすることができます。これにより、Compiler によって必要とされるパーティションの合成、配置、配線の時間が短縮されます。インターフェイス・ロジックは、パーティション境界にあるロジックです。インターフェイス・ロジックは、デザインの残りの部分と相互接続します。

機能ブロックを分割するパーティションを作成するには次の手順に従います。

1. Design Partition Planner で、パーティション化に適したサイズのブロックを特定します。

一般に、パーティションは、デザイン全体のサイズの約 15% から 20% です。各エンティティーの上部にあるバーの下の情報領域を使用します。

図 -61: Design Partition Planner でのエンティティーの表示

Percent of total design size

2. エンティティーを必要に応じて抽出したり、折りたたんだりして、スタンドアロン・ブロックになるようにします。

3. 希望サイズのエンティティーにはそれぞれ、関連するロジックのブロックが含まれます。エンティティーを右クリックし、Create Design Partition をクリックして、そのエンティティーをそれ自体のパーティションに配置します。

目的は、関連するロジックのブロックをパーティションに含めることです。

4. Fast Preserve オプションをイネーブルし、保持されたパーティションのロジックを単純化して、コンパイル中にインターフェイス・ロジックのみにするには、Assignments > Settings >Compiler Settings > Incremental Compile > Fast Preserve をクリックします。

関連情報インテル Quartus Prime プロ・エディション ユーザーガイド: ブロックベースのデザイン

2.3.4. レジスターのパワーアップ初期化のディスエーブル

レジスタのパワーアップ初期化をディスエーブルすることで、ビットストリームの初期化プロセスを高速化し、ビットストリームのサイズを小さくして (より小さいコンフィグレーション・デバイスを選択できるようにし)、コンフィグレーション時間を短縮します。

重要: • このオプションが使用可能なのは インテル Stratix 10 および インテル Agilex デバイスの場合のみです。

• パワーアップ・ステートに依存する 適化はディスエーブルされます。

• ビットストリーム・アセンブラーによるビットストリームの作成時には、レジスターのパワーアップ初期化は行われません。

初期化をディスエーブルするには、Device and Pin Options ダイアログで Disable RegisterPower-up Initialization オプションをイネーブルします。

2. コンパイル時間の短縮UG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

85

Page 86: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -62: Device and Pin Options

Disable Register Power-up Initialization オプションをイネーブルすると、Synthesis では、次の図に示すように、レジスターに対する警告をパワーアップに注意して出力します。

図 -63: レジスターに対する警告

レジスターが定義済みのパワーアップ・ステートにあって、Compiler による保持ができない場合、そのレジスターを表示するには、Registers with Explicit Power-up Settings レポートを参照してください。

2. コンパイル時間の短縮UG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

86

Page 87: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

図 -64: Registers with Explicit Power-up Settings レポート

レジスターのパワーアップ・ステートに依存したデザインのリセットができなくなった場合に必要なリセット方法に関する詳しい情報は、 Intel Quartus Prime プロ・エディションユーザーガイド:パーシャル・リコンフィグレーション内のパーシャル・リコンフィグレーションのデザインフローを参照してください。

関連情報• Intel Stratix 10 Configuration Bit Stream Sizes

• Intel Stratix 10 Reset Release IP

2.4. 合成時間および合成ネットリスト最適化時間の短縮

Fitter 時間に影響を与えずに合成時間を短縮するには、ネットリスト 適化の使用を削減します。サードパーティーの EDA 合成ツールを使用する場合の合成時間を短縮するためのヒントについては、合成ソフトウェアのドキュメントを参照してください。

2.4.1. 合成時間および合成ネットリスト最適化時間の短縮の設定

合成ネットリストおよび物理合成 適化の設定により、大規模デザインの合計コンパイル時間が大幅に増える可能性があります。Analysis & Synthesis メッセージを参照して、 適化時間の長さを決定してください。

合成ネットリストまたは物理合成の 適化を行わなくても、デザインがすでにパフォーマンス要件を満たしている場合は、このオプションをオフにしてコンパイル時間を短縮します。パフォーマンスを満たすために合成ネットリストの 適化が必要な場合は、デザイン階層のパーティションを個別に 適化して、解析と合成に費やされる合計時間を削減します。

2.4.2. 適切なコーディング・スタイルを使用した合成時間の短縮

HDL コーディング・スタイルもまた、合成時間に影響する可能性があります。例えば、コードから RAM ブロックを推論する場合は、RAM 推論のガイドラインに従ってください。RAM ブロックが正しく推論されない場合、ソフトウェアでは、そのブロックをレジスターとして実装します。

2. コンパイル時間の短縮UG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

87

Page 88: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

大きなメモリーブロックを推論する場合、ソフトウェアでは FPGA 内のリソースをより多く消費します。これによって配線の輻輳が発生し、コンパイル時間が大幅に増加する可能性があります。特定のブロックでの配線使用率が高い場合は、そのブロックのコードを確認することをお勧めします。

2.5. 配置時間の短縮

デザインの配置に必要な時間は、次の 2 つの要因によって異なります。1 つはデザイン内のロジックをデバイスに配置する方法が何通りあるかです。もう 1 つは、適切な配置を見つけるのに必要な作業量を制御する設定です。

配置時間を短縮するために、配置アルゴリズムの設定を変更します。

場合によっては、配置時間と配線時間との間にトレードオフがあります。適切な配置を見つけるために配置プログラムを十分長い時間実行しないと、配線時間が長くなる可能性があります。配置時間を短縮した場合は、それによって配線時間が増加して合計時間の短縮が無効にならないようにします。

2.5.1. Placement Effort Multiplier の設定

Fitter によって配置に費やされる時間を制御するには、Placement Effort Multiplier オプションを使用して時間を短縮します。

Assignments > Settings > Compiler Settings > Advanced Settings (Fitter) をクリックして、Placement Effort Multiplier の値を指定します。デフォルトでは 1.0 です。有効値は 0 より大きくしてください。整数以外の値も指定可能です。0 から 1 までの数を使用すると、フィッティング時間が短縮されます。ただし、配置品質とデザイン・パフォーマンスが低下する可能性があります。

2.6. 配線時間の短縮

配線時間は通常、コンパイル時間のわずかな部分です。デザインの配線に必要な時間は、次の 3 つの要素によって異なります。デバイス・アーキテクチャー、デバイス内へのデザインの配置、デザインの異なる部分間の接続性です。

デザインの配線に長い時間がかかる場合は、次の操作を 1 つ以上実行します。

• 配線の輻輳がないか確認する。

• Fitter Aggressive Routability Optimization をオフにする。

2.6.1. Chip Planner による配線の輻輳の特定

デザイン内で配線の輻輳が発生している領域を特定するには、次を実行します。

1. Tools > Chip Planner をクリックします。

2. 配線の輻輳を Chip Planner で表示するには、Tasks リストの Report Routing Utilizationコマンドをダブルクリックします。

3. Report Routing Utilization ダイアログボックスで Preview をクリックして、デフォルトの輻輳表示をプレビューします。

4. Routing utilization type を変更して、特定のリソースの輻輳を表示します。デフォルト表示では、輻輳が 0%の場合は濃い青色、100%の場合には赤色が使用されます。

5. Threshold percentage のスライダーを調整して、輻輳しきい値レベルを変更します。

2. コンパイル時間の短縮UG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

88

Page 89: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

インテル Quartus Prime のコンパイルメッセージには、インターコネクトの平均およびピーク使用率に関する情報が含まれています。インターコネクト 大使用率が 75%以上、またはインターコネクト平均使用率が 60%以上の場合は、デザインのフィッティングが困難である可能性を示しています。同様に、インターコネクト 大使用率が 90%以上、またはインターコネクト平均使用率が 75%以上の場合は、有効なフィッティングが得られない可能性が高いことを示しています。

2.6.1.1. 配線の輻輳がある領域

平均輻輳が高くない場合でも、デザイン内に特定タイプの輻輳が多い領域が含まれている可能性があります。Chip Planner を使用して、特定のインターコネクト・タイプについて輻輳度の高い領域を特定することができます。

• デザインの接続を変更して、配線の輻輳を削減することができます。

• 配線の輻輳が発生しているエリアが、Logic Lock (Standard) 領域内または Logic Lock(Standard) 領域間にある場合は、Logic Lock (Standard) 領域を変更または削除して、デザインを再コンパイルします。

— 配線時間が変わらない場合は、その配線時間はデザインおよび配置の特性です。

— 配線時間が短くなった場合は、Logic Lock (Standard) 領域のサイズ、位置、または内容を変更して、配線の輻輳の削減と配置時間の短縮を検討してください。

関連情報インテル Quartus Prime プロ・エディション ユーザーガイド: デザイン 適化

2.6.1.2. HDL コーディング・スタイルが原因の輻輳

場合によっては、配線輻輳は、デザインで使用している HDL コーディング・スタイルの結果である可能性があります。 Chip Planner を使用して輻輳領域を特定したら、その領域に配置されているブロックのHDL コードを確認し、コード変更によってインターコネクト使用率を削減できるかどうか判断します。

2.7. スタティック・タイミング解析時間の短縮

タイミング駆動型合成を実行している場合、 インテル Quartus Prime 開発ソフトウェアによるTiming Analyzer は、Analysis and Synthesis 中に実行されます。

インテル Quartus Prime Fitter ではまた、Timing Analyzer を配置配線中に実行します。不正確な制約が Synopsys Design Constraints File (.sdc) にある場合、 インテル Quartus Prime 開発ソフトウェアでは、不必要な時間を費やして何度も制約を処理する場合があります。

• デザインにフォールスパスやマルチサイクル・パスを指定しない場合、Timing Analyzer で解析するパスは、デザインに関連のないものである可能性があります。

• .sdc ファイルの制約を再定義した場合、Timing Analyzer ではさらに時間をかけて処理することがあります。このような状況を回避するには、Synopsis デザイン制約が再定義されていることをコンパイルメッセージで確認し、.sdc ファイルを更新します。

• デザインには必ず正しいタイミング制約を指定してください。これは、どのパスをフォールスパスやマルチサイクル・パスと見なすなどのデザインの意図は、ソフトウェアでは想定できないためです。このようなアサインメントを正しく指定すれば、Timing Analyzer によってそのパスの解析はスキップし、Fitter によって余分な時間を費やしてそのパスの 適化を行うことはありません。

2. コンパイル時間の短縮UG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

89

Page 90: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

2.8. プロセスの優先順位の設定

コンパイルに割り当てられているコンピューティング・リソースの削減は、コンパイル時間の増加を犠牲にしてでも必要な場合があります。他のタスクを同時に実行しなければならない場合は、シングル・プロセッサー・マシンを使用してコンパイルに対するリソース割り当てを減らすと便利です。

関連情報Processing Page (Options Dialog Box)

インテル Quartus Prime Help 内

2.9. コンパイル時間の短縮の改訂履歴

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

2019.11.11 19.3.0 • 「ブロックベースのコンパイルの使用」の項に Fast Preserve オプションのサポートを追加しました。

2019.09.30 19.3.0 • インテル Agilex デバイスに対するサポートを文書全体に追加しました。

2019.07.02 19.1 レジスターなしの初期化フローの使用の項を追加しました。

2018.10.19 18.1.0 • Enable Intermediate Fitter Snapshots オプションでの Rapid Recompile の依存関係について説明しました。

2017.11.06 17.1.0 • ブロックベースのコンパイルの使用の項を追加しました。

日付 バージョン 変更内容

2017.05.08 17.0.0 • マルチプロセッサー・コンパイルの適合品質に対する影響を明確にしました。• 非推奨の Fitter Effort Logic オプションへの参照を削除しました。• インクリメンタル・コンパイルによる配線の保持の項を削除しました。

2016.10.31 16.1.0 • インテルにブランド名を変更しました。

2016.05.02 16.0.0 • 複数のプロセッサーでの並列コンパイルの使用のタイプミスを訂正しました。• 非推奨の物理合成オプションに関する情報を削除しました。

2015.11.02 15.1.0 Quartus II のインスタンスを インテル Quartus Prime に変更しました。

2014.12.15 14.1.0 • Fitter Settings、Analysis & Synthesis Settings、および Physical Synthesis Optimizations toCompiler Settings の場所を更新しました。

• Rapid Recompile 機能についての情報を追加しました。

2014.08.18 14.0a10.0 Arria 10 デバイスのスマートコンパイルに関する制約を追加しました。

2014 年 6 月 14.0.0 フォーマットを更新しました。

2013 年 5 月 13.0.0 「Limit to One Fitting Attempt」、「Using Early Timing Estimation」、「Final PlacementOptimizations」、および「Using Rapid Recompile」の項を削除しました。「Placement Effort Multiplier Settings」の項を更新しました。「Identifying Routing Congestion in the Chip Planner」の項を更新しました。章全体で一般的な編集上の変更を行いました。

2012 年 6 月 12.0.0 サーベイリンクを削除しました。

2011 年 11 月 11.0.1 テンプレートを更新しました。

continued...

2. コンパイル時間の短縮UG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

90

Page 91: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

日付 バージョン 変更内容

2011 年 5 月 11.0.0 • 「Using Parallel Compilation with Multiple Processors」のタイプミスを訂正しました。• 「Identifying Routing Congestion in the Chip Planner」を更新しました。• 章全体で一般的な編集上の変更を行いました。

2010 年 12 月 10.1.0 • テンプレートを更新しました。• 相互接続のピークと平均の使用率に関する詳細を追加しました。• 新しい「Reducing Static Timing Analysis Time」の項を追加しました。• 章全体に軽微な変更を行いました。

2010 年 7 月 10.0.0 初版

2. コンパイル時間の短縮UG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

91

Page 92: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

3. Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

この表にソフトウェア・バージョンが表示されていない場合は、ソフトウェアの旧バージョンのユーザーガイドが適用されます。

インテル Quartus Prime バージョン

ユーザーガイド

19.3 Intel Quartus Prime Pro Edition User Guide: Design Compilation

19.1 Intel Quartus Prime Pro Edition User Guide: Design Compilation

18.1 Intel Quartus Prime Pro Edition User Guide: Design Compilation

18.0 Compiler User Guide Intel Quartus Prime Pro Edition

UG-20132 | 2019.12.16

フィードバック

Intel Corporation.無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Altera、ARRIA、CYCLONE、ENPIRION、MAX、NIOS、QUARTUS および STRATIX の名称およびロゴは、アメリカ合衆国および/ またはその他の国における Intel Corporationの商標です。インテルは FPGA 製品および半導体製品の性能がインテルの標準保証に準拠することを保証しますが、インテル製品およびサービスは、予告なく変更される場合があります。インテルが書面にて明示的に同意する場合を除き、インテルはここに記載されたアプリケーション、または、いかなる情報、製品、またはサービスの使用によって生じるいっさいの責任を負いません。インテル製品の顧客は、製品またはサービスを購入する前、および、公開済みの情報を信頼する前には、デバイスの仕様を 新のバージョンにしておくことをお勧めします。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ISO9001:2015登録済

Page 93: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

A. Intel Quartus Prime プロ・エディション ユーザーガイド

Intel Quartus Prime プロ・エディション FPGA デザインフローのすべてのフェーズの包括的情報については、次のユーザーガイドを参照してください。

関連情報• Intel Quartus Prime プロ・エディション使い始めユーザーガイド

Intel Quartus Prime プロ・エディション開発ソフトウェアの基本的な機能、ファイル、およデザインフローについて説明します。これには、 Intel Quartus Prime プロ・エディションプロジェクトおよび IP の管理、初期デザインのプランニング時における考慮事項、旧ソフトウェア・バージョンからのプロジェクト・マイグレーションが含まれます。

• Intel Quartus Prime Pro Edition User Guide: Platform DesignerPlatform Designer を使用したシステムの作成および 適化について説明します。PlatformDesigner は、システム統合ツールとして、カスタマイズされた IP コアのプロジェクトへの統合を簡略化します。また、相互接続ロジックを自動生成して、知的財産 (IP) 機能とサブシステムを接続します。

• Intel Quartus Prime Pro Edition User Guide: Design RecommendationsIntel Quartus Prime プロ・エディション開発ソフトウェアを使用して FPGA をデザインするための 良のデザイン方法について説明します。HDL コーディング・スタイルと同期デザインの実行方法は、デザイン性能に大きく影響します。推奨される HDL コーディング・スタイルに従うことで、 Intel Quartus Prime プロ・エディション合成では、デザインをハードウェアに 適な形で実装します。

• Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイルIntel Quartus Prime プロ・エディション Compiler のすべてのステージでのセットアップ、実行方法、および 適化について説明します。Compiler では、デザインを合成および配置配線をデバイス・プログラミング・ファイルの生成前に行います。

• Intel Quartus Prime プロ・エディション ユーザーガイド: デザイン 適化Intel Quartus Prime プロ・エディションの設定、ツール、および手法について説明します。これにより、 Intel FPGA で 大限のデザイン性能を実現します。手法には、デザイン・ネットリストの 適化、リタイミングとタイミング・クロージャーを制限するクリティカル・チェーンのへ対応、デバイスリソース使用量の 適化、デバイス・フロアプラン、および設計 変更指示 (ECO)が含まれます。

• Intel Quartus Prime プロ・エディション ユーザーガイド: プログラマーIntel Quartus Prime プロ・エディション Programmer の操作方法について説明します。Intel Quartus Prime プロ・エディション Programmer を使用すると、インテル FPGA ダウンロード・ケーブルとの接続を介したインテル FPGA デバイスのコンフィグレーションおよびCPLD とコンフィグレーション・デバイスのプログラミングが可能になります。

• Intel Quartus Prime プロ・エディション ユーザーガイド: ブロックベースのデザインブロックベースのデザインフローについて説明します。ブロックベースのデザインフローは、モジュラーまたは階層デザインフローとも呼ばれます。この高度なフローにより、プロジェクト内でのデザインブロック(または階層デザイン・インスタンスを構成するロジック) の保持と他のプロジェクトでのデザインブロックの再利用が可能になります。

UG-20132 | 2019.12.16

フィードバック

Intel Corporation.無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Altera、ARRIA、CYCLONE、ENPIRION、MAX、NIOS、QUARTUS および STRATIX の名称およびロゴは、アメリカ合衆国および/ またはその他の国における Intel Corporationの商標です。インテルは FPGA 製品および半導体製品の性能がインテルの標準保証に準拠することを保証しますが、インテル製品およびサービスは、予告なく変更される場合があります。インテルが書面にて明示的に同意する場合を除き、インテルはここに記載されたアプリケーション、または、いかなる情報、製品、またはサービスの使用によって生じるいっさいの責任を負いません。インテル製品の顧客は、製品またはサービスを購入する前、および、公開済みの情報を信頼する前には、デバイスの仕様を 新のバージョンにしておくことをお勧めします。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。

ISO9001:2015登録済

Page 94: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• Intel Quartus Prime プロ・エディション ユーザーガイド: パーシャル・リコンフィグレーションパーシャル・リコンフィグレーションについて説明します。高度なデザインフローであるパーシャル・リコンフィグレーションでは、FPGA の一部分のダイナミック・リコンフィグレーションが可能です。この間、FPGA デザインの他の部分の動作は継続します。複数のペルソナの定義を特定のデザイン領域に対して行う際に、他のエリアの動作には影響を与えません。

• Intel Quartus Prime プロ・エディション ユーザーガイド: サードパーティー・シミュレーションAldec*、 Cadence*、 Mentor Graphics 、および Synopsys が提供するサードパーティー・シミュレーション・ツールに対する RTL レベルおよびゲートレベルのデザイン・シミュレーションのサポートについて説明します。このツールを使用すると、デザインの挙動の検証の実行が、デバイス・プログラミングの前に可能になります。これには、シミュレーター・サポート、シミュレーション・フロー、および Intel FPGA IP のシミュレーションが含まれます。

• Intel Quartus Prime プロ・エディション ユーザーガイド: サードパーティー合成Mentor Graphics および Synopsys が提供するサードパーティー合成ツールにおけるデザインのオプション合成サポートについて説明します。これには、デザインフローのステップ、生成されたファイルの説明、および合成ガイドラインが含まれます。

• Intel Quartus Prime Pro Edition User Guide: Third-party Logic EquivalenceChecking Tools

デザインのロジック同値チェック (LEC) を OneSpin*製サードパーティーの LEC ツールでオプションとして行う場合のサポートについて説明します。

• Intel Quartus Prime プロ・エディション ユーザーガイド: デバッグツールデザインのリアルタイム検証に使用する Intel Quartus Prime プロ・エディション インシステム・デザイン・デバッグ・ツールのポートフォリオについて説明します。このツールは、デザイン内の信号をデバッグロジックにルーティング (または「タッピング」) することで可視性を提供します。このツールには、System Console、Signal Tap ロジック・アナライザー、TransceiverToolkit、In-System Memory Content Editor、および In-System Sources and ProbesEditor が含まれます。

• Intel Quartus Prime プロ・エディション ユーザーガイド : タイミング解析スタティック・タイミング解析の基本原理と Intel Quartus Prime プロ・エディション タイミング・アナライザーの使用方法について説明します。 Intel Quartus Prime プロ・エディション タイミング・アナライザーは、ASIC 形式の強力なタイミング解析ツールとして、デザイン内のすべてのロジックのタイミング・パフォーマンスを検証するために、業界標準の制約、解析、およびレポート手法を使用します。

• Intel Quartus Prime プロ・エディション ユーザーガイド: 消費電力の解析と 適化Intel Quartus Prime プロ・エディション消費電力解析ツールについて説明します。 IntelQuartus Prime プロ・エディション消費電力解析ツールは、デバイスの消費電力を高精度で見積もります。デバイスの消費電力を見積もることで、電力バジェットとデザイン電源、電圧レギュレーター、ヒートシンク、および冷却システムの開発ができます。

• Intel Quartus Prime プロ・エディション ユーザーガイド: デザイン制約ピン・アサインメント、デバイスオプション、ロジックオプション、およびタイミング制約といったCompiler によるデザインの実装方法に影響するタイミングおよびロジック制約について説明します。Interface Planner を使用して、インターフェイス実装のプロトタイプの作成、クロックのプランニング、および正当なデバイス・フロアプランを迅速に定義します。Pin Planner を使用して、ターゲットデバイスをグラフィカルに表示し、すべての I/O アサインメントを可視化、編集、および検証します。

• Intel Quartus Prime プロ・エディション ユーザーガイド: PCB デザインツールMentor Graphics および Cadence* によるオプションのサードパーティー PCB デザインツールのサポートについて説明します。HSPICE モデルと IBIS モデルによるシグナル・インテグリティー解析およびシミュレーションに関する情報も含まれています。

A. Intel Quartus Prime プロ・エディション ユーザーガイドUG-20132 | 2019.12.16

Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル フィードバック

94

Page 95: Intel Quartus Prime プロ・エディション ユーザーガイド...Intel® Quartus ® Prime プロ・エディション ユーザーガイド デザインのコンパイル インテル

• Intel Quartus Prime プロ・エディション ユーザーガイド: スクリプティングTcl およびコマンドライン・スクリプトの使用について説明します。これにより、 Intel QuartusPrime プロ・エディション開発ソフトウェアを制御し、プロジェクトの管理、制約の指定、コンパイルあるいはタイミング解析の実行、レポートの生成などの広範囲におよぶ機能が実行できます。

A. Intel Quartus Prime プロ・エディション ユーザーガイドUG-20132 | 2019.12.16

フィードバック Intel Quartus Prime プロ・エディション ユーザーガイド: デザインのコンパイル

95