The Vivado Design Suite library includes an extensive list of primitives supporting many I/O standards available in the I/O primitives. These generic primitives can each support most of the available single-ended I/O standards.
• IBUF (input buffer)
• IBUF_ANALOG (input buffer specific to system monitor inputs). The IBUF_ANALOG is used by the Vivado Design Suite tools to route analog signals to the SYSMONE1 or SYSMONE4 primitive. It is not a physical buffer and is purely a software construct that should be viewed as a physical pass through.
• IBUF_IBUFDISABLE (input buffer with buffer disable control)
• IBUF_INTERMDISABLE (input buffer with buffer disable and on-die input termination disable controls (HR I/O banks only))
• IBUFE3 (input buffer with offset calibration and V REF tuning, along with buffer disable control (HP I/O banks only))
• IOBUF (bidirectional buffer)
• OBUF (output buffer)
• OBUFT (3-state output buffer)
• IOBUF_DCIEN (bidirectional buffer with input buffer disable and on-die input termination disable control (HP I/O banks only))
• IOBUF_INTERMDISABLE (bidirectional buffer with input buffer disable and on-die input termination disable control (HR I/O banks only))
• IOBUFE3 (bidirectional buffer with offset calibration and V REF tuning, along with input buffer disable and on-die input termination enable control (HP I/O banks only))
These generic primitives can each support most of the available differential I/O standards:
• IBUFDS (differential input buffer)
• IBUFDS_DIFF_OUT (differential input buffer with complementary outputs). The IBUFDS_DIFF_OUT primitive can be beneficial to accommodate the need to invert differential pins that might have been inadvertently swapped
• IBUFDS_DIFF_OUT_IBUFDISABLE (differential input buffer with complementary outputs and buffer disable)
• IBUFDS_DIFF_OUT_INTERMDISABLE (differential input buffer with complementary outputs, input buffer disable and on-die input termination disable control (HR I/O banks only))
• IBUFDS_IBUFDISABLE (differential input buffer with buffer disable control)
• IBUFDS_INTERMDISABLE (differential input buffer with input buffer disable and on-die input termination disable control (HR I/O banks only))
• IBUFDSE3 (differential input buffer with offset calibration along with buffer disable control (HP I/O banks only))
• IBUFDS_DPHY (differential input buffer for the MIPI D-PHY. Only supported by the HP I/O banks in the Virtex UltraScale+, Kintex UltraScale+, Artix UltraScale+, and Zynq UltraScale+ devices)
• IOBUFDS (differential bidirectional buffer)
• IOBUFDS_DCIEN (differential bidirectional buffer with on-die input termination disable control and input buffer disable (HP I/O banks only))
• IOBUFDS_DIFF_OUT (differential bidirectional buffer with complementary outputs from the input buffer)
• IOBUFDS_DIFF_OUT_DCIEN (differential bidirectional buffer with complementary outputs from the input buffer with on-die input termination disable controls and input buffer disable controls (HP I/O banks only))
• IOBUFDS_INTERMDISABLE (bidirectional buffer with on-die input termination disable control and input buffer disable (HR I/O banks only))
• IOBUFDS_DIFF_OUT_INTERMDISABLE (bidirectional buffer with complementary outputs from the input buffer with on-die input termination disable control and input buffer disable (HR I/O banks only))
• IOBUFDSE3 (differential bidirectional buffer with offset calibration along with input buffer disable and on-die input termination enable control (HP I/O banks only))
• OBUFDS (differential output buffer)
• OBUFTDS (differential 3-state output buffer)
• OBUFDS_DPHY (differential output buffer for the MIPI D-PHY. Only supported by the HP I/O banks in the Virtex UltraScale+, Kintex UltraScale+, Artix UltraScale+, and Zynq UltraScale+ devices)
• HPIO_VREF (V REF scan feature (HP I/O banks only))
More information including instantiation techniques and available attributes for these and all other design primitives is available in the UltraScale Architecture Libraries Guide (UG974) [Ref 5] .