AR# 60356

7 系列FPGA 收发器向导 v3.2 或之前版本的设计咨询 - 所需 XDC 约束更新

描述

设计咨询包含 Vivado 2014.1 工具(可影响 GTP、GTX、 和 GTH 收发器)中 7 系列 FPGA 收发器向导 v3.2 版所需的更新。

GT Wizard v3.2 或更早版本中生成的一些约束需要更新。

以下是需要对 <component_name>.xdc 和 <component_name>_ooc.xdc 文件进行编辑的纲要。
 
当在向导的第 1 页中选择 "Include Shared Logic in Core" 选项时,应用以下更新

<component_name>.xdc

1. 对于 GTREFCLK 而言,p 侧和 n 侧引脚都被约束。缓冲器只有 P 侧需要被约束。
缓冲器的 N 侧约束(如下所示)应被移除。这个附加时钟会引起定时器中不必要的时钟传播。

create_clock -period 6.4 [get_ports q3_clk1_gtrefclk_pad_n_in]

2.下面的 create_clock 约束需要移到顶层缓冲器。否则,所有输入缓冲器插入延迟都被移除,并在歪斜分析时丢失。

原约束:
create_clock -period 16.667 [get_pins -hier -filter {name=~*gt_usrclk_source*DRP_CLK_BUFG*I}]

所需约束:
create_clock -period 16.667 [get_ports sys_clk_in_p]

3. 在 DRP_CLK 和 TXOUTCLK 之间设置假路径约束。 set_false_path 约束使用时钟对象 [get_clocks],而且时钟对象是全局命名空间的一部分。
如果用户设计中的 DRP_CLK 与 TXOUTCLK 之间存在路径,那么这些约束也将应用于这些路径。 该约束可能被要求或可能不被要求应用于这些路径。
 
要移除的约束:
set_false_path -from [get_clocks -include_generated_clocks -of_objects [get_pins -hier -filter {name=~*gt_usrclk_source*DRP_CLK_BUFG*I}]] -to [get_clocks -include_generated_clocks -of_objects [get_pins -hier -filter {name=~*gt0_gtwizard_0_i*gthe2_i*TXOUTCLK}]]
set_false_path -from [get_clocks -include_generated_clocks -of_objects [get_pins -hier -filter {name=~*gt0_gtwizard_0_i*gthe2_i*TXOUTCLK}]] -to [get_clocks -include_generated_clocks -of_objects [get_pins -hier -filter {name=~*gt_usrclk_source*DRP_CLK_BUFG*I}]]
 
如果设计需要 CDC 路径,要求是使用路径的单元,而不是时钟本身。

<component_name>_ooc.xdc


以下约束出现在 <component_name>_ooc.xdc。 由于缓冲器存在于设计中,那么要求将时钟约束放在 <component_name>.xdc 中。

create_clock -period 6.4 [get_nets -hier -filter {name=~*q3_clk1_gtrefclk_pad_n_in}]
create_clock -period 6.4 [get_nets -hier -filter {name=~*q3_clk1_gtrefclk_pad_p_in}]
当选中向导第 1 页的 "Include Shared Logic in Core" 选项时,应用以下更新

<component_name>_ooc.xdc 

GT refclk 约束参考网络而非端口。

原约束:
create_clock -period 6.4 [get_nets -hier -filter {name=~*gt0_gtrefclk0_in}]

所需约束:
create_clock -period 16.667 [get_ports gt0_gtrefclk0_in]

<component_name>.xdc 

以下约束需要被移除,因为缓冲器不在 IP 层级中

create_clock -period 6.4 [get_nets -hier -filter {name=~*gt0_gtrefclk0_in}]

解决方案

要解决 Vivado 2014.1 中的这个问题,应安装本答复记录末尾处的补丁。

Refer to the readme file for instructions on how and where to install the patch files.

这些问题将被解决,而且 Vivado 2014.2 版本中不再需要此补丁。

 

修订历史:

05/26/2014——初始版本

附件

文件名 文件大小 File Type
ar60356_GTwizard_v3_2_preliminary_rev1.zip 15 KB ZIP
AR# 60356
日期 05/23/2014
状态 Active
Type 设计咨询
器件
Tools
IP