Differential Termination Attribute - Differential Termination Attribute - UG861

Spartan UltraScale+ FPGAs SelectIO Resources User Guide (UG861)

Document ID
UG861
Release Date
2026-04-28
Revision
1.1 English

The differential termination (DIFF_TERM or DIFF_TERM_ADV) attributes (HP and XP5IO I/O banks only) support the differential I/O standards when used as inputs. These attributes are used to turn the built-in, 100 Ω, differential termination on or off. The on-chip input differential termination provides advantages over using a discrete resistor by completely removing the stub at the receiver, which improves signal integrity. Additionally it:

  • Consumes less power than DCI termination
  • Does not use VRP pins (DCI)

The VCCO of the I/O bank must be connected to 1.8V for HP I/O banks to provide 100 Ω of effective differential termination. The VCCO of the I/O bank must be connected to 1.5V for XP5IO I/O banks to provide 100 Ω of effective differential termination. DIFF_TERM and DIFF_TERM_ADV are only available for inputs and can only be used with the appropriate VCCO voltage.

The DIFF_TERM_ADV attribute can be specified in the XDC constraints file. The DIFF_TERM attribute can be specified by setting the appropriate value in the generic map (VHDL) or in-line parameter (Verilog) of the instantiated primitives. Refer to the Vivado Design Suite HDL templates in the references or the UltraScale Architecture Libraries Guide (UG974) for the proper syntax for instantiating these primitives and setting the DIFF_TERM attribute.

Differential termination can either be invoked using the DIFF_TERM or DIFF_TERM_ADV attributes. DIFF_TERM is used if specified in the instantiated primitive. DIFF_TERM_ADV is used if specified in the XDC constraints file. DIFF_TERM values specified in the instantiated primitive gets translated to the corresponding DIFF_TERM_ADV setting in the XDC file.

The allowed values for the DIFF_TERM attribute are:

  • DIFF_TERM = TRUE automatically maps to DIFF_TERM_ADV = TERM_100
  • DIFF_TERM = FALSE automatically maps to DIFF_TERM_ADV = TERM_NONE (default)

The allowed values for the DIFF_TERM_ADV attribute are:

  • DIFF_TERM_ADV = TERM_NONE (default)
  • DIFF_TERM_ADV = TERM_100

The DIFF_TERM_ADV attribute uses the following syntax in the XDC file:

set_property DIFF_TERM_ADV value [get_ports port_name]