OBUFDS_ODDR - OBUFDS_ODDR - 2025.1 English - Primitive: Differential Output Buffer with ODDR MUX - UG1727

Versal Prime Series Gen 2 Libraries Guide (UG1727)

Document ID
UG1727
Release Date
2025-05-29
Version
2025.1 English

Primitive: Differential Output Buffer with ODDR MUX

  • PRIMITIVE_GROUP: I/O
  • PRIMITIVE_SUBGROUP: OUTPUT_BUFFER
Sheet.4 O O Sheet.5 OBUFDS OBUFDS_ODDR Sheet.6 Sheet.7 Sheet.8 Sheet.9 OB Sheet.11 Sheet.12 Sheet.13 Sheet.14 O/P invert.50 Sheet.12 path44-5 path46-9 path85 path87 text89 I_0 I_0 path85-1 path87-8 text89-0 I_1 I_1 text89-0-6 C C Buffer.10 path716

Introduction

The OBUFDS_ODDR is a differential output buffer primitive that provides the unregistered ODDR MUX.

I/O attributes that do not impact the logic function of the component, such as IOSTANDARD, DRIVE, and SLEW, 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
C Input 1 Clock controlled ODDR MUX select
I_0 Input 1 Parallel data input 0
I_1 Input 1 Parallel data input 1
O Output 1 Diff_p output. Connect directly to a top-level port in the design.
OB Output 1 Diff_n output. Connect directly to a top-level port in the design.

Design Entry Method

Instantiation Yes
Inference No
IP and IP Integrator Catalog No

Available Attributes

Attribute Type Allowed Values Default Description

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;

-- OBUFDS_ODDR: Differential Output Buffer with ODDR MUX
--              Versal Prime Series Gen 2
-- Xilinx HDL Language Template, version 2025.1

OBUFDS_ODDR_inst : OBUFDS_ODDR
port map (
   O => O,     -- 1-bit output: Diff_p output (connect directly to top-level port)
   OB => OB,   -- 1-bit output: Diff_n output (connect directly to top-level port)
   C => C,     -- 1-bit input: Clock controlled ODDR MUX select
   I_0 => I_0, -- 1-bit input: Parallel data input 0
   I_1 => I_1  -- 1-bit input: Parallel data input 1
);

-- End of OBUFDS_ODDR_inst instantiation

Verilog Instantiation Template


// OBUFDS_ODDR: Differential Output Buffer with ODDR MUX
//              Versal Prime Series Gen 2
// Xilinx HDL Language Template, version 2025.1

OBUFDS_ODDR OBUFDS_ODDR_inst (
   .O(O),     // 1-bit output: Diff_p output (connect directly to top-level port)
   .OB(OB),   // 1-bit output: Diff_n output (connect directly to top-level port)
   .C(C),     // 1-bit input: Clock controlled ODDR MUX select
   .I_0(I_0), // 1-bit input: Parallel data input 0
   .I_1(I_1)  // 1-bit input: Parallel data input 1
);

// End of OBUFDS_ODDR_inst instantiation