Previous

Functional Categories

This section categorizes, by function, the logic elements that are described in detail in the “Design Elements” sections. Each category is briefly described. Tables under each category identify all the available elements for the function and indicate which libraries include the element.

Elements are listed in alphanumeric order under each category. There are a number of standard TTL 7400-type functions in the different libraries. All 7400-type functions start with a “X74” prefix and are listed after all other elements. The numeric sequence following the “X74” prefix uses ascending numbers, for example, X74_42 precedes X74_138.

A check mark () in the column under the library name means that the element applies to the devices that use that library. (Refer to the “Applicable Architectures” section of the “Xilinx Unified Libraries” chapter for information on the specific device families that use each library.) A blank column means that the element does not apply.

The categories are as follows.


NOTE

When converting your design between FPGA families, use elements that have equivalent functions in each of the architectural families (libraries) to minimize re-designing.


Arithmetic Functions

There are three types of arithmetic functions: accumulators (ACC), adders (ADD), and adder/subtracters (ADSU). With an ADSU, either unsigned binary or twos-complement operations cause an overflow. If the result crosses the overflow boundary, an overflow is generated. Similarly, when the result crosses the carry-out boundary, a carry-out is generated. The following figure shows the ADSU carry-out and overflow boundaries.

Figure 2.1 ADSU Carry-Out and Overflow Boundaries

ACC1

1-Bit Loadable Cascadable Accumulator with Carry-In, Carry-Out, and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ACC4, 8, 16

4-, 8-, 16-Bit Loadable Cascadable Accumulators with Carry-In, Carry-Out, and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ADD1

1-Bit Full Adder with Carry-In and Carry-Out
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ADD4, 8, 16

4-, 8-, 16-Bit Cascadable Full Adders with Carry-In, Carry-Out, and Overflow
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ADSU1

1-Bit Cascadable Adder/Subtracter with Carry-In, Carry-Out
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ADSU4, 8, 16

4-, 8-, 16-Bit Cascadable Adders/Subtracters with Carry-In, Carry-Out and Overflow
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_280

9-Bit Odd/Even Parity Generator/Checker
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_283

4-Bit Full Adder with Carry-In and Carry-Out
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Buffers

The buffers in this section route high fan-out signals, 3-state signals, and clocks inside a PLD device. The “Input/Output Functions” section later in this chapter covers off-chip interface buffers.

ACLK

Alternate Clock Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUF

General-Purpose Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUF4, 8, 16

General-Purpose Buffers
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFCF

Fast Connect Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFE, 4, 8, 16

Internal 3-State Buffers with Active High Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex




*



* not supported for XC9500XL devices

BUFFCLK

Global Fast Clock Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFG

Global Clock Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGDLL

Clock Delay Locked Loop Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGE

Global Low Early Clock Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGLS

Global Low Skew Clock Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGP

Primary Global Buffer for Driving Clocks or Longlines (Four per PLD Device)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGS

Secondary Global Buffer for Driving Clocks or Longlines (Four per PLD Device)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGSR

Global Set/Reset Input Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFGTS

Global Three-State Input Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFOD

Open-Drain Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BUFT, 4, 8, 16

Internal 3-State Buffers with Active-Low Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex




*



* not supported for XC9500XL devices

GCLK

Global Clock Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Comparators

There are two types of comparators, identity (COMP) and magnitude (COMPM).

COMP2, 4, 8, 16

2-, 4-, 8-, 16-Bit Identity Comparators
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









COMPM2, 4, 8, 16

2-, 4-, 8-, 16-Bit Magnitude Comparators
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









COMPMC8, 16

8-, 16-Bit Magnitude Comparators
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_L85

4-Bit Expandable Magnitude Comparator
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_518

8-Bit Identity Comparator with Active-Low Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_521

8-Bit Identity Comparator with Active-Low Enable and Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Counters

There are six types of counters with various synchronous and asynchronous inputs. The name of the counter defines the modulo or bit size, the counter type, and which control functions are included. The counter naming convention is shown in the following figure.

Figure 2.2 Counter Naming Convention

A carry-lookahead design accommodates large counters without extra gating. On TTL 7400-type counters with trickle clock enable (ENT), parallel clock enable (ENP), and ripple carry-out (RCO), both the ENT and ENP inputs must be High to count. ENT is propagated forward to enable RCO, which produces a High output with the approximate duration of the QA output. The following figure illustrates a carry-lookahead design.

Figure 2.3 Carry-Lookahead Design

The RCO output of the first stage of the ripple carry is connected to the ENP input of the second stage and all subsequent stages. The RCO output of the second stage and all subsequent stages is connected to the ENT input of the next stage. The ENT of the second stage is always enabled/tied to VCC. CE is always connected to the ENT input of the first stage. This cascading method allows the first stage of the ripple carry to be built as a prescaler. In other words, the first stage is built to count very fast.

CB2CE, CB4CE, CB8CE, CB16CE

2-, 4-, 8-, 16-Bit Cascadable Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CB2CLE, CB4CLE, CB8CLE, CB16CLE

2-, 4-, 8-, 16-Bit Loadable Cascadable Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CB2CLED, CB4CLED, CB8CLED, CB16CLED

2-, 4-, 8-, 16-Bit Loadable Cascadable Bidirectional Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CB2RE, CB4RE, CB8RE, CB16RE

2-, 4-, 8-, 16-Bit Cascadable Binary Counters with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CB2RLE, CB4RLE, CB8RLE, CB16RLE

2-, 4-, 8-, 16-Bit Loadable Cascadable Binary Counters with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CB2X1, CB4X1, CB8X1, CB16X1

2-, 4-, 8-, 16-Bit Loadable Cascadable Bidirectional Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CB2X2, CB4X2, CB8X2, CB16X2

2-, 4-, 8-, 16-Bit Loadable Cascadable Bidirectional Binary Counters with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CC8CE, CC16CE

8-, 16-Bit Cascadable Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CC8CLE, CC16CLE

8-, 16-Bit Loadable Cascadable Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CC8CLED, CC16CLED

8-, 16-Bit Loadable Cascadable Bidirectional Binary Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CC8RE, CC16RE

8-, 16-Bit Cascadable Binary Counters with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CD4CE

4-Bit Cascadable BCD Counter with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CD4CLE

4-Bit Loadable Cascadable BCD Counter with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CD4RE

4-Bit Cascadable BCD Counter with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CD4RLE

4-Bit Loadable Cascadable BCD Counter with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CJ4CE, CJ5CE, CJ8CE

4-, 5-, 8-Bit Johnson Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CJ4RE, CJ5RE, CJ8RE

4-, 5-, 8-Bit Johnson Counters with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CR8CE, CR16CE

8-, 16-Bit Negative-Edge Binary Ripple Counters with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_160

4-Bit BCD Counter with Parallel and Trickle Enables, Active-Low Load Enable, and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_161

4-Bit Binary Counter with Parallel and Trickle Enables, Active-Low Load Enable, and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_162

4-Bit BCD Counter with Parallel and Trickle Enables, Active-Low Load Enable, and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_163

4-Bit Binary Counter with Parallel and Trickle Enables, Active-Low Load Enable, and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_168

4-Bit BCD Bidirectional Counter with Parallel and Trickle Clock Enables and Active-Low Load Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_390

4-Bit BCD/Bi-Quinary Ripple Counter with Negative-Edge Clocks and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Data Registers

There are three TTL 7400-type data registers designed to function exactly as the TTL elements for which they are named.

X74_174

6-Bit Data Register with Active-Low Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_273

8-Bit Data Register with Active-Low Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_377

8-Bit Data Register with Active-Low Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Decoders

Decoder names, shown in the following figure, indicate the number of inputs and outputs and if an enable is available. Decoders with an enable can be used as multiplexers. This group includes some standard TTL 7400-type decoders whose names have an “X74” prefix.

Figure 2.4 Decoder Naming Convention

D2_4E

2- to 4-Line Decoder/Demultiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









D3_8E

3- to 8-Line Decoder/Demultiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









D4_16E

4- to 16-Line Decoder/Demultiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









DEC_CC4, 8, 16

4-, 8-, 16-Bit Active Low Decoders
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_42

4- to 10-Line BCD-to-Decimal Decoder with Active-Low Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_138

3- to 8-Line Decoder/Demultiplexer with Active-Low Outputs and Three Enables
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_139

2- to 4-Line Decoder/Demultiplexer with Active-Low Outputs and Active-Low Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_154

4- to 16-Line Decoder/Demultiplexer with Two Enables and Active-Low Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Edge Decoders

Edge decoders are open-drain wired-AND gates that are available in different bit sizes.

DECODE4, 8, 16

4-, 8-, 16-Bit Active-Low Decoders
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









DECODE32, 64

32- and 64-Bit Active-Low Decoders
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Encoders

There are two priority encoders (ENCPR) that function like the TTL 7400-type elements they are named after. There is a 10- to 4-line BCD encoder and an 8- to 3-line binary encoder.

X74_147

10- to 4-Line Priority Encoder with Active-Low Inputs and Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_148

8- to 3-Line Cascadable Priority Encoder with Active-Low Inputs and Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Flip-Flops

There are three types of flip-flops (D, J-K, toggle) with various synchronous and asynchronous inputs. Some are available with inverted clock inputs and/or the ability to set in response to global set/reset rather than reset. The naming convention shown in the following figure provides a description for each flip-flop. D-type flip-flops are available in multiples of up to 16 in one macro.

Figure 2.5 Flip-Flop Naming Convention

FD

D Flip-Flop
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FD_1

D Flip-Flop with Negative-Edge Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FD4, 8, 16

Multiple D Flip-Flops
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FD4CE, FD8CE, FD16CE

4-, 8-, 16-Bit Data Registers with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FD4RE, FD8RE, FD16RE

4-, 8-, 16-Bit Data Registers with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDC

D Flip-Flop with Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDC_1

D Flip-Flop with Negative-Edge Clock and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDCE

D Flip-Flop with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDCE_1

D Flip-Flop with Negative-Edge Clock, Clock Enable, and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDCP

D Flip-Flop with Asynchronous Preset and Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDCP_1

D Flip-Flop with Negative-Edge Clock and Asynchronous Preset and Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDCPE

D Flip-Flop with Clock Enable and Asynchronous Preset and Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDCPE_1

D Flip-Flop with Negative-Edge Clock, Clock Enable, and Asynchronous Preset and Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDE

D Flip-Flop with Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDE_1

D Flip-Flop with Negative-Edge Clock and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDP

D Flip-Flop with Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDP_1

D Flip-Flop with Negative-Edge Clock and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDPE

D Flip-Flop with Clock Enable and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDPE_1

D Flip-Flop with Negative-Edge Clock, Clock Enable, and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDR

D Flip-Flop with Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDR_1

D Flip-Flop with Negative-Edge Clock and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDRE

D Flip-Flop with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDRE_1

D Flip-Flop with Negative-Clock Edge, Clock Enable, and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDRS

D Flip-Flop with Synchronous Reset and Synchronous Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDRS_1

D Flip-Flop with Negative-Clock Edge and Synchronous Reset and Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDRSE

D Flip-Flop with Synchronous Reset and Set and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDRSE_1

D Flip-Flop with Negative-Clock Edge, Synchronous Reset and Set, and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDS

D Flip-Flop with Synchronous Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDS_1

D Flip-Flop with Negative-Edge Clock and Synchronous Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDSE

D Flip-Flop with Clock Enable and Synchronous Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDSE_1

D Flip-Flop with Negative-Edge Clock, Clock Enable, and Synchronous Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDSR

D Flip-Flop with Synchronous Set and Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FDSRE

D Flip-Flop with Synchronous Set and Reset and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKC

J-K Flip-Flop with Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKCE

J-K Flip-Flop with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKCP

J-K Flip-Flop with Asynchronous Clear and Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKCPE

J-K Flip-Flop with Asynchronous Clear and Preset and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKP

J-K Flip-Flop with Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKPE

J-K Flip-Flop with Clock Enable and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKRSE

J-K Flip-Flop with Clock Enable and Synchronous Reset and Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FJKSRE

J-K Flip-Flop with Clock Enable and Synchronous Set and Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTC

Toggle Flip-Flop with Toggle Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTCE

Toggle Flip-Flop with Toggle and Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTCLE

Toggle/Loadable Flip-Flop with Toggle and Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTCLEX

Toggle/Loadable Flip-Flop with Toggle and Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTCP

Toggle Flip-Flop with Toggle Enable and Asynchronous Clear and Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTCPE

Toggle Flip-Flop with Toggle and Clock Enable and Asynchronous Clear and Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTCPLE

Loadable Toggle Flip-Flop with Toggle and Clock Enable and Asynchronous Clear and Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTP

Toggle Flip-Flop with Toggle Enable and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTPE

Toggle Flip-Flop with Toggle and Clock Enable and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTPLE

Toggle/Loadable Flip-Flop with Toggle and Clock Enable and Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTRSE

Toggle Flip-Flop with Toggle and Clock Enable and Synchronous Reset and Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTRSLE

Toggle/Loadable Flip-Flop with Toggle and Clock Enable and Synchronous Reset and Set
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTSRE

Toggle Flip-Flop with Toggle and Clock Enable and Synchronous Set and Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FTSRLE

Toggle/Loadable Flip-Flop with Toggle and Clock Enable and Synchronous Set and Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









General

General elements include FPGA configuration functions, oscillators, boundary scan logic, and other functions not classified in other sections.

BSCAN

Boundary Scan Logic Control Circuit
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BSCAN_VIRTEX

Virtex Boundary Scan Logic Control Circuit
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









BYPOSC

Bypass Oscillator
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CAPTURE_VIRTEX

Virtex Register State Capture for Bitstream Readback
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CK_DIV

Internal Multiple-Frequency Clock Divider
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CLB

CLB Configuration Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CLKDLL

Clock Delay Locked Loop
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CLKDLLHF

High Frequency Clock Delay Locked Loop
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CONFIG

Repository for Schematic-Level (Global) Attributes
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









CY_INIT

Initialization Stage for Carry Chain
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









GND

Ground-Connection Signal Tag
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









GXTL

Crystal Oscillator with ACLK Buffer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IOB

IOB Configuration Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









KEEPER

KEEPER Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LUT1, 2, 3, 4

1-, 2-, 3-, 4-Bit Look-Up-Table with General Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LUT1_D, LUT2_D, LUT3_D, LUT4_D

1-, 2-, 3-, 4-Bit Look-Up-Table with Dual Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LUT1_L, LUT2_L, LUT3_L, LUT4_L

1-, 2-, 3-, 4-Bit Look-Up-Table with Local Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MD0

Mode 0, Input Pad Used for Readback Trigger Input
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MD1


Mode 1, Output Pad Used for Readback Data Output

XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MD2

Mode 2, Input Pad
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OSC


Crystal Oscillator Amplifier

XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OSC4

Internal 5-Frequency Clock-Signal Generator
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OSC5

Internal Multiple-Frequency Clock-Signal Generator
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OSC52

Internal Multiple-Frequency Clock-Signal Generator
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









PULLDOWN

Resistor to GND for Input Pads
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









PULLUP

Resistor to VCC for Input PADs, Open-Drain, and 3-State Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









READBACK

FPGA Bitstream Readback Controller
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









STARTUP

User Interface to Global Clock, Reset, and 3-State Controls
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









STARTUP_VIRTEX

Virtex User Interface to Global Clock, Reset, and 3-State Controls
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









TCK

Boundary Scan Test Clock Input Pad
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









TDI

Boundary Scan Test Data Input Pad
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









TDO

Boundary Scan Data Output Pad
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









TIMEGRP

Schematic-Level Table of Basic Timing Specification Groups
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









TIMESPEC

Schematic-Level Timing Requirement Table
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









TMS

Boundary Scan Test Mode Select Input Pad
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









VCC

VCC-Connection Signal Tag
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Input/Output Flip-Flops

Input/Output flip-flops are configured in IOBs. They include flip-flops whose outputs are enabled by 3-state buffers, flip-flops that can be set upon global set/reset rather than reset, and flip-flops with inverted clock inputs. The naming convention specifies each flip-flop function and is illustrated in the following figure.

Figure 2.6 Input/Output Flip-Flop Naming Convention

IFD, 4, 8, 16

Single- and Multiple-Input D Flip-Flops
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFD_1

Input D Flip-Flop with Inverted Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFDI

Input D Flip-Flop (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFDI_1

Input D Flip-Flop with Inverted Clock (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFDX, 4, 8, 16

Single- and Multiple-Input D Flip-Flops with Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFDX_1

Input D Flip-Flop with Inverted Clock and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFDXI

Input D Flip-Flop with Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IFDXI_1

Input D Flip-Flop with Inverted Clock and Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFD, 4, 8, 16

Single- and Multiple-Output D Flip-Flops
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFD_1

Output D Flip-Flop with Inverted Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDE, 4, 8, 16

D Flip-Flops with Active-High Enable Output Buffers
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDE_1

D Flip-Flop with Active-High Enable Output Buffer and Inverted Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDEI

D Flip-Flop with Active-High Enable Output Buffer (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDEI_1

D Flip-Flop with Active-High Enable Output Buffer and Inverted Clock (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDEX, 4, 8, 16

D Flip-Flops with Active-High Enable Output Buffers and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDEX_1

D Flip-Flop with Active-High Enable Output Buffer, Inverted Clock, and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDEXI

D Flip-Flop with Active-High Enable Output Buffer and Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDEXI_1

D Flip-Flop with Active-High Enable Output Buffer, Inverted Clock, and Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDI

Output D Flip-Flop (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDI_1

Output D Flip-Flop with Inverted Clock (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDT, 4, 8, 16

Single and Multiple D Flip-Flops with Active-Low 3-State Output Buffers
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDT_1

D Flip-Flop with Active-Low 3-State Output Buffer and Inverted Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDTI

D Flip-Flop with Active-Low 3-State Output Buffer (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDTI_1

D Flip-Flop with Active-Low 3-State Output Buffer and Inverted Clock (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDTX, 4, 8, 16

Single and Multiple D Flip-Flops with Active-Low 3-State Output Buffers and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDTX_1

D Flip-Flop with Active-Low 3-State Output Buffer, Inverted Clock, and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDTXI

D Flip-Flop with Active-Low 3-State Output Buffer and Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDTXI_1

D Flip-Flop with Active-Low 3-State Output Buffer, Inverted Clock, and Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDX, 4, 8, 16

Single- and Multiple-Output D Flip-Flops with Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDX_1

Output D Flip-Flop with Inverted Clock and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDXI

Output D Flip-Flop with Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OFDXI_1

Output D Flip-Flop with Inverted Clock and Clock Enable (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Input/Output Functions

Input/Output Block (IOB) resources are configured into various I/O primitives and macros for convenience, such as, output buffers (OBUFs) and output buffers with an enable (OBUFEs). Pads used to connect the circuit to PLD device pins are also included.

Virtex has multiple variants (primitives) to choose from for each selectI/O buffer. The I/O interface for each variant corresponds to a specific I/O standard.

IBUF, 4, 8, 16

Single- and Multiple-Input Buffers
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IBUF_selectIO

Single Input Buffer with Selectable I/O Interface (16 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IBUFG_selectIO

Dedicated Input Buffer with Selectable I/O Interface (16 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IOBUF_selectIO

Bi-Directional Buffer with Selectable I/0 Interface (30 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IOPAD, 4, 8, 16

Single- and Multiple-Input/Output Pads
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









IPAD, 4, 8, 16

Single- and Multiple-Input Pads
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OBUF, 4, 8, 16

Single- and Multiple-Output Buffers
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OBUF_selectIO

Single Output Buffer with Selectable I/O Interface (30 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OBUFE, 4, 8, 16

3-State Output Buffers with Active-High Output Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OBUFT, 4, 8, 16

Single and Multiple 3-State Output Buffers with Active Low Output Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OBUFT_selectIO

Single 3-State Output Buffer with Active-Low Output Enable and Selectable I/O Interface (30 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OPAD, 4, 8, 16

Single- and Multiple-Output Pads
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









UPAD

Connects the I/O Node of an IOB to the Internal PLD Circuit
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Input Latches

Single and multiple input latches can hold transient data entering a chip. Input latches use the same naming convention as I/O flip-flops.

ILD, 4, 8, 16

Transparent Input Data Latches
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILD_1

Transparent Input Data Latch with Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILDI

Transparent Input Data Latch (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILDI_1

Transparent Input Data Latch with Inverted Gate (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILDX, 4, 8, 16

Transparent Input Data Latches
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILDX_1

Transparent Input Data Latch with Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILDXI

Transparent Input Data Latch (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILDXI_1

Transparent Input Data Latch with Inverted Gate (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILFFX

Fast Capture Input Latch
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILFFXI

Fast Capture Input Latch (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILFLX

Fast Capture Transparent Input Latch
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILFLX_1

Fast Capture Input Latch with Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ILFLXI_1

Fast Capture Input Latch with Inverted Gate (Asynchronous Preset)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Latches

Latches (LD) are only available in the XC4000X, XC5200, XC9000, SpartanXL, and Virtex architectures. XC3000 and XC4000E latches that existed in previous macro libraries are not recommended for new designs.

LD

Transparent Data Latch
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LD_1

Transparent Data Latch with Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LD4, 8, 16

Multiple Transparent Data Latches
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDC

Transparent Data Latch with Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDC_1

Transparent Data Latch with Asynchronous Clear and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDCE

Transparent Data Latch with Asynchronous Clear and Gate Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDCE_1

Transparent Data Latch with Asynchronous Clear, Gate Enable, and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LD4CE, LD8CE, LD16CE

Transparent Data Latches with Asynchronous Clear and Gate Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDCP

Transparent Data Latch with Asynchronous Clear and Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDCP_1

Transparent Data Latch with Asynchronous Clear and Preset and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDCPE

Transparent Data Latch with Asynchronous Clear and Preset and Gate Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDCPE_1

Transparent Data Latch with Asynchronous Clear and Preset, Gate Enable, and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDE

Transparent Data Latch with Gate Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDE_1

Transparent Data Latch with Gate Enable and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDP

Transparent Data Latch with Asynchronous Preset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDP_1

Transparent Data Latch with Asynchronous Preset and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDPE

Transparent Data Latch with Asynchronous Preset and Gate Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









LDPE_1

Transparent Data Latch with Asynchronous Preset, Gate Enable, and Inverted Gate
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Logic Primitives

Combinatorial logic gates that implement the basic Boolean functions are available in all architectures with up to five inputs in all combinations of inverted and non-inverted inputs, and with six to nine inputs non-inverted.

AND2-9

2- to 9-Input AND Gates with Inverted and Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









AND12, 16

12- and 16-Input AND Gates with Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









INV, 4, 8, 16

Single and Multiple Inverters
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MULT_AND

Fast Multiplier AND
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









NAND2-9

2- to 9-Input NAND Gates with Inverted and Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









NAND12, 16

12- and 16-Input NAND Gates with Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









NOR2-9

2- to 9-Input NOR Gates with Inverted and Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









NOR12, 16

12 and 16-Input NOR Gates with Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OAND2

2-Input AND Gate with Invertible Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ONAND2

2-Input NAND Gate with Invertible Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ONOR2

2-Input NOR Gate with Invertible Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OOR2

2-Input OR Gate with Invertible Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OR2-9

2- to 9-Input OR Gates with Inverted and Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OR12, 16

12- and 16-Input OR Gates with Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OXNOR2

2-Input Exclusive-NOR Gate with Invertible Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OXOR2

2-Input Exclusive-OR Gate with Invertible Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SOP3-4

Sum of Products
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









WAND1, 4, 8, 16

Open-Drain Buffers
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









WOR2AND

2-Input OR Gate with Wired-AND Open-Drain Buffer Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









XNOR2-9

2- to 9-Input XNOR Gates with Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









XOR2-9

2- to 9-Input XOR Gates with Non-Inverted Inputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









XORCY

XOR for Carry Logic with General Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









XORCY_D

XOR for Carry Logic with Dual Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









XORCY_L

XOR for Carry Logic with Local Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Map Elements

Map elements are used in conjunction with logic symbols to constrain the logic to particular CLBs or particular F or H function generators.

CLBMAP

Logic-Partitioning Control Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









F5MAP

5-Input Function Partitioning Control Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









FMAP

F Function Generator Partitioning Control Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









HMAP

H Function Generator Partitioning Control Symbol
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Memory Elements

The XC4000 and Spartan series architectures have a number of static RAM configurations defined as macros. In the Virtex architecture, they are defined as primitives. These 16- or 32-word RAMs are 1, 2, 4, and 8 bits wide. There are two ROMs in the XC4000 and Spartan series architectures, 16X1 and 32X1.

The Virtex series has dedicated blocks of on-chip 4096-bit single-port and dual-port synchronous RAM. Each port is configured to a specific data width. There are five single-port block RAM primitives and 30 dual-port block RAM primitives.

RAM16X1

16-Deep by 1-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X1D

16-Deep by 1-Wide Static Dual Port Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X1D_1

16-Deep by 1-Wide Static Dual Port Synchronous RAM with Negative-Edge Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X1S

16-Deep by 1-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X1S_1

16-Deep by 1-Wide Static Synchronous RAM with Negative-Edge Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X2

16-Deep by 2-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X2D

16-Deep by 2-Wide Static Dual Port Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X2S

16-Deep by 2-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X4

16-Deep by 4-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X4D

16-Deep by 4-Wide Static Dual Port Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X4S

16-Deep by 4-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X8

16-Deep by 8-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X8D

16-Deep by 8-Wide Static Dual Port Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM16X8S

16-Deep by 8-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X1

32-Deep by 1-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X1S

32-Deep by 1-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X1S_1

32-Deep by 1-Wide Static Synchronous RAM with Negative-Edge Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X2

32-Deep by 2-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X2S

32-Deep by 2-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X4

32-Deep by 4-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X4S

32-Deep by 4-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X8

32-Deep by 8-Wide Static RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAM32X8S

32-Deep by 8-Wide Static Synchronous RAM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAMB4_Sn

4096-Bit Single-Port Synchronous Block RAM with Port Width (n) Configured to 1, 2, 4, 8, or 16 Bits (5 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









RAMB4_Sn_Sn

4096-Bit Dual-Port Synchronous Block RAM with Port Width (n) Configured to 1, 2, 4, 8, or 16 Bits (30 primitives)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ROM16X1

16-Deep by 1-Wide ROM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









ROM32X1

32-Deep by 1-Wide ROM
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Multiplexers

The multiplexer naming convention shown in the following figure indicates the number of inputs and outputs and if an enable is available. There are a number of TTL 7400-type multiplexers that have active-Low or inverted outputs.

Figure 2.7 Multiplexer Naming Convention

CY_MUX

2-to-1 Multiplexer for Carry Logic
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









F5_MUX

2-to-1 Lookup Table Multiplexer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M2_1

2-to-1 Multiplexer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M2_1B1

2-to-1 Multiplexer with D0 Inverted
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M2_1B2

2-to-1 Multiplexer with D0 and D1 Inverted
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M2_1E

2-to-1 Multiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M4_1E

4-to-1 Multiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M8_1E

8-to-1 Multiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









M16_1E

16-to-1 Multiplexer with Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXCY

2-to-1 Multiplexer for Carry Logic with General Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXCY_D

2-to-1 Multiplexer for Carry Logic with Dual Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXCY_L

2-to-1 Multiplexer for Carry Logic with Local Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXF5

2-to-1 Lookup Table Multiplexer with General Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXF5_D

2-to-1 Lookup Table Multiplexer with Dual Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXF5_L

2-to-1 Lookup Table Multiplexer with Local Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXF6

2-to-1 Lookup Table Multiplexer with General Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXF6_D

2-to-1 Lookup Table Multiplexer with Dual Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









MUXF6_L

2-to-1 Lookup Table Multiplexer with Local Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









OMUX2

2-to-1 Multiplexer
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_150

16-to-1 Multiplexer with Active-Low Enable and Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_151

8-to-1 Multiplexer with Active-Low Enable and Complementary Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_152

8-to-1 Multiplexer with Active-Low Output
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_153

Dual 4-to-1 Multiplexer with Active-Low Enables and Common Select Input
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_157

Quadruple 2-to-1 Multiplexer with Common Select and Active-Low Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_158

Quadruple 2-to-1 Multiplexer with Common Select, Active-Low Enable, and Active-Low Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_298

Quadruple 2-Input Multiplexer with Storage and Negative-Edge Clock
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_352

Dual 4-to-1 Multiplexer with Active-Low Enables and Outputs
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Shift Registers

Shift registers are available in a variety of sizes and capabilities. The naming convention shown in the following figure illustrates available features.

Figure 2.8 Shift Register Naming Convention

SR4CE, SR8CE, SR16CE

4-, 8-, 16-Bit Serial-In Parallel-Out Shift Registers with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SR4CLE, SR8CLE, SR16CLE

4-, 8-, 16-Bit Loadable Serial/Parallel-In Parallel-Out Shift Registers with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SR4CLED, SR8CLED, SR16CLED

4-, 8-, 16-Bit Shift Registers with Clock Enable and Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SR4RE, SR8RE, SR16RE

4-, 8-, 16-Bit Serial-In Parallel-Out Shift Registers with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SR4RLE, SR8RLE, SR16RLE

4-, 8-, 16-Bit Loadable Serial/Parallel-In Parallel-Out Shift Registers with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SR4RLED, SR8RLED, SR16RLED

4-, 8-, 16-Bit Shift Registers with Clock Enable and Synchronous Reset
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SRL16

16-Bit Shift Register Look-Up-Table (LUT)
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SRL16_1

16-Bit Shift Register Look-Up-Table (LUT) with Negative-Clock Edge
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SRL16E

16-Bit Shift Register Look-Up-Table (LUT) with Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









SRL16E_1

16-Bit Shift Register Look-Up-Table (LUT) with Negative-Edge Clock and Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_164

8-Bit Serial-In Parallel-Out Shift Register with Active-Low Asynchronous Clear
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_165S

8-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register with Clock Enable
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_194

4-Bit Loadable Bidirectional Serial/Parallel-In Parallel-Out Shift Register
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









X74_195

4-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Shifters

Shifters are barrel shifters (BRLSHFT) of four and eight bits.

BRLSHFT4, 8

4-, 8-Bit Barrel Shifters
XC3000
XC4000E
XC4000X
XC5200
XC9000
Spartan
SpartanXL
Virtex









Next