Return to previous page Advance to next page
Libraries Guide
Chapter 3: Design Elements (ACC1 to BYPOSC)

BUFT, 4, 8, 16

Internal 3-State Buffers with Active-Low Enable

Element
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Spartan2
Virtex
BUFT
Primitive
Primitive
Primitive
Primitive
Primitive*
Primitive
Primitive
Primitive
Primitive
BUFT4,
BUFT8,
BUFT16
Macro
Macro
Macro
Macro
Macro*
Macro
Macro
Macro
Macro
* not supported for XC9500XL and XC9500XV devices

BUFT, BUFT4, BUFT8, and BUFT16 are single or multiple 3-state buffers with inputs I, I3 - I0, I7 - I0, and I15 - 10, respectively; outputs O, O3 - O0, O7 - O0, and O15 - O0, respectively; and active-Low output enable (T). When T is Low, data on the inputs of the buffers is transferred to the corresponding outputs. When T is High, the output is high impedance (Z state or off). The outputs of the buffers are connected to horizontal longlines in FPGA architectures.

The outputs of separate BUFT symbols can be tied together to form a bus or a multiplexer. Make sure that only one T is Low at one time. If none of the T inputs is active (Low), a “weak-keeper” circuit (FPGAs) prevents the output bus from floating but does not guarantee that the bus remains at the last value driven onto it.

Pull-up resistors can be used to establish a High logic level if all BUFT elements are off in XC3000, XC4000, Spartan, and SpartanXL.

In the XC5200 architecture, pull-ups cannot be used in conjunction with BUFT or BUFE macros because there are no pull-ups available at the ends of the horizontal longlines.

For XC9500 devices, BUFT output nets assume the High logic level when all connected BUFE/BUFT buffers are disabled. On-chip 3-state multiplexing is not available in XC9500XL devices.

For Virtex and Spartan2, when all BUFTs on a net are disabled, the net is High. For correct simulation of this effect, a PULLUP element must be connected to the net. NGDBuild inserts a PULLUP element if one is not connected so that back-annotation simulation reflects the true state of the Virtex or Spartan2 chip.

Inputs
Outputs
T
I
O
1
X
Z
0
1
1
0
0
0

Figure 3.41 BUFT8 Implementation XC3000, XC4000E, XC4000X, XC5200, XC9000, Spartan, SpartanXL, Spartan2, Virtex