set_property LOC约束
##下列指令是用于清除自带GT CELL相关的LOC约束,或者覆盖
##你需要把IP中自带的GT cell相关的LOC约束清除掉,或者覆盖掉
##以下命令可以用来覆盖GT_CHANNEL的LOC约束, 在这条命令之后执行你自己的physical constraint:
##GT的channel的相关管脚有两种设计方法,一种是定GT_CHANNEL的位置(LOC),一种是定GT管脚的位置(Package_pin).
set_property LOC "" [get_cells -hierarchical -filter { PRIMITIVE_TYPE == ADVANCED.GT.GTHE4_CHANNEL }
set_property LOC GTXE2_CHANNEL_X0Y3 [get_cells {xxx/gtx_channel.gtxe2_channel_i}]
set_property PACKAGE_PIN J4 [get_ports {i_pcie_rxp[0]}]
举例:
收发器差分信号约束
1)收发器MGTREFCLK时钟约束管脚位置约束:
set_property LOC “管脚编号” [get_ports “端口名称”]
举例:
set_property LOC G7 [get_ports Q2_CLK0_GTREFCLK_PAD_N_IN ]
set_property LOC G8 [get_ports Q2_CLK0_GTREFCLK_PAD_P_IN ]
2)收发器MGT通道约束
对于GTXE2_CHANNEL通道约束:一种方法是可以利用7系列FPGAs收发器向导,在配置好收发器配置参数后,自动生成XDC模板,然后将该模板应用到自己的设计中;第二种方法是自己编写XDC约束文件,其位约束位置要参照具体原理图信号管脚来进行编写约束文件。举例:对于图1中四通道收发器对GTXE2_CHANNEL约束。
收发器通道位置约束:
set_property LOC “ GTXE2_CHANNEL_X* Y * ” [get_cells “gtxe_2例化路径”]