01.07.2013 Views

Xilinx Constraints Guide

Xilinx Constraints Guide

Xilinx Constraints Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 4: <strong>Xilinx</strong> <strong>Constraints</strong><br />

Open Drain (OPEN_DRAIN)<br />

Architecture Support<br />

Applicable Elements<br />

CoolRunner-II outputs can be configured to drive the primary macrocell output<br />

function as an open-drain output signal on the pin. Open Drain (OPEN_DRAIN) applies<br />

to non tristate (always active) outputs in the design. The output structure is configured<br />

as open-drain so that a one state on the output signal in the design produces a high-Z on<br />

the device pin instead of a driven High voltage.<br />

The high-Z behavior associated with OPEN_DRAIN is not exhibited during functional<br />

simulation, but is represented accurately during post-fit timing simulation.<br />

The logically-equivalent alternative to using OPEN_DRAIN is to take the original<br />

output-pad signal in the design and use it as a tristate disable for a constant-zero<br />

output data value. The CPLD Fitter automatically optimizes all tristate outputs with<br />

constant-zero data value in the design to take advantage of the open-drain capability<br />

of the device.<br />

Applies to CoolRunner-II devices only.<br />

• Output pads<br />

• Pad nets<br />

Propagation Rules<br />

This constraint is a net or signal constraint. Any attachment to a macro, entity, or<br />

module is illegal.<br />

Syntax Examples<br />

The following examples show how to use this constraint with particular tools or<br />

methods. If a tool or method is not listed, you cannot use this constraint with it.<br />

Schematic Syntax<br />

• Attach to an output pad net<br />

• Attribute Name<br />

OPEN_DRAIN<br />

• Attribute Values<br />

– TRUE<br />

– FALSE<br />

VHDL Syntax<br />

Declare the VHDL constraint as follows:<br />

attribute OPEN_DRAIN: string;<br />

Specify the VHDL constraint as follows:<br />

attribute OPEN_DRAIN of signal_name : signal is “{TRUE|FALSE}”;<br />

For more information about basic VHDL syntax, see VHDL Attributes.<br />

<strong>Constraints</strong> <strong>Guide</strong><br />

204 www.xilinx.com UG625 (v. 13.2) July 6, 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!