インテル quartus prime プロ・エディショ ンユーザーガイド · 中間fitter...

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

Upload: others

Post on 13-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

更新情報フィードバック

UG-20132 | 2018.09.24

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

Page 2: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

目次

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

1.1.1. Compilation Dashboard の使用......................................................................51.1.2. コンパイルフロー..........................................................................................61.1.3. デザイン合成............................................................................................... 71.1.4. デザインの配置配線.......................................................................................81.1.5. コンパイルの階層..........................................................................................9

1.2. 合成の実行............................................................................................................. 91.2.1. 合成中のレジスターの保存............................................................................. 111.2.2. タイミング駆動合成の有効化.......................................................................... 111.2.3. フラクタル合成の最適化................................................................................111.2.4. 合成レポート............................................................................................. 141.2.5. 合成またはフィッティング中の同時解析.............................................................. 16

1.3. Fitter の実行.........................................................................................................161.3.1. Fitter ステージコマンド................................................................................ 171.3.2. インクリメンタル最適化のフロー...................................................................... 181.3.3. Fitter スナップショットの解析......................................................................... 201.3.4. 物理合成最適化の有効化...............................................................................261.3.5. Fitter レポートの表示...................................................................................27

1.4. フルコンパイルの実行...............................................................................................311.5. Hyper-Aware デザインフロー.................................................................................... 32

1.5.1. ステップ 1:レジスターのリタイミングの実行.........................................................351.5.2. ステップ 2:リタイミング結果の確認.................................................................. 361.5.3. ステップ 3: Fast Forward コンパイルと Hyper-Retiming の実行..............................381.5.4. ステップ 4:Hyper-Retiming の結果の確認.........................................................401.5.5. ステップ 5:Fast Forward の推奨事項の実装....................................................... 43

1.6. コンパイル結果のエクスポート.....................................................................................461.6.1. バージョン互換のコンパイル・データベースのエクスポート.........................................461.6.2. バージョン互換のコンパイル・データベースのインポート........................................... 471.6.3. デザイン・パーティションの作成........................................................................ 481.6.4. デザイン・パーティションのエクスポート.............................................................. 501.6.5. デザイン・パーティションの再利用......................................................................521.6.6. Quartus データベース・ファイル情報の表示......................................................... 531.6.7. コンパイル結果の消去.................................................................................. 55

1.7. コンパイル時間の短縮.............................................................................................. 551.7.1. Rapid Recompile の実行............................................................................. 561.7.2. マルチプロセッサー・コンパイルの有効化.............................................................571.7.3. コンパイル結果に影響を与える要因...................................................................57

1.8. プログラミング・ファイルの生成....................................................................................581.9. 合成言語のサポート................................................................................................. 59

1.9.1. Verilog および SystemVerilog 合成のサポート....................................................591.9.2. VHDL 合成のサポート.................................................................................. 63

1.10. 合成設定の参照事項...............................................................................................651.10.1. 中間 Fitter スナップショットの有効化...............................................................65

目次

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

2

Page 3: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.10.2. Optimization Modes................................................................................ 661.10.3. レジスターのリタイミングの実行.....................................................................671.10.4. Advanced Synthesis Settings................................................................... 67

1.11. Fitter 設定の参照事項............................................................................................ 731.12. デザインコンパイルの改訂履歴.................................................................................. 79

2. コンパイル時間の短縮.......................................................................................................... 822.1. Compilation Time Advisor......................................................................................822.2. 全体のコンパイル時間を短縮するための手法.................................................................... 82

2.2.1. Rapid Recompile の実行............................................................................. 822.2.2. マルチプロセッサー・コンパイルの有効化.............................................................832.2.3. ブロックベースのコンパイルの使用....................................................................84

2.3. 合成時間と合成ネットリスト最適化時間の短縮..................................................................852.3.1. 合成時間と合成ネットリスト最適化時間短縮の設定................................................ 852.3.2. 適切なコーディング・スタイルを使用した合成時間の短縮...........................................85

2.4. 配置時間の短縮......................................................................................................852.4.1. Placement Effort Multiplier の設定................................................................85

2.5. 配線時間の短縮......................................................................................................862.5.1. Chip Planner による配線の輻輳の特定..............................................................86

2.6. 静的タイミング解析時間の短縮....................................................................................872.7. プロセスの優先順位の設定.........................................................................................872.8. コンパイル時間の削減 改訂履歴.................................................................................. 87

A. インテル Quartus Prime プロ・エディション ユーザーガイド.........................................................89

目次

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

3

Page 4: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

図 -1: Compilation Dashboard

Full CompilationModules

Enables OptionalModule

Opens Settings

Runs Module(s)

Reports and Analysis

インテル Quartus Prime プロ・エディション Compiler では次の高度な機能をサポートしています。

• インテル Arria® 10 、 インテル Cyclone® 10 GX 、および インテル Stratix® 10 デバイスをサポートしています。

• Hyper-Aware のデザインフロー - Hyper-Retiming および Fast Forward コンパイルを使用して、 インテル Stratix 10 デバイスでの最高のパフォーマンスを実現します。

• パーシャル・リコンフィグレーション - FPGA の一部分の動的リコンフィグレーションをサポートします。残りの FPGA は引き続き機能します。

• ブロックベースのデザインフロー - プロジェクト内のデザインブロックの保存、および他のプロジェクトでのデザインブロックの再利用を可能にします。

UG-20132 | 2018.09.24

フィードバック

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

ISO9001:2015登録済

Page 5: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.1. コンパイルの概要

Compiler は、必要なプロセスだけを実行できるモジュラーです。各 Compiler のモジュールでは、フル・コンパイル・プロセスで特定の機能が実行されます。モジュールを実行すると、Compiler では必要なモジュールが自動的に実行され、各ステージで詳細なレポートが生成されます。Compiler では、各ステージの後にコンパイル結果の「スナップショット」を保存することができます。

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

コンパイルプロセス 説明

IP Generation プロジェクト内の IP コンポーネントのステータスとバージョンが特定されます。アップグレードが必要な古い IP がレポートされます。

Analysis & Synthesis デザインロジックが合成、最適化、最小化されて、デバイスリソースにマッピングされます。Analysis & Elaboration は、Analysis & Synthesis ステージです。このステージでは、デザインファイルとプロジェクト・エラーがチェックされます。

Fitter (Place & Route) タイミングと配置の制約を考慮しながら、デザインの配置配線が特定のデバイスリソースに割り当てられます。Fitter には次のステージが含まれます。• Plan - すべてのペリフェラル要素(I/O や PLL など)が配置され、コアの配置配線は行わずに、有効なク

ロックプランが決定されます。• Early Place - すべてのコア要素がおおよその位置に配置され、デザイン・プランニングが容易になりま

す。 インテル Stratix 10 デザインのためのクロックプランが確定します。• Place - すべてのコア要素が有効な位置に配置されます。• Route - デザイン内の要素間のすべての配線が作成されます。• Retime - 既存のレジスターがハイパーレジスターに移動(リタイム)して、きめ細かなパフォーマンスの

向上を実現します。(1)

• Fitter (Finalize) - インテル Arria 10 および インテル Cyclone 10 GX デバイスでは、不要なタイルが高速または低電力に変換されます。 インテル Stratix 10 デバイスでは、配線後の修正が行われます。

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. Compilation Dashboard の使用

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

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

• 鉛筆のアイコンをクリックして、コンパイルフローの選択したステージの設定を編集します。

• Compile Design をクリックして、Compiler のすべてのモジュールを順番に実行するか、個々のCompiler モジュールをクリックして、対象となるステージでコンパイルを実行します。

• レポートアイコンをクリックすると、そのコンパイルステージのレポートが表示されます。

(1) リタイミングと Fast Forward コンパイルは、 インテル Stratix 10 デバイスのみで使用可能です。

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

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

5

Page 6: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -2: Compilation Dashboard

Full CompilationModules

Enables OptionalModule

Opens Settings

Runs Module(s)

Reports and Analysis

Compiler でフローが進むにつれ、ダッシュボードでは各モジュールのステータスが更新され、有効になったアイコンをクリックしてレポートや解析を選択できます。

1.1.2. コンパイルフロー

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

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

表 2. Compilation Flow

Compiler のフロー ファンクション

Early Place フロー すべてのコア要素がおおよその位置に配置されて、デザイン計画が容易になります。 Early Place を実行して、デザイン要素のハイレベル配置を Chip Planner でレビューするか、タイミング制約をデバッグして微調整します。この情報は、フロアプランの決定を導くのに有用です。

Fitter (Implement) フロー Plan、Early Place、Place、Route、および Retime のステージが実行されます。このフローは、配置、配線、およびリタイミングの実装準備ができたら実行します。正常に行われた場合は、Finalize、Timing Analysis、およびAssembler のステージを実行できます。(2)

continued...

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

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

6

Page 7: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

Compiler のフロー ファンクション

Incremental Optimization フロー

インクリメンタル最適化では、各 Fitter ステージ後に処理を停止し、結果を分析し、設定または RTL を調整してから、次のコンパイルステージに進むことができます。この反復フローは、フルコンパイル結果を待つことなく、各ステージで最適化されます。

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

Full Compilation フロー すべての Compiler モジュールが順番に起動され、合成、適合、最終タイミング解析、およびデバイス・プログラミング・ファイルの生成が行われます。デフォルトで Compiler では、フルコンパイル時の合成スナップショットおよび最終スナップショットのみを生成して保持します。必要に応じて、Enable Intermediate FitterSnapshots を実行して、計画、配置、配線、およびリタイミングのスナップショットを保持することができます。

Partial Reconfiguration FPGA の一部分が動的にリコンフィグレーションされ、残りの FPGA デザインは引き続き機能します。

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

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

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

• フルコンパイルの実行 (31 ページ)

• Fitter の実行 (16 ページ)

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

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

1.1.3. デザイン合成

デザイン合成は、デザイン・ソース・ファイルを atom ネットリストに変換してデバイスリソースにマッピングするプロセスです。 インテル Quartus PrimeCompiler では、規格準拠の Verilog HDL (.v) 、VHDL (.vhd) 、および SystemVerilog (.sv) が合成されます。Compiler では、ブロック・デザイン・ファイル (.bdf) スケマティック・ファイルと、他の EDA ツールによって生成された Verilog QuartusMapping (.vqm) ファイルも合成します。

合成では、デザインの論理的な完全性と一貫性が検証され、境界の接続性と構文エラーのチェックが行われます。合成ではまた、デザインロジックを最小限に抑えて最適化します。たとえば、合成では、VerilogHDL、VHDL、および SystemVerilog などの「ビヘイビア」言語から D フリップフロップ、ラッチ、およびステートマシンを推測します。合成では、有利な場合は + や - などの演算子を インテル QuartusPrime IP ライブラリーのモジュールを使用して置き換えることができます。合成中、Compiler によって、ユーザーロジックとデザインノードが変更または削除されることがあります。 インテル QuartusPrime 合成では、ゲート数を最小限に抑え、冗長ロジックが削除され、デバイスリソースの効率的な使用が保証されます。

(2) Retiming および Hyper-Aware のデザインフローの対象は、 インテル Stratix 10 デバイスのみです。

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

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

7

Page 8: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -3: デザイン合成

VHDL(.vhd)

Schematic(.bdf)

Verilog HDL(.v or .sv)

Third Party(.vqm)

Logic Cells DFFsI/O RAM DSP Atom Connections

Synthesis

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

Compiler の Analysis & Synthesis モジュールでは、デザインファイルが合成され、各デザイン・パーティションに 1 つ以上のプロジェクト・データベースが作成されます。合成処理に影響するさまざまな設定を指定できます。

Compiler によって、Analysis & Synthesis の結果が合成スナップショットに保持されます。

1.1.4. デザインの配置配線

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

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

インテル Quartus Prime プロ・エディション Fitter では、解析とアニーリング配置技術を組み合わせたハイブリッド配置技術を導入しています。解析配置によって、最初の数学的配置が決定します。その上で、アニーリング技術によるロジックブロック配置の微調整が、リソース使用率の高いケースで行われます。

インテル Quartus Prime プロ・エディション Compiler では、Plan、Early Place、Place、およびRoute ステージを含む個々の Fitter ステージの制御と最適化が可能です。Fitter ステージの実行後、詳細なレポートデータを表示し、そのステージのタイミングを解析します。Compiler では、デフォルトで最終スナップショットの Fitter 結果が保持されます。

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

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

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

8

Page 9: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

1.1.5. コンパイルの階層

インテル Quartus Prime プロ・エディション Compiler では、階層型のプロジェクト構造が生成され、デザイン・エンティティーごとに、各コンパイルステージの結果が分離されます。たとえば、synthesized ディレクトリーには、Analysis & Synthesis ステージのスナップショットが含まれています。ブロックベースのデザインにあるようなデザイン・パーティションを使用する場合、Compiler では、各デザイン・パーティションの結果が分離されます。Compiler によって、パーティション内の配線と配置は完全に保持されます。デザイン階層の他の部分を変更しても、パーティションは影響されません。この階層型構造により、他のパーティションの配置配線に影響を与えることなく、特定のデザイン要素を最適化することができます。階層型のプロジェクト構造では、複数のマシン間での分散ワークグループとコンパイル処理もサポートしています。

図 -4: 階層型のプロジェクト構造( インテル 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)

注意: Enable Intermediate Fitter Snapshots (Assignments > Settings > CompilerSettings) をオンにした場合、デフォルトで Compiler では、フルコンパイル中に計画、配置、配線、およびリタイムのスナップショットのみを保持します。

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

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

1.2. 合成の実行

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

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

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

9

Page 10: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

合成の実行方法:

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

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

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

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

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

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

• 高度な合成の設定を指定するには、Assignments > Settings > CompilerSettings をクリックした後、Advanced Settings (Synthesis) をクリックします。必要に応じて、Timing-Driven Synthesis を有効にして、合成中のタイミング制約を考慮に入れます。

3. オプションのフラクタル合成最適化を、DSP リソースすべてを消費する計算集約型デザインで有効にするには、フラクタル合成の考慮事項 (12 ページ) を確認した後に次の手順を実行します。

a. プロジェクト全体でフラクタル合成を有効にするには、Assignments > Settings >Compiler Settings をクリックした後、Advanced Settings (Synthesis)をクリックします。Fractal Synthesis オプションをオンにします。

b. 特定のエンティティーに対してフラクタル合成を有効にするには、Assignments >Assignment Editor をクリックします。Fractal Synthesis を Assignment Nameに、On を Value に、計算集約型エンティティー名を Entity に、インスタンス名を To 列に選択します。ワイルドカード (*) を To に入力して、エンティティーのすべてのインスタンスを割り当てます。

図 -5: Assignment Editor でのフラクタル合成アサインメント

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

関連情報• 合成設定の参照事項 (65 ページ)

• 合成またはフィッティング中の同時解析 (16 ページ)

• フラクタル合成の最適化 (11 ページ)

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

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

10

Page 11: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.2.1. 合成中のレジスターの保存

インテル Quartus Prime 合成では、ゲートカウントの最小化、冗長ロジックのマージ、およびデバイスリソースの効率的な使用が保証されます。合成処理によって特定のレジスターを保存する必要がある場合は、次のエンティティー・レベルのアサインメントのいずれかを指定します。Preserve Registersin Synthesis または Preserve Fan-Out Free Register Node オプションを割り当てると、保存されたレジスターの Fitter 最適化が可能になります。Preserve Registers では、保存されたレジスターの Fitter 最適化が制限されます。合成保存アサインメントを指定するには、Assignments >Assignment Editor をクリックするか、 .qsf ファイルを変更するか、RTL で合成属性を指定します。

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

アサインメント 説明 Fitter 最適化の可用性

アサインメント構文

PreserveRegisters inSynthesis

合成中のレジスターの削除を防止します。この設定は、リタイミングや Fitter での他の最適化には影響しません。

あり • PRESERVE_REGISTER_SYN_ONLY ON|Off-to <entity> .qsf

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

PreserveFan-Out FreeRegisterNode

ファンアウトなしで割り当てられたレジスターの合成中の削除を防止します。

あり • PRESERVE_REGISTER_FANOUT_FREE_NODEON|Off -to <entity> .qsf

• no_prune on (合成属性)

PreserveRegisters

割り当てられたレジスターの合成中の削除や順次最適化を防止します。シーケンシャル・ネットリストの最適化により、冗長レジスターおよび一定のドライバーを持つレジスターを削除することができます。

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

• preserve, syn_preserve, or keep on (合成属性)

1.2.2. タイミング駆動合成の有効化

タイミング駆動合成では、Compiler に指示して、合成中のタイミング制約が考慮されます。タイミング駆動合成では、まずタイミング解析を実行してネットリストのタイミング情報を取得し、その後、タイミング・クリティカルなデザイン要素へのパフォーマンスを集中させながら、タイミング・クリティカルでない部分を最適化します。

タイミング駆動合成では、タイミング制約が保持され、タイミング制約と競合する最適化は実行されません。また、必要なデバイスリソースの数が増えることがあります。具体的には、アダプティブ・ルックアップ・テーブル (ALUT) およびレジスターの数が増加する可能性があります。全体の面積は増減し、ランタイムとピークメモリー使用量はわずかに増加します。

インテル Quartus Prime プロ・エディションプロ・エディションは、タイミング駆動合成をデフォルトで実行します。このオプションを手動で有効または無効にするには、 Assignments > Settings >Compiler Settings > Advanced Settings (Synthesis)をクリックします。

関連情報• 合成の実行 (9 ページ)

• 合成言語のサポート (59 ページ)

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

オプションのフラクタル合成最適化を有効にすると、ディープラーニング・アクセラレーターのほか、すべての使用可能な DSP リソースに勝る高スループットかつ計算集約型のデザインで有用です。このようなデザインでは、フラクタル合成の最適化によって、20~45%の面積の削減を達成することができます。

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

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

11

Page 12: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

合成最適化のセットであるフラクタル合成では、FPGA リソースが計算集約型デザインに最適な方法で使用されます。この合成最適化は、乗算器の正規化およびリタイミング、ならびに連続算術パッキングで構成されています。最適化の対象となるのは、低精度の算術演算 (加算や乗算など) を多く含むデザインです。Fractal Synthesis をプロジェクト全体で有効にするには、Advanced Analysis &Synthesis Settings ダイアログボックスから行うか、エンティティーのアサインメントとして有効にするには、Assignment Editor で行います。これについては、合成の実行 (9 ページ) で説明しています。

注意: フラクタル合成の最適化がお勧めできないのは、ディープラーニング・アクセラレーターを持たないデザインのほか、すべての DSP リソースに勝る高スループットかつ算術集中型機能を持たないデザインです。フラクタル合成の最適化を有効にする前に、次の要素を考慮してください。

フラクタル合成の考慮事項• インテル Arria 10 および インテル Stratix 10 デバイスには、算術演算に最適な数千のハード

DSP ブロックが含まれています。デザイン内の算術関数の合計量が少ない場合は、FractalSynthesis を有効にする必要はありません。このような場合、すべての算術関数はデフォルトでDSP に直接マッピングされます。Fractal Synthesis を有効にするのは、すべての算術コンポーネントを実装するのに十分な数の DSP ブロックがない場合のみです。Fractal Synthesis を有効にするのは、Compiler によって DSP にマッピングされないようにするモジュールに対してのみです。

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

• Fractal Synthesis を有効にすると、コンパイル時に次の情報メッセージ番号 20193 が生成されます。

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

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

— メッセージでレポートされるロジック密度が 0.75 以上であることを確認してください。ロジック密度が 0.75 未満の場合は、このエンティティーの Fractal Synthesis を無効にします。これは、一般的に標準合成では、より好ましい密度が達成されるからです。

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

乗算器の正規化およびリタイミングでは、高度に最適化されたソフト乗算器実装の推測を実行します。乗算器出力によって、2 つ(またはそれ以上)のパイプライン・ステージがフィードされる場合、Compilerでは、1つ目のパイプライン・ステージに逆方向リタイミングが適用されます。フラクタル合成を有効にすると、Compiler によって乗算器の正規化とリタイミングが符号なし乗算器に適用されます。

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

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

12

Page 13: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

D Q D Q

a

b

q

D Q D Q

a

b

q

Before Multiplier Retiming

After Multiplier Retiming

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

• 乗算器の正規化とリタイミングは、符号なし乗算器にのみ適用されます。

• Compiler では、LPM_MULT インテル FPGA IP を使用して符号付き乗算器を実装します 。

乗算器の正規化の例

次の単純な符号なしドット積のデザイン例には、5 ビットのオペランドを持つ乗算演算子が含まれています。これらの短い乗算器は、乗算器の正規化に使用するのに大変適しています。

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

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

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

13

Page 14: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

連続算術パッキング

連続算術パッキングでは、算術ゲートを最適なサイズのロジックブロックに再合成し、 FPGA LAB に収まるようにします。この最適化により、算術ブロックの LAB リソースを最大で 100%使用できます。

フラクタル合成を有効にすると、Compiler ではこの最適化をすべてのキャリーチェーンと 2 つの入力ロジックゲートに適用します。この最適化により、加算器ツリー、乗算器、およびその他の算術関連ロジックがパッキングされます。

図 -7: 連続算術パッキング

Before Arithmetic Repacking After Arithmetic Repacking

連続算術パッキングは乗算器の正規化とは無関係に動作することに注意してください。したがって、正規化されていない乗算器(独自に書いた乗算器など)を使用している場合でも、連続的算術パッキングは引き続き動作します。

関連情報合成の実行 (9 ページ)

1.2.4. 合成レポート

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

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

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

14

Page 15: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -8: 合成レポート

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 | 2018.09.24

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

15

Page 16: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

Analysis & Synthesis または Fitter を実行すると、ダウンストリームの Fitter ステージの実行中でも結果にアクセスすることがきます。Concurrent Analysis アイコンがダッシュボードでアクティブになると、コンパイルを中断することなく解析の表示ができます。

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

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

Report Icon

RTL Viewer Icon

Timing Analysis Icon

Technology Map Viewer Icons

1.3. Fitter の実行

Compiler の Fitter モジュールでは、Plan、Early Place、Place、Route、および Retime の各ステージを含むデザインの配置配線のすべてのステージが実行されます。Fitter のすべてのステージをデザインのフルコンパイルの一部として実行するか、Fitter ステージをデザイン合成後に単独で実行してください。Fitter 実行前に、Fitter 処理に影響する設定を指定します。

1. 初期 Fitter 制約を指定します。

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

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

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

16

Page 17: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

d. Fitter 最適化の目標を指定するには、Assignments > Settings > CompilerSettings をクリックします。Optimization Modes (66 ページ) で、これらのオプションについて詳しく説明しています。

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

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

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

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

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

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

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

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

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

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

関連情報• Fitter 設定の参照事項 (73 ページ)

• ステップ 2:リタイミング結果の確認 (36 ページ)

1.3.1. Fitter ステージコマンド

Processing メニューまたは Compilation Dashboard から Fitter プロセスが起動します。

表 5. Fitter ステージコマンド

コマンド 説明

Fitter (Implement) Plan、Early Place、Place、Route、および Retime のステージが実行されます。

Start Fitter (Plan) 合成ペリフェラル配置データと制約がロードされ、ペリフェラル要素がデバイス I/O リソースに割り当てられます。このステージの後、ポストプランのタイミング解析を実行して、タイミング制約を検証し、クロック間のタイミングウィンドウを確認してください。ペリフェラル (I/O) の配置およびプロパティが表示され、 インテル Arria 10 および インテル Cyclone 10 GX デザインのクロック・プランニングが実行されます。このコマンドによって、Planned スナップショットが作成されます。

Start Fitter (Early Place) すべてのコア要素がおおよその位置に配置され、デザイン・プランニングが容易になります。このステージの後、Chip Planner では、デザイン要素の初期のハイレベル配置が表示されます。コンパイルレポートでは、配置をより複雑にする高ファンアウト信号が識別されます。この情報を使用して、フロア・

continued...

(3) Retime は インテル Stratix 10 デバイスのみで使用可能です。

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

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

17

Page 18: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

コマンド 説明

プランニングを決定へと導いてください。 インテル Stratix 10 デザインでは、早期のクロック・プランニングをこのステージの後に行うこともできます。 このコマンドによって、Early Placed スナップショットが作成されます。Early Place は、フル・コンパイル・フロー中には実行されませんが、デフォルトで有効にするか、Compilation Dashboard から直接実行することができます。

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

Start Fitter (Route) デザイン内の要素間ですべての配線が作成されます。このステージの後、遅延チェーンの設定を検証し、配線リソースを解析します。また、Timing Analyzer で詳細セットアップを実行し、タイミング・クロージャーを保持して、Chip Planner を介して配線の輻輳を表示してください。このコマンドによって、Routed スナップショットが作成されます。

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

Start Fitter (Finalize) デザイン上でポスト・ルーティングの最適化が実行されます。このステージでは、不要なタイルが高速から低消費電力に変換されます。このコマンドによって、Final スナップショットが作成されます。 インテル Stratix 10 デザインでは、Fitter によって、ポストルート修正が実行され、リタイミングから残っているショートパスのホールド違反が修正されます。

関連情報合成またはフィッティング中の同時解析 (16 ページ)

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

インテル Quartus Prime プロ・エディションでは、インクリメンタル最適化をデザインコンパイルの各ステージでサポートしています。インクリメンタル最適化では、各コンパイルステージを単独で実行し、最適化してから、次のコンパイルモジュールを順に実行してください。Compiler では、各ステージの結果が解析用スナップショットとして保持されます。デザインや制約に変更を加えると、Compiler によって変更の影響を受けるステージのみが実行されます。合成または Fitter のいずれかのステージに続いて、結果が表示され、タイミング解析が実行されます。デザインの RTL または Compiler の設定を必要に応じて変更した後、合成または Fitter を再度実行し、これらの変更の結果を評価してください。モジュールのパフォーマンスで要件が満たされるまで、このプロセスを繰り返します。このフローにより、フルコンパイル結果を待たなくても、各ステージで最良の結果が得られます。

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

Plan EarlyPlace Place Route

optimizeoptimize optimize optimize optimize

Retime

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

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

18

Page 19: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

Plan このステージの後、ポストプランのタイミング解析を実行してタイミング制約を検証し、クロック間のタイミングウィンドウを検証します。ペリフェラル (I/O) の配置およびプロパティを表示し、 インテル Arria 10 およびインテル Cyclone 10 GX デザインのクロック・プランニングを実行してください。

Early Place このステージの後、Chip Planner によって、デザイン要素の初期のハイレベル配置が表示されます。この情報を使用してフロア・プランニングを決定へと導いてください。 インテル Stratix 10 デザインでは、このステージを実行した後で、クロック・アサインメントを確認して変更することもできます。

Place このステージの後、コンパイルレポートでリソースとロジックの使用率を検証し、Chip Planner でデザイン要素の配置を確認してください。

Route このステージの後、タイミング・アナライザーで詳細セットアップとタイミング・クロージャーのホールドを実行し、Chip Planner 経由で配線の輻輳を表示してください。

Retime このステージの後、Fitter レポートの Retiming 結果を確認し、リタイミング最適化を制限する制約を修正してください。(4)

1.3.2.1. Early Place フロー

Early Place では、デバイスリソースへのコアロジックの割り当てが開始されます。Early Place を実行すると、完全な配置またはフルコンパイルを待たずに、反復フロア・プランニングの変更による効果がすばやく表示されます。Compiler では、Early Place の結果のスナップショットが保持されます。EarlyPlace の後、タイミング・アナライザーのアイコンをクリックして、.sdc 制約を検証してください。早期スナップショットと最終スナップショットとのタイミングが十分に相関していないため、Early Place タイミングの結果を Final タイミングの結果と比較することはできません。

Early Place は、コンパイル・ダッシュボードで Early Place ステージを有効にするか、Settings >Compiler Settings > Fitter Settings (Advanced) > Run Early Place DuringCompilation を有効にすると、Fitter 処理中に自動的に実行されます。

1.3.2.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 スナップショットを生成するには、次のいずれかを実行します。

(4) リタイミングは、 インテル Stratix 10 デバイスのみで使用可能です。

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

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

19

Page 20: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

• GUI で Early Place を実行するには、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.3.3. Fitter スナップショットの解析

Fitter ステージの結果を解析し、デザインを評価した後で、次のステージまたはフルコンパイルを実行します。この手法を使用して、潜在的な問題を特定し、デザインのコンパイル時間を短縮します。以下の項で、Fitter スナップショットを解析するための一般的な使用例について説明します。

注意: Compiler によって計画、配置、配線およびリタイミングのスナップショットがデフォルトでフルコンパイル中に保存されるのは、Enable Intermediate Fitter Snapshots (Assignments >Settings > Compiler Settings) をオンにした場合のみです。任意の中間 Fitter ステージを単独で実行して、そのステージのスナップショットを生成することもできます。

1.3.3.1. Plan ステージ後の SDC 制約の検証

Fitter の Plan ステージでは、プロジェクトの .sdc 制約の初期検証が実行されます。Compiler によって、Plan ステージでメッセージが生成され、無効の可能性がある .sdc 制約について警告が出されます。Plan ステージ後にコンパイルを停止して、 .sdc 制約の検証と必要な変更を行った後で、次のFitter ステージに移動してください。Plan ステージ後に .sdc 制約を検証するには、次の手順を実行します。

1. Fitter の Plan ステージを実行するには、Compilation Dashboard で Plan をクリックします。Compiler によって、前提条件のコンパイルステージが、必要に応じて自動的に実行されます。

2. Compilation Dashboard で、Fitter ステージの横にある Timing Analyzer アイコンをクリックします。Create Timing Netlist ダイアログボックスが表示され、対応するステージのスナップショットが読み込まれます。

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

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

20

Page 21: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -11: Compilation Dashboard 内の Plan ステージの Timing Analyzer アイコン

Access to Reports,Analysis, and Debugging for Stage

3. Create Timing Netlist ダイアログボックスで、OK をクリックします。計画データベースが、Timing Analyzer でロードされます。

図 -12: Create Timing Netlist ダイアログボックス内の Planned Snapshot

Loads the Planned Snapshotfor Timing Analysis

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

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

21

Page 22: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

4. Tasks ウィンドウで、Read SDC File をクリックします。Timing Analyzer によって、任意の .sdc ファイルが読み取られ、処理が行われます。複数の .sdc ファイルの場合、レポートには .sdc 処理シーケンスも含まれます。

図 -13: Read SDC File コマンド

Click to Load .sdc Files

5. プロジェクトに適用される .sdc 制約をレポートするには、Tasks ウィンドウの Diagnostic フォルダーの下の Report SDC をクリックします。

図 -14: SDC File List レポート

6. 逆に、Timing Analyzer によって無視される .sdc ファイルの制約をレポートするには、 Tasksウィンドウの Diagnostic フォルダーの下にある Report Ignored Constraints をクリックします。

7. 制約がないデザイン内のすべてのパスをレポートするには、Tasks ウィンドウの Diagnostic フォルダーの下にある Report Unconstrained Paths をクリックします。

図 -15: Unconstrained Paths Summary

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

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

22

Page 23: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

コンパイルレポートには、各ステージで実行するタイミング解析が表示されます。

図 -16: Compilation Report 内の Plan ステージおよび Retime ステージの Timing Analysis レポート

Compilation Report ListsTiming Analyses Runfor Each Stage

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

Compiler によって、Plan ステージでペリフェラル配置が開始され、I/O ピンや PLL などのペリフェラル要素に関するデータがレポートされます。Plan ステージの後、コンパイルレポートを表示し、ペリフェラル要素の配置を評価してから次のコンパイル段階に進みます。

図 -17: Plan ステージの Periphery Placement メッセージ

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

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

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

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

23

Page 24: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -18: Input Pins レポート

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

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

1.3.3.3. Early Place 後のクロック・プランニング ( インテル Stratix 10 のみ)

インテル Stratix 10 デバイスでクロック・プランニングがサポートされるのは、Plan ステージの後ではなく、Early Place ステージの後です。Early Place の実行後、Global & Other Fast Signals レポートでプロジェクトの詳細を表示し、クロック・プランニングを行います。 Early Place の後にクロックの詳細を表示するには、次の手順を実行します。

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

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

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

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

24

Page 25: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

4. Chip Planner の Tasks ウィンドウで、Clock Reports フォルダーの下にある Report ClockDetails をクリックします。

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

6. レポートウィンドウで、1 つ以上のクロックを選択して、Chip Planner のクロック要素を強調表示します。

図 -21: Chip Planner でのクロックの視覚化

Early Place ステージの実行後、完全な Place ステージではなく、 late_place を実行すると、合計コンパイル時間を短縮することができます。

関連情報Use CLOCK_REGION to Optimize Clock Constraints, Design Recommendations UserGuide

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

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

25

Page 26: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.3.3.4. Early Place 後の高ファンアウト信号の識別

ファンアウト信号が高いと配置の難易度が高くなります。Early Place の後に、高ファンアウト信号を識別し、グローバルリソースへ移動することを検討してください。

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

2. Compilation Report で、Early Place Stage フォルダーの下の Non-Global High Fan-Out Signals レポートをクリックします。レポートには、各信号のファンアウト数が一覧表示されます。

図 -22: Non-Global High Fan-Out Signals レポート

3. クロック・ファンアウトを視覚化するには、レポート内の信号名を右クリックして、LocateNode > Locate in Chip Planner をクリックします。

図 -23: Chip Planner の Non-Global High Fan-Out Signal

4. これらの高ファンアウト信号をグローバルリソースに配置するには、Assignments >Assignment Editor をクリックし、コンパイルを再開する前にファンアウト信号をグローバル信号に割り当てます。

1.3.4. 物理合成最適化の有効化

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

物理合成最適化を有効にするためのオプションは次の通りです。

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

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

26

Page 27: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

1.3.5. Fitter レポートの表示

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

1.3.5.1. Plan ステージレポート

Plan ステージレポートには、Fitter のペリフェラル・プランニング・ステージで検出された I/O、インターフェイス、およびコントロール信号が記述されています。

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

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

1.3.5.2. Place ステージレポート

Place ステージのレポートには、ロジック配置中に Fitter によって割り当てられるすべてのデバイスリソースのほか、Logic Lock リージョン、グローバル信号、およびその他の高速信号の使用も記述されています。

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

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

27

Page 28: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -25: Place Stage レポート

Global Signal Visualization Report

さらに、 インテル Stratix 10 のデザインでは、Global Signal Visualization レポートにアクセスし、インタラクティブ・ヒートマップでグローバル信号の配線と全体的なクロックセクター使用率を表示することができます。このデータを使用して、クロック領域が Fitter によってデバイスセクターに制限されている状態をすばやく確認します。グローバル・クロック・ツリー実装の詳細を表示して、デザインにグローバル信号を追加する能力を評価します。クロックツリー合成エラーの場合は、レポートに、エラーを示す信号および配線の輻輳の一因となる競合信号の対象領域も表示されます。

フィルター処理を行って、Show Routing Utilization と Show Sector Utilization を表示させます。Signal Names を検索し、信号名をクリックするとそのプロパティが表示されます。SignalNames を右クリックして、Locate Node in Chip Planner やその他のさまざまなツールを実行します。

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

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

28

Page 29: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

1.3.5.3. Route ステージレポート

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

図 -27: Route Stage レポート

1.3.5.4. Retime ステージレポート

Fitter では、Retime ステージの結果を示す詳細レポートが生成され、これには Retiming LimitDetails レポートが含まれます、このレポートには、制限理由のほか、各クロック転送のクリティカル・チェーンおよびクリティカル・チェーンの推奨事項が一覧表示されます。

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

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

29

Page 30: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -28: Retiming Limit Details

Retiming Limit Condition

Details of Critical ChainRight-click to locate in viewer

1.3.5.5. Finalize ステージレポート

Finalize ステージレポートには、最終配置配線の操作について記述されており、次の事項が含まれます。

• HSLP の概要。 インテル Arria 10 デザインでは、Compiler によって不要なタイルが高速または低電力 (HSLP) タイルに変換されます。

• ポストルート・ホールドの修正データ。 インテル Stratix 10 デザインでは、Compiler によって、ショートパスのホールド違反が Retime ステージ後にレポートされます。Fitter では、ホールド違反のあるショートパスを Fitter (Finalize) ステージで特定して修正するために、パスに沿って配線ワイヤーが追加されます。

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

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

30

Page 31: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

1.4. フルコンパイルの実行

次の手順を使用して、 インテル 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 をクリックします。

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

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

31

Page 32: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

• デザインを正しく動作させるために必要なタイミング条件を指定するには、Tools > TimingAnalyzer をクリックします。

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

注意:

• 処理時間を節約するために、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 プロ・エディション ユーザーガイド:Timing Analyzer

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

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

Hyper-Aware デザインフローでは、自動化レジスター・データ・リタイミング (Hyper-Retiming) と、ターゲットとするタイミング・クロージャーの推奨事項 (Fast Forward コンパイル) の実装を組み合わせることで、Hyper-Register が最大限に活用され、 インテル Stratix 10 デザインの最良のパフォーマンスが推進されます。

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

Synthesis Plan EarlyPlace Place Route Retime*

Fast Forward*(Hyper-Retiming)RTL *Intel Stratix 10

Devices Only

optimizeoptimize optimize optimize optimize optimize

Finalize (Hold Fixup)

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

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

32

Page 33: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

Hyper-Retiming

インテル Stratix 10 アーキテクチャーの主な革新は、複数の Hyper-Register がすべての配線セグメントとブロック入力に追加されたことです。Hyper-Register を最大限に活用すると、デザインのパフォーマンスが向上します。Hyper-Register が存在することで、レジスター間の時間遅延のバランスが改善され、クリティカル・パスの遅延が緩和されます。Hyper-Retiming によって、レジスターが ALM から移動し、Hyper-Register にリタイミングされます。 Hyper-Retiming は、フィッティング中に自動的に実行され、最小限の労力しか必要としないため、結果としてパフォーマンスが大幅に向上します。

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

ALM ALM

ALM ALM

New Hyper-Registers throughout the core fabricPotential routing path

clk ConfigurationCRAM

Hyper-Register Detail

Fast Forward コンパイル

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

Fast Forward コンパイルでは、パイプライン・ステージ(ハイパーパイプライン)を追加するための最適な場所と、それぞれの場合で予想されるパフォーマンス上の利点が特定されます。RTL を変更して各クロックドメインの境界にパイプライン・ステージを配置すると、Hyper-Retimer によってクロックドメイン内のレジスターが最適な場所に自動配置され、最良のパフォーマンスが得られます。RTL での推奨事項の実装と同様の結果が得られます。変更の実装後、パフォーマンスとタイミングの要件を満たす結果が得られるまで、Hyper-Retimer を再実行します。Fast Forward コンパイルは、フルコンパイルの一部として自動的に実行されることはありません。Compilation Dashboard で Fast Forwardcompilation を有効化または実行します。

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

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

33

Page 34: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 7. HyperFlex の最適化手順

最適化ステップ 手法 説明

ステップ 1 Hyper-Retiming Retimer によって、既存のレジスターが Hyper-Register に移動します。

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

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

ステップ 4 Hyper-Optimization Hyper-Retiming や Hyper-Pipelining 以上のデザイン最適化(ループの再構築、コントロール・ロジック制限の解除、長いパスに沿った遅延の削減など)。

Hyper-Aware のデザインフローには、以下のハイレベルの手順が含まれており、それについてこの章で詳しく説明します。

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

2. コンパイルレポートのリタイミング結果を確認します。

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

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

5. RTL で Fast Forward の適切な推奨事項を実装します。

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

図 -32: 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. デザインのコンパイルUG-20132 | 2018.09.24

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

34

Page 35: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

レジスターのリタイミングでは、デザインのパフォーマンスを向上させるためにレジスターを ALM から移動し、それを インテル Stratix 10 デバイスのインターコネクトで Hyper-Register にリタイムします。

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

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

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

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

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

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

Click toRun Flow

Click to Open Stage Reports

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

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

35

Page 36: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

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

3. レジスターのリタイミングによって、デザインのすべてのパフォーマンス目標が達成されたら、コンパイルの Fitter (Finalize) およびタイミング解析のステージに進んでください。

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

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

レポートデータ 説明

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

Limiting Reason レジスターのリタイミングのさらなる改善を妨げるデザイン条件を指定します。そのような条件の例を次に示します。• Insufficient Registers - レジスター量がリタイミングのためのチェーンのいずれかの端で不足してい

ることを示します。レジスターを追加すると、パフォーマンスが向上します。• Short Path/Long Path - 相反する特性を持つ依存パスがクリティカル・チェーンにあることを示しま

す。たとえば、あるパスでは、より多くのレジスターを使用してパフォーマンスが向上するのに、別のパスにはレジスターを追加する場所がない場合です。

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

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

Critical Chain Details リタイミング制限に関連するレジスター・タイミング・パスが一覧表示されます。任意のパスを右クリックして、Locate Critical Chain in Technology Map Viewer を実行します。

図 -34: Retiming Limit Details

Retiming Limit Condition

Details of Critical ChainRight-click to locate in viewer

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

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

36

Page 37: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

注意:

Compiler によって、Retime ステージ後のショートパスのホールド違反がレポートされます。Fitter では、ホールド違反のあるショートパスを Fitter (Finalize) ステージで特定して修正するために、パスに沿って配線ワイヤーが追加されます。

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

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

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

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

図 -35: Technology Map Viewer

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

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

37

Page 38: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -36: リタイム後のポストフィット・ビューアー

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 レポートのパフォーマンス・レベルを実現します。

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 Fast ForwardTiming Closure Recommendations during compilation を有効にしてください。

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

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

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

38

Page 40: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.5.3.1. HyperFlex の設定

HyperFlex の設定ページでは、 Intel Hyperflex インテル Stratix 10 FPGA アーキテクチャー内の特定のロジック構造についての解析と結果の報告を Fast Forward コンパイルで行うかを制御します。このページにアクセスするには、Assignments > Settings > HyperFlex をクリックします。Run Fast Forward Timing Closure Recommendations during compilation をオンにすると、デフォルトでコンパイルフロー中の Fast Forward 解析が有効になります。以下の追加設定にアクセスするには、Advanced Settings をクリックします。

表 9. Advanced HyperFlex Settings

オプション 説明

Fast Forward CompileAsynchronous Clears

Fast Forward 解析で非同期クリアー信号を持つレジスターを考慮する方法を指定します。• Auto - Compiler で非同期クリアーが非同期として識別されます。非同期クリアーによって Fast

Forward コンパイル中のタイミング・パフォーマンスが制限されると、Compiler では、非同期クリアーは削除済みと識別されます。

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

Fast Forward CompileCut All Clock Transfers

Fast Forward コンパイル解析でのすべてのクロック転送が遮断されます。

Fast Forward CompileFully Registered DSPBlocks

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

Fast Forward CompileFully Registered RAMBlocks

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

Fast Forward CompileMaximum AdditionalPipeline Stages

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

Fast Forward CompileUser Preserve Directives

Fast-forward コンパイルでユーザー保持ディレクティブの制限を考慮する方法を指定します。

1.5.4. ステップ 4:Hyper-Retiming の結果の確認

Fast Forward コンパイルの実行後、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 の調査と潜在的最適化の必要性を判断します。

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

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

40

Page 41: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -39: 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 レポートデータ

レポートフィールド 説明

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 Fast Forward のすべてのステップの適用後でも Hyper-Retiming の制限を続けるパスに関する情報が表示されます。クリティカル・チェーンとは、それ以降の Hyper-Retiming を制限するパスのことです。このフィールドを表示するには、Fast Forward Limit ステップをクリックします。

Recommendations for Critical Chain リタイミング制限に関連するレジスター・タイミング・パスが一覧表示されます。任意のパスを右クリックして、Locate Critical Chain in Technology Map Viewer を実行してください。

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

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

41

Page 42: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -40: Fast-Forward Details レポート

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

図 -41: Recommendations for Critical Chain

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

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

42

Page 43: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -42: Fast Forward Viewer 内の Locate Critical Chain

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

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

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

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

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

43

Page 44: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

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

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

• パフォーマンス目標に達するまで、パフォーマンスを調査し、RTL のコード変更を実装します。

1.5.5.1. リタイミングの制限と回避策

Compiler では、Hyper-Retiming を介したさらなる最適化を制限しているデザイン内のレジスターチェーンが特定されます。これらの関連レジスター間のパスは、Compiler によってクリティカル・チェーンと呼ばれます。クリティカル・チェーンとそれに関連するクロックドメインの fMAX は、レジスター間パスの平均遅延と、配線ワイヤーなどの不可分な回路エレメントの量子化遅延によって制限されます。リタイミング制限を引き起こす状況にはさまざまなものがあります。リタイミング制約が存在するのは、ハードウェア特性やソフトウェア動作、もしくはデザインへの固有性が理由です。Retiming Limit Details では、さらなるリタイミングを防止する制限理由と、チェーンを構成するレジスターおよび組み合わせノードがレポートされます。Fast Forward の推奨事項には、重要なチェーンを除去して追加のレジスターのリタイミングを変更する手順が一覧表示されます。

図 -44: クリティカル・チェーンのサンプルこの図では、赤い線は同じクリティカル・チェーンを表しています。タイミング制限により、レジスター A の順方向のリタイミングと、レジスターの逆方向のリタイミングが防止されます。ループが発生するのは、レジスター A とレジスターが同じレジスターである場合です。

A B

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

• チェーン内の「ロングパス」の遅延を削減します。標準のタイミング・クロージャー手法を使用して遅延を削減してください。組み合わせロジック、準最適配置、配線の輻輳などがパス遅延の発生理由です。

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

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

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

• Insufficient Registers

• Loop

• Short path/long path

• Path limit

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

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

44

Page 45: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

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

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

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

Register has don’t touch or preserveattributes

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

Register is a clock source このデザイン条件は一般的ではなく、特にデザインのパフォーマンス重視の部分ではまれです。このリタイミング制限により、必要なパフォーマンスの達成が妨げられている場合は、PLLでレジスターではなくクロックが生成できるかどうかを検討してください。

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

Register is a block type modified by anECO operation

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

Register location is an unknown block この制限は一般的ではありません。この条件を回避するには、指定したブロックタイプに隣接するレジスターを追加します。

Register is described in the RTL as a latch Hyper-Register ではラッチの実装はできません。Compiler によって、RTL コーディングの問題(不完全なアサインメントなど)が理由のラッチが推測されます。ラッチを実装しない場合は、RTL を変更してください。

Register location is at an I/O boundary すべてのデザインに I/O が含まれていますが、Hyper-Retiming 用に I/O 境界の隣にパイプライン・ステージを追加することができます。

Combinational node is fed by a specialsource

この条件は一般的ではなく、特にデザインのパフォーマンス重視の部分ではまれです。

Register is driven by a locally routed clock 専用のクロック・ネットワークによってのみ、Hyper-Register がクロックされます。ルーティング・ファブリックを使用してクロック信号を供給することは一般的ではありません。特にデザインのパフォーマンス重視の部分ではまれです。代わりに小さなクロック領域の実装を検討してください。

Register is a timing exception end-point Compiler では、 .sdc 制約のソースまたはデスティネーションであるレジスターはリタイミングされません。

continued...

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

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

45

Page 46: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

Register with inverted input or output この条件は一般的ではありません。

Register is part of a synchronizer chain Fitter では、シンクロナイザー・チェーンが最適化されて平均故障間隔 (MTBF) が長くなり、Compiler では、シンクロナイザー・チェーンの一部として検出またはマークされたレジスターはリタイミングされません。パイプライン・ステージをシンクロナイザー・チェーンに隣接するクロックドメインの境界に追加して、リタイミングに柔軟性を持たせます。

Register with multiple period requirementsfor paths that start or end at the register(cross-clock boundary)

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

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

コンパイルを実行すると、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) に保存されます。このファイルは、 インテル QuartusPrime 開発ソフトウェアの同じバージョンを使用して、別のプロジェクトにインポートすることができます。合成または最終コンパイルのスナップショットの結果をエクスポートします。

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

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

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

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

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

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

46

Page 47: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

3. Project > Export Design をクリックして、synthesized または final スナップショットを選択します。エクスポートした結果を格納する Quartus Database File を指定し、OK をクリックします。

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

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

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

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

1. デザイン全体のバージョン互換のコンパイル・データベースをエクスポートします。これについてはバージョン互換のコンパイル・データベースのエクスポート (46 ページ) で説明しています。

2. インテル Quartus Prime 開発ソフトウェアの新しいバージョンで、元のプロジェクトを開きます。別のソフトウェア・バージョンで作成されたプロジェクトを開くように求められたら、Yes をクリックします。

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

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

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

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

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

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

47

Page 48: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

含むバージョン互換のデータベースをインポートする場合は、Timing Analysis (Signoff) を使用してコンパイルを開始します (Processing > Start > Start Timing Analysis(Signoff))。

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

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

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

A

B C

D E F

Root Partition

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

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

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

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

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

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

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

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

48

Page 49: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

図 -49: Design Partitions Window

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

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

オプション 説明

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

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

Type ダブルクリックして、次のパーティション・タイプのうちのいずれかを指定します。この種類に従って、Compiler によるパーティションの処理および実装の制御方法が決まります。• Default - 標準パーティションを識別します。Compiler によるパーティションの処理が、関連デザイン・ソー

ス・ファイルを使用して行われます。• Reconfigurable - パーシャル・リコンフィグレーション・フロー内でリコンフィグレーション可能なパーテ

ィションを識別します。Reconfigurable タイプを指定すると、合成結果を保持したまま、PR フロー内のパーティションの再フィッティングを行うことができます。

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

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

Empty Compiler によって省略される空のパーティションを指定します。この設定は、同じパーティション用のReserved Core および Partition Database File 設定とは互換性がありません。PreservationLevel は Not Set でなければなりません。空のパーティションが子パーティションを持つことはできません。

continued...

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

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

49

Page 50: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

オプション 説明

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

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

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

Color Chip Planner および Design Partition Planner の画面でパーティションの色分けを指定します。Analysis &Synthesis が実行されるたびに

Post Synthesis ExportFile

パーティションの合成後コンパイル結果が、論理合成実行時に毎回、指定した .qdb に自動エクスポートされます。親パーティションが保持されていないデザイン・パーティションは、root_partition を含め、自動エクスポートが可能です。

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

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

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

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

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

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

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

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

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

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

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

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

50

Page 51: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

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

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

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

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

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

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

4. 最終スナップショットの結果を含むパーティションを各 Fitter の実行後に自動エクスポートするには、 .qdb ファイル名をそのパーティションの Post Final Export File オプションに指定します。パスなしでファイル名のみを指定すると、ファイルは、コンパイル後に output_files ディレクトリーにエクスポートされます。

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

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

51

Page 52: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -51: Design Partitions Window での Export File の指定

.qsf 等価アサインメント:

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

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

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

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

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

2. エクスポートされたパーティションを再利用するターゲットの インテル Quartus Prime プロジェクトを開きます。

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

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

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

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

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

52

Page 53: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

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

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

図 -53: Quartus Database File Viewer

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

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

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

53

Page 54: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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.6.6.1. QDB ファイルの属性タイプ

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

表 14. QDB ファイルの属性

QDB の属性タイプ 属性 例

プロジェクト情報 内容 Partition

日付 Thu Jan 23 10:56:23 2018

デバイス 10AX016C3U19E2LG

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

ファミリー Arria 10

パーティション名 root_partition

リビジョン名 Top

リビジョンタイプ PR_BASE

スナップショット synthesized

バージョン 18.1.0 Pro Edition

バージョン互換 Yes

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

合成スナップショットのパーティションの場合は、 Synthesis ResourceUsage Summary レポートからデータが一覧表示されます。

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

Total fan-out:6

...

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

Average fan-out:.16

Combinational ALUTs: 16

I/O Registers

M20Ks

...

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

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

54

Page 55: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

すべてのプロジェクト・リビジョンまたは特定のリビジョンの以前のコンパイル結果を削除する場合は、プロジェクト・データベースを空にします。たとえば、バージョン互換のデータベースを既存のプロジェクトにインポートする前に、以前のコンパイル結果をクリアーする必要があります。

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

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

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

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

1.7. コンパイル時間の短縮

インテル Quartus Prime プロ・エディション開発ソフトウェアでは、さまざまな方法をサポートして、デザインコンパイルの総時間を短縮します。フルコンパイルをすべての Compiler モジュールを含めて大規模なデザインで実行すると、時間がかかる場合があります。次のいずれかの手法を使用して、デザインコンパイルの総時間を短縮してください。

• 並列コンパイル - 複数のプロセッサーを検出して使用し、コンパイル時間を短縮します(複数のプロセッサー・コアを持つシステムの場合)。

• インクリメンタル最適化 - コンパイルを別々のステージに分割することによって、結果の反復解析と設定の最適化をさまざまなコンパイルステージで行うことが可能になります。これは、フルコンパイルの開始前に行います。

• 変更されたブロックの Rapid Recompile - Compiler によって、以前のコンパイル結果が再利用されます。変更されていないデザインブロックの再処理は行われません。このフローが推奨されるのは、HDL で小規模なデザインの変更を行う場合や、Signal Tap のデバッグロジックを追加または変更する場合です。

関連情報• Rapid Recompile の実行 (56 ページ)

• コンパイル時間の短縮 (82 ページ)

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

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

55

Page 56: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.7.1. Rapid Recompile の実行

Rapid Recompile 中、Compiler では、以前の合成およびフィッティングの結果が可能な限り再利用されます。変更されていないデザインブロックの再処理は行われません。デザインの変更部分が少ない場合、Rapid Recompile を使用することで、タイミング変動や再コンパイルの合計時間を短縮することができます。

図 -55: Rapid Recompile

Regular Compile

A

BC

D

E

J Gx y z

Unchanged

Changed

RapidRecompile

Rapid Recompile を実行するには、次のステップに従います。

1. 初回コンパイル後(または Fitter の Route ステージの実行後)に Rapid Recompile を開始するには、Processing > Start > Start Rapid Recompile をクリックします。RapidRecompile では、次のタイプのデザイン変更が、フル・リコンパイルを行わなくても実装されます。

• Signal Tap ロジック・アナライザーによってタップされたノードの変更

• 組み合わせロジックへの変更

• ステートマシン・ロジックの変更(新しいステート、ステート遷移の変更など)

• 信号またはバス・レイテンシーの変更またはパイプライン・レジスターの追加

• 加算器または乗算器の係数の変更

• DSP、RAM、または I/O のレジスターパッキング動作の変更

• 不要なロジックの削除

• 合成指示の変更

2. Rapid Recompile Preservation Summary レポートをクリックして、保持されたコンパイル結果の割合に関する詳細情報を表示します。

図 -56: Rapid Recompile Preservation Summary

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

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

56

Page 57: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.7.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 コンパイルには使用しないでください。

1.7.3. コンパイル結果に影響を与える要因

次のプロジェクト設定、ハードウェア、またはソフトウェアへの変更の大部分によって、コンパイルの結果が次々と影響される可能性があります。

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

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

57

Page 58: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

• プロジェクトファイル - プロジェクト設定 (.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 の結果は同じです。

1.8. プログラミング・ファイルの生成

Compiler の Assembler モジュールでは、デバイス・プログラミング用のファイルが生成されます。フルコンパイルの一部として Assembler を自動的に実行するか、または Assembler モジュールを単独でデザインの配置配線後に実行します。Assembler の実行後、Programmer を使用してコンフィグレーション・データをデバイスにダウンロードします。Device & Pin Options ダイアログボックスでの指定に従って、Assembler で次のファイルの 1 つ以上が生成されます。

表 15. Assembler によって生成されるプログラミング・ファイル

プログラミング・ファイル 説明

SRAM Object Files (.sof) すべての SRAM ベースの Intel FPGA デバイスのコンフィグレーション用データを含むバイナリーファイル。

Programmer Object Files (.pof) EEPROM ベースの Intel コンフィグレーション・デバイスのプログラミング用データを含むバイナリーファイル。たとえば、EPCS16 および EPCS64 デバイスで、SRAM ベースの Intel FPGA デバイスのコンフィグレーションが行われます。

Hexadecimal (Intel-Format) OutputFiles (.hexout)

EPROM や大容量記憶装置などのパラレル・データ・ソースにプログラムするコンフィグレーション・データを含み、SRAM ベースの Intel FPGA デバイスのコンフィグレーションが行われます。

Raw Binary Files (.rbf) インテリジェント外部コントローラーによって使用されるコンフィグレーション・データを含み、SRAM ベースの Intel FPGA デバイスのコンフィグレーションに使用されます。

Tabular Text Files (.ttf) インテリジェント外部コントローラーによって使用されるコンフィグレーション・データを含み、SRAM ベースの Intel FPGA デバイスのコンフィグレーションに使用されます。

注意: これらのファイルの生成は、 インテル Stratix 10 デザインでは使用できません。.svf (Serial Vector Format)

1. Assembler の実行前に、プログラミング・ファイル生成をカスタマイズするための設定を指定します。Assignments > Device > Device & Pin Options をクリックして、オプションのプログラミング・ファイルの生成を有効または無効にします。

2. デバイス・プログラミング・ファイルを生成するには、Processing > Start > StartAssembler または Assembler を Compilation Dashboard でクリックします。Compiler によって、前提条件モジュールの完了が確認され、指定プログラミング・ファイルの生成のためにAssembler モジュールが起動します。Messages ウィンドウには、処理情報、警告、またはエラーが動的表示されます。

Assembler の実行後、Compilation レポートによって、プログラミング・ファイル生成に関する詳細情報が提供されます。これには、プログラミング・ファイルの Summary と Encrypted IP の情報が含まれます。

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

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

58

Page 59: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

図 -57: Assembler レポート

図 -58: デバイスとピンのオプション

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

1.9. 合成言語のサポート

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

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

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

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

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

59

Page 60: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

• Verilog-1995(IEEE 規格 1364-1995)

• Verilog-2001(IEEE 規格 1364-2001)

• Verilog-2005(IEEE 規格 1800-2005)

• Verilog-2009(IEEE 規格 1800-2009)

次の重要なガイドラインは、Verilog HDL および SystemVerilog の インテル Quartus Prime 合成に適用されます。

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

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

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

• Compiler では、Compiler ディレクティブ `define が Verilog HDL 規格に従ってサポートされています。

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

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

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

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

• Intel Quartus Prime Pro Edition User Guide: Design Recommendations

1.9.1.1. Verilog HDL 入力設定(Settings ダイアログボックス)

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

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

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

60

Page 61: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

表 16. Verilog HDL Input の設定

設定 説明

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

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

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

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

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

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

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

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

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

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

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

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

61

Page 62: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

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

1.9.1.3.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.9.1.4. 初期コンストラクトとメモリー・システム・タスク

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

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

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

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

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

62

Page 63: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル 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.9.1.5. Verilog HDL のマクロ

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

Verilog HDL マクロの設定をコマンドラインで インテル 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.9.2. VHDL 合成のサポート

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

• VHDL 1987(IEEE 規格 1076-1987)

• VHDL 1993(IEEE 規格 1076-1993)

• VHDL 2008(IEEE 規格 1076-2008)

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

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

63

Page 64: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

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

関連情報Migrating to Quartus Prime Pro Edition

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

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

表 17. VHDL 入力設定

設定 説明

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

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

図 -60: VHDL Input 設定ダイアログボックス

1.9.2.2. VHDL 標準ライブラリーとパッケージ

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

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

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

64

Page 65: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

STD ライブラリーは、VHDL 言語規格の一部であり、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 ライブラリーの altera_mf_components IPコアパッケージ。さらに、パラメータ化モジュール (LPM) ファンクションのライブラリーの LPM ライブラリーの lpm_components 。

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

1.9.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.10. 合成設定の参照事項

この項では、すべての合成設定項目の参照事項を示します。これらの設定を使用して、デザイン目標の合成処理をカスタマイズします。

1.10.1. 中間 Fitter スナップショットの有効化

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

ただし、Enable Intermediate Fitter Snapshots (Assignments > Settings >Compiler Settings) をオンにして、Plan、Place、Route、および Retime ステージのスナップショットを、フルコンパイルを実行するたびに生成して保持することができます。任意の中間 Fitter ステージを個別に実行して、そのステージのスナップショットを生成することもできます。

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

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

65

Page 66: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.10.2. Optimization Modes

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

表 18. Optimization Modes (Compiler Settings のページ)

Optimization Mode 説明

Balanced (normal flow) Compiler によって、タイミング制約を考慮してバランスのとれた実装を目指した合成の最適化が行われます。

High Performance Effort Compiler によって、配置配線中のタイミング最適化労力が強化され、(レジスター最適化の設定ごとに)タイミングに関連する物理合成最適化が可能になります。追加の最適化を行うたびに、コンパイル時間は長くなります。

High Performance withMaximum Placement Effort

High Performance Effort と同様の Compiler による最適化を可能にします。配置最適化労力の追加を伴います。

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

Superior Performance withMaximum Placement Effort

Superior Performance と同様の Compiler による最適化を可能にします。配置最適化労力の追加を伴います。

Aggressive Area Compiler によって、デザイン実装に必要なデバイス面積を削減する試みが積極的に行われます。このとき、デザイン・パフォーマンスが犠牲になる可能性があります。

High Placement RoutabilityEffort

Compiler によって、デザイン配線労力が強化されます。このとき、デザインエリア、パフォーマンス、およびコンパイル時間が犠牲になる可能性があります。Compiler では、配線使用率の削減に追加の時間が費やされます。これにより、配線性が向上し、ダイナミック消費電力も節約されます。

High Packing RoutabilityEffort

Compiler によって、デザイン配線労力が強化されます。このとき、デザインエリア、パフォーマンス、およびコンパイル時間が犠牲になる可能性があります。Compile では、レジスターのパッキングに追加の時間が費やされます。これにより、配線性が向上し、ダイナミック消費電力も節約されます。

Optimize Netlist forRoutability

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

High Power 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 タブの 1 つの Optimization Modes に戻ったことが分かります。

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

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

66

Page 67: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1.10.3. レジスターのリタイミングの実行

Allow Retiming オプションでは、リタイミングをグローバルに無効化するかどうかを制御します。オンにすると、Compiler によって、レジスターのリタイミングの最適化が自動的に実行され、レジスターは、組み合わせロジックを介して移動します。オフにすると、Compiler でのグローバルスケールでのリタイミングの最適化は行われません。必要に応じて、Allow Register Retiming をデザインの特定部分に対するデザインのエンティティーまたはインスタンスに割り当てます。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 OFF

set_instance_assignment –name ALLOW_REGISTER_RETIMING ON –to “abc|”

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

1.10.4. Advanced Synthesis Settings

次の項は、すべての Advanced Synthesis Settings のクイック・リファレンスです。Assignments > Settings > Compiler Settings > Advanced Settings(Synthesis)をクリックして、これらの設定を変更します。

表 19. Advanced Synthesis Settings (1/13)

オプション 説明

Allow Any RAM Size forRecognition

RAM が現在の最小要件を満たさない場合でも、Compiler によって任意サイズの RAM の推測ができるようにします。

Allow Any ROM Size forRecognition

ROM がデザインの現在の最小サイズ要件を満たさない場合でも、Compiler によって任意サイズの ROMの推測ができるようにします。

Allow Any Shift RegisterSize for Recognition

シフトレジスターがデザインの現在の最小サイズ要件を満たさない場合でも、Compiler によって任意サイズのシフトレジスターの推測ができるようにします。

Allow Register Duplication デザインのパフォーマンスを向上させるため、Compiler でレジスターを複製するかどうかを制御します。有効にした場合、Compiler で最適化が実行され、それによってレジスターの 2 つ目のコピーが作成され、ファンアウトの一部がこの新しいノードに移動します。この手法によって、配線性が向上し、多くのファンアウトを使用してネットを配線するために必要となる配線ワイヤーの総数が削減されます。このオプションを無効にすると、レジスターのリタイミングも無効になります。注意: インテル Stratix 10 デバイスでは使用できません。

Allow Register Merging Compiler で同一のレジスターを削除(マージ)するかどうかを制御します。有効にした場合、2 つのレジスターで同じロジックが生成されると、Compiler によって 1 つのレジスターが削除され、残ったレジスターが、削除されたレジスターのデスティネーションにファンアウトされることがあります。このオプションが有用なのは、意図的に使用した重複レジスターが、Compiler によって削除されないようにする場合です。無効にすると、リタイミングの最適化も無効になります。

continued...

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

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

67

Page 68: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

オプション 説明

注意: インテル Stratix 10 デバイスでは使用できません。

Allow Shift Register MergingAcross Hierarchies

Compiler で、シフトレジスターをデザインのさまざまな階層から取り出し、レジスターの同じ RAM へ配置することができるようにします。

Allow Synchronous ControlSignals

Compiler で、同期クリアーおよび同期ロード信号をノーマルモードのロジックセルで使用できるようにします。このオプションをオンにすると、デザインで使用するロジックセルの総数が削減されますが、フィッティングに悪影響を与える可能性があります。この負の影響が発生するのは、LAB 内のすべてのロジックセルが同期コントロール信号を共有しているためです。

表 20. 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 ゲートを含めることができます。このオプションをオンにすると、メモリー使用量と全体の実行時間が増加する可能性があります。タイミング解析には TimingAnalyzer を使用する必要があります。また、すべてのベースクロックを Synopsys Design Constraints(.sdc) 形式で定義する必要があります。

表 21. 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_ram_dp IP コアで置き換え可能なロジックを識別できるようにします。このオプションをオンにすると、デザインのパワーアップ・ステートが変更されることがあります。

Auto Resource Sharing Compiler で、類似しているが相互排他的な HDL ソースコード内の操作の間でハードウェア・リソースを共有できるようにします。このオプションを有効にすると、Compiler によって、互換性のある加算、減算、および乗算がマージされます。マージ操作により、デザインに必要な領域が減少する可能性があります。リソースの共有では、各共有リソース上で追加の多重化と制御ロジックが導入されるため、デザインの最終的な fMAX に悪影響を及ぼす可能性があります。

Auto Shift RegisterPlacement

Compiler で、長さが同じで、altshift_taps IP コアで置き換え可能なシフトレジスター群を検索できるようにします。シフトレジスターでは、すべて同じクロックとクロックイネーブル信号を使用する必要があります。レジスターに他の 2 次信号が存在することはできません。レジスターには、少なくとも 3 つのレジスターを等間隔に並べたタップが必要です。

Automatic Parallel Synthesis 自動並列合成を有効/無効にするオプション。このオプションを使用すると、可能な場合に複数のプロセッサーを使用して合成コンパイル時間を短縮できます。

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

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

68

Page 69: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 22. Advanced Synthesis Settings (4/13)

オプション 説明

Block Design Naming ブロックデザインの命名規則を指定します。このオプションをデザイン・エンティティー以外のものに割り当てると、Compiler ではこのオプションが無視されます。

Clock MUX Protection クロック・ネットワーク内のマルチプレクサを 2 対 1 のマルチプレクサ・ツリーに分解します。Compiler では、これらのツリーが他のロジックとマージしたり、ほかのロジックに転送されたりしないようにします。このオプションは、Timing Analyzer でのクロック動作の解析に役立ちます。

DSP Block Balancing DSP ブロック・バランシング中に特定の DSP ブロックスライスの変換を制御することができるようにします。

表 23. 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 にすると、Compiler への指示によって、算術ブロックに高密度パッキングが適用され、算術集約型デザインのデザイン領域が最小限に抑えられます。

HDL Message Level HDL ソースコードの処理エラーを表示するメッセージを含め、表示する HDL メッセージのタイプを指定します。Level1 では、最も重要な HDL メッセージのみが表示されます。Level2 では、ほとんどの HDLメッセージが表示されます。警告および情報ベースのメッセージが含まれます。Level3 では、すべてのHDL メッセージが表示されます。警告および情報ベースのメッセージや潜在的なデザイン上の問題またはlint エラーに関するアラートなどが含まれます。

表 24. Advanced Synthesis Settings (6/13)

オプション 説明

Ignore GLOBAL Buffers デザイン内の GLOBAL バッファーが無視されます。このオプションを個々の GLOBAL バッファー以外、または GLOBAL バッファーを含むデザイン・エンティティーに適用すると、Compiler ではこのオプションが無視されます。

Ignore LCELL Buffers デザイン内の LCELL バッファーが無視されます。このオプションを個々の LCELL バッファー以外、または LCELL バッファーを含むデザイン・エンティティーに適用すると、Compiler ではこのオプションが無視されます。

Ignore Maximum Fan-OutAssignments

Compiler への指示によって、ノード、エンティティー、またはデザイン全体の Maximum Fan-OutAssignments が無視されます。

Ignore SOFT Buffers デザイン内の SOFT バッファーが無視されます。このオプションを個々の SOFT バッファー以外、またはSOFT バッファーを含むデザイン・エンティティーに適用すると、Compiler ではこのオプションが無視されます。

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

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

69

Page 70: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 25. 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 ループの反復制限が定義されます。ループの条件は、各ループ反復で時定数をコンパイルするための評価を行わないことです。この制限が存在するのは、主に、潜在的無限ループの特定を、メモリーを使い果たしたり、ソフトウェアを実際の無限ループでトラップしたりする前に行うためです。

表 26. Advanced Synthesis Settings (8/13)

オプション 説明

Maximum DSP Block Usage DSP ブロックの最大数が指定されます。これは、DSP ブロック・バランサーによって存在が想定される、現在のデバイスの各パーティションに対する DSP ブロックの数です。このオプションでは、現在のデバイスでサポートされている DSP ブロックの最大数の一般的な使用方法がオーバーライドされます。

Maximum Number of LABs LAB の最大数が指定されます。これは、Analysis&Synthesis によってデバイスに対する使用が試行される LAB の数です。このオプションで、現在のデバイスでサポートされている LAB の最大数の一般的な使用方法がオーバーライドされるのは、LAB の最大数の値が負ではなく、現在のデバイスで使用可能な LAB の最大数より少ない場合です。

Maximum Number ofM4K/M9K/M20K/M10KMemory Blocks

Compiler でデバイスに対して使用可能な M4K、M9K、M20K、または M10K メモリーブロックの最大数を指定します。このオプションで、現在のデバイスでサポートされている M4K、M9K、M20K、または M10Kメモリーブロックの最大数の一般的な使用方法がオーバーライドされるのは、メモリーブロックの最大数の値が負ではなく、現在のデバイスで使用可能な M4K、M9K、M20K、または M10K メモリーブロックの最大数より少ない場合です。

表 27. Advanced Synthesis Settings (9/13)

オプション 説明

Maximum Number ofRegisters Created fromUninferred RAMs

Analysis&Synthesis で使用する、推測されていない RAM の変換用のレジスターの最大数が指定されます。このオプションを、プロジェクト全体のオプションとして、または特定のパーティションに対して使用するために、パーティション・ルートのインスタンス名へのアサインメントを設定します。あるパーティションに対するアサインメントによって、そのパーティションに対するグローバル・アサインメントが(存在する場合に)オーバーライドされます。このオプションを使用することによって、推測されていない RAM に多数のレジスターが使用されている場合に発生する、合成での長時間のコンパイルやメモリー不足が防止されます。 インテル Quartus Prime 開発ソフトウェアによってエラーが発行され、コンパイルが終了します。

NOT Gate Push-Back デザインの実装が必要な場合に、Compiler で、反転(つまり NOT ゲート)のプッシュバックをレジスターを介して行ったり、そのレジスターのデータ入力に実装することができるようにします。このオプションがオンのとき、レジスターはアクティブハイ状態にパワーアップされることがあり、デバイスの初期動作中に明示的クリアーが必要になる場合があります。このオプションを個々のレジスターまたはレジスターを含むデザイン・エンティティー以外に適用すると、Compiler では無視されます。このオプションをレジスターから直接供給される出力ピンに適用すると、アサインメントがそのレジスターに自動転送されます。

Number of InvertedRegisters Reported inSynthesis Report

Synthesis レポートに表示する反転レジスターの最大数を指定します。

Number of ProtectedRegisters Reported inSynthesis Report

Synthesis レポートに表示する保護レジスターの最大数を指定します。

continued...

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

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

70

Page 71: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル 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 レポートに表示する最大行数を指定します。

注意: インテル Stratix 10 デバイスでは使用できません。

Optimization Technique Analysis&Synthesis の全体の最適化目標が指定されます。Balanced 方法を指定するか、Performance、Area、Routability、Power、または Compile Time のいずれかに対して最適化を行います。Compiler のターゲットは、ユーザーによって指定された最適化目標です。

表 28. Advanced Synthesis Settings (10/13)

オプション 説明

Perform WYSIWYG PrimitiveResynthesis

合成中に WYSIWYG プリミティブ再合成を実行するかどうかを指定します。このオプションでは、Optimization Technique ロジックオプションで指定した設定が使用されます。

Power-Up Don't Care Power-Up Level logic オプション設定のないレジスターを、 Don't Care ロジックレベル (X) でパワーアップさせます。Power-Up Don't Care オプションがオンの場合、Compiler では、レジスターのパワーアップ・レベルを変更してデザインの面積を最小化するのに有益なタイミングを判断します。領域上の利点がすぐにはない限り、Compiler では、パワーアップ状態がゼロに維持されます。

Power Optimization DuringSynthesis

Analysis & Synthesis のパワードリブン・コンパイル設定を制御します。このオプションでは、Analysis& Synthesis によるデザインの消費電力最適化に対する積極性レベルが決定されます。このオプションがOff の場合、Compiler では電力最適化を実行しません。Normal compilation では、デザインのパフォーマンスが低下することが予想されない限りは、消費電力の最適化を実行します。Extra effort では追加の電力最適化が実行され、デザイン性能が低下する可能性があります。

表 29. Advanced Synthesis Settings (11/13)

オプション 説明

Remove Duplicate Registers 同一のレジスターが2つある場合、そのうちの 1 つが削除されます。2 つのレジスターで同じロジックが生成された場合は、Compiler によってそのうちの 1 つが削除されます。1 番目のインスタンスは、その複製のデスティネーションにファンアウトされます。また、削除されたレジスターに異なるロジックオプションのアサインメントが含まれている場合、Compiler ではそのオプションが無視されます。このオプションは、重複レジスターの Compiler による意図的な削除を防止したい場合に有用です。個々のレジスターまたはレジスターを含むデザイン・エンティティー以外に適用すると、Compiler ではこのオプションは無視されます。

Remove Redundant LogicCells

冗長 LCELL プリミティブまたは WYSIWYG プリミティブが削除されます。このオプションをオンにすると、回路の面積と速度が最適化されます。デザイン・エンティティー以外に適用すると、Compiler ではこのオプションは無視されます。

Report Parameter Settings Synthesis レポートに Parameter Settings by Entity Instance フォルダー内のレポートを含めるか指定します。

Report PR Initial Values asErrors

PR パーティションに存在する明示的定義がされた初期値を、警告ではなくエラーとしてフラグ設定ができるようにします。

Report Source Assignments Synthesis レポートに Source Assignments フォルダー内のレポートを含めるか指定します。

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

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

71

Page 72: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 30. 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 デザインでは、このデフォルト設定により、この設定が 6 以下のステー

トマシンで有利であると Compiler で判断するたびに、Safe State Machine が有効になります。この設定は、予期しない初期パワーアップ状態を見込んでおくのに役立ちます。 インテル Arria 10 および インテル Cyclone 10 GX の場合、Auto 設定は Never と同じです。

• On - Compiler に指示して Safe State Machine を常に使用します。• Never - Safe State Machine は使用しません。

シフトレジスターの置き換え - 非同期クリアー信号を許可

Compiler で、altshift_taps IP コアに置き換え可能で、同じ長さのシフトレジスター群を検索することができるようにします。シフトレジスターには、すべて同じ aclr 信号を使用する必要があり、他の 2 次信号を持つことはできません。また、少なくとも 3 つのレジスター分、等間隔に離れたタップがなくてはなりません。このオプションを使用するには、Auto Shift Register Replacement ロジックオプションをオンにしてください。

Size of the Latch Report Synthesis レポートに表示する最大ラッチ数を指定できます。

Size of the PR InitialConditions Report

PR Initial Conditions Report に表示するレジスターの最大数を指定できます。

表 31. 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 では同期チェーンと見なされます。同期チェーンは、レジスターのシーケンスであり、同じクロックを持ち、間にファンアウトがないため、最初のレジスターがピンまたは別のクロックドメインのロジックによって供給されます。Compiler では、これらのレジスターをメタスタビリティ解析のために考慮します。Compiler では、リタイミングなど、これらのレジスターの最適化が防止されます。ゲートレベルのリタイミングが有効な場合、Compiler ではこれらのレジスターは削除されません。デフォルトの長さは 2 に設定されています。

continued...

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

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

72

Page 73: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル 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 設定の参照事項

Fitter 設定を使用して、デザインの配置配線をカスタマイズします。 Assignments > Settings >Compiler Settings > Advanced Settings (Fitter) をクリックして Fitter 設定にアクセスしてください。

表 32. 1/8

オプション 説明

ALM Register Packing Effort Fitter によるレジスター配置中の ALM のパッキングが積極的に行われるよう手助けします。このオプションを使用すると、セカンダリー・レジスターの場所が増えます。ALM の実装密度を上げると、デザインのフィッティングに必要な ALM の数を減らすことができますが、配線のフレキシビリティーとタイミング・パフォーマンスも低下する可能性があります。• Low - Fitter によって、直接接続されていない LUT とレジスターを組み合わせる ALM パッキングの

コンフィグレーションが回避されます。このコンフィグレーションを回避すると、タイミング・パフォーマンスは向上しますが、デザイン実装のための ALM 数が増加します。

• Medium - Fitter によって、未接続の LUT とレジスターを組み合わせて ALM の場所へ実装するコンフィグレーションの一部が許可されます。Fitter によって ALM 内のセカンダリー・レジスターの場所がより一層活用されます。

• High - Fitter によって、有効で望ましい ALM パッキングのコンフィグレーションの全部が可能になります。密度が高いデザインでは、Fitter によって、ALM レジスターのパッキング労力が必要に応じて自動的に増加し、デザインのフィッティングが可能になります。

Advanced PhysicalSynthesis

フィッティング時の組み合わせ最適化およびシーケンシャル最適化を含む Physical Synthesis エンジンを有効にし、回路パフォーマンスが改善します。

Allow Delay Chains Fitter ですべての I/O エレメントに対する最適な遅延チェーンを選択し、tSU および tCO のタイミング要件を満たすことができるようにします。このオプションを有効にすると、tSU 違反数が減り、tH 違反数が最小限に抑えられます。このオプションを有効にしても、個々のノードの遅延チェーンの設定は上書きされません。

Allow DSP Retiming DSP ブロックを介したリタイミングができるようにします。

Allow Early Global Retimingin the Fitter

Compiler で Fitter の初期段階のグローバル・リタイミングを実行できるようにします。

Allow Hyper-Aware RegisterChain Area Optimizations inthe Fitter

ALM の使用量を削減するために、いくつかのバックツーバックのレジスターをハイパーレジスターに自動的に強制します。この面積削減手法をオンにすると、パフォーマンスが低下し、コンパイル時間が長くなる可能性があります。

Allow RAM Retiming RAM ブロックを介したリタイミングができるようにします。

continued...

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

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

73

Page 74: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

オプション 説明

Allow Register Duplication Compiler でデザイン・パフォーマンスを改善させるためのレジスターの複製ができるようにします。このオプションを有効にすると、Compiler では、レジスターをコピーしてファンアウトの一部をこの新しいノードに移動します。この最適化により配線性が改善し、ファンアウトが多いネットで配線ワイヤーの総数を減らすことができます。このオプションを無効にすると、レジスターのタイミングを変更する最適化が無効になります。注意: インテル Stratix 10 デバイスでは使用できません。

Allow Register Merging Compiler でデザイン内の他のレジスターと同一のレジスターが削除できるようにします。このオプションを有効にした場合、2 つのレジスターで同じロジックが生成されると、Compiler によって 1 つのレジスターが削除され、残りのレジスターは削除されたレジスターのデスティネーションにファンアウトされます。このオプションは、重複レジスターが意図的に使用されている場合に、Compiler によってそれが削除されることを防止するのに有用です。レジスターのマージを無効にすると、Compiler では、レジスターをリタイミングする最適化が無効になります。注意: インテル Stratix 10 デバイスでは使用できません。

Auto Delay Chains for HighFanout Input Pins

Fitter で高ファンアウト入力ピンの遅延チェーンの最適化方法が選択できるようにします。このオプションを有効にするには、Auto Delay Chains を有効にする必要があります。このオプションを有効にすると、tSU 違反数を減らすことができますが、Fitter ですべてのファンアウト設定を最適化しようとすると、コンパイル時間が大幅に長くなります。

Auto Fit Effort Desired SlackMargin

Fitter で維持されるデフォルトのワーストケースのスラックマージンが指定されます。デザインのすべてのパスで少なくともこれだけのスラックがある可能性が高い場合、Fitter では、最適化の労力が減らされ、コンパイル時間が短縮されます。注意: インテル Stratix 10 デバイスでは使用できません。

表 33. 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 | 2018.09.24

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

74

Page 75: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル 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 オプションが無視されるのは、OFF を Logic Cell Insertion -- Logic Duplication ロジックオプションの設定として選択した場合です。このオプションをオンにすると、Logic Cell Insertion -- Logic Duplication ロジックオプションでデザインの配線性を改善することができますが、デザインのフォーマル検証がより難しくなる可能性があります。注意: インテル Stratix 10 デバイスでは使用できません。

表 34. 3/8

オプション 説明

Enable Auto-Pipelining 自動パイプライン機能とレイテンシー非依存のフォールスパス機能がオンになります。この設定をAssignment Editor の Maximum Additional Pipelining およびオプションの AdditionalPipelining Group アサインメントと組み合わせて、パイプライン・レジスターを指定場所に自動的に追加します。注意: インテル Stratix 10 デバイスでのみ使用できます。

Enable Bus-Hold Circuitry デバイス動作中のバスホールド回路が有効になります。このオプションが On の場合、ピンでは、駆動されていないときに最後のロジックレベルが保持され、ハイ・インピーダンス・ロジックレベルへの移動はありません。このオプションは、Weak Pull-Up Resistor によるデザインと Fast オプションでの Critical ChainViewer へ配置の有効化と同時には使用しないでください。このオプションは、ピン以外に適用した場合、Compiler では無視されます。

Enable Critical ChainViewer

クリティカル・チェーンの可視化を インテル Stratix 10 デバイスの Fast Forward Timing ClosureRecommendations レポートで有効にします。

Equivalent RAM and MLABPaused Read Capabilities

MLAB セルに実装された RAM に、RAM ブロックによって RAM に実装されたのと同等の読み取り一時停止機能を持たせる必要があるかを指定します。読み取りの一時停止では、読み取りが無効のときに、最後の読み取り値を手元において置くことができます。読み取り一時停止機能の違いを許容すると、MLAB セルを使用した RAM 実装のフレキシビリティーが向上します。MLAB セルを使用してどの RAM を実装するかを決定する際に、Fitter に最大限のフレキシビリティーを持たせるには、このオプションを Don't Care に設定します。次のオプションが用意されています。• Don't care - ブロック RAM の実装と同等の読み取り一時停止機能がなくても、Fitter で RAM を

MLAB セルに変換することができます。Fitter では、異なる読み取り一時停止機能を持つ RAM に関する情報メッセージが生成されます。

• Care - Fitter では、ブロック RAM の実装と同等の読み取り一時停止機能がない限り、RAM は MLABセルに変換されません。

Equivalent RAM and MLABPower Up

MLAB セルに実装されている RAM に、ブロック RAM に実装された RAM と同等のパワーアップ条件を持たせる必要があるかを指定します。パワーアップ条件が発生するのは、デバイスが起動するかグローバルにリセットされたときです。非同等のパワーアップ条件を許容すると、MLAB セルを使用して RAM を実装する際のフレキシビリティーが向上します。

continued...

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

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

75

Page 76: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

オプション 説明

MLAB セルを使用してどの RAM を実装するかを決定する際に、Fitter に最大限のフレキシビリティーを持たせるには、このオプションを Auto または Don't Care に設定します。以下のオプションが使用できます。• Auto - MLAB セルにブロック RAM の実装と同等のパワーアップ条件がない場合でも、Fitter で

RAM を MLAB セルに変換することができます。 Fitter ではまた、パワーアップ条件が同等ではないRAM についての警告メッセージが出力されます。

• Don't Care - Auto と同じ動作が適用されますが、メッセージは情報メッセージです。• Care - Fitter では、ブロック RAM の実装と同等のパワーアップ条件がない限り、RAM は MLAB セル

に変換されません。

Final PlacementOptimizations

Fitter で最終配置の最適化を実行するかを指定します。最終配置の最適化を実行すると、タイミングと配線性が改善されますが、コンパイル時間も長くなる可能性があります。

Fitter AggressiveRoutability Optimizations

Fitter で配線性を積極的に最適化するかを指定します。配線性の積極的な最適化を実行すると、デザイン速度が低下しますが、配線ワイヤーの使用量と配線時間も削減される可能性があります。Automatically 設定により、積極的な配線の有益性を Fitter で判断できるようになります。

表 35. 4/8

オプション 説明

Fitter Effort フィッティング中の物理合成最適化のレベルを指定します。• Auto - Fitter の最適化労力を調整して、最短のコンパイル時間を達成しながら、デザインのタイミング

要件が満たされます。Auto Fit Effort Desired Slack Margin オプションを使用して、十分な最適化労力を適用し、追加のタイミングマージンを達成します。

• Standard - デザイン要件に関係なく最大限の労力が費やされるため、コンパイル時間が長くなり、より簡単なデザインでのマージンが多くなります。難しいデザインの場合は、Auto と Standard の両方で最大限の労力が費やされます。

注意: インテル Stratix 10 デバイスでは使用できません。

Fitter Initial PlacementSeed

現在のデザインのシードを指定します。値は、負でない整数値にすることができます。既定では、Fitter では 1のシードを使用します。Fitter では、シードを初期配置コンフィグレーションとして使用してデザイン配置を最適化し、タイミング要件 fMAX を満たします。シード値が異なるとフィッティングも多少異なるため、いくつかの異なるシードを試して、優れたフィッティング結果を得ることができます。デザインを最適なフィッティングに導くシードが変更される可能性があるのは、デザインが変わった場合です。また、シードの変更によって、より良いフィッティングが得られる場合もあれば、そうでない場合もあります。したがって、シードの指定は、Fitter でタイミング要件が満たされていない部分が少ない場合にのみ行います。

注意: Design Space Explorer II (DSEII) を使用し、シードを含む複雑なフロー・パラメーターを インテル Quartus Prime 開発ソフトウェアでスイープして、デザインのパフォーマンスを最適化することもできます。

Logic Cell Insertion Fitter によって、2 つのノード間へのバッファー・ロジック・セルの自動挿入を、デザイン機能を変更することなく行うことができるようにします。Compiler では、バッファー・ロジック・セルがデバイス内の未使用のロジックセルから作成されます。このオプションを使用すると、未使用のロジックセルが LAB 内にあって、それが使用可能な場合、Fitter によって LAB 内のロジックセルを複製することもできます。このオプションを使用すると、コンパイル時間が長くなる可能性があります。デフォルトの Auto 設定では、これらの操作をデザインのフィッティングに必要な場合に実行できるようにします。注意: インテル Stratix 10 デバイスでは使用できません。

MLAB Add TimingConstraints for Mixed-PortFeed-Through ModeSetting Don't Care

Timing Analyzer によって MLAB メモリーブロックの書き込み操作と読み取り操作の間のタイミング制約を評価するかを指定します。書き込み操作と読み取り操作を同時に同じアドレスで実行すると、メタスタビリティの問題が発生する可能性があります。これは、これらの操作間のタイミング制約がデフォルトでは存在しないためです。このオプションをオンにすると、MLAB メモリーブロックの書き込み操作と読み取り操作の間にタイミング制約が発生し、それによってメタスタビリティの問題が回避されます。ただし、このオプションをオンにすると、MLAB メモリーブロックのパフォーマンスが低下します。デザインで書き込み操作と読み取り操作を同時に同じアドレスで実行しない場合は、このオプションを設定する必要はありません。

Number of Example NodesReported in FitterMessages

Fitter メッセージで表示するサンプルノードの最大数を指定できるようにします。

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

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

76

Page 77: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 36. 5/8

オプション 説明

Optimize Design forMetastability

この設定により、平均故障間隔 (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— レジスターから I/O ピンまでの最小 tCO

— I/O ピンまたはレジスターから I/O ピンまたはレジスターまでの最小 tPD

Optimize Timing ロジックオプションを無効にすると、Optimize Hold Timing オプションは使用できません。

Optimize IOC RegisterPlacement For Timing

Fitter で I/O ピンのタイミング最適化を行うのに、レジスターを 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 | 2018.09.24

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

77

Page 78: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 37. 6/8

オプション 説明

Periphery to CorePlacement and RoutingOptimization

Fitter によるターゲット配置配線の最適化を、ペリフェラル・ロジックと FPGA コア内のレジスター間の直接接続に対して実行するかを指定します。次のオプションがあります。• Auto - Fitter で、タイトなタイミングウィンドウを使用した転送を自動識別し、コアレジスターを配置し

て、すべての接続をペリフェラルとの間で配線します。Fitter では、これらの配置配線の決定を残りのコアの配置配線前に行います。このシーケンスにより、確実にこれらのタイミング・クリティカルな接続がタイミングを満たし、配線の輻輳も回避されます。

• On - Fitter で、ペリフェラル・レジスターとコアレジスター間のすべての転送を最適化します。これはタイミング要件に関係なく行われます。このオプションをグローバルに On に設定しないでください。代わりにAssignment Editor を使用して、ターゲットとなるノードまたはエンティティーのセットに最適化を割り当てます。

• Off - Fitter でペリフェラルのコアへの最適化は実行されません。

注意: インテル Stratix 10 デバイスでは使用できません。

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 - デザインのパフォーマンスに影響を与えたり、コンパイル時間を長くしたりする可能性が

ある追加の電力最適化が実行されます。

表 38. 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 設定と類似しています。

タイミングに失敗したデザインでは、負のスラックを持つすべてのパスが高速モードになります。このモードではデザイン速度は上がらず、静的消費電力が増加する可能性があります。このモードは、タイミングを収束するために再設計する必要があるロジックパスを判断する際に有用です。

continued...

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

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

78

Page 79: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

オプション 説明

注意: インテル Stratix 10 デバイスでは使用できません。

Router TimingOptimization level

ルーターによるタイミング要件を満たそうとする積極性の程度を制御します。このオプションを Maximum に設定すると、デザインの速度がわずかに向上しますが、コンパイル時間も増えます。このオプションをMinimum に設定すると、コンパイル時間が短縮されますが、デザイン速度がわずかに低下します。デフォルト値は Normal です。

Run Early Place duringcompilation

フルコンパイル中の Early Place Fitter ステージを有効にします。この設定をオンにすると、Fitter 処理時間が長くなる可能性があります。

表 39. 8/8

オプション 説明

SynchronizerIdentification

Compiler でメスタビリティ解析用の同期レジスターのチェーンレジスターを識別する方法を指定します。同期レジスターチェーンは、同じクロックを持ち、間にファンアウトのない一連のレジスターで、ピンまたは別のクロックドメインからのロジックによって駆動されます。次のオプションが用意されています。• Off - Timing Analyzer では、指定されたレジスター、または指定エンティティー内のレジスターは、同期レ

ジスターとして識別されません。• Auto - Timing Analyzer では、有効な同期レジスター(チェーンの一部で、複数のレジスターを持ち、組み

合わせロジックを含まないもの)を識別します。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-Hold Circuitryオプションと同時に有効にしないでください。ピン以外のものに適用した場合、Fitter ではこのオプションは無視されます。

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

この文書には以下の改訂履歴があります。

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

2018.09.24 18.1.0 • 中間 Fitter スナップショットを有効または無効にするオプションについて説明し、それに従ってコンパイルフローとダッシュボードの説明を更新しました。

• 「コンパイル結果のエクスポート」の項とそのサブトピックを追加しました。• フルチップ・データベースの移行について、「バージョン互換のコンパイル・データベー

スのエクスポート」の項で説明しました。continued...

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

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

79

Page 80: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

• .qdb パーティションの自動エクスポートについて、「デザイン・パーティションのエクスポート」の項で説明しました。

• QDB ファイルメタデータの表示について、「Quartus データベース・ファイル情報の表示」で説明しました。

• 「フラクタル合成の最適化」の項を追加し、「合成の実行」の項のステップを新しいオプション用に更新しました。

• 新しい Compiler Optimization Modes について説明し、 .qsf によって追加された拡張最適化モードに対して表示される注意について説明しました。

• 新しい Global Signal Visualization Report について説明しました。• 「コンパイル結果に影響を与える要因」の項を追加しました。• 「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 設定の参照事項」に追

加しました。• Allow DSP Retiming オプションの説明を「Fitter 設定の参照事項」に追加しまし

た。• Early Global Retiming in the Fitter オプションの説明を「Fitter 設定の参照事

項」に追加しました。• Allow Hyper-Aware Register Chain Area Optimizations in the Fitter オプ

ションの説明を「Fitter 設定の参照事項」に追加しました。• Allow RAM Retiming オプションの説明を「Fitter 設定の参照事項」に追加しまし

た。• Number of Example Nodes Reported in Fitter Messagesオプションの説明

を「Fitter 設定の参照事項」に追加しました。• Physical Placement Effort オプションの説明を「Fitter 設定の参照事項」に追加し

ました。• Use Checkered Pattern as uninitialized RAM Content オプションの説明を

「Fitter 設定の参照事項」に追加しました。• Auto 設定の Safe State Machine オプションの説明を更新しました。• Ignore ROW GLOBAL Buffers オプションのサポートを削除しました。• Ignore CARRY Buffers オプションのサポートを削除しました。• Ignore CASCADE Buffers オプションのサポートを削除しました。

2018.05.07 18.0.0 • 「Optimization Modes」のトピックを更新して、Compile Time (Aggressive) を追加しました。

• 同時解析の内容を Early Place Flow トピックから新しい Concurrent AnalysisDuring Synthesis or Fitting トピックに移動しました。

• Rapid Recompile で インテル Stratix 10 デバイスをサポートするようになりました。

• Retime Stage Reports の説明を強化しました。• Retime Stage の説明を強化して、標準のレジスター・リタイミングを含めました。

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

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

80

Page 81: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

表 40. 改訂履歴

日付 バージョン 変更内容

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 後の同時解析について説明しました。• Timing Analyzer、Report、Setting、および Concurrent Analysis それぞれ

の Compilation Dashboard 制御画面を更新しました。• Auto DSP Block Replacement in Advanced Synthesis Settingsの説明

を更新しました。• Allow Register Retiming の Advanced Fitter Settings を更新し、廃止され

た SSN Optimization オプションを削除しました。• 「レジスター・リタイミングの防止」のトピックを追加しました。• 「合成中のレジスターの保存」のトピックを追加しました。• Safe State Machine ロジックオプションの制限を削除しました。• パーシャル・リコンフィグレーションおよびブロックベースのデザインフローへの

参照を追加しました。

2016.10.31 16.1.0 • インテルへのブランド変更を実行しました。• Compiler のスナップショットについて説明し、「スナップショットのタイミングの

解析」のトピックを追加しました。• プロジェクトのディレクトリー構造図を更新しました。• 新しい Fitter ステージのメニューコマンドとレポートについて説明しました。• Early Place Flow、Implement Flow、および Finalize Flow の説明を追加しま

した。• Fitter でのインクリメンタル最適化の説明を追加しました。• 章内の項の順序を再編成しました。• 廃止予定の Per-Stage Compilation (Beta) コンパイルフローを削除しま

した。

2016.05.03 16.0.0 • Fitter Plan、Place および Route ステージ、レポート、最適化の説明を追加しました。

• Per-Stage Compilation (Beta)コンパイルフローを追加しました。• Compilation Dashboard の情報を追加しました。• Safe State Machine ロジックオプションのサポートを削除しました。RTL で

safe 状態をエンコードします。• 「動的合成レポートの生成」のトピックを追加しました。• Quartus プロジェクトのディレクトリー構造を更新しました。

2015.11.02 15.1.0 • 初版

関連情報ドキュメント・アーカイブ

インテル Quartus Prime Handbook の旧バージョンは、ドキュメント・アーカイブを検索してください。

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

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

81

Page 82: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

2. コンパイル時間の短縮

インテル Quartus Prime Compiler での合成およびフィッティングに必要な時間を短縮するために、さまざまな手法を採用できます。

2.1. Compilation Time Advisor

Compilation Time Advisor は、 インテル Quartus Prime GUI で Tools > Advisors >Compilation Time Advisor をクリックして入手できます。この章では、Compilation TimeAdvisor で使用できるすべてのコンパイル時間最適化方法について説明します。

2.2. 全体のコンパイル時間を短縮するための手法

次の手法を使用すると、デザインのコンパイルに必要な合計時間を短縮できます。

• 並列コンパイル(複数のプロセッサー・コアを持つシステムの場合)

• Rapid Recompile と Smart Compilation では、以前のコンパイルの結果を再利用して、全体のコンパイル時間が短縮されます。

2.2.1. Rapid Recompile の実行

Rapid Recompile 中、Compiler では、以前の合成およびフィッティングの結果を可能な限り再利用します。変更されていないデザインブロックの再処理は行いません。デザインの変更部分が少ない場合、Rapid Recompile を使用することで、タイミング変動や再コンパイルの合計時間を短縮できます。

図 -61: Rapid Recompile

Regular Compile

A

BC

D

E

J Gx y z

Unchanged

Changed

RapidRecompile

Rapid Recompile を実行するには、次のステップに従います。

UG-20132 | 2018.09.24

フィードバック

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

ISO9001:2015登録済

Page 83: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

1. Rapid Recompile を初回コンパイル後(または Fitter の Route ステージの実行後)に開始するには、Processing > Start > Start Rapid Recompile をクリックします。RapidRecompile では、次のタイプのデザイン変更が、フル・リコンパイルを行うことなく実装されます。

• Signal Tap Logic Analyzer によってタップされたノードへの変更

• 組み合わせロジック機能の変更

• ステートマシン・ロジックへの変更(新しいステート、ステート遷移の変更など)

• 信号またはバス・レイテンシーへの変更またはパイプライン・レジスターの追加

• 加算器または乗算器の係数への変更

• DSP、RAM、または I/O のレジスターパッキング動作の変更

• 不要なロジックの削除

• 合成ディレクティブへの変更

2. Rapid Recompile Preservation Summary レポートをクリックして、保持されたコンパイル結果の割合に関する詳細情報を表示します。

図 -62: Rapid Recompile Preservation Summary

2.2.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 シード設定の変更に類似しています。

マルチプロセッサー・コンパイルを有効にするには、次のステップを実行します。

2. コンパイル時間の短縮UG-20132 | 2018.09.24

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

83

Page 84: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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.2.3. ブロックベースのコンパイルの使用

デザインプロセス中に、配置およびタイミングの要件を満たす機能ブロックを、変更や最適化を実行中の他のものから切り離すことができます。機能ブロックをパーティションに分離することで、選択した領域に最適化手法を適用して、それらの領域のみをコンパイルすることができます。

機能ブロックを分割するパーティションを作成するには、次の手順を実行します。

1. Design Partition Planner で、パーティション化に適したサイズのブロックを特定します。

一般的にパーティションは、全体のデザインサイズのおよそ 15~20 パーセントに相当します。各エンティティーの最上部にあるバーの下の情報領域を使用してください。

図 -63: Design Partition Planner でのエンティティーの表現

Percent of total design size

2. エンティティーを必要に応じて抽出して折りたたみ、スタンドアロン・ブロックを実現します。

3. 関連ロジックブロックを含む目的のサイズのエンティティーごとに、エンティティーを右クリックし、Create Design Partition をクリックして、そのエンティティーを独自のパーティションに配置します。

目的は、関連ロジックブロックを含むパーティションを得ることです。

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

2. コンパイル時間の短縮UG-20132 | 2018.09.24

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

84

Page 85: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

2.3. 合成時間と合成ネットリスト最適化時間の短縮

Fitter 時間に影響を与えずに合成時間を短縮するために、ネットリスト最適化の使用を減らします。サードパーティー EDA 合成ツールを使用する際に合成時間を短縮するためのヒントについては、合成ソフトウェアのドキュメントを参照してください。

2.3.1. 合成時間と合成ネットリスト最適化時間短縮の設定

合成ネットリストおよび物理合成最適化の設定により、大規模デザインの合計コンパイル時間が大幅に増える可能性があります。Analysis and Synthesis メッセージを参照して最適化時間の長さを決定してください。

合成ネットリストや物理合成の最適化を行わなくてもデザインで既にパフォーマンスの要件が満たされている場合は、これらのオプションをオフにしてコンパイル時間を短縮します。合成ネットリストを最適化してパフォーマンスを満たす必要がある場合は、デザイン階層のパーティションを個別に最適化して、Analysis and Synthesis に費やされる合計時間を短縮します。

2.3.2. 適切なコーディング・スタイルを使用した合成時間の短縮

HDL コーディング・スタイルもまた、合成時間に影響する可能性があります。たとえば、コードから RAMブロックを推測する場合は、RAM 推測のガイドラインに従う必要があります。RAM ブロックが正しく推測されない場合、ソフトウェアによってそのブロックがレジスターとして実装されます。

大きなメモリーブロックを推測しようとすると、ソフトウェアでは FPGA 内のリソースをより多く消費します。これによって配線の輻輳が発生し、コンパイル時間が大幅に増加する可能性があります。特定のブロックでの配線使用率が高い場合は、そのようなブロックのコードを確認することをお勧めします。

2.4. 配置時間の短縮

デザイン配置に必要な時間は、次の 2 つの要因によって異なります。1 つはデザイン内のロジックをデバイスに配置する方法が何通りあるかです。もう 1 つは、適切な配置を見つけるために必要な作業量を制御する設定です。

配置時間を短縮するために、配置アルゴリズムの設定を変更します。

場合によっては、配置時間と配線時間の間にトレードオフがあります。適切な配置を見つけるために配置プログラムを十分に長い時間実行しないと、配線時間が長くなる可能性があります。配置時間を短縮したときは、それによって配線時間が増加して全体的な時間短縮が無効にならないようにします。

2.4.1. Placement Effort Multiplier の設定

Placement Effort Multiplier オプションを使用して、Fitter によって配置に費やされる時間を短縮し、制御することができます。

Assignments > Settings > Compiler Settings > Advanced Settings (Fitter)をクリックして、Placement Effort Multiplier の値を指定します。デフォルトでは 1.0 です。有効値は 0 より大きくなければならず、整数以外の値でもかまいません。0 と 1 の間の数を使用すると、フィッティング時間が短縮されますが、配置品質とデザイン・パフォーマンスが低下する可能性があります。

2. コンパイル時間の短縮UG-20132 | 2018.09.24

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

85

Page 86: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

2.5. 配線時間の短縮

配線時間は通常、コンパイル時間のわずかな部分です。デザインの配線に必要な時間は、次の 3 つの要素によって異なります。デバイス・アーキテクチャー、デザインのデバイス内への配置、およびデザインの異なる部分間の接続性です。

デザインの配線に長い時間がかかる場合は、次の操作を 1 つ以上実行します。

• 配線の輻輳がないかチェックします。

• Fitter Aggressive Routability Optimization をオフにします。

2.5.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 のスライダーを調整して、輻輳しきい値レベルを変更します。

インテル Quartus Prime のコンパイルメッセージには、インターコネクトの平均およびピーク使用率に関する情報が含まれています。インターコネクト最大使用率が 75%以上、またはインターコネクト平均使用率が 60%以上の場合は、デザインのフィッティングが難しい可能性を示しています。同様に、インターコネクト最大使用率が 90%以上、またはインターコネクト平均使用率が 75%以上の場合は、有効なフィッティングが得られない可能性が高いことを示しています。

2.5.1.1. 配線の輻輳がある領域

平均輻輳が高くない場合でも、デザイン内に特定タイプの配線の多い領域が含まれている可能性があります。 Chip Planner を使用して、特定のインターコネクト・タイプについて輻輳度の高い領域を特定することができます。

• デザインの接続を変更して、配線の輻輳を削減することができます。

• 配線の輻輳が発生しているエリアが、Logic Lock (Standard)領域内または Logic Lock(Standard)領域間にある場合は、Logic Lock (Standard)領域を変更または削除して、デザインを再コンパイルします。

— 配線時間が変わらない場合は、その配線時間はデザインおよび配置の特性です。

— 配線時間が短縮された場合は、Logic Lock (Standard)領域のサイズ、位置、または内容を変更して、配線の輻輳の低減と配置時間の短縮を検討してください。

関連情報インテル Quartus Prime プロ・エディション ユーザーガイド:デザイン推奨事項

2. コンパイル時間の短縮UG-20132 | 2018.09.24

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

86

Page 87: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

2.5.1.2. HDL コーディング・スタイルによる輻輳

場合によっては、配線輻輳は、デザインで使用されている HDL コーディング・スタイルの結果である可能性があります。 Chip Planner を使用して輻輳エリアを特定したら、それらのエリアに配置されているブロックの HDL コードを確認し、コード変更によるインターコネクト使用量削減の可否を判断します。

2.6. 静的タイミング解析時間の短縮

タイミング駆動型合成を実行している場合、 インテル Quartus Prime 開発ソフトウェアが TimingAnalyzer を Analysis and Synthesis 中に実行されます。

インテル Quartus Prime Fitter はまた、配置配線中に Timing Analyzer も実行します。 SynopsysDesign Constraints File (.sdc) に不正確な制約がある場合、 インテル Quartus Prime 開発ソフトウェアでは、不必要な時間を費やして何度も制約を処理する可能性があります。

• デザインにフォールスパスやマルチサイクル・パスを指定しないと、Timing Analyzer では、デザインに関連しないパスが解析される可能性があります。

• .sdc ファイルで制約を再定義した場合、Timing Analyzer ではその処理にさらに時間がかかることがあります。このような状況を回避するには、Synopsis デザイン制約がコンパイルメッセージで再定義されていることを確認し、 .sdc ファイルを更新します。

• デザインには正しいタイミング制約を指定してください。これは、どのパスをフォールスパスやマルチサイクル・パスと見なすなど、デザインの意図はソフトウェアで想定することができないためです。これらのアサインメントを正しく指定すると、Timing Analyzer ではこれらのパスの解析をスキップし、Fitter でこれらのパスの最適化に余分な時間を費やすことはありません。

2.7. プロセスの優先順位の設定

コンパイル時間の増加を犠牲にして、コンパイルに割り当てられているコンピューティング・リソースの削減が必要な場合があります。他のタスクを同時に実行しなければならない場合、シングル・プロセッサー・マシンを使用してコンパイルに対するリソース割り当てを減らすと便利です。

関連情報Processing Page (Options Dialog Box)

インテル Quartus Prime ヘルプ内

2.8. コンパイル時間の削減 改訂履歴

ドキュメント・バージョン インテル QuartusPrime バージョン

変更内容

2017.11.06 17.1.0 • 「ブロックベースのコンパイルの使用」のトピックを追加しました。

日付 バージョン 変更内容

2017.05.08 17.0.0 • マルチプロセッサーのコンパイルがフィッティング品質に与える影響を明確にしました。• 廃止された Fitter Effort Logic Option への参照を削除しました。• Preserving Routing with Incremental Compilation の項を削除しました。

2016.10.31 16.1.0 • インテルへのブランド変更を実行しました。continued...

2. コンパイル時間の短縮UG-20132 | 2018.09.24

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

87

Page 88: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

日付 バージョン 変更内容

2016.05.02 16.0.0 • 「複数のプロセッサーを使用した並列コンパイル」内の誤植を修正しました。• 廃止された物理合成オプションに関する情報を削除しました。

2015.11.02 15.1.0 Quartus II のインスタンスを インテル Quartus Prime に変更しました。

2014.12.15 14.1.0 • 「フィッターの設定」、「Analysis & Synthesis の設定」、および「物理合成の最適化」の位置を「Compilerの設定」に更新しました。

• Rapid Recompile 機能に関する情報を追加しました。

2014.08.18 14.0a10.0 Arria 10 デバイスでのスマートコンパイルに関する制限を追加しました。

2014 年 6 月 14.0.0 フォーマットを更新しました。

2013 年 5 月 13.0.0 「1 回のフィッティング試行の制限」、「早期タイミング見積もりの使用」、「最終配置の最適化」、および「RapidRecompile の使用」の項を削除しました。「Placement Effort Multiplier の設定」の項を更新しました。「Chip Planner での配線の輻輳の特定」を更新しました。章全体の全般的な編集上の変更を行いました。

2012 年 6 月 12.0.0 サーベイリンクを削除しました。

November 2011 11.0.1 テンプレートを更新しました。

2011 年 5 月 11.0.0 • 「複数のプロセッサーを使用した並列コンパイル」を更新しました。• 「Chip Planner による配線の輻輳の特定」を更新しました。• 章全体の全般的な編集上の変更を行いました。

2010 年 12 月 10.1.0 • テンプレートを更新しました。• 最大および平均インターコネクト使用率に関する詳細を追加しました。• 「静的タイミング解析時間の短縮」の項を新しく追加しました。• 章全体を通して細かな変更を行いました。

2010 年 7 月 10.0.0 初版

関連情報ドキュメント・アーカイブ

インテル Quartus Prime Handbook の旧バージョンは、ドキュメント・アーカイブを検索してください。

2. コンパイル時間の短縮UG-20132 | 2018.09.24

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

88

Page 89: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

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

インテル Quartus Prime プロ・エディション FPGA デザインフローのすべての段階の包括的情報については次のユーザーガイドを参照してください。

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

インテル Quartus Prime プロ・エディション プロジェクトおよび IP の管理、初期デザイン時の考慮事項、旧ソフトウェア・バージョンからのプロジェクト・マイグレーションを含む インテルQuartus Prime プロ・エディション開発ソフトウェアの基本的な機能、ファイル、およデザインフローについて紹介します。

• インテル Quartus Prime プロ・エディション ユーザーガイド:Platform Designerカスタマイズされた IP コアのプロジェクトへの統合を簡素化するシステム統合ツールであるPlatform Designer を使用した、システムの作成および最適化について説明します。PlatformDesigner では、知的財産 (IP) 機能とサブシステムを接続するための相互接続ロジックを自動生成します。

• インテル Quartus Prime プロ・エディション ユーザーガイド:デザイン推奨事項インテル Quartus Prime プロ・エディション開発ソフトウェアを使用して FPGA をデザインするための最適なデザイン手法について説明します。HDL コーディング・スタイルと同期デザインの手法は、デザインのパフォーマンスに大きな影響を与えます。推奨される HDL コーディング・スタイルに従うことで、 インテル Quartus Prime プロ・エディション合成によってデザインが最適な形でハードウェアに実装されます。

• インテル Quartus Prime プロ・エディション ユーザーガイド:デザインのコンパイルインテル Quartus Prime プロ・エディション Compiler の全ステージでのセットアップ、実行方法、最適化について説明します。Compiler では、デザインの合成、配置、および配線をデバイス・プログラミング・ファイルの生成前に実行します。

• インテル Quartus Prime プロ・エディション ユーザーガイド:デザイン最適化Intel FPGA で最大限のデザイン・パフォーマンスを達成するために使用可能な インテルQuartus Prime プロ・エディションの設定、ツール、および手法について説明します。手法には、デザイン・ネットリストの最適化、リタイミングおよびタイミング・クロージャーを制限するクリティカル・チェーンの処理、およびデバイスリソース使用量の最適化が含まれます。

• インテル Quartus Prime プロ・エディション ユーザーガイド:ProgrammerIntel FPGA ダウンロード・ケーブルとの接続を介して、 Intel FPGA デバイスのコンフィグレーションや、CPLD およびコンフィグレーション・デバイスのプログラムを行うことができる インテル Quartus Prime プロ・エディション Programmer の操作について説明します。

• インテル Quartus Prime プロ・エディション ユーザーガイド:ブロックベースのデザインモジュラーまたは階層型のデザインフローとも呼ばれる、ブロックベースのデザインフローについて説明します。この高度なフローにより、プロジェクト内のデザインブロック(または階層デザイン・インスタンスを構成するロジック)を保持し、他のプロジェクトでデザインブロックを再利用することができます。

UG-20132 | 2018.09.24

フィードバック

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

ISO9001:2015登録済

Page 90: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

• インテル Quartus Prime プロ・エディション ユーザーガイド:パーシャル・リコンフィグレーションパーシャル・リコンフィグレーションについて説明します。これは高度なデザインフローで、FPGA の一部分の動的リコンフィグレーションが可能で、FPGA デザインの他の部分は引き続き動作します。特定のデザイン領域に対して複数のペルソナを定義し、他のエリアの動作は影響されません。

• インテル Quartus Prime プロ・エディション ユーザーガイド:サードパーティー・シミュレーションデバイス・プログラミング前にデザイン動作を検証できる、Aldec* 、 Cadence* 、 MentorGraphics 、および Synopsys によるサードパーティー・シミュレーション・ツールである、RTLおよびゲートレベルのデザイン・シミュレーション・サポートについて説明します。シミュレーター・サポート、シミュレーション・フロー、および インテル FPGA IP のシミュレーションが含まれます 。

• インテル Quartus Prime プロ・エディション ユーザーガイド:サードパーティー合成Mentor Graphics および Synopsys によるサードパーティー合成ツールにおけるデザインのオプション合成のサポートについて説明します。デザインフローのステップ、生成されたファイルの説明、および合成ガイドラインが含まれます。

• インテル Quartus Prime プロ・エディション ユーザーガイド:サードパーティーのロジック等価性検証ツール

デザインのロジック等価性検証 (LEC) を OneSpin*によるサードパーティーの LEC ツールで行う場合のサポートについて説明します。コンパイル・ネットリスト間でのロジック等価性の検証方法について説明します。

• インテル Quartus Prime プロ・エディション ユーザーガイド:デバッグツールデザインのリアルタイム検証に使用する インテル Quartus Prime プロ・エディション インシステム・デザイン・デバッグ・ツールのポートフォリオについて説明します。このツールでは、デザイン内の信号をデバッグロジックに配線(または「タップ」)することで可視性が提供されます。このツールには、システムコンソール、Signal Tap ロジック・アナライザー、トランシーバー・ツールキット、In-System Memory Content Editor、および In-System Sources andProbes Editor が含まれます。

• インテル Quartus Prime プロ・エディション ユーザーガイド:Timing Analyzer静的タイミング解析の基本原理と、業界標準の制約、解析、レポート手法を使用してデザイン内のすべてのロジックのタイミング・パフォーマンスを検証する強力な ASIC 形式のタイミング解析ツールである インテル Quartus Prime プロ・エディション Timing Analyzer の使用方法について説明します。

• インテル Quartus Prime プロ・エディション ユーザーガイド:電力解析および最適化デバイスの消費電力を高精度で見積もることができる インテル Quartus Prime プロ・エディション 電力解析ツールについて説明します。電力バジェットの策定やデバイス電源、電圧レギュレーター、ヒートシンク、および冷却システムのデザインを行うために消費電力を見積もります。

• インテル Quartus Prime プロ・エディション ユーザーガイド:デザイン制約ピン・アサインメント、デバイスオプション、ロジックオプション、およびタイミング制約など、Compiler でのデザイン実装方法に影響するタイミングおよびロジック制約について説明します。Interface Planner を使用して、インターフェイス実装のプロトタイプの作成、クロックのプランニング、および有効なデバイス・フロアプランの迅速な定義を行います。Pin Planner のグラフィック表示で、ターゲットデバイスのすべての I/O アサインメントの可視化、変更、確認を行います。

• インテル Quartus Prime プロ・エディション ユーザーガイド:PCB デザインツールMentor Graphics および Cadence* によるオプションのサードパーティー PCB デザインツールのサポートについて説明します。シグナル・インテグリティー解析および HSPICE モデルとIBIS モデルによるシミュレーションに関する情報も含まれています。

A. インテル Quartus Prime プロ・エディション ユーザーガイドUG-20132 | 2018.09.24

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

90

Page 91: インテル Quartus Prime プロ・エディショ ンユーザーガイド · 中間Fitter スナップショットの有効化..... 65. 目次 インテル Quartus Prime プロ・エディションユーザーガイド:

• インテル Quartus Prime プロ・エディション ユーザーガイド:スクリプティングTcl およびコマンドライン・スクリプトを使用した、 インテル Quartus Prime プロ・エディション開発ソフトウェアの制御およびプロジェクト管理、制約指定、コンパイルまたはタイミング解析の実行、レポート生成などの幅広い機能の実行について説明します。

A. インテル Quartus Prime プロ・エディション ユーザーガイドUG-20132 | 2018.09.24

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

91