Return to previous page Advance to next page
Libraries Guide
Chapter 4: Design Elements (CAPTURE_SPARTAN2 to DECODE64)

DECODE4, 8, 16

4-, 8-, 16-Bit Active-Low Decoders

XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Spartan2
Virtex
N/A
Macro
Macro
Macro
N/A
N/A
N/A
Macro
Macro

Figure 4.60 DECODE Representations

In the XC4000 architectures, decoders are open-drain, wired-AND gates. When one or more of the inputs (A) are Low, output (O) is Low. When all the inputs are High, the output is High or Off. A pull-up resistor must be connected to the output node to achieve a true logic High. A double pull-up resistor can be used to achieve faster performance; however, it uses more power. The software implements these macros using the open-drain AND gates around the periphery of the devices. (Diamonds in library symbols indicate an open-drain output.)

In XC5200, decoders are implemented by cascading CY_MUX elements driven by lookup tables (LUTs). When one or more of the inputs are Low, the output is Low. When all the inputs are High, the output is High. You can decode patterns by adding inverters to inputs. Pull-ups cannot be used on XC5200 longlines.

In Virtex and Spartan2, decoders are implemented using combinations of LUTs and MUXCYs.

Inputs
Outputs*
A0
A1

Az
O
1
1
1
1
1
0
X
X
X
0
X
0
X
X
0
X
X
X
0
0
z = 3 for DECODE4, z = 7 for DECODE8; z = 15 for DECODE16
*A pull-up resistor must be connected to the output to establish High-level drive current.

Figure 4.61 DECODE8 Implementation XC4000E, XC4000X

Figure 4.62 DECODE8 Implementation XC5200

Figure 4.63 DECODE8 Implementation Spartan2, Virtex