FPGA 使用 CLOCK_DEDICATED_ROUTE 约束
使用
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]