CLOCK_DEDICATED_ROUTE 制約は、あるクロック領域のクロック バッファーで別のクロック領域の MMCM または PLL を駆動する場合に通常使用されます。デフォルトでは、CLOCK_DEDICATED_ROUTE 制約は TRUE に設定され、バッファーと MMCM または PLL のペアは同じクロック領域に配置されます。
次の表に、CLOCK_DEDICATED_ROUTE 制約の値、使用法、および動作を示します。
[Value] | 使用法 | ビヘイビアー |
---|---|---|
TRUE | クロック ネットのデフォルト値 |
グローバル クロック バッファーおよび MMCM/PLL を同じクロック領域に配置する必要があります。 ネットがグローバル クロック リソースのみを使用して配線されます。 |
SAME_CMT_COLUMN (BACKBONE) |
グローバル クロック バッファーで駆動されるネット 例:
|
MMCM/PLL を同じ垂直列のクロッククロック領域に配置する必要があります。 ネットがグローバル クロック リソースのみを使用して配線されます。 最適な結果を得るには、AMD では MMCM/PLL に LOC 制約を使用して MMCM/PLL を同じ垂直列に配置することをお勧めします。 |
ANY_CMT_COLUMN |
グローバル クロック バッファーで駆動されるネット 例:
|
MMCM/PLL は、使用可能なリソースのあるどのクロック領域にでも配置できます。 ネットがグローバル クロック リソースのみを使用して配線されます。 最適な結果を得るには、AMD では MMCM/PLL に LOC 制約を使用して MMCM/PLL をデバイス内に配置することをお勧めします。 |
FALSE |
グローバル クロック バッファーでは駆動されないがクロック ネットワークの一部であるクロック ネット (IBUF で駆動されるネット、MMCM の出力クロック ピンに直接接続されているネットなど) 例:
|
ネットがファブリックおよびグローバル クロック リソースを使用して配線されます。 クロック ネットワークのタイミングおよびパフォーマンスに悪影響を与える可能性があります。 重要:
UltraScale デバイスでは、特別なデザイン要件によりグローバル クロック リソースをファブリック リソースに配置する必要がある場合以外は、FALSE に設定しないでください。
|
上下に隣接するクロック領域の制約例
1 つのクロック領域のクロック バッファーで上下に隣接するクロック領域の MMCM または PLL を駆動する場合は、CLOCK_DEDICATED_ROUTE を 7 シリーズ デバイスでは BACKBONE に、UltraScale デバイスでは SAME_CMT_COLUMN に設定してください。これにより、インプリメンテーション エラーの発生を回避でき、クロックがグローバル クロック リソースのみを使用して配線されるようになります。場合によっては、CLOCK_DEDICATED_ROUTE 制約を設定せずに、垂直方向に隣接するクロック領域に 2 つ以下の MMCM または PLL を配置できます。CLOCK_DEDICATED_ROUTE 制約なしで垂直方向に隣接するクロック領域の MMCM または PLL の有効なソリューションを見つけることができる場合、結果のソリューションがデザインに最適ではない可能性があります。次の例および図に、垂直方向に隣接するクロック領域にある 2 つの PLL を駆動する中央クロック バッファーを示します。
set_property CLOCK_DEDICATED_ROUTE SAME_CMT_COLUMN [get_nets -of [get_pins BUFG_inst_0/O]]
set_property LOC PLLE3_ADV_X0Y0 [get_cells PLLE3_ADV_inst_0]
set_property LOC PLLE3_ADV_X0Y4 [get_cells PLLE3_ADV_inst_1]
上下に隣接していないクロック ネットの制約例
1 つのクロック領域のクロック バッファーで上下に隣接していないクロック領域を駆動する場合は、CLOCK_DEDICATED_ROUTE を 7 シリーズ デバイスでは FALSE に、UltraScale デバイスでは ANY_CMT_COLUMN に設定する必要があります。これにより、インプリメンテーション エラーが発生しなくなり、クロックがグローバル クロック リソースのみを使用して配線されるようになります。次の例および図に、BUFGCE が入力バッファーと同じ列にないクロック領域に配置されている 2 つの PLL を駆動しているところを示します。
set_property CLOCK_DEDICATED_ROUTE ANY_CMT_COLUMN [get_nets -of [get_pins BUFG_inst_0/O]]
set_property LOC PLLE3_ADV_X1Y0 [get_cells PLLE3_ADV_inst_0]
set_property LOC PLLE3_ADV_X1Y4 [get_cells PLLE3_ADV_inst_1]