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

ID 683236
日付 12/16/2019
Public

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

ドキュメント目次

1.9.6.1. フラクタル合成のイネーブルとディスエーブル

インテル® Stratix® 10および インテル® Agilex™ デバイスの場合、フラクタル合成による最適化は、小さな乗算器 (Verilog HDLまたはVHDLのA*Bステートメントで、オペランドのビット幅が7以下のもの) で自動的に実行されます。これらのデバイスでの小さな乗算器に対する自動フラクタル合成は、次のいずれかの方法で無効にすることができます。

  • RTLで、DSPのMultstyleの設定を「Multstyle Verilog HDL Synthesis Attribute」で説明されているとおりに行います。次にその例を示します。
    (* multstyle = "dsp" *) module foo(...); module foo(..) /* synthesis multstyle = "dsp" */;
  • .qsfファイルで、次のように割り当てとして追加します。
    set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \ DSP_BLOCKS -to r

また、 インテル® Stratix® 10 インテル® Agilex™ インテル® Arria® 10および インテル® Cyclone® 10 GXデバイスでは、フラクタル合成をグローバルに、または特定の乗算器に対して有効にすることができます。これには、Fractal Synthesis GUIのオプションまたは対応するFRACTAL_SYNTHESIS .qsf割り当てを使用します。

  • RTLで、altera_attributeを次のように使用します。
    (* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)
  • .qsfファイルで、次のように割り当てとして追加します。
    set_global_assignment -name FRACTAL_SYNTHESIS ON -entity <module name>

ユーザー・インターフェイスで、次の手順を実行します。

  1. Assignments > Assignment Editorをクリックします。
  2. Assignment NameFractal SynthesisValueOnEntityには算術演算を多用するエンティティー名、To列にはインスタンス名を選択します。Toにワイルドカード (*) を入力すると、エンティティーのすべてのインスタンスを割り当てることができます。
    図 55. Assignment Editorのフラクタル合成割り当て