Quartus® Prime プロ・エディションのユーザーガイド: デザイン最適化

ID 683641
日付 7/08/2024
Public
ドキュメント目次

4.2.3.5. ガイドライン: レジスターパッキングの使用

Auto Packed Registers オプションは、レジスターのみを使用する一方のエレメントのレジスターと、LUT のみを使用するもう一方のエレメントの LUT を組み合わせることにより、1 つのロジック・エレメントに 2 つのエレメントの機能を実装します。
要確認: DSP レジスター・パッキングは常に可能とは限りません。レジスター・パッキングを妨げる条件のリストについては、 Quartus® Prime プロ・エディションヘルプのFitter Feature Specific Report 内の「Fixed Point DSP Register Packing Summary and Fixed Point DSP Register Packing Details」を参照してください。

DSP レジスターパッキング・エンティティーの割り当て

さらに、Assignment Editor で DSP Register Packing エンティティー割り当てを指定するか、プロジェクト .qsf での応答する DSP_REGISTER_PACKING 割り当てを使用することでエンティティー・レベルで DSP レジスターパッキングを制御することができます。DSP Register Packing は、指定された DSP ブロックの内部レジスターに自動的にレジスターをパッキングすることで、フィッターが DSP パフォーマンスをどれだけ積極的に最適化するかを指定します。デフォルトの Balanced 設定では、フィッターはタイミングを向上させる指定の DSP ブロックにレジスターをパッキングします。Always が有効な場合、フィッターは制約やその他の正当な制限によってパッキングが妨げられない限り、指定された DSP ブロックに積極的にレジスターをパッキングします。Disable が有効な場合、レジスターは指定した DSP ブロックにパッキングされません。以下は、同等の .qsf 割り当てです。

set_instance_assignment -name DSP_REGISTER_PACKING -to \
<to> -entity <name> <value>

DSP_REGISTER_PACKING_LEVEL エンティティー割り当て

さらに、特定の DSP に必要なレジスターステージの最大数を指定するために、プロジェクトの .qsf ファイルに DSP_REGISTER_PACKING_LEVEL エンティティー割り当て直接入力することができます。DSP_REGISTER_PACKING_LEVEL は、指定された DSP インスタンスにパッキングしたいレジスターの最大数を指定します。DSP_REGISTER_PACKING_LEVEL 設定値は以下の通りです。

  • 0 — DSP の DSP レジスターパッキング操作を無効にすることに相当します。
  • 1 — フィッターは DSP の入力側から 1 層のレジスターパッキングを試行します。
  • 2 — フィッターは DSP の出力側から 1 層のレジスターの追加を試行します。
  • 3 または 4 — フィッターは入力側から 1 層または 2 層のパイプライン・レジスターの追加を試行します。

指定したパッキングレベルをコンパイラーが実装できない場合、コンパイラーは割り当てが尊重されていないことを示す警告メッセージを発行します。Fixed Point DSP Register Packing Details レポートは、パッキングレベルを満たすことができない理由も説明します。以下は同等の .qsf 割り当てです。

set_instance_assignment -name DSP_REGISTER_PACKING_LEVEL -to \
<to> -entity <entity name> <value>

Fixed Point DSP Register Packing Summary レポートおよび Fixed Point DSP Register Packing Details レポート

コンパイラーの Plan ステージ実行後、コンパイルレポートには Fixed Point DSP Register Packing Summary レポートと Fixed Point DSP Register Packing Details レポートが含まれます。これらのレポートは、DSP レジスターのパッキングデータを含む、デザイン内の DSP ブロックの使用に関する情報を提供します。このサマリーレポートには、完全に登録されている DSP ブロック、部分的に登録されている DSP ブロック、登録されていない DSP ブロックの数がリストされています。

Fixed Point DSP Register Packing Details レポートは、レジスターバンクにパッキングされたレジスターの名前、レジスターの使用状況 (完全に登録されている、部分的に登録されている、または登録されていない)、およびレジスターのパッキングを妨げる理由も示しています。レポートでこれらのレジスター名の詳細を見ることで、パッキング割り当てのためのレジスターを容易に特定することができます。