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

ID 683236
日付 12/16/2019
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

1.10.1. Advanced Synthesis Settings

次の項はAdvanced Synthesis Settingsのすべての項目のクイック・リファレンスです。 Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis)をクリックして、設定項目を変更します。
表 20.  Advanced Synthesis Settings (1/13)

オプション

説明

Allow Any RAM Size for Recognition

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

Allow Any RAM Size for Recognition

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

Allow Any RAM Size for Recognition

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

Allow Register Duplication

Compilerでレジスターを複製して、デザイン・パフォーマンスを向上させるかどうかを制御します。イネーブルすると、Compilerによって最適化が実行され、レジスターの2つ目のコピーを作成し、ファンアウトの一部をこの新しいノードに移動させます。この手法により、配線性が向上し、多くのファンアウトを備えたネットを配線するために必要な総配線ワイヤーを削減します。このオプションをディスエーブルすると、レジスターのリタイミングもディスエーブルされます。

注: インテル® Arria® 10および インテル® Cyclone® 10 GXデバイスでのみ使用可能です。
Allow Register Merging

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

注: インテル® Arria® 10および インテル® Cyclone® 10 GXデバイスでのみ使用可能です。

Allow Shift Register Merging Across Hierarchies

Compilerによって、シフトレジスターをデザインの異なる階層から取得し、そのレジスターを同じRAMに配置できるようにします。

Allow Synchronous Control Signals

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

表 21.  Advanced Synthesis Settings (2/13)

オプション

説明

Analysis & Synthesis Message Level

Compilerで表示するAnalysis & Synthesisメッセージのタイプを指定します。 Lowでは、最も重要なAnalysis & Synthesisメッセージだけを表示します。Mediumでは、ほとんどのメッセージが表示されますが、詳細メッセージは非表示になります。 Highでは、すべてのメッセージを表示します。

Auto Clock Enable Replacement

Compilerによって、レジスターに供給するロジックを見つけて、そのロジックをレジスターのクロック・イネーブル入力ポートに移動させることができるようにします。

Auto DSP Block Replacement

Compilerによって、DSPブロックに置き換え可能な積和関数 (乗加算関数) の検索ができるようにします。

Auto Gated Clock Conversion

ゲートクロックを自動変換して、クロック・イネーブル・ピンを使用します。クロック・ゲーティング・ロジックには、AND、OR、MUX、およびNOTゲートを含めることができます。このオプションをオンにすると、メモリー使用量や全体の実行時間が増える場合があります。タイミング解析にはTiming Analyzerを使用してください。また、すべてのベースクロックの定義は、Synopsys Design Constraints (.sdc) 形式で行ってください。

表 22.  Advanced Synthesis Settings (3/13)

オプション

概要

Auto Open-Drain Pins

Compilerによって、強力な低データ入力を持つトライステート・バッファーを同等のオープンドレイン・バッファーに自動変換できるようにします。

Auto RAM Replacement

Compilerによって、altsyncramまたはlpm_ram_dp IPコアで置き換え可能なレジスターおよびロジックを識別できるようにします。このオプションをオンにすると、デザインの機能が変更される場合があります。

Auto ROM Replacement

Compilerによって、altsyncramまたはlpm_rom IPコアで置き換え可能なロジックを識別できるようにします。このオプションをオンにすると、デザインの機能が変更される場合があります。

Auto Resource Sharing

Compilerによるハードウェア・リソースの共有が、HDLソースコード内の類似的かつ相互排他的である多くの動作間でできるようにします。このオプションをイネーブルすると、Compilerでは互換性のある加算、減算、および乗算動作をマージします。演算動作をマージすると、デザインに必要な領域が少なくなる場合があります。リソースの共有により、各共有リソースに余分な多重化と制御ロジックがもたらされるため、デザインの最終fMAX に悪影響を与える可能性があります。

Auto Shift Register Placement

Compilerによって、altshift_taps IPコアで置き換え可能な同じ長さのシフトレジスターのグループを検索できるようにします。シフトレジスターで使用するクロックおよびクロックイネーブル信号は、すべて同じものである必要があります。レジスターには他の二次信号を持たせないでください。レジスターには、少なくともレジスター3つ分離れた等間隔のタップが必要です。

Automatic Parallel Synthesis

自動並列合成をイネーブル/ディスエーブルするオプションです。このオプションを使用して、合成のコンパイル時間を短縮します。このとき、複数のプロセッサーが使用可能な場合は、それを使用します。

表 23.  Advanced Synthesis Settings (4/13)

オプション

説明

Block Design Naming

ブロックデザインの命名スキームを指定します。Compilerでこのオプションを無視するのは、このオプションをデザイン・エンティティー以外に割り当てた場合です。

Clock MUX Protection

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

DSP Block Balancing

特定のDSPブロックスライスの変換が、DSPブロックのバランシング中に制御できるようになります。

表 24.  Advanced Synthesis Settings (5/13)

オプション

説明

Disable DSP Negate Inferencing

推論されたDSPブロック上での否定ポートの使用を指定できるようにします。

Disable Register Merging Across Hierarchies

レジスターが異なる階層にあり、入力が同じである場合、そのレジスターのマージをCompilerで許可するかどうかを指定します。

Enable Formal Verification Support Compilerでスクリプトを作成して、それをOneSpin*フォーマル検証ツールで使用できるようにします。
Enable State Machines Inference Compilerによるステートマシンの推論が、VHDLまたはVerilog HDLデザインファイルからできるようにします。Compilerでは、ステートマシンを最適化して、領域を削減し、パフォーマンスを向上させます。Offに設定すると、Compilerでは、VHDLまたはVerilog HDLデザインファイル内のステートマシンを通常のロジックとして抽出して最適化します。

Force Use of Synchronous Clear Signals

Compilerに強制して、同期クリアの使用が、通常モードのロジックセルでできるようにします。このオプションをオンにすると、デザインで使用するロジックセルの総数を減らすことができますが、フィッティングに悪影響を及ぼす可能性があります。LAB内のすべてのロジックセルでは、同期コントロール信号を共有します。

Fractal Synthesis このオプションをOnにすると、コンパイラーに指示して算術ブロックに密度の高いパッキングを適用させ、算術集約型デザインのデザイン領域を最小化します。

HDL Message Level

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

表 25.  Advanced Synthesis Settings (6/13)

オプション

説明

Ignore GLOBAL Buffers

デザインの GLOBAL バッファーを無視します。Compilerでこのオプションを無視するのは、このオプションを、個々の GLOBAL バッファーや GLOBAL バッファーを含むデザイン・エンティティー以外に適用した場合です。

Ignore LCELL Buffers

デザインの LCELL バッファーを無視します。Compilerでこのオプションを無視するのは、このオプションを、個々の LCELL バッファーや LCELL バッファーを含むデザイン・エンティティー以外に適用した場合です。

Ignore Maximum Fan-Out Assignments

Compilerに指示して、ノード、エンティティー、またはデザイン全体の最大ファンアウト割り当てを無視させます。

Ignore SOFT Buffers

デザインの SOFT バッファーを無視します。Compilerでこのオプションを無視するのは、このオプションを、個々の SOFT バッファーやSOFTバッファーを含むデザイン・エンティティー以外に適用した場合です。

表 26.  Advanced Synthesis Settings (7/13)

オプション

説明

Ignore translate_off and synthesis_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 Constant Verilog Loops

Verilogループのループ条件によって各ループ・イタレーションのコンパイル時間定数が評価される場合に、そのイタレーションの制限を定義します。この制限が存在する主な目的は、潜在的な無限ループの特定を、メモリーを使い果たすか、ソフトウェアを実際の無限ループにトラップする前に行うことです。

Iteration Limit for non-Constant Verilog Loops

Verilog HDLループのループ条件によって各ループ・イタレーションのコンパイル時間定数が評価されない場合に、そのイタレーションの制限を定義します。この制限が存在する主な目的は、潜在的な無限ループの特定を、メモリーを使い果たすか、ソフトウェアを実際の無限ループにトラップする前に行うことです。

表 27.  Advanced Synthesis Settings (8/13)

オプション

説明

Maximum DSP Block Usage

DSPブロックの最大数を指定します。これは、DSPブロックバランサーによって、現在のデバイスの各パーティションに存在すると想定される数です。このオプションによって、通常の方法 (現在のデバイスでサポートするDSPブロックの最大数を使用) をオーバーライドします。

Maximum Number of LABs

LABの最大数を指定します。これは、デバイスに対してAnalysis & Synthesisで利用しようとする数です。このオプションは、通常の方法 (値が負ではなく、現在のデバイスで使用可能なLABの最大数より少ない場合、現在のデバイスでサポートするLABの最大数を使用) をオーバーライドします。

Maximum Number of M4K/M9K/M20K/M10K Memory Blocks

Compilerによってデバイスに使用する可能性があると考えらえるM4K、M9K、M20K、またはM10Kメモリーブロックの最大数を指定します。このオプションは、通常の方法 (値が負ではなく、現在のデバイスで使用可能なM4K、M9K、M20K、またはM10Kメモリーブロックの最大数より少ない場合、現在のデバイスでサポートするM4K、M9K、M20K、またはM10Kメモリーブロックの最大数を使用) をオーバーライドします。

表 28.  Advanced Synthesis Settings (9/13)

オプション

説明

Maximum Number of Registers Created from Uninferred RAMs

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

NOT Gate Push-Back

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

Number of Inverted Registers Reported in Synthesis Report

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

Number of Protected Registers Reported in Synthesis Report Synthesisレポートで表示する保護レジスターの最大数を指定します。

Number of Removed Registers Reported in Synthesis Migration Checks

Synthesis Migration Checkレポートに表示する最大行数を指定します。

Number of Swept Nodes Reported in Synthesis Report Synthesisレポートに表示するスイープノードの最大数を指定します。スイープノードとは、Compilerによって不要であると判断されて、デザインから削除されたノードです。
Number of Rows Reported in Synthesis Report

Synthesisレポートに表示する最大行数を指定します。

注: インテル® Arria® 10および インテル® Cyclone® 10 GXデバイスに対してのみ使用可能です。

Optimization Technique

Analysis & Synthesisの全体的な最適化の目標を指定します。Balanced方法を指定するか、PerformanceAreaRoutabilityPower、またはCompile Timeを最適化します。Compilerでは、指定した最適化も目標をターゲットにします。

表 29.  Advanced Synthesis Settings (10/13)

オプション

説明

Perform WYSIWYG Primitive Resynthesis

WYSIWYGプリミティブ再合成を合成中に実行するかどうかを指定します。このオプションで使用する設定は、 Optimization Techniqueロジックオプションで指定します。

Power-Up Don't Care

Power-Up Level logicオプション設定を持たないレジスターを、ドントケア・ロジック・レベル (X) でパワーアップします。Power-Up Don't Careがオンの場合、Compilerでは、レジスターのパワーアップ・レベルの変更が有益になる時期を判断して、デザインの領域を最小化します。Compilerでは、直接的な領域の利点がない限り、パワーアップ・ステートをゼロに維持します。

Power Optimization During Synthesis

Analysis & Synthesisのパワー駆動コンパイル設定を制御します。このオプションでは、Analysis & Synthesisによってデザインの消費電力をいかに積極的に最適化するかを決定します。このオプションがOffの場合、Compilerでは、電力最適化は実行しません。Normal compilationでは、デザインのパフォーマンスが低下しないことが予想される場合、電力の最適化を実行します。Extra effortによって追加の電力最適化を実行するため、デザイン・パフォーマンスが低下する可能性があります。

表 30.  Advanced Synthesis Settings (11/13)

オプション

説明

Remove Duplicate Registers

他のレジスターと同一のレジスターを削除します。2つのレジスターによって同じロジックが生成される場合、Compilerでは、重複を削除します。最初のインスタンスは、複製先にファンアウトします。また、削除されたレジスターに異なるロジックオプションの割り当てが含まれている場合、Compilerではこのオプションを無視します。このオプションが役立つのは、意図的に重複させたレジスターがCompilerによって削除されないようにする場合です。Compilerでこのオプションを無視するのは、このオプションを個々のレジスターやレジスターを含むデザイン・エンティティー以外に適用した場合です。

Remove Redundant Logic Cells

冗長LCELLプリミティブまたはWYSIWYGプリミティブを削除します。このオプションをオンにすると、回路の領域と速度が最適化されます。Compilerでこのオプションを無視するのは、このオプションをデザイン・エンティティー以外に適用する場合です。

Report Parameter Settings

SynthesisレポートにParameter Settings by Entity Instanceフォルダー内のレポートを含めるかどうかを指定します。

Report PR Initial Values as Errors 明示的に定義された初期値がPRパーティション内にある場合、そのフラグ付けは、WarningではなくErrorとしてすることができます。

Report Source Assignments

SynthesisレポートにSource Assignmentsフォルダー内のレポートを含めるかどうかを指定します。

表 31.  Advanced Synthesis Settings (12/13)

オプション

説明

Resource Aware Inference for Block RAM

RAM、ROM、およびシフトレジスターの推論で、デザインとデバイスのリソースを考慮に入れるかどうかを指定します。

Restructure Multiplexers

マルチプレクサをデザインに実装するために合成に必要なロジックエレメントの数を削減します。このオプションが役に立つのは、断片化されたマルチプレクサのバスがデザインに含まれている場合です。このオプションでは、マルチプレクサの再パックが領域に対してより効率的になり、デザインによるマルチプレクサの実装が、少ないロジックエレメント数でできるようになります。
  • On - デザイン領域を最小化しますが、デザインクロック速度 (fMAX) に悪影響を与える可能性があります。
  • Off -マルチプレクサの再構築をディスエーブルします。 ロジックエレメントの使用量は減らず、デザインクロック速度 (fMAX) には影響しません。
  • Auto - インテル® Quartus® Prime開発ソフトウェアによって、マルチプレクサの再構築をイネーブルするかどうかを決定できるようにします。Auto設定によって、ロジックエレメントの使用量は減りますが、デザインクロック速度 (fMAX) に悪響を与える可能性があります。

SDC Constraint Protection

レジスターマージの .sdc 制約を検証します。このオプションは、.sdc 制約の有効性をコンパイルによって維持するに役立ちます。

Safe State Machine

Safe State Machineオプションでは、無効な状態から回復できるステートマシンを実装します。次の設定が使用可能です。

  • Auto - インテル® Stratix® 10または インテル® Agilex™ デザインの場合、Compilerによって、この設定が、ステートが6以下のステートマシンにおいて有利であると判断されると、このデフォルト設定により Safe State Machineがイネーブルになります。この設定が有利なのは、予期せぬ初期パワーアップ条件に対応する場合です。 インテル® Arria® 10および インテル® Cyclone® 10 GXの場合、Auto設定は Neverと同じです。
  • On - Compilerに指示してSafe State Machineを常時使用させます。
  • Never - Safe State Machineを使用することはありません。

Shift Register Replacement – Allow Asynchronous Clear Signal

Compilerによって、長さが同じシフトレジスターのグループの検索ができるようにします。このシフトレジスターのグループは、altshift_taps IPコアで置き換え可能です。シフトレジスターでは、すべて同じ aclr 信号を使用してください。シフトレジスターには他の二次信号を持たせないでください。また、シフトレジスターには、等間隔のタップが必要です。この間隔は、少なくともレジスター3つ分以上にしてください。このオプションを使用するには、Auto Shift Register Replacementロジックオプションをオンにしてください。

Size of the Latch Report Synthesisレポートに表示させる最大ラッチ数が指定できるようにします。
Size of the PR Initial Conditions Report PR Initial Conditionsレポートに表示させる最大レジスター数が指定できるようにします。
表 32.  Advanced Synthesis Settings (13/13)

オプション

説明

State Machine Processing

ステートマシンのを処理するためにCompilerで使用する処理スタイルを指定します。ユーザー独自のUser-Encodedスタイルを使用するか、One-HotMinimal BitsGrayJohnsonSequential、またはAuto (Compiler選択) エンコードを選択します。

Strict RAM Replacement

このオプションがOnの場合、CompilerでRAMを置き換えるのは、ハードウェアがデザインと正確に一致する場合のみです。

Synchronization Register Chain Length

Compilerで同期チェーンと見なす1つの行内のレジスターの最大数を指定します。同期チェーンは、レジスターのシーケンスです。そのクロックは同じですが、ファンアウトはありません。そのため、最初のレジスターの供給は、ピンまたは別のクロックドメインのロジックによってされます。Compilerでは、このようなレジスターをメタスタビリティー分析向けに考慮します。Compilerでは、このようなのレジスターの最適化 (リタイミングなど) が行われないようにします。ゲートレベルのリタイミングがイネーブルになっている場合、Compilerでは、このようなレジスターは削除しません。デフォルトの長さの設定は2です。

Synthesis Effort

コンパイル速度、パフォーマンス、領域の間の合成トレードオフを制御します。デフォルトはAutoです。Fastを選択すると、コンパイル速度がより高速になりますが、パフォーマンスと領域の増加が犠牲になります。

Synthesis Migration Check for 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デザインを最適化するのは、領域に対してのみです。