UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 1651

How do I configure my Xilinx device I/O as an open-drain (open-collector)?

Description

It is often useful for a device to contain open-drain or open-collector outputs so that multiple outputs can be connected to a single input, such as a reset line.

Can I configure my Xilinx device to include open-drain outputs?

How do I configure my Xilinx device I/O as an open-drain (open-collector)?

Solution

With all Xilinx devices, an open-drain type output is not available directly but canbe configured. Schematically, this type of output should look like the following:

Open-Drain Output
Open-Drain Output

This type of circuitry can also be described in HDL code.

Infer the open drain buffer by using the following code:

VHDL:

dout <= 'Z' when din='1' else '0';

Verilog:

always @(ENABLE)
if (ENABLE)
DOUT = 1'bZ;
else
DOUT = 1'b0;

AR# 1651
Date Created 08/21/2007
Last Updated 02/18/2013
Status Active
Type General Article
Devices
  • 4000/E/XL/XV
  • 4000E/EX/XL QPro/R
  • 9500
  • More
  • 9500XL
  • 9500XL IQ
  • 9500XL XA
  • Artix-7
  • CoolRunner XPLA3
  • CoolRunner-II
  • CoolRunner-II XA
  • Spartan/XL
  • Spartan-3
  • Spartan-3 XA
  • Spartan-3A
  • Spartan-3A DSP
  • Spartan-3AN
  • Spartan-3E
  • Spartan-6 LX
  • Spartan-6 LXT
  • Spartan-6Q
  • Spartan-II
  • Spartan-IIE
  • Spartan-IIE XA
  • Spartan-XL IQ
  • Virtex
  • Virtex QPro/R
  • Virtex-4 FX
  • Virtex-4 LX
  • Virtex-4 QPro/R
  • Virtex-4 SX
  • Virtex-4Q
  • Virtex-4QV
  • Virtex-5 FXT
  • Virtex-5 LX
  • Virtex-5 LXT
  • Virtex-5 SXT
  • Virtex-5 TXT
  • Virtex-5Q
  • Virtex-5QV
  • Virtex-6 CXT
  • Virtex-6 HXT
  • Virtex-6 LX
  • Virtex-6 LXT
  • Virtex-6 SXT
  • Virtex-6Q
  • Virtex-E
  • Virtex-E QPro
  • Virtex-EM
  • Virtex-II
  • Virtex-II Pro
  • Virtex-II Pro X
  • Virtex-II QPro/R
  • Less