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

ID 683236
日付 12/16/2019
Public

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

ドキュメント目次

1.2.1.1. 合成中のレジスターの保持

インテル® Quartus® Prime合成では、ゲート数を最小限に抑え、冗長ロジックを統合し、デバイスリソースの効率的な使用を保証します。特定のレジスターの保持が合成処理で必要な場合は、次のエンティティー・レベルの割り当てのいずれかを指定できます。

Preserve Registers in Synthesisまたは Preserve Fan-Out Free Register Nodeオプションを割り当てて、保持されたレジスターをFitterによって最適化できるようにします。Preserve Registersでは、保持されたレジスターのFitter最適化を制限します。合成保持割り当てを指定するには、Assignments > Assignment Editorをクリックするか、.qsf ファイルの変更、またはRTLの合成属性の指定を行います。

表 3.  合成保持オプション
Assignment 説明 Fitter最適化の許可 Assignment構文
Preserve Registers in Synthesis レジスターの削除が合成中に行われないようにします。この設定は、Fitterでのリタイミングやその他の最適化には影響しません。 許可する
  • PRESERVE_REGISTER_SYN_ONLY ON|Off -to <entity> .qsf
  • preserve_syn_only または syn_preservesyn_only (合成属性)
Preserve Fan-Out Free Register Node ファンアウトのないレジスターが割り当てられている場合、その削除が合成中に行われないようにします。

PRESERVE_FANOUT_FREE_NODE 割り当てでは、ファンアウトのないレジスターの保持は、レジスターを定義したVerilog HDLまたはVHDLモジュール内にファンアウトがない場合はできません。このようなファンアウトのないレジスターを保持するには、noprune プラグマをソースファイルに次のように実装します。

(*noprune*)reg r;

このモジュールのインスタンスが複数あり、一部のインスタンスのみでファンアウトなしのレジスターの保持が必要な場合は、ダミープラグマをHDLのレジスター上に設定し、PRESERVE_FANOUT_FREE_NODE 割り当ても設定します。このダミープラグマにより、レジスター合成によって割り当てが実装できるようになります。例えば、次のダミープラグマをVerilog HDLのレジスター r に対して設定します。

(*dummy*)reg r;
許可する
  • PRESERVE_REGISTER_FANOUT_FREE_NODE ON|Off -to <entity> .qsf
  • no_prune on (合成属性)
Preserve RegistersPreserve Registers 割り当てられているレジスターの削除や順次最適化が、合成中に行われないようにします。順次ネットリストの最適化により、冗長なレジスターおよび定数ドライバーを備えたレジスターが排除できます。 許可しない
  • PRESERVE_REGISTER ON|Off -to <entity> .qsf
  • preservesyn_preserve 、または keep on (合成属性)