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

BUFE, 4, 8, 16

Internal 3-State Buffers with Active High Enable

Element
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Spartan2
Virtex
BUFE
Macro
Macro
Macro
Macro
Primitive*
Macro
Macro
Primitive
Primitive
BUFE4,
BUFE8,
BUFE16
Macro
Macro
Macro
Macro
Macro*
Macro
Macro
Macro
Macro
* not supported for XC9500XL and XC9500XV devices

BUFE, BUFE4, BUFE8, and BUFE16 are single or multiple tristate buffers with inputs I, I3 - I0, I7 - I0, and I15 - I0, respectively; outputs O, O3 - O0, O7 - O0, and O15 - O0, respectively; and active-High output enable (E). When E is High, data on the inputs of the buffers is transferred to the corresponding outputs. When E is Low, 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 BUFE symbols can be tied together to form a bus or a multiplexer. Make sure that only one E is High at any one time. If none of the E inputs is active-High, a “weak-keeper” circuit (FPGAs) keeps the output bus from floating but does not guarantee that the bus remains at the last value driven onto it.

In XC3000, XC4000E, XC4000X, Spartan, and SpartanXL, the E signal in BUFE macros is implemented by using a BUFT with an inverter on the active-Low enable (T) pin. This inverter can add an extra level of logic to the data path. Pull-up resistors can be used to establish a High logic level if all BUFE elements are Off.

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, BUFE 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, BUFE elements need a PULLUP element connected to their output. NGDBuild inserts a PULLUP element if one is not connected.

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

Figure 3.35 BUFE Implementation XC3000, XC4000E, XC4000X, XC5200, Spartan, SpartanXL

Figure 3.36 BUFE8 Implementation XC3000, XC4000E, XC4000X, XC5200, Spartan, SpartanXL

Figure 3.37 BUFE8 Implementation XC9000, Spartan2, Virtex