The differential termination (DIFF_TERM or DIFF_TERM_ADV) attributes support the differential I/O standards when used as inputs. These attributes are used to turn the built-in, 100 W, 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 V CCO of the I/O bank must be connected to 1.8V for HP I/O banks and 2.5V for HR 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 V CCO 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 [Ref 11] [Ref 8] or the UltraScale Architecture Libraries Guide (UG974) [Ref 5] 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 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]