使用 CLOCK_DEDICATED_ROUTE 約束
CLOCK_DEDICATED_ROUTE 約束通常在從一個時鐘區域中的時鐘緩存驅動到另一個時鐘區域中的 MMCM 或 PLL 時使
用。默認情況下, CLOCK_DEDICATED_ROUTE 約束設置為 TRUE ,并且緩存 /MMCM 或 PLL 對必須布局在相同的時鐘區
域中。

注釋: 在使用 UltraScale 器件工作時,勿在端口直接驅動的網絡上應用 CLOCK_DEDICATED_ROUTE 屬性。相反,將 CLOCK_DEDICATED_ROUTE 屬性應用到 IBUF 的
輸出。
當從一個時鐘區域中的時鐘緩存驅動垂直相鄰時鐘區域中的 MMCM 或 PLL 時,必須將 7 系列器件的 CLOCK_DEDICATED_ROUTE 設置為 BACKBONE 或 UltraScale 器
件的 CLOCK_DEDICATED_ROUTE 設置為 SAME_CMT_COLUMN 。這可以防止實現錯誤,并確保時鐘僅使用全局時鐘資源進行布線。以下示例顯示了在垂直相鄰時鐘
區域中驅動兩個 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]

當從時鐘緩存驅動到不垂直相鄰的其他時鐘區域時,必須將 7 系列器件的 CLOCK_DEDICATED_ROUTE 設置為 FALSE 或
UltraScale 器件的 ANY_CMT_COLUMN 設置為 CLOCK_DEDICATED_ROUTE 。這可以防止實現錯誤,并確保時鐘僅使用
全局時鐘資源進行布線。以下示例和圖顯示了驅動與輸入緩存不在同一時鐘區域列上的兩個 PLL 的 BUFGCE 。
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]
