IOBUFDS_DIFF_OUT_DCIEN - IOBUFDS_DIFF_OUT_DCIEN - 2026.1 English - Primitive: Differential Bidirectional Buffer with Complementary Outputs, Input Path Disable, and On-die Input Termination Disable - UG953

Vivado Design Suite 7 Series FPGA and Zynq 7000 SoC Libraries Guide (UG953)

Document ID
UG953
Release Date
2026-06-23
Version
2026.1 English

Primitive: Differential Bidirectional Buffer with Complementary Outputs, Input Path Disable, and On-die Input Termination Disable

  • PRIMITIVE_GROUP: I/O
  • PRIMITIVE_SUBGROUP: BIDIR_BUFFER
Page-1 Graphic ID: SW & IP X12321 X12321-061219 Sheet.2 IOBUFDS_DIFF_OUT_DCIEN IOBUFDS_DIFF_OUT_DCIEN Dynamic connector.32 Sheet.4 Sheet.5 Sheet.6 I I Text Line.39 IBUFDISABLE IBUFDISABLE Sheet.8 Sheet.9 Sheet.10 Sheet.11 Sheet.12 Sheet.13 Sheet.14 Sheet.15 Sheet.16 Sheet.17 IO IO Dynamic connector.60 Sheet.19 Sheet.20 Sheet.21 Dynamic connector.106 Sheet.23 Sheet.24 3-state input from slave 3-state inputfrom slave Sheet.25 IOB IOB Dynamic connector.101 Sheet.27 Sheet.28 Sheet.29 O/P invert.85 Sheet.31 O O Sheet.32 OB OB O/P invert.113 Sheet.34 TS TS Connector Dot.131 Connector Dot.132 Text Line.119 DCITERMDISABLE DCITERMDISABLE Sheet.38 TM TM Sheet.39 3-state input from master 3-state inputfrom master Sheet.40 Sheet.41 Sheet.42 Connector Dot.142 Connector Dot.1 Connector Dot.2

Introduction

It has complementary differential outputs, an IBUFDISABLE port, and a DCITERMDISABLE port that can be used to manually disable the optional DCI on-die receiver termination features (uncalibrated or DCI). The USE_IBUFDISABLE attribute must be set to TRUE and SIM_DEVICE to the appropriate value for this primitive to have the expected behavior that is specific to the architecture. TM and TS must be connected to the same input from the interconnect logic for this primitive to have the expected behavior that is specific to the architecture.

If the I/O is using any on-die receiver termination features (uncalibrated or DCI), this primitive disables the termination legs whenever the DCITERMDISABLE signal is asserted High and the output buffer is 3-stated. When the output buffer is 3-stated (T = High), any on-die receiver termination (uncalibrated or DCI) is controlled by DCITERMDISABLE. When the output buffer is not 3-stated (T = Low), the input buffer and on-die receiver termination (uncalibrated or DCI) are disabled and the O output (to the internal logic) is forced to a logic-Low.

I/O attributes that do not impact the logic function of the component, such as IOSTANDARD, DIFF_TERM, and IBUF_LOW_PWR, should be supplied to the top-level port via an appropriate property. For details on applying such properties to the associated port, see the Vivado Design Suite Properties Reference Guide (UG912).

Port Descriptions

Port Direction Width Function
DCITERMDISABLE Input 1 Control to enable/disable DCI termination. This is generally used to reduce power in long periods of an idle state.
I Input 1 Input of OBUF. Connect to the logic driving the output port.
IBUFDISABLE Input 1 The IBUFDISABLE feature is not supported with this primitive in the UltraScale architecture. This port must be tied to logic '0'.
IO Inout 1 Bidirectional diff_p port to be connected directly to top-level inout port.
IOB Inout 1 Bidirectional diff_n port to be connected directly to top-level inout port.
O Output 1 Output path of the buffer.
OB Output 1 Output path of the buffer.
TM Input 1 3-state enable input for the p-side or master side signifying whether the buffer acts as an input or output. This pin must be connected to the same signal as the TS input.
TS Input 1 3-state enable input for the n-side or slave side signifying whether the buffer acts as an input or output. This pin must be connected to the same signal as the TM input.

Design Entry Method

Instantiation Yes
Inference No
IP and IP Integrator Catalog No

Available Attributes

Attribute Type Allowed Values Default Description
SIM_DEVICE STRING "7SERIES" Set the device version for simulation functionality.
USE_IBUFDISABLE STRING "TRUE", "FALSE", "T_CONTROL" "TRUE" This attribute must be unspecified or set to "TRUE" if specified.

VHDL Instantiation Template

Unless they already exist, copy the following two statements and paste them before the entity declaration.
Library UNISIM;
use UNISIM.vcomponents.all;

-- IOBUFDS_DIFF_OUT_DCIEN: Differential Bi-directional Buffer with Differential Output,
--                         Digital Controlled Impedance (DCI)and Input path enable/disable
--                         May only be placed in High Performance (HP) Banks
--                         7 Series
-- Xilinx HDL Language Template, version 2026.1

IOBUFDS_DIFF_OUT_DCIEN_inst : IOBUFDS_DIFF_OUT_DCIEN
generic map (
   DIFF_TERM => "FALSE", -- Differential Termination (TRUE/FALSE)
   IBUF_LOW_PWR => "TRUE", -- Low Power - TRUE, High Performance = FALSE
   IOSTANDARD => "BLVDS_25", -- Specify the I/O standard
   USE_IBUFDISABLE => "TRUE") -- Use IBUFDISABLE function, "TRUE" or "FALSE"
port map (
   O => O,     -- Buffer p-side output
   OB => OB,   -- Buffer n-side output
   IO => IO,   -- Diff_p inout (connect directly to top-level port)
   IOB => IOB, -- Diff_n inout (connect directly to top-level port)
   DCITERMDISABLE => DCITERMDISABLE, -- DCI Termination enable input
   I => I,     -- Buffer input
   IBUFTERMDISABLE => IBUFTERMDISABLE, -- input disable input, low=disable
   TM => TM,   -- 3-state enable input, high=input, low=output
   TS => TS    -- 3-state enable input, high=output, low=input
);

-- End of IOBUFDS_DIFF_OUT_DCIEN_inst instantiation

Verilog Instantiation Template


// IOBUFDS_DIFF_OUT_DCIEN: Differential Bi-directional Buffer with Differential Output,
//                         Digital Controlled Impedance (DCI)and Input path enable/disable
//                         May only be placed in High Performance (HP) Banks
//                         7 Series
// Xilinx HDL Language Template, version 2026.1

IOBUFDS_DIFF_OUT_DCIEN #(
   .DIFF_TERM("FALSE"),     // Differential Termination ("TRUE"/"FALSE")
   .IBUF_LOW_PWR("TRUE"),   // Low Power - "TRUE", High Performance = "FALSE"
   .IOSTANDARD("BLVDS_25"), // Specify the I/O standard
   .USE_IBUFDISABLE("TRUE") // Use IBUFDISABLE function, "TRUE" or "FALSE"
) IOBUFDS_DIFF_OUT_DCIEN_inst (
   .O(O),     // Buffer p-side output
   .OB(OB),   // Buffer n-side output
   .IO(IO),   // Diff_p inout (connect directly to top-level port)
   .IOB(IOB), // Diff_n inout (connect directly to top-level port)
   .DCITERMDISABLE(DCITERMDISABLE), //  DCI Termination enable input
   .I(I),                           // Buffer input
   .IBUFDISABLE(IBUFDISABLE),       // Input disable input, high=disable
   .TM(TM),   // 3-state enable input, high=input, low=output
   .TS(TS)    // 3-state enable input, high=input, low=output
);

// End of IOBUFDS_DIFF_OUT_DCIEN_inst instantiation

Related Information

  • 7 Series FPGAs SelectIO Resources User Guide (UG471)