キャリー最適化 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: インプリメンテーション (UG904)

Document ID
UG904
Release Date
2023-11-01
Version
2023.2 日本語

配線しやすくするため、キャリー チェーンの CARRY4 および CARRY8 プリミティブを LUT にリマップします。-carry_remap オプションを使用すると、1 段のキャリー チェーンのみが LUT に変換されます。CARRY_REMAP セル プロパティを使用すると、任意の長さのキャリー チェーンの変換を個別に制御できます。CARRY_REMAP プロパティには、LUT にマップするキャリー チェーンの最大長を整数で指定します。CARRY_REMAP プロパティは CARRY4 および CARRY8 プリミティブに適用し、LUT に変換するには、1 つのチェーンに含まれるすべての CARRY プリミティブに同じ値を設定する必要があります。サポートされる最小値は 1 です。

たとえば、デザインに CARRY8 プリミティブを 1 つ、2 つ、3 つ、および 4 つ含む複数のキャリー チェーンが含まれているとします。次のコマンドを使用すると、すべての CARRY8 プリミティブに CARRY_REMAP プロパティが設定されます。

Vivado% set_property CARRY_REMAP 2 [get_cells -hier -filter {ref_name == CARRY8}]

opt_design を実行すると、CARRY8 プリミティブが 3 つ以上含まれるキャリー チェーンのみが CARRY8 にマップされたままになり、1 つおよび 2 つ含まれるキャリー チェーンは LUT にマップされます。

注記: Versal には適用されません。
ヒント: 長いキャリー チェーンを LUT にマップし直すと、リマップ オプションを追加してさらに最適化しても、遅延が大幅に増加する可能性があります。AMDでは、リマップを 1 つまたは 2 つの CARRY プリミティブがカスケード接続された短いキャリー チェーンにのみ適用することをお勧めします。