Showing results for 
Search instead for 
Did you mean: 

How to dynamically change UltraScale/UltraScale+ GTH/GTY line-rate

Xilinx Employee
Xilinx Employee
5 0 349

Have you ever wanted to use an UltraScale/UltraScale+ GTH/GTY transceiver to dynamically change line rate settings? 

We have received many inquiries about this from customers who use GTH/GTY transceivers for their own communication protocols.


You can see that the UltraScale FPGAs Transceivers Wizard in the Vivado IP Catalog only allows for one line rate setting. 

Because the UltraScale/UltraScale+ GTH/GTY Transceiver Wizard does not allow you to change the line rate setting, it must be done manually by the transceiver user.

1. How to change line rate via the DRP interface


(a) Generate a transceiver macro 

Generate a transceiver macro with the line rate configuration you want to achieve.

(b) Generate a sample design.


(c) Perform logic synthesis for the sample design.

Click on Run synthesis in the Flow Navigator:


When synthesis is complete, select [Open Synthesized Design] to open the netlist.


(d) Run the attached script

Run the gt_Attributes_97.tcl script attached below in the Tcl console:


By executing this script, you can output the Channel/Common attributes to the gtParams.txt file. 

Also, both the attributes inside the GTH/GTY and the fixed GTH/GTY ports are output as a file, so you can easily compare them.

Repeat steps (a) to (d) above for each GTH/GTY configuration you want to implement.


 (e) Compare the Output

By comparing the gtParams.txt output from the GTH/GTY configuration, you can immediately see the different attributes.


(f) Dynamic Reconfiguration Port Interface (DRP I/F)

The required attributes must be set via the DRP I/F.

The address of each attribute is listed in Appendix B/C of (UG576)/(UG578).

If you are unfamiliar with the DRP I/F, more information can be found in chapter 2 of (UG576) /(UG578).

(g) Reset

After setting the attributes on the DRP I/F, you must perform a reset again before using GTH/GTY.


Note: rather than comparing the wrapper RTL, it is recommended that you generate gtParams.txt with this script and then compare. 

Because the fixed external ports can be compared in addition to the attributes of the Channel and Common parts, you can change the attributes with confidence.


2. Change settings for the CPLL calibration module

If you use CPLL in your design, you must change the signals in the CPLL calibration module. 

Please refer to the answer record (Xilinx Answer 70485) for information on the settings changes required to change the signal.



In summary, if you ever need to dynamically change the line rate for UltraScale/UltraScale+ GTH/GTY, please follow steps (1) and (2) above.