CLOCK_DEDICATED_ROUTE 制約は、1 つのクロック領域のクロック バッファーで別のクロック領域の MMCM、XPLL、DPLL を駆動する場合に通常使用されます。デフォルトでは、CLOCK_DEDICATED_ROUTE 制約は TRUE に設定され、バッファーと MMCM、XPLL、DPLL のペアは同じクロック領域に配置されます。
次の表に、CLOCK_DEDICATED_ROUTE 制約の値、使用法、および動作を示します。
[Value] | 使用法 | ビヘイビアー |
---|---|---|
TRUE | クロック ネットのデフォルト値 |
グローバル クロック バッファーおよび MMCM/XPLL/DPLL を同じクロック領域に配置する必要があります。 ネットがグローバル クロック リソースのみを使用して配線されます。 |
SAME_CMT_COLUMN |
BUFG_GT グローバル クロック バッファーまたは HDIO バンクのグローバル クロック バッファーで駆動されるネット 例:
|
DPLL を同じ垂直列のクロック領域に配置する必要があります。 ネットがグローバル クロック リソースのみを使用して配線されます。 最適な結果を得るには、AMD では DPLL に LOC 制約を使用して DPLL を同じ垂直列に配置することをお勧めします。 |
SAME_CMT_ROW |
グローバル クロック バッファーで駆動されるネット
例:
|
MMCM/XPLL/DPLL は、使用可能なリソースのあるどの水平クロック領域行にでも配置できます。 ネットがグローバル クロック リソースのみを使用して配線されます。 最適な結果を得るには、AMD では MMCM/XPLL/DPLL に LOC 制約を使用して MMCM//XPLL/DPLL をデバイスの水平クロック領域行内に配置することをお勧めします。 |
ANY_CMT_REGION |
グローバル クロック バッファーで駆動されるネット
例:
|
MMCM/XPLL/DPLL は、使用可能なリソースのあるどのクロック領域にでも配置できます。 ネットがグローバル クロック リソースのみを使用して配線されます。 最適な結果を得るには、AMD では MMCM/XPLL/DPLL に LOC 制約を使用して MMCM/XPLL/DPLL をデバイス内に配置することをお勧めします。 |
FALSE |
グローバル クロック バッファーでは駆動されないがクロック ネットワークの一部であるクロック ネット (IBUF で駆動されるネット、MMCM の出力クロック ピンに直接接続されているネットなど)
例:
|
ネットがファブリックおよびグローバル クロック リソースを使用して配線されます。 ジッターやスキューといった、クロック ネットワークのタイミング特性に悪影響を与える可能性があります。 重要:
Versal デバイスでは、特別なデザイン要件によりグローバル クロック リソースをファブリック リソースに配置する必要がある場合以外は、FALSE は使用しないでください。
|
同じ行にある XPIO クロック領域間の MMCM/XPLL/DPLL の駆動
1 つの XPIO クロック領域のクロック バッファーで同じ行の隣接していない XPIO クロック領域の MMCM/XPLL/DPLL を駆動する場合は、CLOCK_DEDICATED_ROUTE 制約を SAME_CMT_ROW に設定する必要があります。これにより、インプリメンテーション エラーが発生しなくなり、クロックが XPIO クロック領域全体でグローバル クロック リソースを使用して配線されるようになります。次の例および図に、隣接していない XPIO クロック領域にある 2 つの DPLL を駆動するクロック バッファーを示します。
set_property CLOCK_DEDICATED_ROUTE SAME_CMT_ROW [get_nets -of [get_pins BUFG_inst/O]]
set_property LOC DPLL_X4Y0 [get_cells DPLL_inst_1]
set_property LOC DPLL_X11Y0 [get_cells DPLL_inst_2]
異なる行にあるクロック領域間の DPLL の駆動
HDIO に DPLL が含まれるデバイスでは、次の場合に CLOCK_DEDICATED_ROUTE 制約を ANY_CMT_REGION に設定する必要があります。
- XPIO クロック領域のクロック バッファーで HDIO クロック領域の DPLL を駆動する場合
- HDIO クロック領域のクロック バッファーで XPIO クロック領域の MMCM、XPLL、DPLL を駆動する場合
これにより、インプリメンテーション エラーが発生しなくなり、クロックがデバイス全体でグローバル クロック リソースを使用して配線されるようになります。次の例に、XPIO クロック領域のクロック バッファーで、XPIO クロック領域の DPLL と HDIO クロック領域の DPLL を駆動する例を示します。
set_property CLOCK_DEDICATED_ROUTE ANY_CMT_REGION [get_nets -of [get_pins BUFG_inst/O]]
set_property LOC DPLL_X4Y2 [get_cells DPLL_inst_1]
set_property LOC DPLL_X12Y0 [get_cells DPLL_inst_2]