Calibrated On-Die Termination and Differential Termination - AM010

Versal Adaptive SoC SelectIO Resources Architecture Manual (AM010)

Document ID
AM010
Release Date
2025-03-07
Revision
1.6 English

To provide the highest precision termination, external reference resistors must be provided to calibrate the internal device termination. Up to two banks per SLR can have an IO_VR pin that must be externally pulled up to the bank's supply voltage VCCO with a 240Ω reference resistor. For example, many devices have a bank 700 that contains the IO_VR_700 pin which must have a 240Ω reference resistor pulled up to the VCCO_700. The reference resistor is used to calibrate all I/O banks on the same half of the SLR. Banks with IO_VR pins must always be powered by a valid VCCO level.

Important: Banks with IO_VR pins must have an external 240Ω resistor tied to the bank's VCCO. These pins are dedicated and cannot be used as user I/O. All designs must populate these pins appropriately, regardless of the I/O standards used in a design.
Figure 1. IO_VR_700 Pin

In the X5IO, the reference calibration circuitry is always enabled and _DCI specific standards are not required to enable calibrated termination. The X5IO IOB provides several types of calibrated termination:

  • Split-termination input impedance (termination to VCCO/2)
  • Single-termination input impedance (termination to VCCO or termination to GND)
  • Source termination

Each type of termination allows the selection of termination strengths to accommodate 40Ω, 48Ω, and 60Ω interfaces. Single-termination input impedance offsets a pull type to either VCCO or GND depending on the standard (see X5IO IOB Supported Single-Ended Standards for further information).

Differential Termination

In addition to calibrated impedance, a fixed precision 100Ω differential input impedance block is available in X5IO IOB input pairs to support LVDS12, MIPI_CPHY, and MIPI_DPHY. The bank must be powered at the VCCO level of 1.2V to use the differential impedance block.

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 are translated to the corresponding DIFF_TERM_ADV setting in the XDC file. The allowed values for the DIFF_TERM attribute are TRUE or FALSE, which automatically maps to the DIFF_TERM_ADV attribute.

The DIFF_TERM_ADV attribute can be set to TERM_NONE (default) or TERM_100 to enable internal 100Ω termination. It uses the following syntax in the XDC file:

set_property DIFF_TERM_ADV [get_ports port_name]