インテル® Quartus® Prime プロ・エディションのユーザーガイド: デザインの推奨事項

ID 683082
日付 8/03/2023
Public
ドキュメント目次

1.6.3.2. 加算器ツリースタイルの変更

ALMでは最大6入力の機能を実装できるため、デフォルトのバランスの良いバイナリーツリー実装ではなく、加算器ツリーにコンプレッサー実装を使用することで、特定のデザインのパフォーマンスを向上させることができます。コンプレッサーの実装で予想されるマイナス面のトレードオフは、より多くのALMロジックリソースを使用することです。ただし、全体的なロジック深度は浅くなり、最終的なタイミング特性は向上します。

図 5. バランスの良いバイナリー加算器ツリーとコンプレッサー・スタイル加算器ツリー

利点があると考えられるデザインには、Use Compressor Implementation (USE_COMPRESSOR_IMPLEMENTATION) 割り当てをグローバル、エンティティー、またはインスタンスに使用して、コンパイラーで加算器ツリーをバランスの良いバイナリーツリーとして合成するか、コンプレッサー・スタイルのツリーとして合成するかを指定します。

この割り当ては、Assignment Editorで指定する、もしくは次の割り当てを .qsf で使用して指定することができます。

set_instance_assignment -name USE_COMPRESSOR_IMPLEMENTATION ALWAYS -to <foo>

この割り当てでは次のオプションを利用することができます。

表 2.  Use Compressor Implementation Assignmentのオプション
オプション 詳細
Always コンパイラーは常に、この割り当てのあるすべての加算器ツリーをコンプレッサー・スタイル・ツリーとして合成します。このトリガーの前に少なくとも2つの非定数オペランドが必要という制限があります (これがない場合、合成ではサイズに応じてバイナリー加算または純粋なLUTを実装します)。
Never コンパイラーは、割り当てられている加算器ツリーをコンプレッサーとして合成しません。コンパイラーは加算器をバランスの良いバイナリーツリーとして合成する、もしくは十分に小さい場合は純粋なLUTとして合成します。
Auto この設定は現在、Never 設定と同様に動作します。コンパイラーは加算器をバランスの良いバイナリーツリーとして合成する、もしくは十分に小さい場合は純粋なLUTとして合成します。この設定では、コンプレッサー・スタイルの加算器ツリーを使用しません。