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

ID 683236
日付 6/26/2023
Public
ドキュメント目次

1.12.6.1. フラクタル合成の有効化または無効化

インテル® Stratix® 10およびIntel Agilex® 7デバイスの場合、フラクタル合成での最適化は、小さな乗算器 (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® 10Intel Agilex® 7 インテル® 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 にワイルドカード (*) を入力すると、エンティティーのすべてのインスタンスを割り当てることができます。
    図 112. Assignment Editorのフラクタル合成割り当て