配線しやすくするため、キャリー チェーンの 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 プリミティブがカスケード接続された短いキャリー チェーンにのみ適用することをお勧めします。