本文转载自: XILINX技术社区微信公众号
本篇博文主要讲解了动态更改 UltraScale/UltraScale+ GTH/GTY 收发器线速率设置的方法。
您是否曾想过要使用 UltraScale/UltraScale+ GTH/GTY 收发器来动态更改线速率设置?
有许多客户会将 GTH/GTY 收发器用于其自己的通信协议,因此询问我们如何才能使用收发器来更改线速率。
在 Vivado IP Catalog 的 UltraScale FPGAs TransceiversWizard 中仅含一项线速率设置。
由于 UltraScale/UltraScale+ GTH/GTYTransceiver Wizard 不允许更改线速率设置,因此必须由收发器用户手动执行更改。
1. 如何通过 DRP 接口更改线速率
(a) 生成收发器 IP
使用要实现的线速率配置生成收发器 IP。
(b) 生成设计样本
(c) 对设计样本执行逻辑综合
单击 Flow Navigator 中的“运行综合 (Run Synthesis)”:
综合完成后,选择“打开已综合的设计 (Open Synthesized Design)”以打开网表。
(d) 运行随附的脚本
在 Tcl 控制台 (Tcl console) 中运行gt_Attributes_97.tcl脚本:
执行此脚本即可将“Channel/Common”属性输出到gtParams.txt文件。
并且,GTH/GTY 中的属性和修复后的 GTH/GTY 端口也都将包含在同一个文件中输出,以便于您进行比较。
针对要实现的每项 GTH/GTY 配置重复上述步骤 (a) 到 (d)。
(e) 比较输出
通过比较来自 GTH/GTY 配置的gtParams.txt输出,即可立即查看不同的属性。
(f) 动态重配置端口接口 (DRP I/F)
所需属性必须通过 DRP I/F 来设置。
在 (UG576)/(UG578) 的附录 B/C 中详列了每个属性的地址。
如果您不熟悉 DRP I/F,请参阅 (UG576)/(UG578) 的第 2 章,以获取更多信息。
(g) 复位
在 DRP I/F 上设置完属性后,必须先再次执行复位,然后才能使用 GTH/GTY。
注:建议最好使用此脚本生成gtParams.txt,然后再进行比较,而不是直接比较封装器 RTL。
由于除 Channel 和 Common 属性外,还可比较修复后的外部端口,因此您可放心更改这些属性。
2. 更改 CPLL 校准模块的设置
如果在设计中使用了 CPLL,那么必须在 CPLL 校准模块中更改信号。
请参阅(赛灵思答复记录 70485),以获取有关更改信号所需的设置更改的信息
【答复记录 70485, https://china.xilinx.com/support/answers/70485.html 】
综上,如需动态更改UltraScale/UltraScale+ GTH/GTY 的线速率,请遵循上述步骤 (1) 和 (2) 进行操作。