XC3000 | XC4000E | XC4000X | XC5200 | XC9000 | Spartan | SpartanXL | Spartan2 | Virtex |
---|---|---|---|---|---|---|---|---|
Primitive | Primitive | Primitive | Primitive | N/A | Primitive | Primitive | Primitive | Primitive |
PULLUP resistor elements are available in each XC3000, XC4000, Spartan, and SpartanXL Input/Output Block (IOB). XC3000 IOBs only use PULLUP resistors on input pads. XC4000, Spartan, and SpartanXL IOBs connect PULLUP resistors to input, output, or bidirectional pads to guarantee a logic High level for nodes that might float.
The pull-up elements also establish a High logic level for open-drain elements and macros (DECODE, WAND, WORAND) or 3-state nodes (TBUF) when all the drivers are off.
The buffer outputs are connected together as a wired-AND to form the output (O). When all the inputs are High, the output is off. To establish an output High level, a PULLUP resistor(s) is tied to output (O). One PULLUP resistor uses the least power, two pull-up resistors achieve the fastest Low-to-High speed.
To indicate two PULLUP resistors, append a DOUBLE parameter to the pull-up symbol attached to the output (O) node. Refer to the appropriate CAE tool interface user guide for details.
The PULLUP element is ignored in XC9000 designs. Internal 3-state nodes (from BUFE or BUFT) in CPLD designs are always pulled up when not driven.