Beruflich Dokumente
Kultur Dokumente
LIBRARIES
G UI DE
0 4 0 1410
Contents
Chapter 1
Chapter 2
1-1
1-2
1-2
1-2
1-3
1-4
1-5
Selection Guide
Functional Categories ..................................................................
Arithmetic Functions ...............................................................
Buffers ....................................................................................
Comparators ...........................................................................
Counters .................................................................................
Data Registers ........................................................................
Decoders ................................................................................
Edge Decoders .......................................................................
Encoders.................................................................................
Flip-Flops ................................................................................
General ...................................................................................
Input/Output Flip-Flops ...........................................................
Input/Output Functions ...........................................................
Input Latches ..........................................................................
Latches ...................................................................................
Logic Primitives.......................................................................
Map Elements.........................................................................
Memory Elements...................................................................
Multiplexers.............................................................................
PLD Elements.........................................................................
Shift Registers ........................................................................
Shifters....................................................................................
Obsolete Macros..........................................................................
XC2000 Replacement and Obsolete Macro Functions...........
2-2
2-3
2-5
2-6
2-7
2-14
2-14
2-15
2-15
2-16
2-19
2-21
2-23
2-24
2-24
2-25
2-30
2-30
2-31
2-32
2-33
2-35
2-35
2-37
Libraries Guide
Chapter 3
Design Elements
ACC1
1-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC1X1
1-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD .........................
ACC1X2
1-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC4
4-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC4X1
4-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD .........................
ACC4X2
4-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC8
8-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC8X1
8-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD .........................
ACC8X2
8-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC16
16-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ACC16X1
16-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD .........................
ACC16X2
16-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset.........................
ii
3-1
3-4
3-6
3-8
3-11
3-13
3-15
3-21
3-23
3-25
3-28
3-30
ACLK
Alternate Clock Buffer .............................................................
ADD1
1-Bit Full Adder with Carry-In and Carry-Out ..........................
ADD1X1
1-Bit Cascadable Full Adder with Carry-Out for EPLD ...........
ADD1X2
1-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD ................................................................
ADD4
4-Bit Cascadable Full Adder with Carry-In, Carry-Out,
and Overflow...........................................................................
ADD4X1
4-Bit Cascadable Full Adder with Carry-Out for EPLD ...........
ADD4X2
4-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD ................................................................
ADD8
8-Bit Cascadable Full Adder with Carry-In, Carry-Out,
and Overflow...........................................................................
ADD8X1
8-Bit Loadable Cascadable Full Adder with Carry-Out
for EPLD .................................................................................
ADD8X2
8-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD ................................................................
ADD16
16-Bit Cascadable Full Adder with Carry-In,
Carry-Out, and Overflow .........................................................
ADD16X1
16-Bit Cascadable Full Adder with Carry-Out for EPLD .........
ADD16X2
16-Bit Cascadable Full Adder with Carry-In and Carry-Out
for EPLD .................................................................................
ADSU1
1-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out ................................................................................
ADSU1X1
1-Bit Cascadable Adder/Subtracter with Carry-Out for
EPLD ......................................................................................
Libraries Guide
3-32
3-33
3-34
3-35
3-36
3-38
3-39
3-40
3-44
3-45
3-46
3-49
3-51
3-52
3-54
iii
Libraries Guide
ADSU1X2
1-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD.................................................................
ADSU4
4-Bit Cascadable Adder/Subtracter with Carry-In,
Carry-Out, and Overflow .........................................................
ADSU4X1
4-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD .................................................................................
ADSU4X20
4-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD.................................................................
ADSU8
8-Bit Cascadable Adder/Subtracter with Carry-In,
Carry-Out, and Overflow .........................................................
ADSU8X1
8-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD .................................................................................
ADSU8X2
8-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD.................................................................
ADSU16
16-Bit Cascadable Adder/Subtracter with Carry-In,
Carry-Out, and Overflow .........................................................
ADSU16X1
16-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD .................................................................................
ADSU16X2
16-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD.................................................................
AND
2- to 9-Input AND Gates with Inverted and
Non-Inverted Inputs ................................................................
BRLSHFT4
4-Bit Barrel Shifter...................................................................
BRLSHFT8
8-Bit Barrel Shifter...................................................................
BSCAN
Boundary Scan Logic Control Circuit ......................................
BUF, BUF4, BUF8, and BUF16
General-Purpose Buffers ........................................................
iv
3-55
3-56
3-59
3-60
3-61
3-66
3-67
3-68
3-72
3-74
3-76
3-78
3-79
3-81
3-82
BUFCE
Global Clock-Enable Buffer for EPLD .....................................
BUFE, BUFE4, BUFE8, and BUFE16
Internal 3-State Buffers ...........................................................
BUFFOE
Global Fast Output Enable Buffer for EPLD ...........................
BUFG
Global Clock Buffer .................................................................
BUFGP
Primary Global Buffer for Driving Clocks or Longlines
(Four per PLD Device) ............................................................
BUFGS
Secondary Global Buffer for Driving Clocks or Longlines
(Four per PLD Device) ............................................................
BUFOD
Open-Drain Buffer...................................................................
BUFT, BUFT4, BUFT8, and BUFT16
Internal 3-State Buffers ...........................................................
CB2CE
2-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Clear ...............................................................
CB2CLE
2-Bit Loadable Cascadable Binary Counter with Clock
Enable and Asynchronous Clear ............................................
CB2CLED
2-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB2RE
2-Bit Cascadable Binary Counter with Clock Enable and
Synchronous Reset ................................................................
CB2RLE
2-Bit Loadable Cascadable Binary Counter with Clock
Enable and Synchronous Reset .............................................
CB2X1
2-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB2X2
2-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Synchronous Reset ............................
Libraries Guide
3-83
3-84
3-86
3-87
3-88
3-90
3-92
3-93
3-95
3-97
3-99
3-101
3-103
3-105
3-107
Libraries Guide
CB4CE
4-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Clear...............................................................
CB4CLE
4-Bit Loadable Cascadable Binary Counter with Clock
Enable and Asynchronous Clear ............................................
CB4CLED
4-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB4RE
4-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Reset...............................................................
CB4RLE
4-Bit Loadable Cascadable Binary Counter with Clock
Enable and Synchronous Reset .............................................
CB4X1
4-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB4X2
4-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Synchronous Reset ............................
CB8CE
8-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Clear................................................................
CB8CLE
8-Bit Loadable Cascadable Binary Counter with Clock
Enable and Asynchronous Clear ............................................
CB8CLED
8-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB8RE
8-Bit Cascadable Binary Counter with Clock Enable and
Synchronous Reset.................................................................
CB8RLE
8-Bit Loadable Cascadable Binary Counter with Clock
Enable and Synchronous Reset .............................................
CB8X1
8-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
vi
3-109
3-111
3-113
3-115
3-117
3-119
3-121
3-123
3-127
3-131
3-136
3-140
3-142
CB8X2
8-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Synchronous Reset ............................
CB16CE
16-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Clear ...............................................................
CB16CLE
16-Bit Loadable Cascadable Binary Counter with Clock
Enable and Asynchronous Clear ............................................
CB16CLED
16-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB16RE
16-Bit Cascadable Binary Counter with Clock Enable and
Synchronous Reset ................................................................
CB16RLE
16-Bit Loadable Cascadable Binary Counter with Clock
Enable and Synchronous Reset .............................................
CB16X1
16-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CB16X2
16-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Synchronous Reset ...........................
CC8CE
8-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Clear ..............................................................
CC8CLE
8-Bit Loadable Cascadable Binary Counter with Clock
Enable and Asynchronous Clear ............................................
CC8CLED
8-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ...........................
CC8RE
8-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Reset...............................................................
CC16CE
16-Bit Cascadable Binary Counter with Clock Enable and
Asynchronous Clear ...............................................................
Libraries Guide
3-144
3-146
3-148
3-150
3-152
3-154
3-156
3-158
3-160
3-163
3-166
3-170
3-173
vii
Libraries Guide
CC16CLE
16-Bit Loadable Cascadable Binary Counter with Clock
Enable and Asynchronous Clear ............................................
CC16CLED
16-Bit Loadable Cascadable Bidirectional Binary Counter
with Clock Enable and Asynchronous Clear ..........................
CC16RE
16-Bit Cascadable Binary Counter with Clock Enable and
Synchronous Reset.................................................................
CD4CE
4-Bit Cascadable BCD Counter with Clock Enable and
Asynchronous Clear................................................................
CD4CLE
4-Bit Loadable Cascadable BCD Counter with Clock
Enable and Asynchronous Clear ............................................
CD4RE
4-Bit Cascadable BCD Counter with Clock Enable and
Synchronous Reset.................................................................
CD4RLE
4-Bit Loadable Cascadable BCD Counter with Clock
Enable and Synchronous Reset .............................................
CJ4CE
4-Bit Johnson Counter with Clock Enable and Asynchronous
Clear .......................................................................................
CJ4RE
4-Bit Johnson Counter with Clock Enable and Synchronous
Reset.......................................................................................
CJ5CE
5-Bit Johnson Counter with Clock Enable and Asynchronous
Clear .......................................................................................
CJ5RE
5-Bit Johnson Counter with Clock Enable and Synchronous
Reset.......................................................................................
CJ8CE
8-Bit Johnson Counter with Clock Enable and Asynchronous
Clear .......................................................................................
CJ8RE
8-Bit Johnson Counter with Clock Enable and Synchronous
Reset.......................................................................................
CLB
CLB Configuration Symbol......................................................
viii
3-175
3-177
3-179
3-181
3-184
3-187
3-190
3-193
3-195
3-197
3-198
3-199
3-201
3-203
CLBMAP
Logic-Partitioning Control Symbol ..........................................
COMP2
2-Bit Identity Comparator ........................................................
COMP4
4-Bit Identity Comparator ........................................................
COMP8
8-Bit Identity Comparator ........................................................
COMP16
16-Bit Identity Comparator ......................................................
COMPM2
2-Bit Magnitude Comparator...................................................
COMPM4
4-Bit Magnitude Comparator...................................................
COMPM8
8-Bit Magnitude Comparator...................................................
COMPM16
16-Bit Magnitude Comparator.................................................
COMPMC8
8-Bit Magnitude Comparator...................................................
COMPMC16
16-Bit Magnitude Comparator.................................................
CR8CE
8-Bit Negative-Edge Binary Ripple Counter with Clock
Enable and Asynchronous Clear ............................................
CR16CE
16-Bit Negative-Edge Binary Ripple Counter with Clock
Enable and Asynchronous Clear ............................................
D2_4E
2- to 4-Line Decoder/Demultiplexer with Enable ....................
D3_8E
3- to 8-Line Decoder/Demultiplexer with Enable ....................
D4_16E
4- to 16-Line Decoder/Demultiplexer with Enable ..................
DECODE4, DECODE8, and DECODE 16
4-, 8-, and 16-Bit Active-Low Edge Decoders.........................
FD, FD4, FD8, and FD16
Single and Multiple D Flip-Flops .............................................
FD_1
D Flip-Flop with Negative-Edge Clock ....................................
Libraries Guide
3-207
3-211
3-212
3-213
3-214
3-215
3-216
3-217
3-219
3-220
3-222
3-224
3-226
3-227
3-228
3-230
3-232
3-234
3-236
ix
Libraries Guide
FD4CE
4-Bit Data Register with Clock Enable and Asynchronous
Clear .......................................................................................
FD4RE
4-Bit Data Register with Clock Enable and Synchronous
Reset.......................................................................................
FD8CE
8-Bit Data Register with Clock Enable and Asynchronous
Clear .......................................................................................
FD8RE
8-Bit Data Register with Clock Enable and Synchronous
Reset......................................................................................
FD16CE
16-Bit Data Register with Clock Enable and Asynchronous
Clear .......................................................................................
FD16RE
16-Bit Data Register with Clock Enable and Synchronous
Reset.......................................................................................
FDC
D Flip-Flop with Asynchronous Clear......................................
FDC_1
D Flip-Flop with Negative-Edge Clock and Asynchronous
Clear .......................................................................................
FDCE
D Flip-Flop with Clock Enable and Asynchronous Clear ........
FDCE_1
D Flip-Flop with Negative-Edge Clock, Clock Enable,
and Asynchronous Clear.........................................................
FDCP
D Flip-Flop with Asynchronous Preset and Clear ...................
FDCPE
D Flip-Flop with Clock Enable and Asynchronous Preset
and Clear ................................................................................
FDP
D Flip-Flop with Asynchronous Preset....................................
FDP_1
D Flip-Flop with Negative-Edge Clock and Asynchronous
Preset......................................................................................
FDPE
D Flip-Flop with Clock Enable and Asynchronous Preset.......
3-237
3-238
3-239
3-241
3-243
3-244
3-245
3-246
3-248
3-249
3-251
3-252
3-254
3-255
3-256
FDPE_1
D Flip-Flop with Negative-Edge Clock, Clock Enable,
and Asynchronous Preset.......................................................
FDR
D Flip-Flop with Synchronous Reset ......................................
FDRE
D Flip-Flop with Clock Enable and Synchronous Reset .........
FDRS
D Flip-Flop with Synchronous Reset and Synchronous
Set ..........................................................................................
FDRSE
D Flip-Flop with Synchronous Reset and Set and Clock
Enable.....................................................................................
FDS
D Flip-Flop with Synchronous Set ..........................................
FDSE
D Flip-Flop with Clock Enable and Synchronous Set .............
FDSR
D Flip-Flop with Synchronous Set and Reset .........................
FDSRE
D Flip-Flop with Synchronous Set and Reset and Clock
Enable.....................................................................................
FJKC
J-K Flip-Flop with Asynchronous Clear...................................
FJKCE
J-K Flip-Flop with Clock Enable and Asynchronous Clear .....
FJKCP
J-K Flip-Flop with Asynchronous Clear and Preset ................
FJKCPE
J-K Flip-Flop with Asynchronous Clear and Preset and
Clock Enable...........................................................................
FJKP
J-K Flip-Flop with Asynchronous Preset .................................
FJKPE
J-K Flip-Flop with Clock Enable and Asynchronous
Preset .....................................................................................
FJKRSE
J-K Flip-Flop with Clock Enable and Synchronous Reset
and Set ...................................................................................
Libraries Guide
3-257
3-258
3-259
3-260
3-261
3-262
3-263
3-264
3-265
3-266
3-267
3-269
3-271
3-273
3-274
3-276
xi
Libraries Guide
FJKSRE
J-K Flip-Flop with Clock Enable and Synchronous Set and
Reset.......................................................................................
FMAP
F Function Generator Partitioning Control Symbol .................
FTC
Toggle Flip-Flop with Toggle Enable and Asynchronous
Clear .......................................................................................
FTCE
Toggle Flip-Flop with Toggle and Clock Enable and
Asynchronous Clear...............................................................
FTCLE
Toggle/Loadable Flip-Flop with Toggle and Clock Enable
and Asynchronous Clear.........................................................
FTCP
Toggle Flip-Flop with Toggle Enable and Asynchronous
Clear and Preset .....................................................................
FTCPE
Toggle Flip-Flop with Toggle and Clock Enable and
Asynchronous Clear and Preset .............................................
FTCPLE
Loadable Toggle Flip-Flop with Toggle and Clock Enable
and Asynchronous Clear and Preset ......................................
FTP
Toggle Flip-Flop with Toggle Enable and Asynchronous
Preset......................................................................................
FTPE
Toggle Flip-Flop with Toggle and Clock Enable and
Asynchronous Preset.............................................................
FTPLE
Toggle/Loadable Flip-Flop with Toggle and Clock Enable
and Asynchronous Preset.......................................................
FTRSE
Toggle Flip-Flop with Toggle and Clock Enable and
Synchronous Reset and Set ...................................................
FTRSLE
Toggle/Loadable Flip-Flop with Toggle and Clock Enable
and Synchronous Reset and Set ............................................
FTSRE
Toggle Flip-Flop with Toggle and Clock Enable and
Synchronous Set and Reset ...................................................
xii
3-278
3-280
3-283
3-284
3-285
3-287
3-288
3-289
3-291
3-292
3-293
3-295
3-296
3-298
FTSRLE
Toggle/Loadable Flip-Flop with Toggle and Clock Enable
and Synchronous Set and Reset ............................................
GCLK
Global Clock Buffer .................................................................
GND
Ground-Connection Signal Tag ..............................................
GXTL
Crystal Oscillator with ACLK Buffer ........................................
HMAP
H Function Generator Partitioning Control Symbol.................
IBUF, IBUF4, IBUF8, and IBUF16
Single- and Multiple-Input Buffers...........................................
IFD, IFD4, IFD8, and IFD16
Single- and Multiple-Input D Flip-Flops...................................
IFD_1
Input D Flip-Flop with Inverted Clock ......................................
IFDX1, IFD4X1, IFD8X1, and IFD16X1
Input D Flip-Flops for EPLD ....................................................
IFDI
Input D Flip-Flop (Asynchronous Set).....................................
IFDI_1
D Flip-Flop with Inverted Clock (Asynchronous Set) ..............
ILD, ILD4, ILD8, and ILD16
Input Transparent Data Latches .............................................
ILD_1
Transparent Input Data Latch with Inverted Gate ...................
ILDI
Input Transparent Data Latch (Asynchronous Set) ................
ILDI_1
Transparent Input Data Latch with Inverted Gate
(Asynchronous Set) ................................................................
INV, INV4, INV8, and INV16
Single and Multiple Inverters ..................................................
IOB
IOB Configuration Symbol ......................................................
IOPAD, IOPAD4, IOPAD8, and IOPAD16
Input/Output Pads...................................................................
IPAD
Single- and Multiple-Input Pads ..............................................
Libraries Guide
3-299
3-301
3-302
3-303
3-304
3-306
3-307
3-310
3-312
3-314
3-316
3-318
3-322
3-324
3-326
3-328
3-329
3-332
3-333
xiii
Libraries Guide
xiv
3-334
3-335
3-336
3-337
3-340
3-341
3-343
3-344
3-345
3-346
3-347
3-348
3-349
3-350
3-351
3-352
3-354
3-355
NOR
2- to 9-Input NOR Gates with Inverted and
Non-Inverted Inputs ................................................................
OBUF, OBUF4, OBUF8, and OBUF16
Single- and Multiple-Output Buffers ........................................
OBUFE, OBUFE4, OBUFE8, and OBUFE16
3-State Output Buffers with Active-High Output Enable .........
OBUFEX1, OBUFE4X1, OBUFE8X1, and OBUFEX2
EPLD 3-State Output Buffers with Active-High Output
Enable.....................................................................................
OBUFT, OBUFT4, OBUFT8, and OBUFT16
Single and Multiple 3-State Output Buffers with
Active-Low Output Enable ......................................................
OFD, OFD4, OFD8, and OFD16
Single- and Multiple-Output D Flip-Flops ................................
OFD_1
Output D Flip-Flop with Inverted Clock ...................................
OFDE, OFDE4, OFDE8, and OFDE16
D Flip-Flops with Active-High Enable Output Buffers .............
OFDE_1
D Flip-Flop with Active-High Enable Output Buffer and
Inverted Clock .........................................................................
OFDEI
D Flip-Flop with Active-High Enable Output Buffer
(Asynchronous Set) ................................................................
OFDEI_1
D Flip-Flop with Active-High Enable Output Buffer and
Inverted Clock (Asynchronous Set) ........................................
OFDI
Output D Flip-Flop (Asynchronous Set) ..................................
OFDI_1
Output D Flip-Flop with Inverted Clock
(Asynchronous Set) ................................................................
OFDT, OFDT4, OFDT8, and OFDT16
Single and Multiple D Flip-Flops with Active-High
3-State Active-Low Output Enable Buffers .............................
OFDT_1
D Flip-Flop with Active-High 3-State and Active-Low
Output Buffer and Inverted Clock ...........................................
Libraries Guide
3-357
3-359
3-360
3-362
3-364
3-366
3-369
3-370
3-373
3-374
3-375
3-376
3-377
3-378
3-381
xv
Libraries Guide
OFDTI
D Flip-Flop with Active-High 3-State and Active-Low
Output Buffer (Asynchronous Set) ..........................................
OFDTI_1
D Flip-Flop with Active-High 3-State, Active-Low Output
Buffer and Inverted Clock .......................................................
OPAD, OPAD4, OPAD8, and OPAD16
Single- and Multiple-Output Pads ...........................................
OR
2- to 9-Input OR Gates with Inverted and
Non-Inverted Inputs ................................................................
OSC
Crystal Oscillator Amplifier......................................................
OSC4
Internal 5-Frequency Clock-Signal Generator ........................
PL20PIN, PL24PIN, and PL48PIN
Generic PLD Symbols for EPLD .............................................
PL20V8
20V8-Compatible PLD Symbol for EPLD................................
PL22V10
22V10-Compatible PLD Symbol for EPLD..............................
PLFB9
EPLD High-Density Function Block PLD Symbol ...................
PLFFB9
EPLD Fast Function Block PLD Symbol .................................
PULLDOWN
Resistor to GND for Input Pads ..............................................
PULLUP
Resistor to VCC for Input PADs, Open-Drain, and
3-State Outputs.......................................................................
RAM16X1
16-Deep by 1-Wide Static RAM ..............................................
RAM16X2
16-Deep by 2-Wide Static RAM ..............................................
RAM16X4
16-Deep by 4-Wide Static Ram ..............................................
RAM16X8
16-Deep by 8-Wide Static RAM ..............................................
RAM32X1
32-Deep by 1-Wide Static RAM ..............................................
xvi
3-382
3-383
3-384
3-385
3-387
3-388
3-389
3-390
3-393
3-396
3-400
3-402
3-403
3-404
3-405
3-406
3-407
3-409
RAM32X2
32-Deep by 2-Wide Static RAM ..............................................
RAM32X4
32-Deep by 4-Wide Static RAM ..............................................
RAM32X8
32-Deep by 8-Wide Static RAM ..............................................
READBACK
FPGA Bitstream Readback Controller ....................................
ROM16X1
16-Deep by 1-Wide ROM .......................................................
ROM32X1
32-Deep by 1-Wide ROM .......................................................
SOP
Sum Of Products ....................................................................
SR4CE
4-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Asynchronous Clear ............................................
SR4CLE
4-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register
with Clock Enable and Asynchronous Clear ...........................
SR4CLED
4-Bit Shift Register with Clock Enable and Asynchronous
Clear .......................................................................................
SR4RE
4-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Synchronous Reset .............................................
SR4RLE
4-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register
with Clock Enable and Synchronous Reset ...........................
SR4RLED
4-Bit Shift Register with Clock Enable and Synchronous
Reset ......................................................................................
SR8CE
8-Bit Serial-In Parallel-Out Shift Register with Clock Enable
and Asynchronous Clear ........................................................
SR8CLE
8-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register
with Clock Enable and Asynchronous Clear ...........................
SR8CLED
8-Bit Shift Register with Clock Enable and Asynchronous
Clear .......................................................................................
Libraries Guide
3-410
3-411
3-412
3-414
3-415
3-416
3-417
3-418
3-419
3-420
3-421
3-422
3-423
3-424
3-426
3-428
xvii
Libraries Guide
SR8RE
8-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Synchronous Reset .............................................
SR8RLE
8-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Synchronous Reset..............
SR8RLED
8-Bit Shift Register with Clock Enable and Synchronous
Reset.......................................................................................
SR16CE
16-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Asynchronous Clear ............................................
SR16CLE
16-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register
with Clock Enable and Asynchronous Clear ...........................
SR16CLED
16-Bit Shift Register with Clock Enable and Asynchronous
Clear .......................................................................................
SR16RE
16-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Synchronous Reset ............................................
SR16RLE
16-Bit Loadable Serial/Parallel-In Parallel-Out Shift Register
with Clock Enable and Synchronous Reset ............................
SR16RLED
16-Bit Shift Register with Clock Enable and Synchronous
Reset.......................................................................................
STARTUP
User Interface to Global Clock, Reset, and 3-State
Controls...................................................................................
TCK
Boundary-Scan Test Clock Input Pad.....................................
TDI
Boundary-Scan Test Data Input Pad ......................................
TDO
Boundary-Scan Data Output Pad ...........................................
TIMEGRP
Schematic-Level Table of Basic Timing Specification
Groups ....................................................................................
TIMESPEC
Schematic-Level Timing Requirement Table ..........................
xviii
3-430
3-432
3-434
3-436
3-437
3-438
3-439
3-440
3-441
3-442
3-443
3-444
3-445
3-446
3-447
TMS
Boundary-Scan Test Mode Select Input Pad..........................
UPAD
Connects the I/O Node of an IOB to the Internal PLD
Circuit......................................................................................
VCC
VCC-Connection Signal Tag...................................................
WAND1, WAND4, WAND8, and WAND16
Open-Drain Buffers .................................................................
WOR2AND
2-Input OR Gate with Wired-AND Open-Drain Buffer
Output .....................................................................................
XNOR
2- to 9-Input XNOR Gates with Non-Inverted Inputs ..............
XOR
2- to 9-Input XOR Gates with Non-Inverted Inputs .................
X74_42
4- to 10-Line BCD-to-Decimal Decoder with
Active-Low Outputs.................................................................
X74_L85
4-Bit Expandable Magnitude Comparator...............................
X74_138
3- to 8-Line Decoder/Demultiplexer with Active-Low
Outputs and Three Enables ....................................................
X74_139
2- to 4-Line Decoder/Demultiplexer with Active-Low
Outputs and Active-Low Enable .............................................
X74_147
10- to 4-Line Priority Encoder with Active-Low Inputs
and Outputs ............................................................................
X74_148
8- to 3-Line Cascadable Priority Encoder with
Active-Low Inputs and Outputs ...............................................
X74_150
16-to-1 Multiplexer with Active-Low Enable and Output .........
X74_151
8-to-1 Multiplexer with Active-Low Enable and
Complementary Outputs .........................................................
X74_152
8-to-1 Multiplexer with Active-Low Output ..............................
Libraries Guide
3-448
3-449
3-450
3-451
3-452
3-453
3-455
3-457
3-459
3-462
3-464
3-465
3-467
3-469
3-471
3-473
xix
Libraries Guide
X74_153
Dual 4-to-1 Multiplexer with Active-Low Enables and
Common Select Input .............................................................
X74_154
4- to 16-Line Decoder/Demultiplexer with Two Enables
and Active-Low Outputs..........................................................
X74_157
Quadruple 2-to-1 Multiplexer with Common Select and
Active-Low Enable ..................................................................
X74_158
Quadruple 2-to-1 Multiplexer with Common Select,
Active-Low Enable, and Active-Low Outputs ..........................
X74_160
4-Bit BCD Counter with Parallel and Trickle Enables,
Active-Low Load Enable, and Asynchronous Clear...............
X74_161
4-Bit Counter with Parallel and Trickle Enables
Active-Low Load Enable and Asynchronous Clear.................
X74_162
4-Bit Counter with Parallel and Trickle Enables and
Active-Low Load Enable and Synchronous Reset..................
X74_163
4-Bit Counter with Parallel and Trickle Enables,
Active-Low Load Enable, and Synchronous Reset.................
X74_164
8-Bit Serial-In Parallel-Out Shift Register with
Active-Low Asynchronous Clear .............................................
X74_165S
8-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable .....................................................
X74_168
4-Bit BCD Bidirectional Counter with Parallel and Trickle
Clock Enables and Active-Low Load Enable ..........................
X74_174
6-Bit Data Register with Active-Low Asynchronous
Clear .......................................................................................
X74_194
4-Bit Loadable Bidirectional Serial/Parallel-In Parallel-Out
Shift Register ..........................................................................
xx
3-475
3-477
3-479
3-480
3-481
3-484
3-487
3-490
3-493
3-495
3-497
3-500
3-502
X74_195
4-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register ..................................................................................
X74_273
8-Bit Data Register with Active-Low Asynchronous
Clear .......................................................................................
X74_280
9-Bit Odd/Even Parity Generator/Checker..............................
X74_283
4-Bit Full Adder with Carry-In and Carry-Out ..........................
X74_298
Quadruple 2-Input Multiplexer with Storage and
Negative-Edge Clock ..............................................................
X74_352
Dual 4-to-1 Multiplexer with Active-Low Enables and
Outputs ...................................................................................
X74_377
8-Bit Data Register with Active-Low Clock Enable .................
X74_390
4-Bit BCD/Bi-Quinary Ripple Counter with
Negative-Edge Clocks and Asynchronous Clear ....................
X74_518
8-Bit Identity Comparator with Active-Low Enable..................
X74_521
8-Bit Identity Comparator with Active-Low Enable and
Output .....................................................................................
Chapter 4
3-506
3-508
3-509
3-511
3-513
3-515
3-517
3-519
3-520
Libraries Guide
3-504
4-1
4-2
4-2
4-2
4-4
4-4
4-4
4-4
4-6
4-6
4-6
4-6
4-6
4-7
xxi
Libraries Guide
CLOCK_OPT ..........................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
CMOS .....................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
CONFIG ..................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
Example.............................................................................
DECODE.................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
DOUBLE .................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
EQUATE_F and EQUATE_G .................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
Example.............................................................................
FAST.......................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
FILE ........................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
Example.............................................................................
FOE_OPT ...............................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
xxii
4-7
4-7
4-7
4-7
4-8
4-8
4-8
4-8
4-8
4-8
4-8
4-9
4-10
4-11
4-11
4-11
4-11
4-11
4-11
4-11
4-12
4-12
4-12
4-12
4-12
4-13
4-13
4-13
4-13
4-13
4-13
4-13
4-13
4-14
4-14
4-15
4-15
4-15
4-15
HBLKNM .................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
Example.............................................................................
HU_SET..................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
INIT .........................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
LOC ........................................................................................
Architectures......................................................................
Description for FPGAs .......................................................
Description for EPLDs .......................................................
Syntax for FPGAs ..............................................................
Syntax for EPLDs ..............................................................
Examples ...........................................................................
Single LOC Constraints .....................................................
Area LOC Constraints .......................................................
Prohibit LOC Constraints ...................................................
Multiple LOC Constraints...................................................
CLB Placement Examples .................................................
IOB Placement Examples..................................................
BUFT Placement Examples ..............................................
Global Buffer Placement Examples (XC4000 Only) ..........
Decode Logic Placement Examples (XC4000 Only) .........
LOGIC_OPT ...........................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
LOWPWR ...............................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
MAP ........................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
Example.............................................................................
Libraries Guide
4-16
4-16
4-16
4-17
4-17
4-17
4-17
4-17
4-18
4-18
4-18
4-18
4-18
4-19
4-19
4-19
4-20
4-21
4-22
4-22
4-22
4-23
4-23
4-24
4-24
4-25
4-26
4-27
4-28
4-28
4-28
4-28
4-28
4-29
4-29
4-29
4-29
4-29
4-29
4-29
4-30
4-30
xxiii
Libraries Guide
xxiv
4-31
4-31
4-31
4-31
4-31
4-31
4-31
4-32
4-32
4-32
4-32
4-32
4-32
4-32
4-33
4-35
4-35
4-35
4-35
4-36
4-36
4-36
4-36
4-36
4-37
4-37
4-37
4-37
4-38
4-38
4-38
4-38
4-39
4-39
4-39
4-39
4-39
4-39
4-39
4-40
RLOC......................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
RLOC_ORIGIN .......................................................................
Architectures......................................................................
Syntax................................................................................
RLOC_RANGE .......................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
TNM ........................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
TSidentifier..............................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
TTL .........................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
UIM_OPT ................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
USE_RLOC ............................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
U_SET ....................................................................................
Architectures......................................................................
Description.........................................................................
Syntax................................................................................
PPR Placement Constraints ........................................................
Schematic Syntax ...................................................................
Constraints File Syntax ...........................................................
Instances and Blocks.........................................................
Place Instance Constraints ................................................
Place Block Constraints.....................................................
Syntactical Conventions ....................................................
Libraries Guide
4-40
4-40
4-40
4-40
4-41
4-41
4-41
4-42
4-42
4-42
4-42
4-42
4-42
4-42
4-43
4-43
4-43
4-43
4-43
4-44
4-44
4-44
4-44
4-44
4-44
4-44
4-45
4-45
4-45
4-45
4-45
4-45
4-45
4-45
4-46
4-46
4-46
4-47
4-47
4-48
4-49
4-50
xxv
Libraries Guide
Wildcards ...........................................................................
Statements.........................................................................
Place Constraints...............................................................
Flag Constraints.................................................................
Weight Constraints ............................................................
TIMESPEC Constraints .....................................................
TIMEGRP Constraints .......................................................
Restrictions ........................................................................
Determining Symbol Names ...................................................
Flip-Flop Constraints...............................................................
Example 1:.........................................................................
Example 2:.........................................................................
Example 3:.........................................................................
Example 4:.........................................................................
Example 5:.........................................................................
Example 6:.........................................................................
ROM and RAM Constraints ....................................................
Example 1:.........................................................................
Example 2:.........................................................................
Example 3:.........................................................................
Example 4:.........................................................................
Mapping Constraints ...............................................................
FMAP and HMAP Constraints ...........................................
Example 1:.........................................................................
Example 2:.........................................................................
Example 3:.........................................................................
Example 4:.........................................................................
CLBMAP Constraints.........................................................
Example 1:.........................................................................
Example 2:.........................................................................
CLB Constraints......................................................................
Example 1:.........................................................................
Example 2:.........................................................................
Example 3:.........................................................................
Example 4:.........................................................................
I/O Constraints ........................................................................
Example 1:.........................................................................
Example 2:.........................................................................
Example 3:.........................................................................
Example 4:.........................................................................
Example 5:.........................................................................
xxvi
4-50
4-51
4-51
4-52
4-52
4-52
4-54
4-54
4-54
4-55
4-55
4-55
4-56
4-56
4-56
4-56
4-57
4-57
4-58
4-58
4-58
4-59
4-59
4-60
4-61
4-61
4-61
4-61
4-63
4-63
4-63
4-63
4-63
4-64
4-64
4-64
4-64
4-65
4-65
4-66
4-66
Libraries Guide
4-67
4-67
4-68
4-68
4-68
4-69
4-69
4-70
4-71
4-71
4-72
4-74
4-75
4-76
4-78
4-80
4-82
4-85
4-86
4-86
4-89
4-90
4-93
4-94
4-94
4-96
4-97
4-98
4-100
4-101
4-102
4-102
4-103
4-103
4-104
4-104
4-105
4-105
4-106
4-106
4-107
xxvii
Libraries Guide
SUB-G-F3-.........................................................................
ADDSUB-F-CI....................................................................
ADDSUB-FG-CI.................................................................
ADDSUB-G-F1 ..................................................................
ADDSUB-G-CI ...................................................................
ADDSUB-G-F3- .................................................................
INC-F-CI ............................................................................
INC-FG-CI..........................................................................
INC-G-1 .............................................................................
INC-G-F1 ...........................................................................
INC-G-CI............................................................................
INC-G-F3- ..........................................................................
INC-FG-1 ...........................................................................
DEC-F-CI ...........................................................................
DEC-FG-CI ........................................................................
DEC-G-0 ............................................................................
DEC-G-F1..........................................................................
DEC-G-CI ..........................................................................
DEC-G-F3-.........................................................................
DEC-FG-0..........................................................................
INCDEC-F-CI.....................................................................
INCDEC-FG-CI ..................................................................
INCDEC-G-0......................................................................
INCDEC-G-F1....................................................................
INCDEC-G-CI ....................................................................
INCDEC-FG-1....................................................................
FORCE-0 ...........................................................................
FORCE-1 ...........................................................................
FORCE-F1.........................................................................
FORCE-CI .........................................................................
FORCE-F3-........................................................................
EXAMINE-CI......................................................................
4-107
4-108
4-108
4-109
4-110
4-110
4-111
4-111
4-112
4-112
4-113
4-113
4-114
4-114
4-115
4-115
4-116
4-116
4-117
4-117
4-118
4-118
4-119
4-119
4-120
4-120
4-121
4-121
4-121
4-121
4-121
4-122
Index .................................................................................................................... i
Trademark Information
xxviii
Chapter 1
Overview
The XACT Libraries Guide describes the primitive and macro logic
elements available in the new Unified Libraries for XC2000, XC3000,
XC4000, and XC7000 architectures. Common logic functions can be
1-1
Libraries Guide
Selection guide
Design elements
Selection Guide
The Selection Guide briefly describes, then tabularly lists the macro
logic elements that are described in detail in the Design Elements
chapter. The tables included in this section are organized into functional categories specifying all the available elements from each of the
XC2000, XC3000, XC4000, and XC7000 families. Also included are
tables that list Unified Libraries replacements for existing and obsolete elements for each family.
Design Elements
Design elements are organized in alphanumeric order, with all
numeric suffixes in ascending order. For example, ADD4 precedes
ADD8 and FDR precedes FDRS.
The following information is provided for each library element.
1-2
Graphic symbol
Functional description
Note: Schematics are included for each architecture if the implementation differs. Also, design elements with bused or multiple I/O pins
typically include just one schematic generally the 8-bit version. (In
cases where no 8-bit version exists, an appropriate smaller or larger
element serves as the schematic example.)
Libraries Guide
1-3
Libraries Guide
Naming Conventions
Examples of the general naming conventions for the Unified Libraries
are shown in the following figures.
Example 1
FUNCTION
SIZE
Counter, Binary
4-Bit
CONTROL PINS
Clear (Asynchronous)
Load
Clock Enable
Bi-Directional
CB4CLED
Precendence of Control Pins
Example 2
FUNCTION
SIZE
Flip-Flop, D-type
16-Bit
CONTROL PINS
Reset (Synchronous)
Clock Enable
FD16RE
X4565
AND3B2
Logic Function
Number of Inputs
Inverting (Bubble) Inputs
Number of Inverting Inputs
X4316
1-4
FDCP
Q
CLR
X4397
FDCE
CE
C
X3717
CLR
FDCE
CE
C
CLR
D
CE
C
FDPE
X3717
X3721
Libraries Guide
1-5
Libraries Guide
Note: The asynchronous C and PRE inputs, by definition, have priority over all the synchronous control and clock inputs.
The Clock Enable (CE) function is implemented using two different
methods in the Xilinx Unified Libraries; both are shown in the
following figure. In method 1, CE is implemented by connecting the
CE pin of the macro directly to the dedicated Enable Clock (EC) pin of
the internal Configurable Logic Block (CLB) flip-flop. In method 2,
CE is implemented using function generator logic. CE takes precedence over the L, S, and R inputs in method 1. CE has the same
priority as the L, S, and R inputs in method 2. The method used in a
particular macro is indicated in the macros description.
1-6
CE
C1
C2
CE
Function
Generator
EC
C1
C
CE
C1
C2
C2
Q
Function
Generator
Function
Generator
EC
C1
C
Method 1
CE implemented
using dedicated EC pin.
C2
Q
Function
Generator
C
Method 2
CE implemented as a
function generator input.
X4675
Libraries Guide
1-7
Libraries Guide
1-8
Chapter 2
Selection Guide
The Selection Guide briefly describes, then tabularly lists the macro
logic elements that are described in detail in the Design Elements
chapter. The tables included in this section are organized into functional categories specifying all the available macros from each of the
XC2000, XC3000, XC4000, and XC7000 families. The tables categorize
the elements into sub-categories based on similar functions. The
sequence of each sub-category is based on an ascending order of
complexity. The categories are as follows.
Arithmetic functions
Buffers
Comparators
Counters
Data registers
Decoders
Edge decoders
Encoders
Flip-Flops
General
Input/output flip-flops
Input/output functions
Input latches
Latches
Logic primitives
Map elements
Memory elements
2-1
Libraries Guide
Multiplexers
PLD elements
Shift registers
Shifters
The elements from each architecture that provide the same function
are listed adjacent to each other in the table, even though they might
not have the same name. For particular elements, use the name specified for the architecture of interest.
Note: When converting your design between FPGA families, use
macros that have equivalent functions in each of the families to minimize re-designing.
There are a number of standard TTL 7400-type functions in the
XC2000, XC3000, XC4000, and XC7000 architectures. All 7400-type
functions are in alphanumeric order starting with X, and the
numeric sequence uses ascending numbers following the 74 prefix.
For example, X74_42 precedes X74_138.
Functional Categories
The following sections briefly describe, then tabularly list the Unified
Libraries design element functions by category. Elements are listed in
alphanumeric order according to architecture in each applicable
architecture column. N/A means the element does not exist in that
particular architecture.
Following these functional listings, replacement and obsolete
elements are discussed.
2-2
Selection Guide
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.
Overflow
-127
127
128
127
Y
IG
SI
CO
MP
AR
NS
ENT OR S
I GN
NED BI NAR
ED BIN
MPL E M E N T OR
SIGN
CO
UN
LEM
OS
ED
TW
TW
Carry-Out
ED
-1
255
X4720
XC3000
N/A
XC4000
N/A
XC7000
ACC1
N/A
N/A
N/A
ACC1X1
N/A
N/A
N/A
ACC1X2
N/A
ACC4
ACC4
ACC4
N/A
N/A
N/A
ACC4X1
N/A
N/A
N/A
ACC4X2
N/A
ACC8
ACC8
ACC8
Libraries Guide
Description
1-Bit Accumulator with Carry-In,
Carry-Out, and Synchronous Reset
1-Bit Accumulator with Carry-Out for
EPLD
1-Bit Accumulator with Carry-In and
Carry-Out for EPLD
4-Bit Accumulator with Carry-In,
Carry-Out, and Synchronous Reset
4-Bit Accumulator with Carry-Out for
EPLD
4-Bit Accumulator with Carry-In and
Carry-Out for EPLD
8-Bit Accumulator with Carry-In,
Carry-Out, and Synchronous Reset
2-3
Libraries Guide
XC2000
N/A
XC3000
N/A
XC4000
N/A
XC7000
ACC8X1
N/A
N/A
N/A
ACC8X2
N/A
ACC16
ACC16
ACC16
N/A
N/A
N/A
ACC16X1
N/A
N/A
N/A
ACC16X2
ADD1
N/A
N/A
ADD1
N/A
N/A
N/A
N/A
N/A
N/A
ADD1X1
ADD1X2
N/A
ADD4
ADD4
ADD4
N/A
N/A
N/A
N/A
N/A
N/A
ADD4X1
ADD4X2
N/A
ADD8
ADD8
ADD8
N/A
N/A
N/A
N/A
N/A
N/A
ADD8X1
ADD8X2
N/A
ADD16
ADD16
ADD16
N/A
N/A
N/A
N/A
N/A
N/A
ADD16X1
ADD16X2
ADSU1
N/A
N/A
ADSU1
N/A
N/A
N/A
ADSU1X1
N/A
N/A
N/A
ADSU1X2
N/A
ADSU4
ADSU4
ADSU4
2-4
Description
8-Bit Accumulator with Carry-Out for
EPLD
8-Bit Accumulator with Carry-In and
Carry-Out for EPLD
16-Bit Accumulator with Carry-In,
Carry-Out, and Synchronous Reset
16-Bit Accumulator with Carry-Out for
EPLD
16-Bit Accumulator with Carry-In and
Carry-Out for EPLD
1-Bit Full Adder with Carry-In and
Carry-Out
1-Bit Adder with Carry-Out for EPLD
1-Bit Adder with Carry-In and CarryOut for EPLD
4-Bit Cascadable Full Adder with
Carry-In and Carry-Out
4-Bit Adder with Carry-Out for EPLD
4-Bit Adder with Carry-In and
Carry-Out for EPLD
8-Bit Cascadable Full Adder with
Carry-In and Carry-Out
8-Bit Adder with Carry-Out for EPLD
8-Bit Adder with Carry-In and
Carry-Out for EPLD
16-Bit Cascadable Full Adder with
Carry-In and Carry-Out
16-Bit Adder with Carry-Out for EPLD
16-Bit Adder with Carry-In and
Carry-Out for EPLD
1-Bit Adder/Substracter with Carry-In
and Carry-Out
1-Bit Adder/Subtracter with
Carry-Out for EPLD
1-Bit Adder/Subtracter with Carry-In
and Carry-Out for EPLD
4-Bit Cascadable Adder/Subtracter
with Carry-In and Carry-Out
Selection Guide
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
ADSU4X1
N/A
N/A
N/A
ADSU4X2
N/A
ADSU8
ADSU8
ADSU8
N/A
N/A
N/A
ADSU8X1
N/A
N/A
N/A
ADSU8X2
N/A
ADSU16
ADSU16
ADSU16
N/A
N/A
N/A
ADSU16X1
N/A
N/A
N/A
ADSU16X2
X74_280
X74_280
X74_280
X74_280
X74_283
X74_283
X74_283
X74_283
Description
4-Bit Adder/Subtracter with
Carry-Out for EPLD
4-Bit Adder/Subtracter with Carry-In
and Carry-Out for EPLD
8-Bit Adder/Subtracter with Carry-In,
Carry-Out, and Overflow
8-Bit Adder/Subtracter with
Carry-Out for EPLD
8-Bit Adder/Subtracter with Carry-In
and Carry-Out for EPLD
16-Bit Adder/Subtracter with
Overflow
16-Bit Adder/Subtracter with
Carry-Out for EPLD
16-Bit Adder/Subtracter with
Carry-In and Carry-Out for EPLD
9-Bit Odd/Even Parity Generator/
Checker
4-Bit Full Adder with Carry-In and
Carry-Out
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.
XC2000
ACLK
BUF
N/A
XC3000
ACLK
BUF
N/A
XC4000
N/A
BUF
N/A
N/A
N/A
N/A
Libraries Guide
XC7000
N/A
BUF
BUF4,
BUF8,
BUF16
BUFCE
Description
Alternate Clock Buffer
General Purpose Buffers
2-5
Libraries Guide
XC2000
N/A
BUFE,
BUFE4,
BUFE8,
BUFE16
N/A
XC4000
BUFE,
BUFE4,
BUFE8,
BUFE16
N/A
XC7000
BUFE,
BUFE4,
BUFE8,
BUFE16
BUFFOE
BUFG
N/A
BUFG
N/A
BUFG
BUFGP
BUFG
BUFGP
N/A
N/A
BUFGS
BUFGS
N/A
N/A
N/A
BUFT,
BUFT4,
BUFT8,
BUFT16
GCLK
BUFOD
BUFT,
BUFT4,
BUFT8,
BUFT16
N/A
N/A
BUFT,
BUFT4,
BUFT8,
BUFT16
N/A
N/A
GCLK
XC3000
Description
Internal 3-State Buffers with
Active-High Enable
Comparators
There are two types of comparators, identity (COMP) and magnitude
(COMPM).
XC2000
COMP2
COMP4
COMP8
COMP16
COMPM2
COMPM4
COMPM8
COMPM16
N/A
N/A
X74_L85
2-6
XC3000
COMP2
COMP4
COMP8
COMP16
COMPM2
COMPM4
COMPM8
COMPM16
N/A
N/A
X74_L85
XC4000
COMP2
COMP4
COMP8
COMP16
COMPM2
COMPM4
COMPM8
COMPM16
COMPMC8
COMPMC16
X74_L85
XC7000
COMP2
COMP4
COMP8
COMP16
COMPM2
COMPM4
COMPM8
N/A
N/A
N/A
X74_L85
Description
2-Bit Identity Comparator
4-Bit Identity Comparator
8-Bit Identity Comparator
16-Bit Identity Comparator
2-Bit Magnitude Comparator
4-Bit Magnitude Comparator
8-Bit Magnitude Comparator
16-Bit Magnitude Comparator
8-Bit Magnitude Comparator
16-Bit Magnitude Comparator
4-Bit Expandable Magnitude
Comparator
Selection Guide
XC2000
X74_518
XC3000
X74_518
XC4000
X74_518
XC7000
X74_518
X74_521
X74_521
X74_521
X74_521
Description
8-Bit Identity Comparator with
Active-Low Enable
8-Bit Identity Comparator with
Active-Low Enable and Output
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.
CB16CLED
Counter
Binary (B)
BCD (D)
Binary, Carry Logic (C)
Johnson (J)
Ripple (R)
Modulo (Bit Size)
Synchronous Reset (R)
Asynchronous Clear (C)
Loadable
Clock Enable
Directional
X4577
Libraries Guide
2-7
Libraries Guide
RCO
ENP
ENT
RCO
ENP
ENT
Vcc
RCO
ENP
ENT
Vcc
RCO
ENP
CE
ENT
X4719
2-8
Selection Guide
XC2000
CB2CE
XC3000
CB2CE
XC4000
CB2CE
XC7000
CB2CE
CB2CLE
CB2CLE
CB2CLE
CB2CLE
CB2CLED
CB2CLED
CB2CLED
CB2CLED
CB2RE
CB2RE
CB2RE
CB2RE
N/A
N/A
N/A
CB2RLE
N/A
N/A
N/A
CB2X1
N/A
N/A
N/A
CB2X2
CB4CE
CB4CE
CB4CE
CB4CE
CB4CLE
CB4CLE
CB4CLE
CB4CLE
CB4CLED
CB4CLED
CB4CLED
CB4CLED
CB4RE
CB4RE
CB4RE
CB4RE
Libraries Guide
Description
2-Bit Cascadable Binary Counter
with Clock Enable and Asynchronous Clear
2-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Asynchronous Clear
2-Bit Loadable Cascadable Bidirectional Binary Counter with
Clock Enable and Asynchronous
Clear
2-Bit Cascadable Binary Counter
with Clock Enable and Synchronous Reset
2-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Synchronous Reset
2-Bit Loadable Cascadable Bidirectional Binary Counter with
Asynchronous Clear for EPLD
2-Bit Loadable Cascadable Bidirectional Binary Counter with
Synchronous Reset for EPLD
4-Bit Cascadable Binary Counter
with Clock Enable and Asynchronous Clear
4-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Asynchronous Clear
4-Bit Loadable Cascadable Bidirectional Binary Counter with
Clock Enable and Asynchronous
Clear
4-Bit Cascadable Binary Counter
with Clock Enable and Synchronous Reset
2-9
Libraries Guide
XC2000
N/A
XC3000
N/A
XC4000
N/A
XC7000
CB4RLE
N/A
N/A
N/A
CB4X1
N/A
N/A
N/A
CB4X2
CB8CE
CB8CE
CB8CE
CB8CE
CB8CLE
CB8CLE
CB8CLE
CB8CLE
CB8CLED
CB8CLED
CB8CLED
CB8CLED
CB8RE
CB8RE
CB8RE
CB8RE
N/A
N/A
N/A
CB8RLE
N/A
N/A
N/A
CB8X1
N/A
N/A
N/A
CB8X2
CB16CE
CB16CE
CB16CE
CB16CE
CB16CLE
CB16CLE
CB16CLE
CB16CLE
2-10
Description
4-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Synchronous Reset
4-Bit Loadable Cascadable Bidirectional Binary Counter with
Asynchronous Clear for EPLD
4-Bit Loadable Cascadable Bidirectional Binary Counter with
Synchronous Reset for EPLD
8-Bit Cascadable Binary Counter
with Clock Enable and Asynchronous Clear
8-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Asynchronous Clear
8-Bit Loadable Cascadable Bidirectional Binary Counter with
Clock Enable and Asynchronous
Clear
8-Bit Cascadable Binary Counter
with Clock Enable and Synchronous Reset
8-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Synchronous Reset
8-Bit Loadable Cascadable Bidirectional Binary Counter with
Asynchronous Clear for EPLD
8-Bit Loadable Cascadable Bidirectional Binary Counter with
Synchronous Reset for EPLD
16-Bit Cascadable Binary Counter
with Clock Enable and Asynchronous Clear
16-Bit Loadable Cascadable
Binary Counter with Clock
Enable and Asynchronous Clear
Selection Guide
XC2000
CB16CLED
XC3000
XC4000
CB16CLED CB16CLED
CB16RE
CB16RE
CB16RE
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
CC8CE
N/A
N/A
CC8CLE
N/A
N/A
CC8CLED
N/A
N/A
CC8RE
N/A
N/A
CC16CE
N/A
N/A
CC16CLE
Libraries Guide
XC7000
Description
CB16CLED 16-Bit Loadable Cascadable Bidirectional Binary Counter with
Clock Enable and Asynchronous
Clear
CB16RE
16-Bit Cascadable Binary Counter
with Clock Enable and Synchronous Reset
CB16RLE
16-Bit Loadable Cascadable
Binary Counter with Clock
Enable and Synchronous Reset
CB16X1
16-Bit Loadable Cascadable Bidirectional Binary Counter with
Asynchronous Clear for EPLD
CB16X2
16-Bit Loadable Cascadable Bidirectional Binary Counter with
Synchronous Reset for EPLD
N/A
8-Bit Cascadable Binary Counter
with Clock Enable and Asynchronous Clear
N/A
8-Bit Loadable Cascadable Binary
Counter with Clock Enable and
Asynchronous Clear
N/A
8-Bit Loadable Cascadable Bidirectional Binary Counter with
Clock Enable and Asynchronous
Clear
N/A
8-Bit Cascadable Binary Counter
with Clock Enable and Synchronous Reset
N/A
16-Bit Cascadable Binary Counter
with Clock Enable and Asynchronous Clear
N/A
16-Bit Loadable Cascadable
Binary Counter with Clock
Enable and Asynchronous Clear
2-11
Libraries Guide
XC2000
N/A
XC3000
N/A
XC4000
XC7000
CC16CLED N/A
N/A
N/A
CC16RE
N/A
CD4CE
CD4CE
CD4CE
CD4CE
CD4CLE
CD4CLE
CD4CLE
CD4CLE
CD4RE
CD4RE
CD4RE
CD4RE
CD4RLE
CD4RLE
CD4RLE
CD4RLE
CJ4CE
CJ4CE
CJ4CE
CJ4CE
CJ4RE
CJ4RE
CJ4RE
CJ4RE
CJ5CE
CJ5CE
CJ5CE
CJ5CE
CJ5RE
CJ5RE
CJ5RE
CJ5RE
CJ8CE
CJ8CE
CJ8CE
CJ8CE
CJ8RE
CJ8RE
CJ8RE
CJ8RE
CR8CE
CR8CE
CR8CE
CR8CE
CR16CE
CR16CE
CR16CE
CR16CE
2-12
Description
16-Bit Loadable Cascadable Bidirectional Binary Counter with
Clock Enable and Asynchronous
Clear
16-Bit Cascadable Binary Counter
with Clock Enable and Synchronous Reset
4-Bit Cascadable BCD Counter
with Clock Enable and Asynchronous Clear
4-Bit Loadable Cascadable BCD
Counter with Clock Enable and
Asynchronous Clear
4-Bit Cascadable BCD Counter
with Clock Enable and Synchronous Reset
4-Bit Loadable Cascadable BCD
Counter with Clock Enable and
Synchronous Reset
4-Bit Johnson Counter with Clock
Enable and Asynchronous Clear
4-Bit Johnson Counter with Clock
Enable and Synchronous Reset
5-Bit Johnson Counter with Clock
Enable and Asynchronous Clear
5-Bit Johnson Counter with Clock
Enable and Synchronous Reset
8-Bit Johnson Counter with Clock
Enable and Asynchronous Clear
8-Bit Johnson Counter with Clock
Enable and Synchronous Reset
8-Bit Negative-Edge Binary Ripple Counter with Clock Enable
and Asynchronous Clear
16-Bit Negative-Edge Binary Ripple Counter with Clock Enable
and Asynchronous Clear
Selection Guide
XC2000
X74_160
XC3000
X74_160
XC4000
X74_160
XC7000
X74_160
X74_161
X74_161
X74_161
X74_161
X74_162
X74_162
X74_162
X74_162
X74_163
X74_163
X74_163
X74_163
X74_168
X74_168
X74_168
X74_168
X74_390
X74_390
X74_390
X74_390
Libraries Guide
Description
4-Bit Loadable Cascadable BCD
Counter with Parallel and Trickle
Enables and Asynchronous Clear
4-Bit Loadable Cascadable Binary
Counter with Parallel and Trickle
Enables and Asynchronous Clear
4-Bit Loadable Cascadable BCD
Counter with Parallel and Trickle
Enables and Synchronous Reset
4-Bit Loadable Cascadable Binary
Counter with Parallel and Trickle
Enables and Synchronous Reset
4-Bit Loadable Cascadable Bidirectional BCD Counter with Parallel and Trickle Enables
4-Bit BCD/Bi-Quinary Ripple
Counter with Negative-Edge
Clocks and Asynchronous Clear
2-13
Libraries Guide
Data Registers
There are three TTL 7400-type data registers designed to function
exactly as the TTL elements for which they are named.
XC2000
X74_174
XC3000
X74_174
XC4000
X74_174
XC7000
X74_174
X74_273
X74_273
X74_273
X74_273
X74_377
X74_377
X74_377
X74_377
Description
6-Bit Data Register with ActiveLow Asynchronous Clear
8-Bit Data Register with ActiveLow Asynchronous Clear
8-Bit Data Register with ActiveLow Clock Enable
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.
D2_4E
Decoder
Number of Inputs
Number of Outputs
Output Enable
X4619
XC3000
D2_4E
XC4000
D2_4E
XC7000
D2_4E
D3_8E
D3_8E
D3_8E
D3_8E
D4_16E
D4_16E
D4_16E
D4_16E
X74_42
X74_42
X74_42
X74_42
2-14
Description
2- to 4-Line Decoder/Demultiplexer with Enable
3- to 8-Line Decoder/Demultiplexer with Enable
4- to 16-Line Decoder/Demultiplexer with Enable
4- to 10-Line BCD-to-Decimal
Decoder with Active-Low Outputs
Selection Guide
XC2000
XC3000
XC4000
XC7000
X74_138
X74_138
X74_138
X74_138
X74_139
X74_139
X74_139
X74_139
X74_154
X74_154
X74_154
X74_154
Description
3- to 8-Line Decoder/Demultiplexer with Active-Low Outputs
and Three Enables
2- to 4-Line Decoder/Demultiplexer with Active-Low Outputs
and Active-Low Enable
4- to 16-Line Decoder/Demultiplexer with Two Enables and
Active-Low Outputs
Edge Decoders
Edge decoders are open-drain wired-AND gates that are available in
different bit sizes.
XC2000
N/A
N/A
N/A
XC3000
N/A
N/A
N/A
XC4000
DECODE4
DECODE8
DECODE16
XC7000
N/A
N/A
N/A
Description
4-Bit Active-Low Decoder
8-Bit Active-Low Decoder
16-Bit Active-Low Decoder
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.
XC2000
X74_147
XC3000
X74_147
XC4000
X74_147
XC7000
X74_147
X74_148
X74_148
X74_148
X74_148
Libraries Guide
Description
10- to 4-Line Priority Encoder with
Active-Low Inputs and Outputs
8- to 3-Line Cascadable Priority
Encoder with Active-Low Inputs
and Outputs
2-15
Libraries Guide
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 flipflops are available in multiples of up to 16 in one macro.
FDPE_1
Flip-Flop
D-Type (D)
JK-Type (JK)
Toggle-Type (T)
Asynchronous Preset (P)
Asynchronous Clear (C)
Synchronous Set (S)
Synchronous Reset (R)
Clock Enable
Inverted Clock
X4579
XC3000
FD
N/A
XC4000
FD
N/A
FD4CE
FD4CE
FD4CE
XC7000
FD
FD4,
FD8,
FD16
FD4CE
FD4RE
FD4RE
FD4RE
FD4RE
FD8CE
FD8CE
FD8CE
FD8CE
FD8RE
FD8RE
FD8RE
FD8RE
FD16CE
FD16CE
FD16CE
FD16CE
FD16RE
FD16RE
FD16RE
FD16RE
FD_1
FD_1
FD_1
N/A
2-16
Description
Single and Multiple D Flip-Flops
Selection Guide
XC2000
FDC
XC3000
FDC
XC4000
FDC
XC7000
FDC
FDC_1
FDC_1
FDC_1
N/A
FDCE
FDCE
FDCE
FDCE
FDCE_1
FDCE_1
FDCE_1
N/A
FDCP
N/A
N/A
FDCP
FDCPE
N/A
N/A
FDCPE
N/A
N/A
FDP
FDP
N/A
N/A
FDP_1
N/A
N/A
N/A
FDPE
FDPE
N/A
N/A
FDPE_1
N/A
FDR
FDR
FDR
FDR
FDRE
FDRE
FDRE
FDRE
FDRS
FDRS
FDRS
FDRS
FDRSE
FDRSE
FDRSE
FDRSE
FDS
FDSE
FDS
FDSE
FDS
FDSE
FDS
FDSE
FDSR
FDSR
FDSR
FDSR
FDSRE
FDSRE
FDSRE
FDSRE
Libraries Guide
Description
D Flip-Flop with Asynchronous
Clear
D Flip-Flop with Negative-Edge
Clock and Asynchronous Clear
D Flip-Flop with Clock Enable and
Asynchronous Clear
D Flip-Flop with Negative-Edge
Clock, Clock Enable, and Asynchronous Clear
D Flip-Flop with Asynchronous
Preset and Clear
D Flip-Flop with Clock Enable and
Asynchronous Preset and Clear
D Flip-Flop with Asynchronous
Preset
D Flip-Flop with Negative-Edge
Clock and Asynchronous Preset
D Flip-Flop with Clock Enable and
Asynchronous Preset
D Flip-Flop with Negative-Edge
Clock, Clock Enable, and Asynchronous Preset
D Flip-Flop with Synchronous
Reset
D Flip-Flop with Clock Enable and
Synchronous Reset
D Flip-Flop with Synchronous
Reset and Synchronous Set
D Flip-Flop with Synchronous
Reset and Set and Clock Enable
D Flip-Flop with Synchronous Set
D Flip-Flop with Clock Enable and
Synchronous Set
D Flip-Flop with Synchronous Set
and Reset
D Flip-Flop with Synchronous Set
and Reset and Clock Enable
2-17
Libraries Guide
XC2000
FJKC
XC3000
FJKC
XC4000
FJKC
XC7000
FJKC
FJKCE
FJKCE
FJKCE
FJKCE
FJKCP
N/A
N/A
FJKCP
FJKCPE
N/A
N/A
FJKCPE
N/A
N/A
FJKP
FJKP
N/A
N/A
FJKPE
FJKPE
FJKRSE
FJKRSE
FJKRSE
FJKRSE
FJKSRE
FJKSRE
FJKSRE
FJKSRE
FTC
FTC
FTC
FTC
FTCE
FTCE
FTCE
FTCE
FTCLE
FTCLE
FTCLE
FTCLE
FTCP
N/A
N/A
FTCP
FTCPE
N/A
N/A
FTCPE
FTCPLE
N/A
N/A
FTCPLE
N/A
N/A
FTP
FTP
N/A
N/A
FTPE
FTPE
2-18
Description
J-K Flip-Flop with Asynchronous
Clear
J-K Flip-Flop with Clock Enable
and Asynchronous Clear
J-K Flip-Flop with Asynchronous
Clear and Preset
J-K Flip-Flop with Asynchronous
Clear and Preset and Clock Enable
J-K Flip-Flop with Asynchronous
Preset
J-K Flip-Flop with Clock Enable
and Asynchronous Preset
J-K Flip-Flop with Clock Enable
and Synchronous Reset and Set
J-K Flip-Flop with Clock Enable
and Synchronous Set and Reset
Toggle Flip-Flop with Toggle
Enable and Asynchronous Clear
Toggle Flip-Flop with Toggle and
Clock Enable and Asynchronous
Clear
Toggle/Loadable Flip-Flop with
Toggle and Clock Enable and Asynchronous Clear
Toggle Flip-Flop with Toggle
Enable and Asynchronous Clear
and Preset
Toggle Flip-Flop with Toggle and
Clock Enable and Asynchronous
Clear and Preset
Loadable Toggle Flip-Flop with
Toggle and Clock Enable and Asynchronous Clear and Preset
Toggle Flip-Flop with Toggle
Enable and Asynchronous Preset
Toggle Flip-Flop with Toggle and
Clock Enable and Asynchronous
Preset
Selection Guide
XC2000
N/A
XC3000
N/A
XC4000
FTPLE
XC7000
FTPLE
FTRSE
FTRSE
FTRSE
FTRSE
FTRSLE
FTRSLE
FTRSLE
FTRSLE
FTSRE
FTSRE
FTSRE
FTSRE
FTSRLE
FTSRLE
FTSRLE
FTSRLE
Description
Toggle/Loadable Flip-Flop with
Toggle and Clock Enable and Asynchronous Preset
Toggle Flip-Flop with Toggle and
Clock Enable and Synchronous
Reset and Set
Toggle/Loadable Flip-Flop with
Toggle and Clock Enable and Synchronous Reset and Set
Toggle Flip-Flop with Toggle and
Clock Enable and Synchronous Set
and Reset
Toggle/Loadable Flip-Flop with
Toggle and Clock Enable and Synchronous Set and Reset
General
General elements include FPGA configuration functions, oscillators,
boundary-scan logic, and other functions not classified in other
sections.
XC2000
N/A
XC3000
N/A
XC4000
BSCAN
XC7000
N/A
CLB
GND
CLB
GND
N/A
GND
N/A
GND
GXTL
GXTL
N/A
N/A
IOB
N/A
IOB
N/A
N/A
MD0
N/A
N/A
N/A
N/A
MD1
N/A
N/A
OSC
N/A
OSC
MD2
N/A
N/A
N/A
Libraries Guide
Description
Boundary Scan Logic Control Circuit
CLB Configuration Symbol
Ground-Connection Signal
Tag
Crystal Oscillator with
ACLK Buffer
IOB Configuration Symbol
Mode 0/Input Pad Used for
Readback Trigger Input
Mode 1/Output Pad Used
for Readback Data Output
Mode 2/Input Pad
Crystal Oscillator
2-19
Libraries Guide
XC2000
N/A
XC3000
N/A
XC4000
OSC4
N/A
N/A
PULLDOWN N/A
N/A
PULLUP
PULLUP
PULLUP
N/A
N/A
READBACK
N/A
N/A
N/A
STARTUP
N/A
N/A
N/A
TCK
N/A
N/A
N/A
TDI
N/A
N/A
N/A
TDO
N/A
N/A
TIMEGRP
TIMEGRP
N/A
N/A
TIMESPEC
TIMESPEC
TIMESPEC
N/A
N/A
TMS
N/A
2-20
XC7000
N/A
Description
Internal 5-Frequency ClockSignal Generator
Resistor to GND for Input
Pads
Resistor to VCC for Input
PADs, Open-Drain and
3-State Outputs
FPGA Bitstream Readback
Controller
User Interface to Global
Clock, Reset, and 3-State
Controls
Boundary-Scan Test Clock
Input Pad
Boundary-Scan Test Data
Input Pad
Boundary-Scan Data Output Pad
Schematic-Level Table of
Basic Timing Specification
Groups
Schematic-Level Timing
Requirement Table
Boundary-Scan Test Mode
Select Input Pad
Selection Guide
Input/Output Flip-Flops
Input/output flip-flops are configured in IOBs. They include flipflops 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.
OFDEI_1
Output (O), Input (I)
Flip-Flop
D-Type
Active High Enable (E)
Active Low Enable (T)
Inverse of Normal Initial State
Inverted Clock
X4580
XC3000
IFD,
IFD4,
IFD8,
IFD16
IFD_1
N/A
XC4000
IFD,
IFD4,
IFD8,
IFD16
IFD_1
N/A
N/A
N/A
IFDI
XC7000
IFD,
IFD4,
IFD8,
IFD16
N/A
IFDX1,
IFD4X1,
IFD8X1,
IFD16X1
N/A
N/A
N/A
IFDI_1
N/A
N/A
OFD,
OFD4,
OFD8,
OFD16
OFD_1
OFD,
OFD4,
OFD8,
OFD16
OFD_1
OFD,
OFD4,
OFD8,
OFD16
N/A
N/A
Libraries Guide
Description
Single- and Multiple-Input
D Flip-Flops
2-21
Libraries Guide
XC2000
N/A
XC3000
XC4000
XC7000
N/A
OFDE,
OFDE4,
OFDE8,
OFDE16
OFDE_1
OFDE,
OFDE4,
OFDE8,
OFDE16
OFDE_1
OFDE,
OFDE4,
OFDE8,
OFDE16
N/A
N/A
N/A
OFDEI
N/A
N/A
N/A
OFDEI_1
N/A
N/A
N/A
OFDI
N/A
N/A
N/A
OFDI_1
N/A
N/A
N/A
OFDT,
OFDT4,
OFDT8,
OFDT16
OFDT_1
OFDT,
OFDT4,
OFDT8,
OFDT16
OFDT_1
OFDT,
OFDT4,
OFDT8,
OFDT16
N/A
N/A
N/A
OFDTI
N/A
N/A
N/A
OFDTI_1
N/A
2-22
Description
D Flip-Flops with Active-High
3-State Output Buffers
Selection Guide
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.
XC2000
IBUF,
IBUF4,
IBUF8,
IBUF16
IOPAD,
IOPAD4,
IOPAD8,
IOPAD16
IPAD,
IPAD4,
IPAD8,
IPAD16
OBUF,
OBUF4,
OBUF8,
OBUF16
OBUFE,
OBUFE4,
OBUFE8,
OBUFE16
N/A
XC3000
IBUF,
IBUF4,
IBUF8,
IBUF16
IOPAD,
IOPAD4,
IOPAD8,
IOPAD16
IPAD,
IPAD4,
IPAD8,
IPAD16
OBUF,
OBUF4,
OBUF8,
OBUF16
OBUFE,
OBUFE4,
OBUFE8,
OBUFE16
N/A
XC4000
IBUF,
IBUF4,
IBUF8,
IBUF16
IOPAD,
IOPAD4,
IOPAD8,
IOPAD16
IPAD,
IPAD4,
IPAD8,
IPAD16
OBUF,
OBUF4,
OBUF8,
OBUF16
OBUFE,
OBUFE4,
OBUFE8,
OBUFE16
N/A
OBUFT,
OBUFT4,
OBUFT8,
OBUFT16
OPAD,
OPAD4,
OPAD8,
OPAD16
OBUFT,
OBUFT4,
OBUFT8,
OBUFT16
OPAD,
OPAD4,
OPAD8,
OPAD16
OBUFT,
OBUFT4,
OBUFT8,
OBUFT16
OPAD,
OPAD4,
OPAD8,
OPAD16
Libraries Guide
XC7000
IBUF,
IBUF4,
IBUF8,
IBUF16
IOPAD,
IOPAD4,
IOPAD8,
IOPAD16
IPAD,
IPAD4,
IPAD8,
IPAD16
OBUF,
OBUF4,
OBUF8,
OBUF16
OBUFE,
OBUFE4,
OBUFE8,
OBUFE16
OBUFEX1,
OBUFE4X1,
OBUFE8X1,
OBUFEX2
OBUFT,
OBUFT4,
OBUFT8,
OBUFT16
OPAD,
OPAD4,
OPAD8,
OPAD16
Description
Single- and Multiple-Input
Buffers
2-23
Libraries Guide
XC2000
XC3000
XC4000
XC7000
UPAD
UPAD
UPAD
UPAD
VCC
VCC
VCC
VCC
Description
Connects the I/O Node of an IOB
to the Internal PLD Circuit
VCC Connection Signal Tag
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.
XC2000
N/A
N/A
XC3000
ILD,
ILD4,
ILD8,
ILD16
ILD_1
XC4000
ILD,
ILD4,
ILD8,
ILD16
ILD_1
XC7000
ILD,
ILD4,
ILD8,
ILD16
N/A
N/A
N/A
ILDI
N/A
N/A
N/A
ILDI_1
N/A
Description
Input Transparent Data Latches
Latches
Latches (LD) are only available in the XC2000 and XC7000 architectures. XC3000 and XC4000 latches that existed in previous macro
libraries are not recommended for new designs.
XC2000
LD
N/A
XC3000
N/A
N/A
XC4000
N/A
N/A
LD_1
N/A
N/A
XC7000
LD
LD4,
LD8,
LD16
N/A
LDC
N/A
N/A
N/A
LD4CE,
LD8CE,
LD16CE
N/A
N/A
N/A
2-24
Description
Single and Multiple Transparent
Data Latches
Selection Guide
XC2000
XC3000
XC4000
XC7000
LDCP
N/A
N/A
N/A
LDCPE
N/A
N/A
N/A
LDC_1
N/A
N/A
N/A
Description
Transparent Data Latch with Asynchronous Clear and Preset
Transparent Data Latch with Asynchronous Clear and Preset and
Clock Enable
Transparent Data Latch with Asynchronous Clear and Inverted Gate
Input
Logic Primitives
Combinatorial logic gates that implement the basic Boolean functions
are available in XC2000, XC3000, XC4000, and XC7000 architectures
with up to five inputs in all combinations of inverted and noninverted inputs, and with six to nine inputs non-inverted.
XC2000
AND2,
AND2B1,
AND2B2,
AND3,
AND3B1,
AND3B2,
AND3B3,
AND4,
AND4B1,
AND4B2,
AND4B3,
AND4B4,
AND5,
AND5B1,
AND5B2,
AND5B3,
AND5B4,
AND5B5,
AND6,
AND7,
AND8,
AND9
Libraries Guide
XC3000
AND2,
AND2B1,
AND2B2,
AND3,
AND3B1,
AND3B2,
AND3B3,
AND4,
AND4B1,
AND4B2,
AND4B3,
AND4B4,
AND5,
AND5B1,
AND5B2,
AND5B3,
AND5B4,
AND5B5,
AND6,
AND7,
AND8,
AND9
XC4000
AND2,
AND2B1,
AND2B2,
AND3,
AND3B1,
AND3B2,
AND3B3,
AND4,
AND4B1,
AND4B2,
AND4B3,
AND4B4,
AND5,
AND5B1,
AND5B2,
AND5B3,
AND5B4,
AND5B5,
AND6,
AND7,
AND8,
AND9
XC7000
AND2,
AND2B1,
AND2B2,
AND3,
AND3B1,
AND3B2,
AND3B3,
AND4,
AND4B1,
AND4B2,
AND4B3,
AND4B4,
AND5,
AND5B1,
AND5B2,
AND5B3,
AND5B4,
AND5B5,
AND6,
AND7,
AND8,
AND9
Description
2- to 9-Input AND Gates
with Inverted and
Non-Inverted Inputs
2-25
Libraries Guide
XC2000
XC3000
XC4000
XC7000
Description
INV,
INV4,
INV8,
INV16
NAND2,
NAND2B1,
NAND2B2,
NAND3,
NAND3B1,
NAND3B2,
NAND3B3,
NAND4,
NAND4B1,
NAND4B2,
NAND4B3,
NAND4B4,
NAND5,
NAND5B1,
NAND5B2,
NAND5B3,
NAND5B4,
NAND5B5,
NAND6,
NAND7,
NAND8,
NAND9
INV,
INV4,
INV8,
INV16
NAND2,
NAND2B1,
NAND2B2,
NAND3,
NAND3B1,
NAND3B2,
NAND3B3,
NAND4,
NAND4B1,
NAND4B2,
NAND4B3,
NAND4B4,
NAND5,
NAND5B1,
NAND5B2,
NAND5B3,
NAND5B4,
NAND5B5,
NAND6,
NAND7,
NAND8,
NAND9
INV,
INV4,
INV8,
INV16
NAND2,
NAND2B1,
NAND2B2,
NAND3,
NAND3B1,
NAND3B2,
NAND3B3,
NAND4,
NAND4B1,
NAND4B2,
NAND4B3,
NAND4B4,
NAND5,
NAND5B1,
NAND5B2,
NAND5B3,
NAND5B4,
NAND5B5,
NAND6,
NAND7,
NAND8,
NAND9
INV,
INV4,
INV8,
INV16
NAND2,
NAND2B1,
NAND2B2,
NAND3,
NAND3B1,
NAND3B2,
NAND3B3,
NAND4,
NAND4B1,
NAND4B2,
NAND4B3,
NAND4B4,
NAND5,
NAND5B1,
NAND5B2,
NAND5B3,
NAND5B4,
NAND5B5,
NAND6,
NAND7,
NAND8,
NAND9
2-26
2- to 9-Input NAND
Gates with Inverted and
Non-Inverted Inputs
Selection Guide
XC2000
NOR2,
NOR2B1,
NOR2B2,
NOR3,
NOR3B1,
NOR3B2,
NOR3B3,
NOR4,
NOR4B1,
NOR4B2,
NOR4B3,
NOR4B4,
NOR5,
NOR5B1,
NOR5B2,
NOR5B3,
NOR5B4,
NOR5B5,
NOR6,
NOR7,
NOR8,
NOR9
Libraries Guide
XC3000
NOR2,
NOR2B1,
NOR2B2,
NOR3,
NOR3B1,
NOR3B2,
NOR3B3,
NOR4,
NOR4B1,
NOR4B2,
NOR4B3,
NOR4B4,
NOR5,
NOR5B1,
NOR5B2,
NOR5B3,
NOR5B4,
NOR5B5,
NOR6,
NOR7,
NOR8,
NOR9
XC4000
NOR2,
NOR2B1,
NOR2B2,
NOR3,
NOR3B1,
NOR3B2,
NOR3B3,
NOR4,
NOR4B1,
NOR4B2,
NOR4B3,
NOR4B4,
NOR5,
NOR5B1,
NOR5B2,
NOR5B3,
NOR5B4,
NOR5B5,
NOR6,
NOR7,
NOR8,
NOR9
XC7000
NOR2,
NOR2B1,
NOR2B2,
NOR3,
NOR3B1,
NOR3B2,
NOR3B3,
NOR4,
NOR4B1,
NOR4B2,
NOR4B3,
NOR4B4,
NOR5,
NOR5B1,
NOR5B2,
NOR5B3,
NOR5B4,
NOR5B5,
NOR6,
NOR7,
NOR8,
NOR9
Description
2- to 9-Input NOR Gates
with Inverted and
Non-Inverted Inputs
2-27
Libraries Guide
XC2000
OR2,
OR2B1,
OR2B2,
OR3,
OR3B1,
OR3B2,
OR3B3,
OR4,
OR4B1,
OR4B2,
OR4B3,
OR4B4,
OR5,
OR5B1,
OR5B2,
OR5B3,
OR5B4,
OR5B5,
OR6,
OR7,
OR8,
OR9
SOP3,
SOP3B1A,
SOP3B1B,
SOP3B2A,
SOP3B2B,
SOP3B3,
SOP4,
SOP4B1,
SOP4B2A,
SOP4B2B,
SOP4B3,
SOP4B4
N/A
2-28
XC3000
OR2,
OR2B1,
OR2B2,
OR3,
OR3B1,
OR3B2,
OR3B3,
OR4,
OR4B1,
OR4B2,
OR4B3,
OR4B4,
OR5,
OR5B1,
OR5B2,
OR5B3,
OR5B4,
OR5B5,
OR6,
OR7,
OR8,
OR9
SOP3,
SOP3B1A,
SOP3B1B,
SOP3B2A,
SOP3B2B,
SOP3B3,
SOP4,
SOP4B1,
SOP4B2A,
SOP4B2B,
SOP4B3,
SOP4B4
N/A
XC4000
OR2,
OR2B1,
OR2B2,
OR3,
OR3B1,
OR3B2,
OR3B3,
OR4,
OR4B1,
OR4B2,
OR4B3,
OR4B4,
OR5,
OR5B1,
OR5B2,
OR5B3,
OR5B4,
OR5B5,
OR6,
OR7,
OR8,
OR9
SOP3,
SOP3B1A,
SOP3B1B,
SOP3B2A,
SOP3B2B,
SOP3B3,
SOP4,
SOP4B1,
SOP4B2A,
SOP4B2B,
SOP4B3,
SOP4B4
WAND1,
WAND4,
WAND8,
WAND16
XC7000
OR2,
OR2B1,
OR2B2,
OR3,
OR3B1,
OR3B2,
OR3B3,
OR4,
OR4B1,
OR4B2,
OR4B3,
OR4B4,
OR5,
OR5B1,
OR5B2,
OR5B3,
OR5B4,
OR5B5,
OR6,
OR7,
OR8,
OR9
SOP3,
SOP3B1A,
SOP3B1B,
SOP3B2A,
SOP3B2B,
SOP3B3,
SOP4,
SOP4B1,
SOP4B2A,
SOP4B2B,
SOP4B3,
SOP4B4
N/A
Description
2- to 9-Input OR Gates
with Inverted and
Non-Inverted Inputs
Sum of Products
Open-Drain Buffers
Selection Guide
XC2000
XC3000
XC4000
XC7000
N/A
N/A
WOR2AND
N/A
XNOR2,
XNOR3,
XNOR4,
XNOR5,
XNOR6,
XNOR7,
XNOR8,
XNOR9
XOR2,
XOR3,
XOR4,
XOR5,
XOR6,
XOR7,
XOR8,
XOR9
XNOR2,
XNOR3,
XNOR4,
XNOR5,
XNOR6,
XNOR7,
XNOR8,
XNOR9
XOR2,
XOR3,
XOR4,
XOR5,
XOR6,
XOR7,
XOR8,
XOR9
XNOR2,
XNOR3,
XNOR4,
XNOR5,
XNOR6,
XNOR7,
XNOR8,
XNOR9
XOR2,
XOR3,
XOR4,
XOR5,
XOR6,
XOR7,
XOR8,
XOR9
XNOR2,
XNOR3,
XNOR4,
XNOR5,
XNOR6,
XNOR7,
XNOR8,
XNOR9
XOR2,
XOR3,
XOR4,
XOR5,
XOR6,
XOR7,
XOR8,
XOR9
Libraries Guide
Description
2-Input OR Gate with
Wired-AND Open-Drain
Buffer Output
2- to 9-Input XNOR Gates
with Non-Inverted Inputs
2-29
Libraries Guide
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.
XC2000
CLBMAP
N/A
XC3000
CLBMAP
N/A
XC4000
N/A
FMAP
XC7000
N/A
N/A
N/A
N/A
HMAP
N/A
Description
Logic Partitioning Control Symbol
F Function Generator Partitioning
Control Symbol
Random-Logic Design Constraint
Symbol
Memory Elements
The XC4000 architecture has a number of static RAM configurations
defined as macros. These 16- or 32-word RAMs are 1, 2, 4, and 8 bits
wide. There are also two ROMs in the XC4000 architecture, 16X1 and
32X1. ROMs only exist in XC4000.
XC2000
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
2-30
XC3000
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
XC4000
RAM16X1
RAM16X2
RAM16X4
RAM16X8
RAM32X1
RAM32X2
RAM32X4
RAM32X8
ROM16X1
ROM32X1
XC7000
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Description
16-Deep by 1-Wide Static RAM
16-Deep by 2-Wide Static RAM
16-Deep by 4-Wide Static RAM
16-Deep by 8-Wide Static RAM
32-Deep by 1-Wide Static RAM
32-Deep by 2-Wide Static RAM
32-Deep by 4-Wide Static RAM
32-Deep by 8-Wide Static RAM
16-Deep by 1-Wide ROM
32-Deep by 1-Wide ROM
Selection Guide
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.
M8_1E
Multiplexer
Number of Inputs
Number of Outputs
Output Enable
X4620
XC3000
M2_1
M2_1B1
XC4000
M2_1
M2_1B1
XC7000
M2_1
M2_1B1
M2_1B2
M2_1B2
M2_1B2
M2_1B2
M2_1E
M4_1E
M8_1E
M16_1E
X74_150
M2_1E
M4_1E
M8_1E
M16_1E
X74_150
M2_1E
M4_1E
M8_1E
M16_1E
X74_150
M2_1E
M4_1E
M8_1E
M16_1E
X74_150
X74_151
X74_151
X74_151
X74_151
X74_152
X74_152
X74_152
X74_152
X74_153
X74_153
X74_153
X74_153
X74_157
X74_157
X74_157
X74_157
Libraries Guide
Description
2-to-1 Multiplexer
2-to-1 Multiplexer with D0
Inverted
2-to-1 Multiplexer with D0 and D1
Inverted
2-to-1 Multiplexer with Enable
4-to-1 Multiplexer with Enable
8-to-1 Multiplexer with Enable
16-to-1 Multiplexer with Enable
16-to-1 Multiplexer with ActiveLow Enable and Output
8-to-1 Multiplexer with ActiveLow Enable and Complementary
Outputs
8-to-1 Multiplexer with ActiveLow Output
Dual 4-to-1 Multiplexer with
Active-Low Enables and Common
Select Input
Quadruple 2-to-1 Multiplexer with
Common Select and Active-Low
Enable
2-31
Libraries Guide
XC2000
X74_158
XC3000
X74_158
XC4000
X74_158
XC7000
X74_158
X74_298
X74_298
X74_298
X74_298
X74_352
X74_352
X74_352
X74_352
Description
Quadruple 2-to-1 Multiplexer with
Common Select, Active-Low
Enable, and Active-Low Outputs
Quadruple 2-Input Multiplexer
with Storage and Negative-Edge
Clock
Dual 4-to-1 Multiplexer with
Active-Low Enables and Outputs
PLD Elements
PLD elements represent custom logic functions that are defined by an
equation file in EPLD designs.
XC2000
N/A
N/A
N/A
N/A
XC3000
N/A
N/A
N/A
N/A
XC4000
N/A
N/A
N/A
N/A
XC7000
PL20PIN
PL24PIN
PL48PIN
PL20V8
N/A
N/A
N/A
PL22V10
N/A
N/A
N/A
PLFB9
N/A
N/A
N/A
PLFFB9
2-32
Description
Generic PLD Symbols for EPLD
Selection Guide
Shift Registers
Shift registers are available in a variety of sizes and capabilities. The
naming convention shown in the following figure illustrates available features.
SR8RLED
Shift Register
Bit Size
Synchronous Reset (R)
Asynchronous Clear (C)
Loadable
Clock Enable
Directional
X4578
XC3000
SR4CE
XC4000
SR4CE
XC7000
SR4CE
SR4CLE
SR4CLE
SR4CLE
SR4CLE
SR4CLED
SR4CLED
SR4CLED
SR4CLED
SR4RE
SR4RE
SR4RE
SR4RE
SR4RLE
SR4RLE
SR4RLE
SR4RLE
SR4RLED
SR4RLED
SR4RLED
SR4RLED
SR8CE
SR8CE
SR8CE
SR8CE
Libraries Guide
Description
4-Bit Serial-In Parallel-Out Shift
Register with Clock Enable and
Asynchronous Clear
4-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable and Asynchronous
Clear
4-Bit Shift Register with Clock
Enable and Asynchronous Clear
4-Bit Serial-In Parallel-Out Shift
Register with Clock Enable and
Synchronous Reset
4-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable and Synchronous
Reset
4-Bit Shift Register with Clock
Enable and Synchronous Reset
8-Bit Serial-In Parallel-Out Shift
Register with Clock Enable and
Asynchronous Clear
2-33
Libraries Guide
XC2000
SR8CLE
XC3000
SR8CLE
XC4000
SR8CLE
XC7000
SR8CLE
SR8CLED
SR8CLED
SR8CLED
SR8CLED
SR8RE
SR8RE
SR8RE
SR8RE
SR8RLE
SR8RLE
SR8RLE
SR8RLE
SR8RLED
SR8RLED
SR8RLED
SR8RLED
SR16CE
SR16CE
SR16CE
SR16CE
SR16CLE
SR16CLE
SR16CLE
SR16CLE
SR16RE
SR16RE
SR16RE
SR16RLE
SR16RLE
SR16RLE
SR16RLE
2-34
X74_164
X74_164
X74_164
Description
8-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable and Asynchronous
Clear
8-Bit Shift Register with Clock
Enable and Asynchronous Clear
8-Bit Serial-In Parallel-Out Shift
Register with Clock Enable and
Synchronous Reset
8-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable and Synchronous
Reset
8-Bit Shift Register with Clock
Enable and Synchronous Reset
16-Bit Serial-In Parallel-Out Shift
Register with Clock Enable and
Asynchronous Clear
16-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable and Asynchronous
Clear
16-Bit Shift Register with Clock
Enable and Asynchronous Clear
16-Bit Serial-In Parallel-Out Shift
Register with Clock Enable and
Synchronous Reset
16-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable and Synchronous
Reset
16-Bit Shift Register with Clock
Enable and Synchronous Reset
8-Bit Serial-In Parallel-Out Shift
Register with Active-Low Asynchronous Clear
Selection Guide
XC2000
X74_165S
XC3000
X74_165S
XC4000
X74_165S
XC7000
X74_165S
X74_194
X74_194
X74_194
X74_194
X74_195
X74_195
X74_195
X74_195
Description
8-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register with
Clock Enable
4-Bit Loadable Directional Serial/
Parallel-In Parallel-Out Shift Register
4-Bit Loadable Serial/Parallel-In
Parallel-Out Shift Register
Shifters
Shifters are barrel shifters (BRLSHFT) of four and eight bits.
XC2000
N/A
N/A
XC3000
XC4000
XC7000
Description
BRLSHFT4 BRLSHFT4 BRLSHFT4 4-Bit Barrel Shifter
BRLSHFT8 BRLSHFT8 BRLSHFT8 8-Bit Barrel Shifter
Obsolete Macros
Xilinx maintains software libraries with thousands of functional
design elements (primitives and macros) for different device architectures. When new elements are introduced that can provide additional
functions, greater flexibility, increased speed, or enhanced system
performance, it is necessary to remove or replace existing elements.
In some cases, design elements in the following tables have been
obsoleted because their names changed to conform with the Unified
Libraries naming conventions. In other cases, duplicate functions
have been eliminated. If you want a function that appears in the
following tables, and an exact or functionally similar replacement
does not exist, check the appropriate functional table listed in the
Selection Guide, earlier in this chapter to determine the appropriate
current macro.
Libraries Guide
2-35
Libraries Guide
The Unified Libraries make certain types of elements obsolete for the
following reasons.
Some macros have been eliminated because they were meaningless inside an FPGA (for example, X74-240).
If you have active designs that were created with former Xilinx
libraries primitives or macros, you may need to change references to
the design elements that you were using to reflect the new Unified
Libraries elements.
The following tables list Unified Libraries exact replacements and
substitutions for existing elements that you can use to update your
designs. Exact replacements are just that; you can use them for
exactly the same function(s) as before. Substitutions provide at least
the same functionality, but may afford additional advantages.
Elements listed as obsolete are not recommended for new designs.
They can still be found in some macro libraries, but support for them
is being discontinued.
The elements are listed in alphanumeric order by architecture.
Previous library element names appear in the left-most column
followed by their exact Unified Libraries replacement, if available. If
an exact replacement does not exist, the closest substitution/an
element with similar functions is provided in the third column. If you
are not sure of the function provided by an exact replacement or
substitution, refer to the Selection Guide, earlier in this chapter.
Macro functions that are no longer supported are indicated in the
Obsolete column.
2-36
Selection Guide
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
ASHEETP
IOPAD
BSHEETL
CB2RE
CB2CE
CB2CLE
CB2RE
CB2CLE
CB4CLE
CB2RE
CB2CE
CJ4RE
CJ4RE
CB4CLE
CB4RE
CB4CLE
CJ4RE
CD4CLE
CD4CE
CD4CLE
CJ5RE
CJ8RE
CB4CE
CB4CLE
CB4CLE
CB4CE
CB4CLE
CB4CLED
2-37
Libraries Guide
Existing
XC2000
Name
C16JCR
C256FCRD
CSHEET
D2-4
D2-4E
D3-8
D3-8E
DFF
DLAT
DSHEET
ESHEET
FDC
FDCR
FDCS
FDM
FDMR
FDMRD
FDMS
FDMSD
FDRD
FDSD
FDSRD
FJK
FJKRD
FJKS
FJKSD
FJKSRD
FRS
FSR
FT
2-38
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
CJ8RE
CB8CLED
CSHEETL
D2_4E
D2_4E
D3_8E
D3_8E
FD
LDCP
DSHEETL
ESHEETL
FDCE
FDRE
FDSE
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
FDC
FDCP
FDCP
FJKC
FJKC
FJKSRE
FJKCP
FJKCP
Obsolete
Obsolete
FTC
Selection Guide
Existing
XC2000
Name
FT0
FT0R
FT2
FT2R
FTP
FTPRD
FTR
FTRD
FTS
GADD
GCOMP
GEQGT
GMAJ
GMUX
GOSC
GPAR
GXOR
GXOR2
INFF
LDM
LDMRD
LDMSD
LDRD
LDSD
LDSRD
M3-1
M3-1E
M4-1
M4-1E
M8-1
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
FTC
FTRSE
FTCE
FTRSE
FTCP
FTRSLE
FTSRE
FTC
FTSRE
ADD1
COMP2
Obsolete
Obsolete
M2_1
Obsolete
Obsolete
XOR2
Obsolete
IFD
Obsolete
Obsolete
Obsolete
LDC
LDP
LDCP
M4_1
M4_1E
M4_1
M4_1E
M8_1
2-39
Libraries Guide
Existing
XC2000
Name
M8-1E
NDFF
OBUFZ
OUTFF
PAD
PAL2RA10
PAL6L16A
PAL8L14A
PAL10H8
PAL10H20
PAL10L8
PAL12H6
PAL12L6
PAL12L10
PAL14H4
PAL14L4
PAL14L8
PAL16A4
PAL16C1
PAL16H2
PAL16L2
PAL16L6
PAL16L8
PAL16P8
PAL16P8A
PAL16R4
PAL16R4A
PAL16R6
PAL16R6A
PAL16R8
2-40
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
M8_1E
Obsolete
OBUFT
OFD
IOPAD
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Selection Guide
Existing
XC2000
Name
PAL16R8A
PAL16X4
PAL16RA8
PAL16RP4
PAL16RP6
PAL16RP8
PAL18L4
PAL20C1
PAL20L2
PAL20L8
PAL20L10
PAL20R4
PAL20R6
PAL20R8
PAL20R10
PAL20RS4
PAL20RS8
PAL20S10
PAL20X4
PAL20X8
PAL20X10
PAL22RX8
PAL22V10
PAL32R16
PAL32V10
PAL64R32
RD4
RD8
RD8CR
RS4
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
FD4RE
FD8CE
FD8RE
SR4CE
2-41
Libraries Guide
Existing
XC2000
Name
RS8
RS8CR
RS8PR
RS8R
ZMX2000
ZXPAL
ZX2000
74-42
74-138
74-139
74-151
74-152
74-160
74-161
74-164
74-194
74-195
74-352
2-42
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
SR8CE
SR8RE
SR8RLE
SR8RE
Obsolete
Obsolete
Obsolete
X74_42
X74_138
X74_139
X74_151
X74_152
X74_160
X74_161
X74_164
X74_194
X74_195
X74_352
Selection Guide
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
ASHEETP
IOPAD
Obsolete
Obsolete
BSHEETL
Obsolete
CD4CE
CSHEETL
Obsolete
CB2CLE
CB2RE
CB2CE
CB2CLE
CB2RE
CB2CLE
Obsolete
Obsolete
Obsolete
CB4CLE
CB2CLE
CB2RE
CB2CE
CJ4CE
CJ4CE
CJ4RE
CJ4CE
CJ4CE
Obsolete
2-43
Libraries Guide
Existing
XC3000
Name
C5SQUARE
C6JCR
C8BCP
C8BCPRD
C8BCR
C8BCRD
C8JCR
C8UDLD
C10BCPRD
C10BCRD
C10BPRD
C10JCR
C12JCR
C16BARD
C16BCP
C16BCPR
C16BCPRD
C16BCRD
C16BPRD
C16BUDRD
C16DNLD
C16JCR
C16UDLD
C16UPLD
C256BCP
C256BCPR
C256BCR
C256BCRD
C256FCRD
DFF
2-44
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
CJ4RE
CB4CLE
CB4CLE
CB4RE
CB4CLE
CJ4RE
Obsolete
CD4CLE
CD4CE
CD4CLE
CJ5RE
CJ8RE
CB4CE
CB4CLE
CB4CLE
CB4CLE
CB4CE
CB4CLE
CB4CLED
CB4CLED
CJ8RE
CB4CLED
CB4CLED
CB8CLE
CB8CLE
CB8RE
CB8CE
CB8CLED
FD
Selection Guide
Existing
XC3000
Name
DSHEET
D2-4
D2-4E
D3-8
D3-8E
ESHEET
FDC
FDCR
FDCRD
FDCS
FDM
FDMR
FDMRD
FDMS
FDRD
FJK
FJKRD
FJKS
FRS
FSR
FT
FT0
FT0R
FTP
FTPRD
FTRD
FTS
GADD
GCOMP
GLTGT
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
DSHEETL
D2_4E
D2_4E
D3_8E
D3_8E
ESHEETL
FDCE
FDRE
FDCE
FDSE
Obsolete
Obsolete
Obsolete
Obsolete
FDC
FJKC
FJKC
FJKSRE
Obsolete
Obsolete
FTC
FTC
FTRSE
FTCP
FTRSLE
FTC
FTSRE
ADD1
COMP2
COMPM2
2-45
Libraries Guide
Existing
XC3000
Name
GMUX
GOSC
HX42
HX48
HX77
HX125
HX138
HX139
HX147
HX148
HX151
HX152
HX153
HX154
HX157
HX158
HX160
HX161
HX162
HX163
HX164
HX166
HX168
HX169
HX174
HX179
HX194
HX195
HX198
HX199
2-46
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
M2_1
Obsolete
X74_42
Obsolete
Obsolete
Obsolete
X74_138
X74_139
X74_147
X74_148
X74_151
X74_152
X74_153
X74_154
X74_157
X74_158
X74_160
X74_161
X74_162
X74_163
X74_164
Obsolete
X74_168
Obsolete
X74_174
Obsolete
X74_194
X74_195
Obsolete
Obsolete
Selection Guide
Existing
XC3000
Name
HX240
HX241
HX244
HX257
HX258
HX259
HX273
HX278
HX280
HX283
HX298
HX352
HX373
HX374
HX377
HX390
HX393
HX518
HX521
HX541
HX577
HX590
HX595
INFF
INLAT
M3-1
M3-1E
M4-1
M4-1C
M4-1E
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
X74_273
Obsolete
X74_280
X74_283
X74_298
X74_352
Obsolete
Obsolete
X74_377
X74_390
Obsolete
X74_518
X74_521
Obsolete
Obsolete
Obsolete
Obsolete
IFD
ILD
M4_1
M4_1E
M4_1
Obsolete
M4_1E
2-47
Libraries Guide
Existing
XC3000
Name
M4-2
M8-1
M8-1E
OBUFZ
OUTFF
OUTFFT
OUTFFZ
PAD
PAL2RA10
PAL6L16A
PAL8L14A
PAL10H8
PAL10H20
PAL10L8
PAL12H6
PAL12L6
PAL12L10
PAL14H4
PAL14L4
PAL14L8
PAL16A4
PAL16C1
PAL16H2
PAL16L2
PAL16L6
PAL16L8
PAL16P8
PAL16P8A
PAL16RA8
PAL16RP4
2-48
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
M2_1
M8_1
M8_1E
OBUFT
OFD
OFDT
OFDT
IOPAD
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Selection Guide
Existing
XC3000
Name
PAL16RP6
PAL16RP8
PAL16R4
PAL16R4A
PAL16R6
PAL16R6A
PAL16R8
PAL16R8A
PAL16X4
PAL18L4
PAL20C1
PAL20L2
PAL20L8
PAL20L10
PAL20RS4
PAL20RS8
PAL20R4
PAL20R6
PAL20R8
PAL20R10
PAL20S10
PAL20X4
PAL20X8
PAL20X10
PAL22RX8
PAL22V10
PAL32R16
PAL32V10
PAL64R32
PHFRCOMP
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
2-49
Libraries Guide
Existing
XC3000
Name
RD4
RD4RD
RD8
RD8CR
RD8RD
RS4
RS4C
RS4CR
RS4CRD
RS4RD
RS8
RS8C
RS8CR
RS8CRD
RS8PR
RS8R
RS8RD
SAR
TBUF
WM8-1
WM16-1
X74160D
X74160U
X74161D
X74161U
X74165A
X74165S
X7474
ZMX3000
ZX3000
2-50
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
FD4RE
FD4RE
FD8CE
FD8RE
FD8RE
SR4CE
SR4CE
SR4RE
SR4CE
SR4RE
SR8CE
SR8CE
SR8RE
SR8CE
SR8RLE
SR8RE
SR8RE
Obsolete
BUFT
Obsolete
Obsolete
Obsolete
X74_160
Obsolete
X74_161
X74_165S
X74_165S
FDCP
Obsolete
Obsolete
Selection Guide
Existing
XC3000
Name
ZXPAL
ZXTTL
74-42
74-138
74-139
74-151
74-152
74-160
74-161
74-162
74-163
74-164
74-194
74-195
74-352
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
X74_42
X74_138
X74_139
X74_151
X74_152
X74_160
X74_161
X74_162
X74_163
X74_164
X74_194
X74_195
X74_352
2-51
Libraries Guide
2-52
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
ACC8
ACC16
ADD4
ADD4
ADD16
Obsolete
Obsolete
ADSU4
ADSU8
ADSU16
ASHEETP
Obsolete
Obsolete
Obsolete
IOPAD
BSHEETL
CD4CE
COMP8
COMP16
Obsolete
COMPMC8
COMPMC16
Obsolete
CSHEETL
CB8CLE
CB16CLE
CB2CLE
CB2RE
Selection Guide
Existing
XC4000
Name
C2BCRD
C2BINRIP
C4BCPRD
C4BCR
C4BCRD
C4BINRIP
C4JXCR
C4JXCRD
C8BCPRD
C8BCR
C8BCRD
C8JCR
C8JCRD
C10BCPRD
C10BCRD
C10JCR
C10JCRD
C16BCPRD
C16BCR
C16BCRD
C16BUDRD
C16JCR
C16JCRD
C32BUDRD
C64BUDRD
C256BCPR
C256BCR
C256BCRD
DEC2-4EH
DEC3-8EH
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
CB2CE
CB2CE
CB2CLE
CB2RE
CB2CE
CB4CE
CJ4RE
CJ4CE
CB4CLE
CB4RE
CB4CLE
CJ4RE
CJ4CE
CD4CLE
CD4CE
CJ5RE
CJ5CE
CB4CLE
CB4RE
CB4CE
CB4CLED
CJ8RE
CJ8CE
CB8CLED
CB8CLED
CB8CLE
CB8RE
CB8CE
X74_139
X74_138
2-53
Libraries Guide
Existing
XC4000
Name
DECODE24
DSHEET
D2-4
D2-4E
D3-8
D3-8E
D4-16
D4-16E
D7SEGH
D7SEGMH
ENCPR8H
ESHEET
FDCR
FDCS
FDMRD
FDMSD
FDRD
FDRDKN
FDSD
FDSDKN
FJKRD
FJKSD
FRD
FSD
FTPRD
IN4
IN8
IN16
INFF
INFF4
2-54
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
DSHEETL
D2_4E
D2_4E
D3_8E
D3_8E
Obsolete
D4_16E
Obsolete
Obsolete
X74_148
ESHEETL
FDRE
FDSE
Obsolete
Obsolete
FDCE
FDCE_1
FDPE
FDPE_1
FJKCE
FJKPE
FDRSE
FDRSE
FTRSLE
IBUF4
IBUF8
IBUF16
IFD
IFD4
Selection Guide
Existing
XC4000
Name
INFF8
INFF16
INFFS
INLAT
INLAT4
INLAT8
INLAT16
INLATS
INREG
INREGS
LD
LDE
LDM
LDRD
LDSD
LRS
LSR
MAJ4
MUX4-1H
MUX8-1H
MUX16-1H
M2-1
M2-1E
M4-1
M4-1E
M8-1
M8-1E
M16-1
M16-1E
OUT4
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
IFD8
IFD16
IFDI
ILD
ILD4
ILD8
ILD16
ILDI
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
M4_1
M8_1
M16_1
M2_1
M2_1E
M4_1
M4_1E
M8_1
M8_1E
M16_1
M16_1E
OBUF4
2-55
Libraries Guide
Existing
XC4000
Name
OUT8
OUT16
OUTFF
OUTFF4
OUTFF8
OUTFF16
OUTFFS
OUTFFT
OUTFFTS
PAD
PADU
PAL2RA10
PAL6L16A
PAL8L14A
PAL10H8
PAL10H20
PAL10L8
PAL12H6
PAL12L6
PAL12L10
PAL14H4
PAL14L4
PAL14L8
PAL16A4
PAL16C1
PAL16H2
PAL16L2
PAL16L6
PAL16L8
PAL16P8
2-56
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
OBUF8
OBUF16
OFD
OFD4
OFD8
OFD16
OFDT
OFDT
OFDT
IOPAD
UPAD
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Selection Guide
Existing
XC4000
Name
PAL16P8A
PAL16R4
PAL16R4A
PAL16R6
PAL16R6A
PAL16R8
PAL16R8A
PAL16RA8
PAL16RP4
PAL16RP6
PAL16RP8
PAL16X4
PAL18L4
PAL20C1
PAL20L2
PAL20L8
PAL20L10
PAL20R4
PAL20R6
PAL20R8
PAL20R10
PAL20RS4
PAL20RS8
PAL20S10
PAL20X4
PAL20X8
PAL20X10
PAL22RX8
PAL22V10
PAL32R16
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
2-57
Libraries Guide
Existing
XC4000
Name
PAL32V10
PAL64R32
PARE9H
PARO9H
PHFRCOMP
PRSC8-9
RAM64X4
RAM64X8
RAM128X4
RAM128X8
RD4
RD4R
RD8
RD8H
RD8R
RD16
RD16H
RD16R
RF16X4
RF16X8
RF16X16
RF32X4
RF32X8
RF32X16
RM16X2H
RM16X4H
RM16X8H
RM32X4H
RM32X8H
RM64X4H
2-58
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
X74_280
X74_280
Obsolete
Obsolete
RAM32X4
RAM32X8
RAM32X4
RAM32X8
FD4CE
FD4RE
FD8CE
FD8RE
FD8RE
FD16CE
RAM16X1
FD16RE
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
RAM16X2
RAM16X4
RAM16X8
RAM32X4
RAM32X8
RAM32X4
Selection Guide
Existing
XC4000
Name
RM64X8H
RM128X4H
RM128X8H
RS4
RS4P
RS4R
RS8
RS8P
RS8PH
RS8R
RS16
RS16P
RS16PH
RS16R
TBUF
WM8-1
WM16-1
X74-42
X74-48
X74-83
X74-85
X74-138
X74-139
X74-147
X74-148
X74-150
X74-151
X74-152
X74-153
X74-154
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
RAM32X8
RAM16X4
RAM16X8
SR4CE
SR4CLE
SR4RE
SR8CE
SR8CLE
SR8RLE
SR8RE
SR16CE
SR16CLE
SR16RLE
SR16RE
BUFT
Obsolete
Obsolete
X74_42
Obsolete
X74_283
X74_L85
X74_138
X74_139
X74_147
X74_148
X74_150
X74_151
X74_152
X74_153
X74_154
2-59
Libraries Guide
Existing
XC4000
Name
X74-157
X74-158
X74-160
X74-161
X74-162
X74-163
X74-164
X74-165S
X74-166
X74-168
X74-174
X74-194
X74-195
X74-198
X74-199
X74-240
X74-241
X74-244
X74-245
X74-257
X74-258
X74-259
X74-273
X74-278
X74-280
X74-283
X74-298
X74-352
X74-373
X74-374
2-60
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
X74_157
X74_158
X74_160
X74_161
X74_162
X74_163
X74_164
X74_165S
SR8CLE
X74_168
X74_174
X74_194
X74_195
X74_195
X74_195
BUFT8
BUFT8
Obsolete
Obsolete
M2_1
M2_1
Obsolete
X74_273
FD8CE
Obsolete
X74_280
X74_283
X74_298
X74_352
Obsolete
Obsolete
Selection Guide
Existing
XC4000
Name
X74-377
X74-390
X74-518
X74-521
X74-540
X74-541
X74-577
X74-595
X74160D
X74160U
X74161D
X74161U
X74_162
ZHM4000
ZMX4000
ZX4000
ZXPAL
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
X74_377
X74_390
X74_518
X74_521
Obsolete
Obsolete
Obsolete
SR8CE
X74_160
X74_160
X74_161
X74_161
X74_163
Obsolete
Obsolete
Obsolete
Obsolete
2-61
Libraries Guide
2-62
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
Obsolete
NAND2
NOR2
INV
AND2
NAND3
AND3
NAND4
AND4
NOR3
NAND8
OR2
FDCP
FD
FJKCP
ADD4
X74_L85
XOR2
BUFE
X74_138
X74_139
X74_148
X74_150
X74_151
Selection Guide
Existing
XC7000
Name
PL153
PL157
PL161
PL163
PL164
PL166
PL191P
PL194
PL198P
PL240
PL244
PL266
PL298P
PL373P
PL374
PL374PZ
PL377
PL518P
PL869P
PLADD4
PLADD8
PLALU8
PLALU8H
PLAND2
PLAND3
PLAND4
PLAND8
PLBI
PLBI8
PLBUF
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
X74_153
X74_157
X74_161
X74_163
X74_164
Obsolete
CB4X2
SR4CLED
SR8RLED
Obsolete
BUFT4
XNOR2
X74_298
LD8
FD8
FD8
X74_377
X74_518
CB8X2
ADD4
ADD8
ACC8X1
ACC8X2
AND2
AND3
AND4
AND8
Obsolete
Obsolete
BUF
2-63
Libraries Guide
Existing
XC7000
Name
PLBUFT
PLBUFT4
PLCE
PLCEIO
PLCOMP8
PLCOMP8R
PLCTR4A
PLCTR4S
PLCTR8
PLCTR8T
PLDECOD2
PLDECOD3
PLDFF
PLDFF8
PLDFFE8
PLDFFEI
PLDFFEI8
PLDFFEIO
PLDFFI
PLDFFI8
PLDFFIO
PLDFFRSC
PLDFFT8
PLDLAT
PLDLAT8
PLDLATI
PLDLATI8
PLDLATIO
PLENCOD8
PLFCLKIO
2-64
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
BUFE
BUFT4
BUFCE
Obsolete
COMP8
Obsolete
X74_161
X74_163
CB8RLE
Obsolete
X74_139
X74_138
FD
FD8
X74_377
IFDX1
IFD8X1
Obsolete
IFD
IFD8
Obsolete
FDCP
FD8
LD
LD8
ILD
ILD8
Obsolete
X74_148
Obsolete
Selection Guide
Existing
XC7000
Name
PLFCOMP
PLFOE
PLFOEIO
PLFPLA48
PLFSTCLK
PLIN
PLIN8
PLIN8A
PLIO
PLIO8
PLJKFFC
PLMAG4
PLMAG8
PLMAG4R
PLMAG8R
PLMUX2
PLMUX4
PLMUX8
PLMUX16
PLMUX2R4
PLMUX2X4
PLMUX4X2
PLNAND2
PLNAND3
PLNAND4
PLNAND8
PLNOR2
PLNOR3
PLNOR4
PLNOR8
Libraries Guide
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
Obsolete
BUFFOE
Obsolete
PL48PIN
BUFG
IBUF
IBUF8
IBUF8
Obsolete
Obsolete
FJKCP
X74_L85
COMPM8
Obsolete
Obsolete
M2_1
M4_1E
X74_151
X74_150
X74_298
X74_157
X74_153
NAND2
NAND3
NAND4
NAND8
NOR2
NOR3
NOR4
NOR8
2-65
Libraries Guide
Existing
XC7000
Name
PLNOT
PLNOTT4
PLOR2
PLOR3
PLOR4
PLOR8
PLOUT
PLOUT8
PLOUT8A
PLOUTT
PLOUTT8
PLPLD9
PLPLD9F
PLSHIF4
PLSHIF4A
PLSHIF8
PLSHIF8I
PLSHIF8O
PLUPDN4
PLUPDN8
PLUPDN8T
PLXNOR2
PLXOR2
PLXOR3
PLXOR4
PLXOR5
PLXOR6
PLXOR7
PLXOR8
PLXOR9
2-66
Exact
Unified
Replacement
Closest
Unified
Replacement
Obsolete
INV
Obsolete
OR2
OR3
OR4
OR8
OBUF
OBUF8
OBUF8
OBUFEX1
OBUFE8X1
PLFB9
PLFFB9
SR4RLED
SR4CLED
SR8RLED
X74_164
Obsolete
CB4X2
CB8X2
Obsolete
XNOR2
XOR2
XOR3
XOR4
XOR5
XOR6
XOR7
XOR8
XOR9
Chapter 3
Design Elements
This chapter contains design elements for the XC2000, XC3000,
XC4000, and XC7000 architectures. The elements are organized in
alphanumeric order, with all numeric suffixes in ascending order.
ACC1
1-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
B0
ACC1
Q0
D0
L
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
ADD
CE
C
XC2000
CO
X3862
Load
When the load input (L) is High, CE is ignored and the data on the
input D0 is loaded into the 1-bit register.
3-1
Libraries Guide
Add
When control inputs ADD and CE are both High, the accumulator
adds a 1-bit word (B0) and carry-in (CI) to the contents of the 1-bit
register. The result is stored in the register and appears on output Q0
during the Low-to-High clock transition. The carry-out (CO) is not
registered synchronously with the data output. CO always reflects
the accumulation of input B0 and the contents of the register, which
allows cascading of ACC1s by connecting CO of one stage to CI of the
next stage. In add mode, CO acts as a carry-out, and CO and CI are
active-High.
Subtract
When ADD is Low and CE is High, the 1-bit word B0 and CI are
subtracted from the contents of the register. The result is stored in the
register and appears on output Q0 during the Low-to-High clock
transition. The carry-out (CO) is not registered synchronously with
the data output. CO always reflects the accumulation of input B0 and
the contents of the register, which allows cascading of ACC1s by
connecting CO of one stage to CI of the next stage. In subtract mode,
CO acts as a borrow, and CO and CI are active-Low.
Q0
CI
ADSU1
A0
CI
S0
B0
B0
CO
ADD
CO
ADD
S0
D0
L
M2_1
D0
D1
S0
FDCE
SD0
Q0
R_SD0
SD0
AND2B1
R_L_CE
CE
R
C
CE
CLR
Q0
OR3
GND
3-2
Design Elements
For the XC7000 EPLD architecture, the CO output is not valid during
load (L=High), during reset (R=High), or while CE is inactive (Low).
Also, the CI and CO pins are not implemented using the EPLD arithmetic carry path and should be used to cascade accumulators. Refer
to ACC1X1 and ACC1X2 for descriptions of cascadable EPLD
accumulators.
Libraries Guide
3-3
Libraries Guide
ACC1X1
1-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD
ACC1X1
B0
Q0
CO
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
D0
L
ADD
CE
C
X4240
Add
When control inputs ADD and CE are both High, the accumulator
adds a 1-bit word (B0) to the contents of the 1-bit register. The result is
stored in the register and appears on output Q0 during the Low-toHigh clock transition. In add mode, CO acts as a carry-out and is
active-High.
Subtract
When ADD is Low and CE is High, the 1-bit word B0 is subtracted
from the contents of the register. The result is stored in the register
and appears on output Q0 during the Low-to-High clock transition.
In subtract mode, CO acts as a borrow and is active-Low.
The CO output is passed into the EPLD carry chain, and therefore can
only be connected to the CI input of another EPLD-specific arithmetic
component. To generate a carry-out signal for general-purpose logic,
connect an ADD1X2 to the CO output of the accumulator and tie its A
3-4
Design Elements
and B inputs to GND; the S output becomes the carry-out. If a carryin is required from general-purpose logic, use an ACC1X2 for the
least-significant accumulator and connect an ADD1X1 to its CI input.
Then connect your carry-in signal to both the A and B inputs of the
ADD1X1 (the S output is not used) to generate a carry into the carry
chain for the first bit of the accumulator. The accumulator register is
initialized to zero when powered is applied or when the device
Master Reset input is activated. The clock (C) input can be driven by
either the EPLD FastCLK global net (represented by a BUFG symbol),
an ordinary input, or other on-chip logic.
Inputs
R
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
B0
X
X
X
B0
B0
Outputs
D0
X
D0
X
X
X
ADD
X
X
X
1
0
Q0
0
d
No Chg
q+b
q-b
CO
0
0
0
CO
CO
d, q, b = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-5
Libraries Guide
ACC1X2
1-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
B0
ACC1X2
Q0
CO
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
D0
L
ADD
CE
X4241
Add
When control inputs ADD and CE are both High, the accumulator
adds a 1-bit word (B0) and carry-in (CI) to the contents of the 1-bit
register. The result is stored in the register and appears on output Q0
during the Low-to-High clock transition. In add mode, CO acts as a
carry-out, and CO and CI are active-High.
Subtract
When ADD is Low and CE is High, the 1-bit word B0 and CI are
subtracted from the contents of the register. The result is stored in the
register and appears on output Q0 during the Low-to-High clock
transition. In subtract mode, CO acts as a borrow, and CO and CI are
active-Low.
The CI input is taken from the EPLD carry chain, and therefore, must
only be connected to the CO output of another EPLD-specific arithmetic component. The CO output is passed into the EPLD carry
chain, and can only be connected to the CI input of another
3-6
Design Elements
L
X
1
0
0
0
CE
X
X
0
1
1
B0
X
X
X
B0
B0
D0
X
D0
X
X
X
Outputs
CI
X
X
X
CI
CI
ADD
X
X
X
1
0
Q0
0
d
No Chg
q+b+ci
q-b-ci
CO
0
0
0
CO
CO
Libraries Guide
3-7
Libraries Guide
ACC4
4-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
B0
ACC4
B1
Q0
Q1
B2
Q2
B3
Q3
D0
CO
D1
OFL
D2
D3
L
ADD
CE
C
X3863
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Primitive*
ACC4 can add or subtract a 4-bit unsigned-binary or twos-complement word to or from the contents of a 4-bit data register and store
the results in the register. The register can be loaded with a 4-bit
word. In the XC4000 family, the accumulator is implemented using
carry logic and relative location constraints, which assure most efficient logic placement. The synchronous reset (R) has priority over all
other inputs, and when High, causes all outputs to go to logic level
zero. Clock (C) transitions are ignored when clock enable (CE) is Low.
The accumulator is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC3000) or global set/reset
(GSR for XC4000) is active. GR is active Low; the GSR active level is
programmable.
Load
When the load input (L) is High, CE is ignored and the data on inputs
D3 D0 is loaded into the 4-bit register.
3-8
Design Elements
Also, the CI and CO pins are not implemented using the EPLD
arithmetic carry path and should be used to cascade accumulators.
Refer to ACC1X1 and ACC1X2 for descriptions of cascadable
EPLD accumulators. The OFL output is not provided on the ACC4
symbol in XC7000.
Twos-Complement Operation
For twos-complement operation, ACC4 can represent numbers
between -8 and +7, inclusive. If an addition or subtraction operation
result exceeds this range, the OFL output goes High. The overflow
(OFL) is not registered synchronously with the data outputs. OFL
always reflects the accumulation of inputs B3 B0 and the contents of
the register, which allows cascading of ACC4s by connecting OFL of
one stage to CI of the next stage.
CO should be ignored in twos-complement operation.
Libraries Guide
3-9
Libraries Guide
XC4000 Topology
CO
OFL
A3B3
Q3
A2B2
Q2
A1B1
Q1
A0B0
Q0
CI
X3662
3-10
Design Elements
ACC4X1
4-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD
B0
ACC4X1
B1
Q0
Q1
XC2000
XC3000
XC4000
XC7000
B2
Q2
B3
Q3
N/A
N/A
N/A
Primitive*
D0
CO
D1
D2
D3
L
ADD
CE
C
X4244
Add
When control inputs ADD and CE are both High, the accumulator
adds a 4-bit word (B3 B0) to the contents of the 4-bit register. The
result is stored in the register and appears on outputs Q3 Q0 during
the Low-to-High clock transition. In add mode, CO acts as a carryout and is active-High.
Subtract
When ADD is Low and CE is High, the 4-bit word B3 B0 is
subtracted from the contents of the register. The result is stored in the
register and appears on outputs Q3 Q0 during the Low-to-High
clock transition. In subtract mode, CO acts as a borrow and is activeLow.
The CO output is passed into the EPLD carry chain, and therefore can
only be connected to the CI input of another EPLD-specific arithmetic
component. To generate a carry-out signal for general-purpose logic,
Libraries Guide
3-11
Libraries Guide
3-12
Design Elements
ACC4X2
4-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
B0
ACC4X2
B1
Q0
Q1
B2
Q2
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
B3
Q3
D0
CO
D1
D2
D3
L
ADD
CE
C
X4245
Add
When control inputs ADD and CE are both High, the accumulator
adds a 4-bit word (B3 B0) and carry-in (CI) to the contents of the
4-bit register. The result is stored in the register and appears on
outputs Q3 Q0 during the Low-to-High clock transition. In add
mode, CO acts as a carry-out, and CO and CI are active-High.
Subtract
When ADD is Low and CE is High, the 4-bit word B3 B0 and CI are
subtracted from the contents of the register. The result is stored in the
register and appears on outputs Q3 Q0 during the Low-to-High
clock transition. In subtract mode, CO acts as a borrow, and CO and
CI are active-Low.
The CI input is taken from the EPLD carry chain, and therefore must
only be connected to the CO output of another EPLD-specific arithmetic component. The CO output is passed into the EPLD carry chain
and can only be connected to the CI input of another EPLD-specific
Libraries Guide
3-13
Libraries Guide
arithmetic component. To generate a carry-out signal for generalpurpose logic, connect an ADD1X2 to the CO output of the accumulator and tie its A and B inputs to GND; the S output becomes the
carry-out.
The accumulator register is initialized to zero when power is applied
or when the device Master Reset pin is activated. The clock (C) input
can be driven by either the EPLD FastCLK global net (represented by
a BUFG symbol), an ordinary input, or other on-chip logic.
Refer to ACC1X2 for truth table derivation.
3-14
Design Elements
ACC8
8-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
ACC8
Q[7:0]
B[7:0]
CO
D[7:0]
OFL
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
L
ADD
CE
C
XC2000
X4374
ACC8 can add or subtract an 8-bit unsigned-binary or twos- complement word to or from the contents of an 8-bit data register and store
the results in the register. The register can be loaded with an 8-bit
word. In the XC4000 family, the accumulator is implemented using
carry logic and relative location constraints, which assure most efficient logic placement. The synchronous reset (R) has priority over all
other inputs, and when High, causes all outputs to go to logic level
zero. Clock (C) transitions are ignored when clock enable (CE) is Low.
The accumulator is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC3000) or global set/reset
(GSR for XC4000) is active. GR is active Low; the GSR active level is
programmable.
Load
When the load input (L) is High, CE is ignored and the data on inputs
D7 D0 is loaded into the 8-bit register.
Libraries Guide
3-15
Libraries Guide
Also, the CI and CO pins are not implemented using the EPLD
arithmetic carry path and should be used to cascade accumulators.
Refer to ACC8X1 and ACC8X2 for descriptions of cascadable
EPLD accumulators. The OFL output is not provided on the ACC8
symbol in XC7000.
Twos-Complement Operation
For twos-complement operation, ACC8 can represent numbers
between -128 and +127, inclusive. If an addition or subtraction operation result exceeds this range, the OFL output goes High. The overflow (OFL) is not registered synchronously with the data outputs.
OFL always reflects the accumulation of inputs B7 B0 and the
contents of the register, which allows cascading of ACC8s by
connecting OFL of one stage to CI of the next stage.
CO should be ignored in twos-complement operation.
3-16
Design Elements
XC4000 Topology
CO
OFL
A7B7
Q7
A6B6
Q6
A5B5
Q5
A4B4
Q4
A3B3
Q3
A2B2
Q2
A1B1
Q1
A0B0
Q0
CI
X3663
Libraries Guide
3-17
Libraries Guide
Q[7:0]
ADSU8
CI
A[7:0]
B[7:0]
ADD
CI
A[7:0]
S[7:0]
S[7:0]
B[7:0] OFL
OFL
ADD CO
CO
OFL
CO
D[7:0]
M2_1
S0
D0
D0
D1
S0
FDCE
SD0
R_SD0
D
CE
C
SD0
AND2B1
M2_1
S1
D1
D0
D1
S0
R_SD1
D
Q
CE
C
CLR
Q1
AND2B1
D0
D1
S0
FDCE
SD2
R_SD2
D
Q
CE
C
CLR
Q2
SD2
AND2B1
M2_1
S3
D3
D0
D1
S0
FDCE
SD3
R_SD3
D
Q
CE
C
CLR
Q3
SD3
AND2B1
M2_1
S4
D4
D0
D1
S0
FDCE
SD4
R_SD4
D
Q
CE
C
CLR
Q4
SD4
AND2B1
M2_1
S5
D5
D0
D1
S0
FDCE
SD5
R_SD5
D
Q
CE
C
CLR
Q5
SD5
AND2B1
M2_1
S6
D6
D0
D1
S0
FDCE
SD6
R_SD6
D
Q
CE
C
CLR
Q6
SD6
AND2B1
M2_1
S7
D7
L
CE
R
C
D0
D1
S0
FDCE
SD7
R_SD7
D
Q
CE
C
CLR
Q7
SD7
AND2B1
R_L_CE
Q0
CLR
Q0
FDCE
SD1
SD1
M2_1
S2
D2
Q1
Q2
Q3
Q4
Q5
Q6
Q7
OR3
GND
3-18
Design Elements
Q[7:0]
ADSU8
CI
CI
A[7:0]
B[7:0]
B[7:0]
ADD
ADD
S[7:0]
OFL
CO
OFL
CO
M2_1
D[7:0]
S0
D0
D0
D1
S0
O SD0
FDCE
R_SD0
D
Q
CE
C
CLR
SD0
AND2B1
M2_1
S1
D1
FMAP
R
S3
D3
L
I4
I3
I2
I1
R_SD3
S2
D2
D0
D1
S0
O SD2
SD2
D0
D1
S0
O SD3
SD3
R_SD1
S4
D4
D0
D1
S0
FMAP
I4
I3
I2
I1
R_SD3
R_SD4
R_SD0
D0
D1
S0
Q3
RLOC=R3C1.FFY
FDCE
D
Q
CE
C
CLR
Q4
RLOC=R2C1.FFX
FDCE
O SD5
R_SD5
D
Q
CE
C
CLR
SD5
AND2B1
RLOC=R4C1.F
M2_1
S6
D6
D0
D1
S0
O SD6
SD6
R_SD6
D0
D1
S0
O SD7
SD7
Q5
RLOC=R2C1.FFY
FDCE
D
Q
CE
C
CLR
AND2B1
M2_1
S7
D7
L
CE
R
D
Q
CE
C
CLR
AND2B1
M2_1
S5
D5
Q2
RLOC=R3C1.FFX
FDCE
AND2B1
O SD4
SD4
D
Q
CE
C
CLR
AND2B1
M2_1
RLOC=R4C1.G
R
S0
D0
L
R_SD2
M2_1
S3
D3
FMAP
I4
I3
I2
I1
D
Q
CE
C
CLR
Q1
RLOC=R4C1.FFY
FDCE
R_SD2
RLOC=R3C1.F
R
S1
D1
L
R_SD1
AND2B1
FMAP
I4
I3
I2
I1
O SD1
Q0
RLOC=R4C1.FFX
FDCE
SD1
M2_1
RLOC=R3C1.G
R
S2
D2
L
D0
D1
S0
R_SD7
Q6
RLOC=R1C1.FFX
FDCE
D
Q
CE
C
CLR
AND2B1
R_L_CE
OR3
Q0
Q1
FMAP
R
S7
D7
L
I4
I3
I2
I1
R_SD7
RLOC=R1C1.G
Q2
FMAP
R
S6
D6
L
I4
I3
I2
I1
R_SD6
Q3
RLOC=R1C1.F
FMAP
Q4
R
S5
D5
L
I4
I3
I2
I1
R_SD5
RLOC=R2C1.G
FMAP
Q5
R
S4
D4
L
I4
I3
I2
I1
R_SD4
RLOC=R2C1.F
Q6
Q7
Q7
RLOC=R1C1.FFY
C
ACC8.4K
GND
Libraries Guide
3-19
Libraries Guide
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q7
ADD1X1
B7
D7
L
ADD
CE
C
R
A0
CIS0
B0
CO
CI
B0
D0
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q0
B1
D1
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q1
B2
D2
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q2
B3
D3
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q3
B4
D4
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q4
B5
D5
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q5
B6
D6
L
ADD
CE
C
R
ACC1X2
CI
Q0
B0
CO
D0
L
ADD
CE
C R
Q6
Q7
Q0
ADD1X2
A0CI
S0
B0
CO
CO
GND
Q1
Q2
Q3
B0
B1
B2
B3
B4
B5
B6
B7
B[7:0]
D0
D1
D2
D3
D4
D5
D6
D7
D[7:0]
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q[7:0]
Q4
Q5
Q6
VCC ADD1X2
A0CI
S0
B0
CO
GND
ACC8.7K
CO6
3-20
Design Elements
ACC8X1
8-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD
ACC8X1
Q[7:0]
B[7:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
CO
D[7:0]
L
ADD
CE
C
X4246
Add
When control inputs ADD and CE are both High, the accumulator
adds an 8-bit word (B7 B0) to the contents of the 8-bit register. The
result is stored in the register and appears on outputs Q7 Q0 during
the Low-to-High clock transition. In add mode, CO acts as a carryout and is active-High.
Subtract
When ADD is Low and CE is High, the 8-bit word B7 B0 is
subtracted from the contents of the register. The result is stored in the
register and appears on outputs Q7 Q0 during the Low-to-High
clock transition. In subtract mode, CO acts as a borrow and is activeLow.
The CO output is passed into the EPLD carry chain, and therefore can
only be connected to the CI input of another EPLD-specific arithmetic
component. To generate a carry-out signal for general-purpose logic,
Libraries Guide
3-21
Libraries Guide
3-22
Design Elements
ACC8X2
8-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
ACC8X2
Q[7:0]
B[7:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
CO
D[7:0]
L
ADD
CE
C
X4247
Add
When control inputs ADD and CE are both High, the accumulator
adds an 8-bit word (B7 B0) and carry-in (CI) to the contents of the
8-bit register. The result is stored in the register and appears on
outputs Q7 Q0 during the Low-to-High clock transition. In add
mode, CO acts as a carry-out, and CO and CI are active-High.
Subtract
When ADD is Low and CE is High, the 8-bit word B7 B0 and CI are
subtracted from the contents of the register. The result is stored in the
register and appears on outputs Q7 Q0 during the Low-to-High
clock transition. In subtract mode, CO acts as a borrow, and CO and
CI are active-Low.
The CI input is taken from the EPLD carry chain, and therefore must
only be connected to the CO output of another EPLD-specific arithmetic component. The CO output is passed into the EPLD carry
chain, and therefore can only be connected to the CI input of another
Libraries Guide
3-23
Libraries Guide
3-24
Design Elements
ACC16
16-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
ACC16
Q[15:0]
B[15:0]
CO
D[15:0]
OFL
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
L
ADD
CE
C
XC2000
X4375
ACC16 can add or subtract a 16-bit unsigned-binary or twos-complement word to or from the contents of a 16-bit data register and store
the results in the register. The register can be loaded with a 16-bit
word. In the XC4000 family, the accumulator is implemented using
carry logic and relative location constraints, which assure most efficient logic placement. The synchronous reset (R) has priority over all
other inputs, and when High, causes all outputs to go to logic level
zero. Clock (C) transitions are ignored when clock enable (CE) is Low.
The accumulator is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC3000) or global set/reset
(GSR for XC4000) is active. GR is active Low; the GSR active level is
programmable.
Load
When the load input (L) is High, CE is ignored and the data on inputs
D15 D0 is loaded into the 16-bit register.
Libraries Guide
3-25
Libraries Guide
Also, the CI and CO pins are not implemented using the EPLD arithmetic carry path and should be used to cascade accumulators. Refer
to ACC8X1 and ACC8X2 for descriptions of cascadable EPLD
accumulators. The OFL output is not provided on the ACC16 symbol
in XC7000.
Twos-Complement Operation
For twos-complement operation, ACC16 can represent numbers
between -32768 and +32767, inclusive. If an addition or subtraction
operation result exceeds this range, the OFL output goes High. The
overflow (OFL) is not registered synchronously with the data
outputs. OFL always reflects the accumulation of inputs B15 B0 and
the contents of the register, which allows cascading of ACC16s by
connecting OFL of one stage to CI of the next stage.
CO should be ignored in twos-complement operation.
3-26
Design Elements
XC4000 Topology
CO
OFL
A 15 B 15
Q 15
A 14 B 14
Q 14
A 13 B 13
Q 13
A 12 B 12
Q 12
A 11 B 11
Q 11
A 10 B 10
Q 10
A9B9
Q9
A8B8
Q8
A7B7
Q7
A6B6
Q6
A5B5
Q5
A4B4
Q4
A3B3
Q3
A2B2
Q2
A1B1
Q1
A0B0
Q0
CI
X3664
Libraries Guide
3-27
Libraries Guide
ACC16X1
16-Bit Loadable Cascadable Accumulator with
Carry-Out and Synchronous Reset for EPLD
ACC16X1
B[15:0]
Q[15:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Macro*
CO
D[15:0]
L
ADD
CE
C
X4321
Add
When control inputs ADD and CE are both High, the accumulator
adds a 16-bit word (B15 B0) to the contents of the 16-bit register. The
result is stored in the register and appears on outputs Q15 Q0
during the Low-to-High clock transition. In add mode, CO acts as a
carry-out and is active-High.
Subtract
When ADD is Low and CE is High, the 16-bit word B15 B0 is
subtracted from the contents of the register. The result is stored in the
register and appears on outputs Q15 Q0 during the Low-to-High
clock transition. In subtract mode, CO acts as a borrow and is activeLow.
The CO output is passed into the EPLD carry chain, and therefore can
only be connected to the CI input of another EPLD-specific arithmetic
component. To generate a carry-out signal for general-purpose logic,
3-28
Design Elements
B[7:0]
B[7:0]
D[7:0]
L
ADD
CE
C
D[7:0]
B[15:0]
Q[15:0]
D[15:0]
S15_8
ACC8X2
Q[15:8]
B[15:8]
D[15:8]
L
ADD
CE
C
CI
B[7:0]
D[7:0]
L
ADD
CE
C
Q[7:0]
CO
CO
Libraries Guide
3-29
Libraries Guide
ACC16X2
16-Bit Loadable Cascadable Accumulator with
Carry-In, Carry-Out, and Synchronous Reset
CI
B[15:0]
ACC16X2
Q[15:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Macro*
CO
D[15:0]
L
ADD
CE
C
X4322
Add
When control inputs ADD and CE are both High, the accumulator
adds a 16-bit word (B15 B0) and carry-in (CI) to the contents of the
16-bit register. The result is stored in the register and appears on
outputs Q15 Q0 during the Low-to-High clock transition. In add
mode, CO acts as a carry-out, and CO and CI are active-High.
Subtract
When ADD is Low and CE is High, the 16-bit word B15 B0 and CI
are subtracted from the contents of the register. The result is stored in
the register and appears on outputs Q15 Q0 during the Low-toHigh clock transition. In subtract mode, CO acts as a borrow, and CO
and CI are active-Low.
The CI input is taken from the EPLD carry chain, and therefore must
only be connected to the CO output of another EPLD-specific arithmetic component. The CO output is passed into the EPLD carry
chain, and therefore can only be connected to the CI input of another
3-30
Design Elements
CI
Q[7:0]
B[7:0]
D[7:0]
B[15:0]
CI
B[7:0]
D[7:0]
L
ADD
CE
C
Q[7:0]
CO
Q[15:0]
D[15:0]
S15_8
ACC8X2
Q[15:8]
B[15:8]
D[15:8]
L
ADD
CE
C
Q[7:0]
CI
CO
B[7:0]
D[7:0]
L
ADD
CE
C
R
CO
Libraries Guide
3-31
Libraries Guide
ACLK
Alternate Clock Buffer
ACLK
X3883
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
N/A
N/A
An internal signal. To drive the ACLK buffer with an internal signal, connect that signal directly to the input of the ACLK element.
3-32
Design Elements
ADD1
1-Bit Full Adder with Carry-In and Carry-Out
CI
A0
S0
B0
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
ADD1, a cascadable 1-bit full adder with carry-in and carry-out, adds
two 1-bit words (A and B) and a carry-in (CI), producing a binary
sum (S0) output and a carry-out (CO). For XC7000 cascadable adders,
refer to ADD1X1 and ADD1X2.
Inputs
Outputs
A0
B0
CI
S0
CO
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
A0
B0
AB0
AND2
A0CI
CI
AND2
B0CI
OR3
AND2
S0
CO
XOR3
Libraries Guide
3-33
Libraries Guide
ADD1X1
1-Bit Cascadable Full Adder with Carry-Out for EPLD
A0
S0
B0
CO
X4224
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
3-34
Design Elements
ADD1X2
1-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD
CI
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
A0
S0
B0
Libraries Guide
3-35
Libraries Guide
ADD4
4-Bit Cascadable Full Adder with Carry-In, Carry-Out,
and Overflow
CI
A0
A1
A2
A3
B0
B1
B2
B3
ADD4
S0
S1
S2
S3
OFL
CO
X4376
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
3-36
Design Elements
Twos-Complement Operation
For twos-complement operation, ADD4 can represent numbers
between -8 and +7, inclusive. OFL is active (High) when the sum
exceeds the bounds of the adder.
CO is ignored in twos-complement operation.
XC4000 Topology
CO
OFL
A3B3
S3
A2B2
S2
A1B1
S1
A0B0
S0
CI
X3665
Libraries Guide
3-37
Libraries Guide
ADD4X1
4-Bit Cascadable Full Adder with Carry-Out for EPLD
A0
A1
A2
A3
B0
B1
B2
B3
S0
S1
S2
S3
CO
X4232
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
3-38
Design Elements
ADD4X2
4-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD
CI
A0
A1
A2
A3
B0
B1
B2
B3
S0
S1
S2
S3
CO
X4233
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
Libraries Guide
3-39
Libraries Guide
ADD8
8-Bit Cascadable Full Adder with Carry-In, Carry-Out,
and Overflow
CI
A[7:0]
S[7:0]
B[7:0]
OFL
CO
X4377
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
3-40
Design Elements
Twos-Complement Operation
For twos-complement operation, ADD8 can represent numbers
between -128 and +127, inclusive. OFL is active (High) when the sum
exceeds the bounds of the adder.
CO is ignored in twos-complement operation.
XC4000 Topology
CO
OFL
A7B7
S7
A6B6
S6
A5B5
S5
A4B4
S4
A3B3
S3
A2B2
S2
A1B1
S1
A0B0
S0
CI
X3666
Libraries Guide
3-41
Libraries Guide
S[7:0]
CI
A0
B0
A4
B4
AB0
AND2
AND2
B0CI
AND2
OR3
AND2
B1C0
B5C4
S5
XOR3
A6
B6
AB2
AND2
B2C1
AND2
OR3
B6C5
OR3
S6
XOR3
A7
B7
AB3
B3C2
AB7
AND2
C3
A3C2
AND2
OR3
S3
A7C6
B7C6
OR3
AND2
S7
XOR3
A[7:0]
B[7:0]
C6
A6C5
AND2
S2
XOR3
XOR3
AB6
AND2
C2
A2C1
AND2
AND2
OR3
AND2
S1
A2
B2
AND2
C5
A5C4
AND2
OR3
XOR3
AND2
AB5
AND2
C1
A1C0
AND2
A3
B3
OR3
S4
A5
B5
AB1
AND2
B4C3
XOR3
A1
B1
AND2
C4
A4C3
AND2
S0
XOR3
AND2
AB4
AND2
C0
A0CI
CO
AXB
XNOR2
OFL
AABXS
AAB
AND2
AND2
XOR2
3-42
Design Elements
FMAP
OOR1
RLOC=R0C0
CY4
AND2
OOR2
COUT
B1 (G1)
A1 (G4)
AND2
COUT0
B0 (F2)
A0 (F1)
OOR3
OR3
CARRY MODE
AND2
EXAMINE-CI
C7_M
CY4_42
B7
A7
AND2
OFL
RLOC=R0C0.G
COR1
CIN
OFL
AND2
ADD (F3)
I4
I3
I2
I1
B7
A7
C7
XOR2
CO
COR2
COR3
OR3
FMAP
AND2
B7
A7
C7
I4
I3
I2
I1
CO
RLOC=R0C0.F
C7
RLOC=R1C0
CY4
B7
A7
B6
A6
FMAP
S7
XOR3
COUT
B1 (G1)
B7
A7
C6
C6
COUT0
A1 (G4)
S[7:0]
S7
B0 (F2)
A0 (F1)
ADD (F3)
I4
I3
I2
I1
S7
RLOC=R1C0.G
CARRY MODE
FMAP
ADDSUB-F-CI
C5
CY4_12
S6
B6
A6
C5
S6
XOR3
I4
I3
I2
I1
S6
RLOC=R1C0.F
S5
RLOC=R2C0
CY4
B5
A5
B4
A4
B1 (G1)
A1 (G4)
COUT
S5
XOR3
FMAP
C4
B5
A5
C4
COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
I4
I3
I2
I1
S5
O
RLOC=R2C0.G
CIN
FMAP
ADDSUB-FG-CI
C3
CY4_13
S4
S4
XOR3
B4
A4
C3
B3
A3
B2
A2
S3
XOR3
COUT
B1 (G1)
A1 (G4)
COUT0
S4
FMAP
C2
B3
A3
C2
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
RLOC=R2C0.F
S3
RLOC=R3C0
CY4
I4
I3
I2
I1
CIN
I4
I3
I2
I1
S3
O
RLOC=R3C0.G
FMAP
ADDSUB-FG-CI
C1
CY4_13
S2
S2
XOR3
B2
A2
C1
I4
I3
I2
I1
S2
S1
RLOC=R3C0.F
RLOC=R4C0
CY4
B1
A1
B0
A0
B1 (G1)
COUT
A1 (G4)
COUT0
S1
XOR3
C0
FMAP
B0 (F2)
B1
A1
C0
A0 (F1)
ADD (F3)
CARRY MODE
CIN
I4
I3
I2
I1
S1
O
RLOC=R4C0.G
ADDSUB-FG-CI
C_IN
CY4_13
A[7:0]
B[7:0]
CI
RLOC=R5C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
FMAP
S0
S0
XOR3
B0
A0
C_IN
I4
I3
I2
I1
S0
RLOC=R4C0.F
CIN
FORCE-F1
CY4_39
X4333
Libraries Guide
3-43
Libraries Guide
ADD8X1
8-Bit Loadable Cascadable Full Adder with Carry-Out
for EPLD
A[7:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
S[7:0]
B[7:0]
CO
X4236
3-44
Design Elements
ADD8X2
8-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD
CI
A[7:0]
S[7:0]
B[7:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
Libraries Guide
3-45
Libraries Guide
ADD16
16-Bit Cascadable Full Adder with Carry-In,
Carry-Out, and Overflow
CI
A[15:0]
S[15:0]
B[15:0]
OFL
CO
X4378
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
3-46
Design Elements
Twos-Complement Operation
For twos-complement operation, ADD16 can represent numbers
between -32768 and +32767, inclusive. OFL is active (High) when the
sum exceeds the bounds of the adder.
CO is ignored in twos-complement operation.
XC4000 Topology
CO
OFL
A 15 B 15
S 15
A 14 B 14
S 14
A 13 B 13
S 13
A 12 B 12
S 12
A 11 B 11
S 11
A 10 B 10
S 10
A9B9
S9
A8B8
S8
A7B7
S7
A6B6
S6
A5B5
S5
A4B4
S4
A3B3
S3
A2B2
S2
A1B1
S1
A0B0
S0
CI
X3667
Libraries Guide
3-47
Libraries Guide
ADD1X1
A0
CI
S0
CI0
B0
CO
S7_0
ADD8X2
A[7:0]
CI
A[7:0]
S[7:0]
S[7:0]
B[7:0]
B[7:0]
CO
A[15:0]
S[15:0]
B[15:0]
S15_8
ADD8X2
A[15:8]
CI
A[7:0]
B[7:0]
A15
S[15:8]
S[7:0]
B[15:8]
CO
S15
B15
OFL_POS
OFL_OUT
OFL
AND3B2
OR2
AND3B1
OFL_NEG
CO15
ADD1X2
A0
CI
S0
B0
CO
CO
GND
3-48
Design Elements
ADD16X1
16-Bit Cascadable Full Adder with Carry-Out for
EPLD
A[15:0]
S[15:0]
B[15:0]
CO
X4317
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Macro*
Libraries Guide
3-49
Libraries Guide
S7_0
ADD8X1
A[7:0]
A[7:0]
S[7:0]
S[7:0]
B[7:0]
B[7:0]
CO
A[15:0]
S[15:0]
B[15:0]
S15_8
ADD8X2
A[15:8]
CI
A[7:0]
S[15:8]
S[7:0]
B[15:8]
B[7:0]
CO
CO
3-50
Design Elements
ADD16X2
16-Bit Cascadable Full Adder with Carry-In and
Carry-Out for EPLD
CI
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Macro*
A[15:0]
S[15:0]
B[15:0]
CI
A[7:0]
CI
A[7:0]
S[7:0]
S[7:0]
B[7:0]
B[7:0]
CO
A[15:0]
S[15:0]
B[15:0]
S15_8
ADD8X2
A[15:8]
CI
A[7:0]
S[15:8]
S[7:0]
B[15:8]
B[7:0]
CO
CO
Libraries Guide
3-51
Libraries Guide
ADSU1
1-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out
CI
A0
S0
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
B0
ADD
CO
X4035
When the ADD input is High, two 1-bit words (A0 and B0) are added
with a carry-in (CI), producing a 1-bit output (S0) and a carry-out
(CO). When the ADD input is Low, B0 is subtracted from A0,
producing a result (S0) and borrow (CO). In add mode, CO represents
a carry-out, and CO and CI are active-High. In subtract mode, CO
represents a borrow, and CO and CI are active-Low. Refer to
ADSU1X1 and ADSU1X2 for cascadable EPLD symbols.
Inputs
Outputs
A0
B0
CI
S0
CO
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
3-52
Design Elements
Inputs
Outputs
A0
B0
CI
S0
CO
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
1
A0
B0
A0_0
AND2B1
OR2B1
OR2
A1_0
SUB_C0
A1CI
A2_0
AND2
A3_0
AND2
OR2
A2CI
M2_1
D0
D1
S0
CO
CO
ADD_C0
OR2
AND2
Libraries Guide
3-53
Libraries Guide
ADSU1X1
1-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD
A0
S0
B0
ADD
CO
X4226
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
3-54
Design Elements
ADSU1X2
1-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD
CI
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
A0
S0
B0
ADD
Libraries Guide
3-55
Libraries Guide
ADSU4
4-Bit Cascadable Adder/Subtracter with Carry-In,
Carry-Out, and Overflow
CI
A0
A1
A2
A3
B0
B1
B2
B3
ADD
X4379
S0
S1
S2
S3
OFL
CO
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
3-56
Design Elements
Overflow
-127
127
128
127
Y
ED BI NAR
IGN
SI
CO
MP
AR
NS
ENT OR S
I GN
ED BIN
MPL E M E N T OR
SIGN
CO
UN
LEM
OS
ED
TW
TW
Carry-Out
ED
-1
255
X4720
Twos-Complement Operation
For twos-complement operation, ADSU4 can represent numbers
between -8 and +7, inclusive. If an addition or subtraction operation
result exceeds this range, the OFL output goes High.
CO is ignored in twos-complement operation.
Libraries Guide
3-57
Libraries Guide
XC4000 Topology
CO
OFL
A3B3
S3
A2B2
S2
A1B1
S1
A0B0
S0
CI
X3668
3-58
Design Elements
ADSU4X1
4-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD
A0
A1
A2
A3
B0
B1
B2
B3
ADD
S0
S1
S2
S3
CO
X4234
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
Libraries Guide
3-59
Libraries Guide
ADSU4X2
4-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD
CI
A0
A1
A2
A3
B0
B1
B2
B3
ADD
S0
S1
S2
S3
CO
X4235
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
3-60
Design Elements
ADSU8
8-Bit Cascadable Adder/Subtracter with Carry-In,
Carry-Out, and Overflow
CI
A[7:0]
S[7:0]
B[7:0]
ADD
OFL
CO
X4380
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
Libraries Guide
3-61
Libraries Guide
Overflow
-127
127
128
127
Y
ED BI NAR
IGN
SI
CO
MP
AR
NS
ENT OR S
I GN
ED BIN
MPL E M E N T OR
SIGN
CO
UN
LEM
OS
ED
TW
TW
Carry-Out
ED
-1
255
X4720
Twos-Complement Operation
For twos-complement operation, ADSU8 can represent numbers
between -128 and +127, inclusive. If an addition or subtraction operation result exceeds this range, the OFL output goes High.
CO is ignored in twos complement operation.
3-62
Design Elements
XC4000 Topology
CO
OFL
A7B7
S7
A6B6
S6
A5B5
S5
A4B4
S4
A3B3
S3
A2B2
S2
A1B1
S1
A0B0
S0
CI
X3669
Libraries Guide
3-63
Libraries Guide
S[7:0]
ADD
CI
S0
A0
B0
XNOR4
A0_0
AND2B1 A1_0
OR2B1 A2_0
OR2
A3_0
SUB_C0
A1CI
AND2
OR2
A2CI
AND2
M2_1
D0
D1
S0
S4
A4
B4
XNOR4
A0_4
AND2B1 A1_4
O C0
OR2B1 A2_4
C0
ADD_C0
OR2
OR2
A3_4
AND2
M2_1
SUB_C4
A1C3
D0
D1
S0
OR2
A2C3
AND2
O C4
C4
ADD_C4
OR2
AND2
AND2
S5
S1
A1
B1
XNOR4
A0_1
AND2B1
A1_1
OR2B1
OR2
A2_1
A3_1
SUB_C1
A1C0
AND2
OR2
A2C0
AND2
A5
B5
M2_1
D0
D1
S0
ADD_C1
XNOR4
A0_5
AND2B1 A1_5
O C1
OR2B1 A2_5
C1
OR2
OR2
AND2
A3_5
M2_1
SUB_C5
A1C4
AND2
D0
D1
S0
OR2
A2C4
AND2
O C5
C5
ADD_C5
OR2
AND2
S2
A2
B2
XNOR4
A0_2
AND2B1
A1_2
OR2B1
OR2
A2_2
A3_2
SUB_C2
A1C1
AND2
OR2
A2C1
A6
B6
M2_1
D0
D1
S0
S6
A0_6
AND2B1 A1_6
O C2
OR2B1 A2_6
C2
OR2
AND2
A3_6
M2_1
SUB_C6
A1C5
AND2
ADD_C2
OR2
AND2
XNOR4
D0
D1
S0
OR2
A2C5
AND2
ADD_C6
O C6
C6
OR2
AND2
S7
S3
A3
B3
XNOR4
A0_3
AND2B1
A1_3
OR2B1
OR2
A[7:0]
AND2
A2_3
A3_3
SUB_C3
A1C2
AND2
AND2
OR2
A2C2
M2_1
D0
D1
S0
O C3
C3
A7
B7
XNOR4
A0_7
AND2B1A1_7
OR2B1 A2_7
ADD_C3
OR2
OR2
A3_7
AND2
M2_1
SUB_CO
A1C6
AND2
D0
D1
S0
OR2
A2C6
ADD_CO
CO
CO
OR2
AND2
B_M
B[7:0]
XNOR2
AXB
XNOR2
OFL
AABXS
AAB
AND2
XOR2
AND2
3-64
Design Elements
FMAP
OFOR1
A7
B7
B7_M1
ADD
B7
A7
C7_M
AND2
OFOR2
XNOR2
B7
AND2
OFOR3
OR3
B7_M2
COR1
RLOC=R0C0
CY4
COUT0
AND2
CO
COR2
C7_M
B0 (F2)
A0 (F1)
AND2
FMAP
COR3
OR3
ADD
B7
A7
C7_M
AND2
ADD (F3)
CARRY MODE
CIN
EXAMINE-CI
OFL
S[7:0]
FMAP
S7
XNOR4
CY4
COUT
B1 (G1)
RLOC=R0C0.F
S7
ADD
B7
A7
C6
C6
COUT0
A1 (G4)
I4
I3
I2
I1
C7
CY4_42
B7
A7
B6
A6
CO
XOR2
COUT
B1 (G1)
A1 (G4)
RLOC=R0C0.G
OFL
AND2
XNOR2
I4
I3
I2
I1
B0 (F2)
A0 (F1)
ADD
I4
I3
I2
I1
S7
RLOC=R1C0.G
CARRY MODE
FMAP
C5
ADDSUB-F-CI
CY4_12
S6
ADD
B6
A6
C5
S6
XNOR4
B5
A5
B4
A4
B1 (G1)
A1 (G4)
COUT
S6
FMAP
ADD
B5
A5
C4
C4
COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
RLOC=R1C0.F
S5
S5
XNOR4
CY4
I4
I3
I2
I1
I4
I3
I2
I1
S5
O
RLOC=R2C0.G
CIN
FMAP
C3
ADDSUB-FG-CI
CY4_13
S4
S4
XNOR4
ADD
B4
A4
C3
S3
B3
A3
B2
A2
COUT
B1 (G1)
A1 (G4)
COUT0
ADD
B3
A3
C2
CIN
S2
S2
XNOR4
ADD
B2
A2
C1
S1
B1 (G1)
COUT
COUT0
S2
RLOC=R3C0.F
C0
FMAP
ADD
B1
A1
C0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
I4
I3
I2
I1
S1
XNOR4
CY4
A1 (G4)
S3
O
FMAP
CY4_13
B1
A1
B0
A0
I4
I3
I2
I1
RLOC=R3C0.G
C1
ADDSUB-FG-CI
S4
FMAP
C2
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
RLOC=R2C0.F
S3
XNOR4
CY4
I4
I3
I2
I1
CIN
I4
I3
I2
I1
S1
O
RLOC=R4C0.G
FMAP
C_IN
ADDSUB-FG-CI
CY4_13
A[7:0]
B[7:0]
ADD
CI
S0
S0
XNOR4
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
ADD
B0
A0
C_IN
I4
I3
I2
I1
S0
RLOC=R4C0.F
CIN
X4280
FORCE-F1
CY4_39
Libraries Guide
3-65
Libraries Guide
ADSU8X1
8-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD
A[7:0]
S[7:0]
B[7:0]
ADD
CO
X4238
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
3-66
Design Elements
ADSU8X2
8-Bit Cascadable Adder/Subtracter with Carry-In and
Carry-Out for EPLD
CI
A[7:0]
S[7:0]
B[7:0]
ADD
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
Libraries Guide
3-67
Libraries Guide
ADSU16
16-Bit Cascadable Adder/Subtracter with Carry-In,
Carry-Out, and Overflow
CI
A[15:0]
S[15:0]
B[15:0]
ADD
X4381
OFL
CO
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Macro*
3-68
Design Elements
Overflow
-127
127
128
127
Y
ED BI NAR
IGN
SI
CO
MP
AR
NS
ENT OR S
I GN
ED BIN
MPL E M E N T OR
SIGN
CO
UN
LEM
OS
ED
TW
TW
Carry-Out
ED
-1
255
X4720
Twos-Complement Operation
For twos-complement operation, ADSU16 can represent numbers
between -32768 and +32767, inclusive. If an addition or subtraction
operation result exceeds this range, the OFL output goes High.
CO is ignored in twos-complement operation.
Libraries Guide
3-69
Libraries Guide
XC4000 Topology
CO
OFL
A 15 B 15
S 15
A 14 B 14
S 14
A 13 B 13
S 13
A 12 B 12
S 12
A 11 B 11
S 11
A 10 B 10
S 10
A9B9
S9
A8B8
S8
A7B7
S7
A6B6
S6
A5B5
S5
A4B4
S4
A3B3
S3
A2B2
S2
A1B1
S1
A0B0
S0
CI
X3670
3-70
Design Elements
ADD1X1
A0
CI
S0
CI0
B0
CO
S7_0
ADSU8X2
A[7:0]
CI
A[7:0]
S[7:0]
S[7:0]
B[7:0]
B[7:0]
ADD CO
A[15:0]
S[15:0]
S15
B[15:0]
OFL_POS_ADD
S15_8
ADSU8X2
AND4B2
A[15:8]
CI
A[7:0]
B[15:8]
S[7:0]
B[7:0]
CO
ADD
OFL_NEG_ADD
S[15:8]
OFL_OUT
AND4B1
B15
OFL
OR4
A15
AND4B2
ADD
OFL_POS_SUB
CO15
ADD1X2
A0
CI
S0
B0
CO
CO
AND4B3
OFL_NEG_SUB
GND
Libraries Guide
3-71
Libraries Guide
ADSU16X1
16-Bit Cascadable Adder/Subtracter with Carry-Out
for EPLD
A[15:0]
S[15:0]
B[15:0]
ADD
CO
X4319
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Macro*
3-72
Design Elements
S7_0
ADSU8X1
A[7:0]
A[7:0]
B[7:0]
S[7:0]
S[7:0]
B[7:0]
ADD CO
A[15:0]
S[15:0]
B[15:0]
S15_8
ADSU8X2
A[15:8]
B[15:8]
CI
A[7:0]
S[15:8]
S[7:0]
B[7:0]
ADD CO
ADD
CO
Libraries Guide
3-73
Libraries Guide
ADSU16X2
16-Bit Cascadable Adder/Subtracter with Carry-In
and Carry-Out for EPLD
CI
A[15:0]
S[15:0]
B[15:0]
ADD
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Macro*
3-74
Design Elements
S7_0
ADSU8X2
CI
A[7:0]
CI
A[7:0]
S[7:0]
S[7:0]
B[7:0]
B[7:0]
ADD CO
A[15:0]
S[15:0]
B[15:0]
S15_8
ADSU8X2
A[15:8]
B[15:8]
CI
A[7:0]
S[15:8]
S[7:0]
B[7:0]
ADD CO
ADD
CO
Libraries Guide
3-75
Libraries Guide
AND
2- to 9-Input AND Gates with Inverted and
Non-Inverted Inputs
Name
AND2 AND4B4
AND5 AND5B5
AND6, AND7, AND8, AND9
XC2000
Primitive
Macro
Macro
XC3000
Primitive
Primitive
Macro
XC4000
Primitive
Primitive
Macro
XC7000
Primitive
Primitive
Primitive
3-76
Design Elements
AND2
AND3
AND4
AND5
AND5B4
AND2B1
AND6
AND3B1
AND8
AND4B1
AND2B2
AND3B2
AND5B1
AND5B5
AND4B2
AND7
AND3B3
AND4B3
AND5B2
AND9
AND4B4
AND5B3
Libraries Guide
3-77
Libraries Guide
BRLSHFT4
4-Bit Barrel Shifter
I0
I1
BRLSHFT4
O0
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Primitive
O1
I2
O2
I3
O3
S0
S1
X3856
BRLSHFT4, a 4-bit barrel shifter, can rotate four inputs (I3 I0) up to
four places. The control inputs (S1 and S0) determine the number of
positions, from one to four that the data is rotated. The four outputs
(O3 O0) reflect the shifted data inputs.
Inputs
3-78
Outputs
S1
S0
I0
I1
I2
I3
O0
O1
O2
O3
0
0
1
1
0
1
0
1
a
a
a
a
b
b
b
b
c
c
c
c
d
d
d
d
a
b
c
d
b
c
d
a
c
d
a
b
d
a
b
c
Design Elements
BRLSHFT8
8-Bit Barrel Shifter
I0
I1
BRLSHFT8
O0
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Primitive
O1
I2
O2
I3
O3
I4
O4
I5
O5
I6
O6
I7
O7
BRLSHFT8, an 8-bit barrel shifter, can rotate the eight inputs, I7 I0,
up to eight places. The control inputs (S2 S0) determine the number
of positions, from one to eight that the data is rotated. The eight
outputs (O7 O0) reflect the shifted data inputs.
S0
S1
S2
X3857
Inputs
S2 S1 S0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Libraries Guide
I0
a
a
a
a
a
a
a
a
I1
b
b
b
b
b
b
b
b
I2
c
c
c
c
c
c
c
c
Output
I3
d
d
d
d
d
d
d
d
I4
e
e
e
e
e
e
e
e
I5
f
f
f
f
f
f
f
f
I6
g
g
g
g
g
g
g
g
I7
h
h
h
h
h
h
h
h
O0 O1 O2 O3 O4 O5 O6 O7
a
b
c
d
e
f
g
h
b
c
d
e
f
g
h
a
c
d
e
f
g
h
a
b
d
e
f
g
h
a
b
c
e
f
g
h
a
b
c
d
f
g
h
a
b
c
d
e
g
h
a
b
c
d
e
f
h
a
b
c
d
e
f
g
3-79
Libraries Guide
I0
I1
I2
I3
I4
I5
I6
I7
S0
S1
S2
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
M2_1
O M01
M01
D0
D1
S0
M2_1
O M12
M12
D0
D1
S0
M2_1
O M23
M23
D0
D1
S0
M2_1
O M34
M34
D0
D1
S0
M2_1
O M45
M45
D0
D1
S0
M2_1
O M56
M56
D0
D1
S0
M2_1
O M67
M67
D0
D1
S0
M2_1
O M70
M70
D0
D1
S0
M2_1
O MO0
MO0
D0
D1
S0
M2_1
O MO1
MO1
D0
D1
S0
M2_1
O MO2
MO2
D0
D1
S0
M2_1
O MO3
MO3
D0
D1
S0
M2_1
O MO4
MO4
D0
D1
S0
M2_1
O MO5
MO5
D0
D1
S0
M2_1
O MO6
MO6
D0
D1
S0
M2_1
O MO7
MO7
D0
D1
S0
M2_1
O
O0
O0
M2_1
O
O1
O1
M2_1
O
O2
O2
M2_1
O
O3
O3
M2_1
O
O4
O4
M2_1
O
O5
O5
M2_1
O
O6
O6
M2_1
O
O7
O7
3-80
Design Elements
BSCAN
Boundary Scan Logic Control Circuit
TDI
BSCAN
TDO
TMS
DRCK
TCK
TDO1
IDLE
SEL1
TDO2
SEL2
X3910
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
From
User
Logic
TDI
TMS
TCK
TDO1
TDO2
BSCAN
TDO
DRCK
IDLE
SEL 1
SEL 2
To
User
Logic
X4323
Libraries Guide
3-81
Libraries Guide
X3830
BUF4
X4614
XC2000
Primitive
N/A
XC3000
Primitive
N/A
XC4000
Primitive
N/A
XC7000
Primitive
Primitive
BUF8
X4615
BUF16
X4616
3-82
Design Elements
BUFCE
Global Clock-Enable Buffer for EPLD
X4209
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
BUFCE, an EPLD-specific global buffer, distributes global clockenable signals throughout the input-pad registers of an EPLD device.
Global clock-enable pins are available on most XC7300 series devices;
consult device data sheets for applicability.
BUFCE always acts as an input buffer. To use it in a schematic,
connect the input of the BUFCE symbol to an IPAD or an IOPAD that
represents the clock-enable signal source. Clock-enable signals generated on-chip must be passed through an OBUF-type buffer before
they are connected to a BUFCE. The output of a BUFCE can only be
connected to the CE input of an EPLD-specific input-pad register
symbol, IFDX1. Each BUFCE can drive any number of IFDX1 registers in a design. The CE input of IFDX1 is active-Low and cannot be
inverted.
Libraries Guide
3-83
Libraries Guide
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
Primitive
X3790
BUFE4
E
X3797
BUFE8
E
X3809
BUFE16
E
I
X3821
O
BUFT
X4716
3-84
Design Elements
Inputs
Outputs
0
1
1
X
1
0
Z
1
0
O[7:0]
E
I0
O0
E
BUFE
BUFE
BUFE
BUFE
BUFE
BUFE
BUFE
I1
O1
I2
O2
I3
O3
I4
O4
I5
O5
I6
O6
I7
I[7:0]
O7
BUFE
Libraries Guide
3-85
Libraries Guide
BUFFOE
Global Fast Output Enable Buffer for EPLD
X4210
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
BUFFOE, an EPLD-specific global buffer, distributes global outputenable signals throughout the output pad drivers of an EPLD device.
Global Fast Output Enable (FOE) pins are available on most XC7000
architecture devices; consult device data sheets for applicability.
BUFFOE always acts as an input buffer. To use it in a schematic,
connect the input of the BUFFOE symbol to an IPAD or an IOPAD
representing the FOE signal source. FOE signals generated on-chip
must be passed through an OBUF-type buffer before they are
connected to the BUFFOE. The output of a BUFFOE can only connect
to the E input of an EPLD-specific 3-state output buffer symbol,
OBUFEX1. Each BUFFOE can drive any number of OBUFEX1 buffers
in a design. The E input of OBUFEX1 is active-High and cannot be
inverted.
3-86
Design Elements
BUFG
Global Clock Buffer
X3831
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
Primitive
Primitive
Libraries Guide
3-87
Libraries Guide
BUFGP
Primary Global Buffer for Driving Clocks or
Longlines (Four per PLD Device)
X3902
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
Primitive
3-88
Design Elements
A BUFGP can be sourced by an internal signal, but PPR must use the
dedicated IOB to drive the BUFGP, which means that the IOB is not
available for use by other signals. If possible, use a BUFGS instead,
because they can be sourced internally without using an IOB.
The dedicated inputs for BUFGPs are identified by the names PGCK1
through PGCK4 in XC4000 pinouts. The package pin that drives the
BUFGP depends on which corner the BUFGP is placed by PPR.
Libraries Guide
3-89
Libraries Guide
BUFGS
Secondary Global Buffer for Driving Clocks or
Longlines (Four per PLD Device)
X3904
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
Primitive
3-90
Design Elements
The dedicated inputs for BUFGSs are identified by the names SGCK1
through SGCK4 in XC4000 pinouts. The package pin that drives the
BUFGS depends on which corner the BUFGS is placed by PPR.
Libraries Guide
3-91
Libraries Guide
BUFOD
Open-Drain Buffer
X3903
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
BUFOD is a buffer with input (I) and open-drain output (O). When
the input is Low, the output is Low. When the input is High, the
output is off. To establish an output High level, a pull-up resistors is
tied to output O. One pull-up resistor uses the least power; two pullup resistors achieve the fastest Low-to-High speed.
To indicate two pull-up 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.
I
O
WAND1
3-92
Design Elements
XC2000
N/A
N/A
BUFT
BUFT4, BUFT8, BUFT16
BUFT
T
X3789
BUFT4
XC3000
Primitive
Macro
XC4000
Primitive
Macro
XC7000
Primitive
Primitive
X3796
BUFT8
T
Inputs
Outputs
1
0
0
X
1
0
Z
1
0
X3808
BUFT16
T
X3820
Libraries Guide
3-93
Libraries Guide
O[7:0]
T
I0
O0
T
BUFT
BUFT
BUFT
BUFT
BUFT
BUFT
I1
O1
O2
I2
I3
O3
I4
O4
I5
O5
I6
O6
T
BUFT
I7
I[7:0]
O7
BUFT
3-94
Design Elements
CB2CE
2-Bit Cascadable Binary Counter with Clock Enable
and Asynchronous Clear
CB2CE
Q0
Q1
CE
CEO
TC
CLR
X4353
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
3-95
Libraries Guide
Inputs
Outputs
CLR
CE
Q1 Q0
TC
CEO
1
0
0
X
0
1
X
X
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q1Q0)
CEO = (TCCE)
3-96
Design Elements
CB2CLE
2-Bit Loadable Cascadable Binary Counter with
Clock Enable and Asynchronous Clear
D0
D1
CB2CLE
Q0
Q1
L
CE
C
CLR
CEO
TC
X4354
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CB2CLE is a 2-stage, 2-bit, synchronous, loadable, clearable, cascadable binary counter. The asynchronous clear (CLR) is the highest
priority input. When CLR is High, all other inputs are ignored and
data (Q1 Q0) and terminal count (TC) outputs go to logic level zero
on the Low-to-High clock (C) transition. The data on the D1 D0
inputs is loaded into the counter when the load enable input (L) is
High during the Low-to-High clock transition, independent of the
state of clock enable (CE). The outputs (Q1 Q0) increment when CE
is High during the Low-to-High clock transition. The counter ignores
clock transitions when CE is Low. The TC output is High when both
Q outputs are High.
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the C, L, and CLR inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
where n is the number of stages and tCE-TC is the CE-to-TC
propagation delay of each stage.
The counter is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable. When cascading counters, use the CEO
output if the counter uses the CE input; use the TC output if it does
not.
Libraries Guide
3-97
Libraries Guide
Inputs
Outputs
CLR
CE
D1 D0
Q1 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d1 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = (Q1Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
3-98
Design Elements
CB2CLED
2-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D0
D1
CB2CLED
Q0
Q1
UP
L
CE
CEO
TC
CLR
X4355
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CB2CLED is a 2-stage, 2-bit, synchronous, loadable, clearable, cascadable, bidirectional binary counter. The asynchronous clear (CLR) is
the highest priority input. When CLR is High, all other inputs are
ignored and data (Q1 Q0) and terminal count (TC) outputs go to
logic level zero, independent of clock transitions. The data on the
D1 D0 inputs is loaded into the counter when the load enable input
(L) is High during the Low-to-High clock (C) transition, independent
of the state of clock enable (CE). The outputs (Q1 Q0) decrement
when CE is High and UP is Low during the Low-to-High clock transition. The outputs (Q1 Q0) increment when CE and UP are High.
The counter ignores clock transitions when CE is Low.
For counting up, the TC output is High when all Q outputs and UP
are High. For counting down, the TC output is High when all Q
outputs and UP are Low. To cascade counters, the clock enable out
(CEO) output of each counter is connected to the CE pin of the next
stage. The clock, UP, L, and CLR inputs are connected in parallel.
CEO is active (High) when TC and CE are High. The maximum
length of the counter is determined by the accumulated CE-to-TC
propagation delays versus the clock period. The clock period must be
greater than n(tCE-TC), where n is the number of stages and
tCE-TC is the CE-to-TC propagation delay of each stage. For EPLD
designs, refer to CB2X1 for high-performance cascadable, bidirectional counters.
The counter is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable. When cascading counters, use the CEO
output if the counter uses the CE input; use the TC output if it does
not.
Libraries Guide
3-99
Libraries Guide
Inputs
CLR
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
C
X
Outputs
UP
X
X
X
1
0
D1 D0
X
D
X
X
X
Q1 Q0
0
d1 d0
No Chg
Inc
Dec
TC
0
TC
No Chg
TC
TC
CEO
0
CEO
0
CEO
CEO
TC = (Q1Q0UP) + (Q1Q0UP)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
3-100
Design Elements
CB2RE
2-Bit Cascadable Binary Counter with Clock Enable
and Synchronous Reset
CB2RE
Q0
Q1
CE
CEO
TC
X4356
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
3-101
Libraries Guide
Inputs
Outputs
CE
Q1 Q0
TC
CEO
1
0
0
X
0
1
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q1Q0)
CEO = (TCCE)
3-102
Design Elements
CB2RLE
2-Bit Loadable Cascadable Binary Counter with
Clock Enable and Synchronous Reset
D0
D1
CB2RLE
Q0
Q1
L
CE
CEO
TC
X4513
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB2RLE is a 2-stage, 2-bit, synchronous, loadable, resettable, cascadable binary counter. The synchronous reset (R) is the highest priority
input. The synchronous R, when High, overrides all other inputs and
resets the Q1 Q0, terminal count (TC), and clock enable out (CEO)
outputs to Low on the Low-to-High clock (C) transition.
The data on the D1 D0 inputs is loaded into the counter when the
load enable input (L) is High during the Low-to-High clock (C) transition, independent of the state of CE. The outputs (Q1 Q0) increment when CE is High during the Low-to-High clock transition. The
counter ignores clock transitions when CE is Low. The TC output is
High when all Q outputs are High. The CEO output is High when all
Q outputs and CE are High to allow direct cascading of counters.
Larger counters are created by connecting the CEO output of the first
stage to the CE input of the next stage and by connecting the C, L,
and R inputs in parallel. The maximum length of the counter is determined by the accumulated CE-to-CEO propagation delays versus the
clock period.
The counter is asynchronously reset, output Low, when power is
applied or when global reset or master reset is active. When
cascading counters, use the CEO output if the counter uses the CE
input; use the TC output if it does not.
Libraries Guide
3-103
Libraries Guide
Inputs
Outputs
CE
D1 D0
Q1 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d1 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = Q1Q0
CEO = TCCE
dn = state of referenced input one set-up time prior to active clock transition
3-104
Design Elements
CB2X1
2-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D0
D1
L
CB2X1
QO
Q1
TCU
TCD
CEU
CEOU
CED
CEOD
CLR
X4194
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB2X1 is a 2-stage, 2-bit, synchronous, loadable, clearable, bidirectional binary counter. CB2X1 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions to
support high-speed cascading in the EPLD architecture.
The asynchronous clear (CLR) is the highest priority input. When
CLR is High, all other inputs are ignored, data outputs (Q1 Q0) go
to logic level zero, and terminal count outputs TCU and TCD go to
zero and one, respectively, independent of clock transitions. The data
on the D1 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q1 Q0) increment when CEU is High, provided CLR
and L are Low, during the Low-to-High clock transition. The outputs
(Q1 Q0) decrement when CED is High, provided CLR and L are
Low. The counter ignores clock transitions when CEU and CED are
Low. Both CEU and CED should not be High during the same clock
transition; the CEOU and CEOD outputs might not function properly
for cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The clock, L
and CLR inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
Libraries Guide
3-105
Libraries Guide
L
X
1
0
0
0
0
CEU CED
X
X
X
X
0
0
1
0
0
1
1
1
Outputs
C
X
D1 D0 Q1 Q0
TCU
TCD
CEOU CEOD
X
0
0
1
0
CEOD
D
d1 d0
TCU
TCD
CEOU CEOD
X
No Chg No Chg No Chg
0
0
X
Inc
TCU
TCD
CEOU
0
X
Dec
TCU
TCD
0
CEOD
X
Inc
TCU
TCD
Invalid Invalid
TCU = Q1Q0
TCD = Q1Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
3-106
Design Elements
CB2X2
2-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Synchronous Reset
D0
D1
L
CB2X2
QO
Q1
TCU
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
TCD
CEU
CEOU
CED
CEOD
XC2000
X4195
CB2X2 is a 2-stage, 2-bit, synchronous, loadable, resettable, bidirectional binary counter. CB2X2 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions to
support high-speed cascading in the EPLD architecture.
The synchronous reset (R) is the highest priority input. When R is
High, all other inputs are ignored, data outputs (Q1 Q0) go to logic
level zero, and terminal count outputs TCU and TCD go to zero and
one, respectively, on the Low-to-High clock (C) transition. The data
on the D1 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q1 Q0) increment when CEU is High, provided R and
L are Low during the Low-to-High clock transition. The outputs
(Q1 Q0) decrement when CED is High, provided R and L are Low.
The counter ignores clock transitions when CEU and CED are Low.
Both CEU and CED should not be High during the same clock transition; the CEOU and CEOD outputs might not function properly for
cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The C, L,
and R inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
Libraries Guide
3-107
Libraries Guide
L
X
1
0
0
0
0
CEU
X
X
0
1
0
1
CED
X
X
0
0
1
1
Outputs
C
D1 D0 Q1 Q0
TCU
TCD
CEOU CEOD
X
0
0
1
0
CEOD
D
d1 d0
TCU
TCD
CEOU CEOD
X
No Chg No Chg No Chg
0
0
X
Inc
TCU
TCD
CEOU
0
X
Dec
TCU
TCD
0
CEOD
X
Inc
TCU
TCD
Invalid Invalid
TCU = Q1Q0
TCD = Q1Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
3-108
Design Elements
CB4CE
4-Bit Cascadable Binary Counter with Clock Enable
and Asynchronous Clear
CB4CE
Q0
Q1
Q2
Q3
CE
CEO
TC
CLR
X4357
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
3-109
Libraries Guide
Inputs
Outputs
CLR
CE
Q3 Q0
TC
CEO
1
0
0
X
0
1
X
X
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q3Q2Q1Q0)
CEO = (TCCE)
3-110
Design Elements
CB4CLE
4-Bit Loadable Cascadable Binary Counter with
Clock Enable and Asynchronous Clear
D0
D1
D2
D3
CB4CLE
Q0
Q1
Q2
Q3
L
CE
CEO
TC
CLR
X4358
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CB4CLE is a 4-stage, 4-bit, synchronous, loadable, clearable, cascadable binary counter. The asynchronous clear (CLR) is the highest
priority input. When CLR is High, all other inputs are ignored and
data (Q3 Q0) and terminal count (TC) outputs go to logic level zero,
independent of clock transitions. The data on the D3 D0 inputs is
loaded into the counter when the load enable input (L) is High
during the Low-to-High clock (C) transition, independent of the state
of clock enable (CE). The outputs (Q3 Q0) increment when CE is
High during the Low-to-High clock transition. The counter ignores
clock transitions when CE is Low. The TC output is High when all Q
outputs are High.
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the C, L, and CLR inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
where n is the number of stages and tCE-TC is the CE-to-TC
propagation delay of each stage.
The counter is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable. When cascading counters, use the CEO
output if the counter uses the CE input; use the TC output if it does
not.
Libraries Guide
3-111
Libraries Guide
Inputs
Outputs
CLR
CE
D3 D0
Q3 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d3 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = (Q3Q2Q1Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
3-112
Design Elements
CB4CLED
4-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D0
D1
D2
D3
CB4CLED
Q0
Q1
Q2
Q3
UP
L
CE
CEO
TC
CLR
X4359
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CB4CLED is a 4-stage, 4-bit, synchronous, loadable, clearable, cascadable, bidirectional binary counter. The asynchronous clear (CLR) is
the highest priority input. When CLR is High, all other inputs are
ignored and data (Q3 Q0) and terminal count (TC) outputs go to
logic level zero, independent of clock transitions. The data on the
D3 D0 inputs is loaded into the counter when the load enable input
(L) is High during the Low-to-High clock (C) transition, independent
of the state of clock enable (CE). The outputs (Q3 Q0) decrement
when CE is High and UP is Low during the Low-to-High clock transition. The outputs (Q3 Q0) increment when CE and UP are High.
The counter ignores clock transitions when CE is Low.
For counting up, the TC output is High when all Q outputs and UP
are High. For counting down, the TC output is High when all Q
outputs and UP are Low. To cascade counters, the count enable out
(CEO) output of each counter is connected to the CE pin of the next
stage. The clock, UP, L, and CLR inputs are connected in parallel.
CEO is active (High) when TC and CE are High. The maximum
length of the counter is determined by the accumulated CE-to-TC
propagation delays versus the clock period. The clock period must be
greater than n(tCE-TC), where n is the number of stages and
tCE-TC is the CE-to-TC propagation delay of each stage. For EPLD
designs, refer to CB4X1 for high-performance cascadable, bidirectional counters.
The counter is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable. When cascading counters, use the CEO
output if the counter uses the CE input; use the TC output if it does
not.
Libraries Guide
3-113
Libraries Guide
Inputs
CLR
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
C
X
Outputs
UP
X
X
X
1
0
D3 D0
X
D
X
X
X
Q3 Q0
0
d3 d0
No Chg
Inc
Dec
TC
0
TC
No Chg
TC
TC
CEO
0
CEO
0
CEO
CEO
TC = (Q3Q2Q1Q0UP) + (Q3Q2Q1Q0UP)
CEO = (TCCE)
dn = state of referenced clock one set-up time prior to active clock transition
3-114
Design Elements
CB4RE
4-Bit Cascadable Binary Counter with Clock Enable
and Synchronous Reset
CB4RE
Q0
Q1
Q2
Q3
CE
CEO
TC
X4360
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
3-115
Libraries Guide
Inputs
Outputs
CE
Q3 Q0
TC
CEO
1
0
0
X
0
1
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q3Q2Q2Q0)
CEO = (TCCE)
3-116
Design Elements
CB4RLE
4-Bit Loadable Cascadable Binary Counter with
Clock Enable and Synchronous Reset
D0
CB4RLE
Q0
D1
Q1
D2
Q2
D3
Q3
L
CE
CEO
TC
X4514
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB4RLE is a 4-stage, 4-bit, synchronous, loadable, resettable, cascadable binary counter. The synchronous reset (R) is the highest priority
input. The synchronous R, when High, overrides all other inputs and
resets the Q3 Q0, TC, and CEO outputs to Low on the Low-to-High
clock (C) transition. The data on the D3 D0 inputs is loaded into the
counter when the load enable input (L) is High during the Low-toHigh clock (C) transition, independent of the state of CE. The outputs
(Q3 Q0) increment when CE is High during the Low-to-High clock
transition. The counter ignores clock transitions when CE is Low. The
TC output is High when all Q outputs are High. The CEO output is
High when all Q outputs and CE are High to allow direct cascading
of counters.
Larger counters are created by connecting the CEO output of the first
stage to the CE input of the next stage and by connecting the C, L,
and R inputs in parallel. The maximum length of the counter is determined by the accumulated CE-to-CEO propagation delays versus the
clock period.
The counter is asynchronously reset, output Low, when power is
applied or when global reset or master reset is active. When
cascading counters, use the CEO output if the counter uses the CE
input; use the TC output if it does not.
Libraries Guide
3-117
Libraries Guide
Inputs
Outputs
CE
D3 D0
Q3 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d3 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
TC
TC = Q3Q2Q1Q0
CEO = TCCE
dn = state of referenced input one set-up time prior to active clock transition
3-118
Design Elements
CB4X1
4-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D0
CB4X1
Q0
D1
Q1
D2
Q2
D3
Q3
TCU
CEU
TCD
CED
CEOU
CEOD
CLR
X4196
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB4X1 is a 4-stage, 4-bit, synchronous, loadable, clearable, bidirectional binary counter. CB4X1 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions, to
support high-speed cascading in the EPLD architecture.
The asynchronous clear (CLR) is the highest priority input. When
CLR is High, all other inputs are ignored, data outputs (Q3 Q0) go
to logic level zero, and terminal count outputs TCU and TCD go to
zero and one, respectively, independent of clock transitions. The data
on the D3 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q3 Q0) increment when CEU is High, provided CLR
and L are Low, during the Low-to-High clock transition. The outputs
(Q3 Q0) decrement when CED is High, provided CLR and L are
Low. The counter ignores clock transitions when CEU and CED are
Low. Both CEU and CED should not be High during the same clock
transition; the CEOU and CEOD outputs might not function properly
for cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The clock, L,
and CLR inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
Libraries Guide
3-119
Libraries Guide
L
X
1
0
0
0
0
CEU CED
X
X
X
X
0
0
1
0
0
1
1
1
Outputs
C
X
D3 D0 Q3 Q0
TCU
TCD
CEOU CEOD
X
0
0
1
0
CEOD
D
d3 d0
TCU
TCD
CEOU CEOD
X
No Chg No Chg No Chg
0
0
X
Inc
TCU
TCD
CEOU
0
X
Dec
TCU
TCD
0
CEOD
X
Inc
TCU
TCD
Invalid Invalid
TCU = Q3Q2Q1Q0
TCD = Q3Q2Q1Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
3-120
Design Elements
CB4X2
4-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Synchronous Reset
D0
CB4X2
Q0
D1
Q1
D2
Q2
D3
Q3
TCU
TCD
CEU
CEOU
CED
CEOD
X4197
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB4X2 is a 4-stage, 4-bit, synchronous, loadable, resettable, bidirectional binary counter. CB4X2 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions to
support high-speed cascading in the EPLD architecture.
The synchronous reset (R) is the highest priority input. When R is
High, all other inputs are ignored, data outputs (Q3 Q0) go to logic
level zero, and terminal count outputs TCU and TCD go to zero and
one, respectively, on the Low-to-High clock (C) transition. The data
on the D3 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q3 Q0) increment when CEU is High, provided R and
L are Low, during the Low-to-High clock transition. The outputs
(Q3 Q0) decrement when CED is High, provided R and L are Low.
The counter ignores clock transitions when CEU and CED are Low.
Both CEU and CED should not be High during the same clock transition; the CEOU and CEOD outputs might not function properly for
cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The C, L,
and R inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
Libraries Guide
3-121
Libraries Guide
L
X
1
0
0
0
0
CEU
X
X
0
1
0
1
CED
X
X
0
0
1
1
Outputs
C
D3 D0 Q3 Q0
TCU
TCD
CEOU CEOD
X
0
0
1
0
CED
D
d3 d0
TCU
TCD
CEOU CEOD
X
No Chg No Chg No Chg
0
0
X
Inc
TCU
TCD
TCU
0
X
Dec
TCU
TCD
0
TCD
X
Inc
TCU
TCD Invalid Invalid
TCU = Q3Q2Q1Q0
TCD = Q3Q2Q1Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
3-122
Design Elements
CB8CE
8-Bit Cascadable Binary Counter with Clock Enable
and Asynchronous Clear
CB8CE
Q[7:0]
CE
CEO
TC
CLR
X4361
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
3-123
Libraries Guide
Inputs
Outputs
CLR
CE
Q7 Q0
TC
CEO
1
0
0
X
0
1
X
X
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q7Q6Q5Q4...Q0)
CEO = (TCCE)
3-124
Design Elements
VCC
Q[7:0]
FTCE
T
Q
CE
C
CLR
Q0
Q0
FTCE
T
Q
CE
C
CLR
Q1
Q1
T2
AND2
FTCE
T
Q
CE
C
CLR
Q2
T3
Q2
AND3
FTCE
T
Q
CE
C
CLR
Q3
T4
Q3
AND4
FTCE
T
Q
CE
C CLR
Q4
Q4
T5
AND2
FTCE
T
Q
CE
C
CLR
Q5
T6
Q5
AND3
FTCE
T
Q
CE
C
CLR
Q6
T7
Q6
AND4
CE
C
CLR
FTCE
T
Q
CE
C
CLR
Q7
Q7
TC
AND2
CEO
AND2
CB8CE.2K
Libraries Guide
3-125
Libraries Guide
VCC
Q[7:0]
FTCE
Q0
Q
T
CE
C CLR
Q0
FTCE
Q1
Q
T
CE
C CLR
Q1
T2
AND2
FTCE
Q2
Q
T
CE
C CLR
Q2
T3
AND3
FTCE
Q3
Q
T
CE
C CLR
T4
Q3
AND4
FTCE
Q4
Q
T
CE
C CLR
Q4
T5
AND2
FTCE
Q5
Q
T
CE
C CLR
Q5
T6
AND3
FTCE
Q6
Q
T
CE
C CLR
T7
Q6
AND4
FTCE
CE
C
CLR
Q7
Q
T
CE
C CLR
Q7
TC
AND5
CEO
AND2
CB8CE.3K, 4K
3-126
Design Elements
CB8CLE
8-Bit Loadable Cascadable Binary Counter with
Clock Enable and Asynchronous Clear
D[7:0]
Q[7:0]
CB8CLE
L
CE
CEO
TC
CLR
X4362
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CB8CLE is an 8-stage, 8-bit, synchronous, loadable, clearable, cascadable binary counter. The asynchronous clear (CLR) is the highest
priority input. When CLR is High, all other inputs are ignored and
data (Q7 Q0) and terminal count (TC) outputs go to logic level zero,
independent of clock transitions. The data on the D7 D0 inputs is
loaded into the counter when the load enable input (L) is High
during the Low-to-High clock (C) transition, independent of the state
of clock enable (CE). The outputs (Q7 Q0) increment when CE is
High during the Low-to-High clock transition. The counter ignores
clock transitions when CE is Low. The TC output is High when all Q
outputs are High.
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and by
connecting the C, L, and CLR inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
where n is the number of stages and tCE-TC is the CE-to-TC
propagation delay of each stage.
The counter is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable. When cascading counters, use the CEO
output if the counter uses the CE input; use the TC output if it does
not.
Libraries Guide
3-127
Libraries Guide
Inputs
Outputs
CLR
CE
D7 D0
Q7 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d7 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = (Q7Q6Q5Q4...Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
3-128
Design Elements
FTCLE
D0
VCC
Q[7:0]
D
L
Q
T
CE
C CLR
Q0
Q0
FTCLE
D1
D
L
Q
T
CE
C CLR
Q1
Q1
T2
AND2
FTCLE
D2
D
L
Q
T
CE
C CLR
Q2
T3
Q2
AND3
FTCLE
D3
D
L
Q
T
CE
C CLR
Q3
T4
Q3
AND4
FTCLE
D4
D
L
Q
T
CE
C CLR
Q4
Q4
T5
AND2
FTCLE
D5
D
L
Q
T
CE
C CLR
Q5
T6
Q5
AND3
FTCLE
D6
D
L
Q
T
CE
C CLR
Q6
T7
Q6
AND4
D[7:0]
L
CE
C
CLR
FTCLE
D7
D
L
Q
T
CE
C CLR
Q7
Q7
TC
AND2
CEO
AND2
CB8CLE.2K
Libraries Guide
3-129
Libraries Guide
D0
VCC
D1
D2
FTCLE
D
L
T
Q
CE
C
CLR
Q0
FTCLE
D
L
T
Q
CE
C
CLR
Q1
Q[7:0]
Q0
Q1
T2
AND2
FTCLE
D
L
T
Q
CE
C
CLR
Q2
Q2
T3
AND3
D3
FTCLE
D
L
T
Q
CE
C
CLR
Q3
Q3
T4
AND4
D4
D5
FTCLE
D
L
T
Q
CE
C
CLR
Q4
Q4
T5
AND2
FTCLE
D
L
T
Q
CE
C
CLR
Q5
Q5
T6
AND3
D6
FTCLE
D
L
T
Q
CE
C
CLR
Q6
Q6
T7
AND4
D[7:0]
L
CE
C
CLR
D7
FTCLE
D
L
T
Q
CE
C
CLR
Q7
Q7
TC
AND5
CEO
AND2
CB8CLE.3K, 4K
3-130
Design Elements
CB8CLED
8-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D[7:0]
CB8CLED
Q[7:0]
UP
L
CE
CEO
TC
CLR
X4363
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
3-131
Libraries Guide
Inputs
CLR
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
C
X
Outputs
UP
X
X
X
1
0
D7 D0
X
D
X
X
X
Q7 Q0
0
d7 d0
No Chg
Inc
Dec
TC
0
TC
No Chg
TC
TC
CEO
0
CEO
0
CEO
CEO
TC = (Q7Q6Q5...Q0UP) + (Q7Q6Q5...Q0UP)
CEO = (TCCE)
dn = state of referenced clock one set-up time prior to active clock transition
3-132
Design Elements
D[7:0]
D0
D1
VCC
FTCLE
D
L
T
Q
CE
C CLR
Q0
FTCLE
D
L
T
Q
CE
C CLR
Q1
Q0
D0
D1
S0
FTCLE
D
L
T
Q
CE
C CLR
Q2
AND2B2
FTCLE
D
L
T
Q
CE
C CLR
Q3
FTCLE
D
L
T
Q
CE
C CLR
Q4
FTCLE
D
L
T
Q
CE
C CLR
Q5
M2_1
AND3B3
FTCLE
D
L
T
Q
CE
C CLR
Q6
L
CE
C
CLR
FTCLE
D
L
T
Q
CE
C CLR
Q7
O T3
T3
Q3
T4_DN
AND2B1
M2_1
D0
D1
S0
O T4
T4
AND2
Q4
T5_DN
M2_1
AND3B2
D0
D1
S0
O T5
T5
AND3
Q5
T6_DN
AND2B1
M2_1
D0
D1
S0
O T6
T6
AND2
Q6
T7_DN
M2_1
AND3B2
T7_UP
D7
D0
D1
S0
AND3
T6_UP
D6
O T2
T2
Q2
T5_UP
D5
D0
D1
S0
T3_DN
T4_UP
D4
M2_1
AND2
T3_UP
D3
T1
Q1
T2_DN
T2_UP
D2
M2_1B1
O T1
D0
D1
S0
O T7
T7
AND3
Q7
TC_DN
AND2B1
TC_UP
Q[7:0]
M2_1
D0
D1
S0
TC
TC
UP
CEO
AND2
AND2
CB8CLED.2K
Libraries Guide
3-133
Libraries Guide
D[7:0]
D0
VCC
FTCLE
D
L
Q
T
CE
C CLR
Q0
M2_1B1
D0
O T1
D1
S0
T1
Q0
D1
FTCLE
D
L
Q
T
CE
C CLR
Q1
D2
FTCLE
D
L
Q
T
CE
C CLR
Q2
Q1
T2_DN
AND2B2
T2_UP
M2_1
D0
O T2
D1
S0
T2
AND2
Q2
T3_DN
AND3B3
T3_UP
M2_1
D0
O T3
D1
S0
T3
AND3
D3
FTCLE
D
L
Q
T
CE
C CLR
Q3
D4
FTCLE
D
L
Q
T
CE
C CLR
Q4
Q3
T4_DN
AND2B1
T4_UP
M2_1
D0
O T4
D1
S0
T4
AND2
Q4
T5_DN
AND3B2
T5_UP
M2_1
D0
O T5
D1
S0
T5
AND3
D5
FTCLE
D
L
Q
T
CE
C CLR
Q5
Q5
T6_DN
AND4B3
T6_UP
M2_1
D0
O T6
D1
S0
T6
AND4
D6
FTCLE
D
L
Q
T
CE
C CLR
Q6
D7
L
CE
C
CLR
FTCLE
D
L
Q
T
CE
C CLR
Q7
Q6
T7_DN
AND2B1
T7_UP
AND2
Q7
Q[7:0]
TC_DN
AND3B2
TC_UP
UP
M2_1
D0
O T7
D1
S0
T7
M2_1
D0
O
D1
S0
TC
TC
AND3
CEO
AND2
CB8CLED.3K
3-134
Design Elements
D[7:0]
D0
D1
FTCLE
VCC
+5
D
L
T
Q
CE
C
CLR
Q0
Q0
D0
D1
S0
M2_1B1
O T1
T1
FTCLE
D
L
T
Q
CE
C
CLR
Q1
Q1
T2_DN
AND2B2
T2_UP
M2_1
D0
D1
S0
O T2
T2
AND2
D2
FTCLE
D
L
Q
T
CE
C
CLR
Q2
Q2
T3_DN
M2_1
AND3B3
D0
D1
S0
T3_UP
O T3
T3
AND3
D3
FTCLE
D
L
T
Q
CE
C
CLR
Q3
Q3
T4_DN
M2_1
AND4B4
D0
D1
S0
O T4
T4
T4_UP
AND4
D4
FTCLE
D
L
T
Q
CE
C
CLR
Q4
Q4
T5_DN
AND2B1
T5_UP
D5
FTCLE
D
L
T
Q
CE
C
CLR
Q5
M2_1
D0
D1
S0
O T5
T5
AND2
Q5
T6_DN
M2_1
AND3B2
D0
D1
S0
T6_UP
O T6
T6
AND3
D6
FTCLE
D
L
Q
T
CE
C
CLR
Q6
Q6
T7_DN
M2_1
AND4B3
D0
D1
S0
T7_UP
O T7
T7
AND4
D7
L
CE
C
CLR
FTCLE
D
L
Q
T
CE
C
CLR
Q7
Q7
Q[7:0]
TC_DN
M2_1
AND5B4
TC_UP
D0
D1
S0
TC
TC
CEO
AND2
AND5
UP
X4046
Libraries Guide
3-135
Libraries Guide
CB8RE
8-Bit Cascadable Binary Counter with Clock Enable
and Synchronous Reset
CB8RE
Q[7:0]
CE
CEO
TC
X4364
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-136
Design Elements
Inputs
Outputs
CE
Q7 Q0
TC
CEO
1
0
0
X
0
1
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q7Q6Q5...Q0)
CEO = (TCCE)
Libraries Guide
3-137
Libraries Guide
FTRSE
VCC
Q0
T S Q
CE
C R
Q0
FTRSE
T S Q
CE
C
R
Q1
Q1
T2
AND2
FTRSE
Q2
T S Q
CE
C
R
Q2
T3
AND3
FTRSE
Q3
T S Q
CE
C
R
Q3
T4
AND4
FTRSE
Q4
T S Q
CE
C R
Q4
T5
AND2
FTRSE
Q5
T S Q
CE
C
R
Q5
T6
AND3
FTRSE
Q6
T S Q
CE
C R
T7
Q6
AND4
FTRSE
T S Q
CE
C
R
Q7
CE
C
R
Q7
Q[7:0]
TC
AND2
GND
CEO
AND2
CB8RE.2K
3-138
Design Elements
FTRSE
VCC
Q0
T S Q
CE
C
R
Q0
FTRSE
T S Q
CE
C
R
Q1
Q1
T2
AND2
FTRSE
Q2
T S Q
CE
C
R
Q2
T3
AND3
FTRSE
Q3
T S Q
CE
C
R
Q3
T4
AND4
FTRSE
T S Q
CE
C
R
Q4
Q4
T5
AND2
FTRSE
Q5
T S Q
CE
C
R
Q5
T6
AND3
FTRSE
Q6
T S Q
CE
C
R
Q6
T7
AND4
FTRSE
Q7
T S Q
CE
C
R
Q7
CE
C
R
Q[7:0]
TC
AND5
GND
CEO
AND2
CB8RE.3K, 4K
Libraries Guide
3-139
Libraries Guide
CB8RLE
8-Bit Loadable Cascadable Binary Counter with
Clock Enable and Synchronous Reset
D[7:0]
CB8RLE
Q[7:0]
L
CE
CEO
TC
X4515
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB8RLE is an 8-stage, 8-bit, synchronous, loadable, resettable, cascadable binary counter. The synchronous reset (R) is the highest priority
input. The synchronous R, when High, overrides all other inputs and
resets the Q7 Q0, TC, and CEO outputs to Low on the Low-to-High
clock (C) transition. The data on the D7 D0 inputs is loaded into the
counter when the load enable input (L) is High during the Low-toHigh clock (C) transition, independent of the state of CE.
The outputs (Q7 Q0) increment when CE is High during the Lowto-High clock transition. The counter ignores clock transitions when
CE is Low. The TC output is High when all Q outputs are High. The
CEO output is High when all Q outputs and CE are High, to allow
direct cascading of counters.
Larger counters are created by connecting the CEO output of the first
stage to the CE input of the next stage and connecting the C, L, and R
inputs in parallel. The maximum length of the counter is determined
by the accumulated CE-to-CEO propagation delays versus the clock
period.
The counter is asynchronously reset, output Low, when power is
applied or when global reset or master reset is active. When
cascading counters, use the CEO output if the counter uses the CE
input; use the TC output if it does not.
3-140
Design Elements
Inputs
Outputs
CE
D7 D0
Q7 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d7 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = Q7Q6...Q0
CEO = TCCE
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-141
Libraries Guide
CB8X1
8-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D[7:0]
CB8X1
Q[7:0]
TCU
TCD
CEU
CEOU
CED
CEOD
CLR
X4198
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB8X1 is an 8-stage, 8-bit, synchronous, loadable, clearable, bidirectional binary counter. CB8X1 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions to
support high-speed cascading in the EPLD architecture.
The asynchronous clear (CLR) is the highest priority input. When
CLR is High, all other inputs are ignored, data outputs (Q7 Q0) go
to logic level zero, and terminal count outputs TCU and TCD go to
zero and one, respectively, independent of clock transitions. The data
on the D7 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q7 Q0) increment when CEU is High, provided CLR
and L are Low, during the Low-to-High clock transition. The outputs
(Q7 Q0) decrement when CED is High, provided CLR and L are
Low. The counter ignores clock transitions when CEU and CED are
Low. Both CEU and CED should not be High during the same clock
transition; the CEOU and CEOD outputs might not function properly
for cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The C, L, and
CLR inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
When cascading counters, the final terminal count signals can be
3-142
Design Elements
produced by AND wiring all the TCU outputs (for the up direction)
and all the TCD outputs (for the down direction). The TCU, CEOU,
and CEOD outputs are produced by optimizable AND gates within
the component, resulting in zero propagation from the CEU and CED
inputs and from the Q outputs, provided all connections from each
output remain on-chip. Otherwise, a macrocell buffer delay is introduced.
The counter is initialized to zero (TCU Low and TCD High) when the
device is powered-up or when the device Master Reset pin is activated. The clock (C) input can be driven by either the EPLD FastCLK
global net (represented by a BUFG symbol), an ordinary input, or
other on-chip logic.
Inputs
CLR
1
0
0
0
0
0
L
X
1
0
0
0
0
CEU CED
X
X
X
X
0
0
1
0
0
1
1
1
Outputs
C
X
D7 D0 Q7 Q0
TCU
TCD
CEOU
X
0
0
1
0
D
d7 d0
TCU
TCD
CEOU
X
No Chg No Chg No Chg
0
X
Inc
TCU
TCD
CEOU
X
Dec
TCU
TCD
0
X
Inc
TCU
TCD
Invalid
CEOD
CEOD
CEOD
0
0
CEOD
Invalid
TCU = Q7Q6Q5...Q0
TCD = Q7Q6Q5...Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-143
Libraries Guide
CB8X2
8-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Synchronous Reset
D[7:0]
CB8X2
Q[7:0]
TCU
TCD
CEU
CEOU
CED
CEOD
X4199
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB8X2 is an 8-stage, 8-bit, synchronous, loadable, resettable, bidirectional binary counter. CB8X2 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions to
support high-speed cascading in the EPLD architecture.
The synchronous reset (R) is the highest priority input. When R is
High, all other inputs are ignored, data outputs (Q7 Q0) go to logic
level zero, and terminal count outputs TCU and TCD go to zero and
one, respectively, on the Low-to-High clock (C) transition. The data
on the D7 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q7 Q0) increment when CEU is High, provided R and
L are Low, during the Low-to-High clock transition. The outputs
(Q7 Q0) decrement when CED is High, provided R and L are Low.
The counter ignores clock transitions when CEU and CED are Low.
Both CEU and CED should not be High during the same clock transition; the CEOU and CEOD outputs might not function properly for
cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The C, L, and
R inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
3-144
Design Elements
L
X
1
0
0
0
0
CEU CED
X
X
X
X
0
0
1
0
0
1
1
1
Outputs
C
D7 D0
X
D
X
X
X
X
Q7 Q0
0
d7 d0
No Chg
Inc
Dec
Inc
TCU
TCD
CEOU CEOD
0
1
0
CEOD
TCU
TCD
CEOU CEOD
No Chg No Chg
0
0
TCU
TCD
CEOU
0
TCU
TCD
0
CEOD
TCU
TCD
Invalid Invalid
TCU = Q7Q6Q5...Q0
TCD = Q7Q6Q5...Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-145
Libraries Guide
CB16CE
16-Bit Cascadable Binary Counter with Clock Enable
and Asynchronous Clear
CB16CE
Q[15:0]
CE
CEO
TC
CLR
X4365
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-146
Design Elements
Inputs
Outputs
CLR
CE
Q15 Q0
TC
CEO
1
0
0
X
0
1
X
X
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q15Q14Q13Q12...Q0)
CEO = (TCCE)
Libraries Guide
3-147
Libraries Guide
CB16CLE
16-Bit Loadable Cascadable Binary Counter with
Clock Enable and Asynchronous Clear
D[15:0]
CB16CLE
Q[15:0]
L
CE
CEO
TC
CLR
X4366
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-148
Design Elements
Inputs
Outputs
CLR
CE
D15 D0
Q15 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
D
X
X
0
d15 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = (Q15Q14Q13Q12...Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-149
Libraries Guide
CB16CLED
16-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D[15:0]
CB16CLED Q[15:0]
UP
L
CE
CEO
TC
CLR
X4367
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-150
Design Elements
Inputs
CLR
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
C
X
Outputs
UP
X
X
X
1
0
D15 D0
X
D
X
X
X
Q15 Q0
0
d15 d0
No Chg
Inc
Dec
TC
0
TC
No Chg
TC
TC
CEO
0
CEO
0
CEO
CEO
TC = (Q15Q14Q13...Q0UP) + (Q15Q14Q13...Q0UP)
CEO = (TCCE)
dn = state of referenced clock one set-up time prior to active clock transition
Libraries Guide
3-151
Libraries Guide
CB16RE
16-Bit Cascadable Binary Counter with Clock Enable
and Synchronous Reset
CB16RE
Q[15:0]
CE
CEO
TC
X4368
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-152
Design Elements
Inputs
Outputs
CE
Q15 Q0
TC
CEO
1
0
0
X
0
1
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q15Q14Q13...Q0)
CEO = (TCCE)
Libraries Guide
3-153
Libraries Guide
CB16RLE
16-Bit Loadable Cascadable Binary Counter with
Clock Enable and Synchronous Reset
D[15:0]
CB16RLE
Q[15:0]
L
CE
CEO
TC
X4516
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
3-154
Design Elements
Inputs
R
1
0
0
0
L
X
1
0
0
CE
X
X
0
1
Outputs
C
D15 D0
X
D
X
X
Q15 Q0
0
d15 d0
No Chg
Inc
TC
0
TC
No Chg
TC
CEO
0
CEO
0
CEO
TC = Q15Q14...Q0
CEO = TCCE
dn = state of referenced input one set-up time prior to clock transition
Libraries Guide
3-155
Libraries Guide
CB16X1
16-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D[15:0]
CB16X1
Q[15:0]
TCU
TCD
CEU
CEOU
CED
CEOD
CLR
X4200
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB16X1 is a 16-stage, 16-bit, synchronous, loadable, clearable, bidirectional binary counter. CB16X1 has separate count-enable inputs and
synchronous terminal-count outputs for up and down directions to
support high-speed cascading in the EPLD architecture.
The asynchronous clear (CLR) is the highest priority input. When
CLR is High, all other inputs are ignored, data outputs (Q15 Q0) go
to logic level zero, and terminal count outputs TCU and TCD go to
zero and one, respectively, independent of clock transitions. The data
on the D15 D0 inputs loads into the counter on the Low-to-High
clock (C) transition, when the load enable input (L) is High, independent of the CE inputs.
The outputs (Q15 Q0) increment when CEU is High, provided CLR
and L are Low, during the Low-to-High clock transition. The outputs
(Q15 Q0) decrement when CED is High, provided CLR and L are
Low. The counter ignores clock transitions when CEU and CED are
Low. Both CEU and CED should not be High during the same clock
transition; the CEOU and CEOD outputs might not function properly
for cascading when CEU and CED are both High.
For counting up, the CEOU output is High when all Q outputs and
CEU are High. For counting down, the CEOD output is High when
all Q outputs are Low and CED is High. To cascade counters, the
CEOU and CEOD outputs of each counter are connected directly to
the CEU and CED inputs, respectively, of the next stage. The clock, L,
and CLR inputs are connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
3-156
Design Elements
L
X
1
0
0
0
0
CEU CED
X
X
X
X
0
0
1
0
0
1
1
1
Outputs
C
X
D15 D0 Q15 Q0
TCU
TCD
X
0
0
1
D
d15 d0
TCU
TCD
X
No Chg No Chg No Chg
X
Inc
TCU
TCD
X
Dec
TCU
TCD
X
Inc
TCU
TCD
CEOU
0
CEOU
0
CEOU
0
Invalid
CEOD
CEOD
CEOD
0
0
CEOD
Invalid
TCU = Q15Q14Q13...Q0
TCD = Q15Q14Q13...Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-157
Libraries Guide
CB16X2
16-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Synchronous Reset
D[15:0]
CB16X2
Q[15:0]
TCU
TCD
CEU
CEOU
CED
CEOD
X4201
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
CB16X2 is a 16-stage, 16-bit, synchronous, loadable, resettable, bidirectional binary counter. CB16X2 has separate count-enable inputs
and synchronous terminal-count outputs for up and down directions,
to support high-speed cascading in the EPLD architecture.
The synchronous reset (R) is the highest priority input. When R is
High, all other inputs are ignored, data outputs (Q15 Q0) go to logic
level zero, and terminal count outputs TCU and TCD go to zero and
one, respectively, on the Low-to-High clock (C) transition. The data
on the D15 D0 inputs loads into the counter on the Low-to-High
clock (C) transition when the load enable input (L) is High, independent of the CE inputs. The outputs (Q15 Q0) increment when CEU
is High, provided R and L are Low, during the Low-to-High clock
transition. The outputs (Q15 Q0) decrement when CED is High,
provided R and L are Low.
The counter ignores clock transitions when CEU and CED are Low.
Both CEU and CED should not be High during the same clock transition; the CEOU and CEOD outputs might not function properly for
cascading when CEU and CED are both High. For counting up, the
CEOU output is High when all Q outputs and CEU are High. For
counting down, the CEOD output is High when all Q outputs are
Low and CED is High. To cascade counters, the CEOU and CEOD
outputs of each counter are connected directly to the CEU and CED
inputs, respectively, of the next stage. The C, L, and R inputs are
connected in parallel.
In Xilinx EPLD devices, the maximum clocking frequency of these
counter components is unaffected by the number of cascaded stages
for all counting and loading functions. The TCU terminal count
output is High when all Q outputs are High, regardless of CEU. The
TCD output is High when all Q outputs are Low, regardless of CED.
3-158
Design Elements
L
X
1
0
0
0
0
CEU CED
X
X
X
X
0
0
1
0
0
1
1
1
Outputs
C
D15 D0 Q15 Q0
TCU
TCD
CEOU
X
0
0
1
0
D
d15 d0
TCU
TCD
CEOU
X
No Chg No Chg No Chg
0
X
Inc
TCU
TCD
CEOU
X
Dec
TCU
TCD
0
X
Inc
TCU
TCD
Invalid
CEOD
CEOD
CEOD
0
0
CEOD
Invalid
TCU = Q15Q14Q13...Q0
TCD = Q15Q14Q13...Q0
CEOU = TCUCEU
CEOD = TCDCED
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-159
Libraries Guide
CC8CE
8-Bit Cascadable Binary Counter with Clock Enable
and Asynchronous Clear
CC8CE
Q[7:0]
CE
CEO
TC
CLR
X4290
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
3-160
Design Elements
Inputs
Outputs
CLR
CE
Q7 Q0
TC
CEO
1
0
0
X
0
1
X
X
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q7Q6Q5Q4...Q0)
CEO = (TCCE)
XC4000 Topology
TC*
CEO*
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X3671
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
Libraries Guide
3-161
Libraries Guide
RLOC=R0C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CEO
CIN
CARRY MODE
AND2
TC
EXAMINE-CI
Q[7:0]
CY4_42
RLOC=R1C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
TQ7
C6
FMAP
FDCE
XOR2
D
Q
CE
C
CLR
CIN
C5
TQ6
INC-FG-CI
CY4_18
Q7
C6
Q7
RLOC=R1C0.FFY
FDCE
XOR2
Q7
D
Q
CE
C
CLR
I4
I3
I2
I1
TQ7
RLOC=R1C0.G
FMAP
Q6
Q6
C5
I4
I3
I2
I1
TQ6
Q6
RLOC=R2C0
RLOC=R1C0.F
RLOC=R1C0.FFX
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
TQ5
C4
FDCE
XOR2
D
Q
CE
C
CLR
CIN
C3
TQ4
INC-FG-CI
CY4_18
Q5
C4
Q5
RLOC=R2C0.FFY
FDCE
XOR2
FMAP
Q5
D
Q
CE
C
CLR
TQ5
RLOC=R2C0.G
FMAP
Q4
Q4
C3
Q4
RLOC=R2C0.FFX
RLOC=R3C0
I4
I3
I2
I1
I4
I3
I2
I1
TQ4
RLOC=R2C0.F
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
TQ3
C2
FMAP
FDCE
XOR2
D
Q
CE
C
CLR
CIN
CARRY MODE
C1
TQ2
INC-FG-CI
CY4_18
Q3
C2
Q3
RLOC=R3C0.FFY
I4
I3
I2
I1
TQ3
RLOC=R3C0.G
FMAP
FDCE
XOR2
Q3
D
Q
CE
C
CLR
Q2
Q2
C1
I4
I3
I2
I1
TQ2
Q2
RLOC=R3C0.F
RLOC=R3C0.FFX
RLOC=R4C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
TQ1
C0
FMAP
FDCE
XOR2
D
Q
CE
C
CLR
CIN
CARRY MODE
Q1
Q1
C0
Q1
RLOC=R4C0.FFY
INC-FG-1
TQ1
FMAP
Q0
INV
CLR
RLOC=R4C0.G
CY4_19
CE
C
I4
I3
I2
I1
FDCE
TQ0
D
Q
CE
C
CLR
Q0
Q0
RLOC=R4C0.FFX
I4
I3
I2
I1
TQ0
RLOC=R4C0.F
CC8CE.4K
Design Elements
CC8CLE
8-Bit Loadable Cascadable Binary Counter with
Clock Enable and Asynchronous Clear
D[7:0]
Q[7:0]
CC8CLE
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
CEO
TC
L
CE
C
CLR
X4289
CC8CLE is an 8-stage, 8-bit, synchronous, loadable, clearable, cascadable binary counter. The counter is implemented using carry logic
with relative location constraints, which assures most efficient logic
placement.
The asynchronous clear (CLR) is the highest priority input. When
CLR is High, all other inputs are ignored and data (Q7 Q0) and
terminal count (TC) outputs go to logic level zero, independent of
clock transitions. The data on the D7 D0 inputs is loaded into the
counter when the load enable input (L) is High during the Low-toHigh clock (C) transition, independent of the state of clock enable
(CE). The outputs (Q7 Q0) increment when CE is High during the
Low-to-High clock transition. The counter ignores clock transitions
when CE is Low. The TC output is High when all Q outputs are High.
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the C, L, and CLR inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
where n is the number of stages and tCE-TC is the CE-to-TC
propagation delay of each stage.
The counter is asynchronously reset, output Low, when power is
applied or when global set/reset (GSR) is active. The GSR active level
is programmable. When cascading counters, use the CEO output if
the counter uses the CE input; use the TC output if it does not.
Libraries Guide
3-163
Libraries Guide
Inputs
Outputs
CLR
CE
D7 D0
Q7 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
X
X
X
D
X
X
0
d7 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = (Q7Q6Q5Q4...Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
XC4000 Topology
TC*
CEO*
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X3673
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
3-164
Design Elements
RLOC=R0C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
CEO
CIN
AND2
TC
EXAMINE-CI
CY4_42
CY4
Q[7:0]
RLOC=R1C0
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
TQ7
C6
M2_1
D0
D1
S0
XOR2
D7
O MD7
MD7
CIN
C5
TQ6
INC-FG-CI
D6
CY4_18
XOR2
D0
D1
S0
FMAP
FDCE
Q7
D
Q
CE
C
CLR
L
Q7
D7
C6
Q7
RLOC=R1C0.FFY
M2_1
O MD6
MD6
FDCE
I4
I3
I2
I1
MD7
RLOC=R1C0.G
Q6
D
Q
CE
C
CLR
FMAP
L
Q6
D6
C5
I4
I3
I2
I1
MD6
Q6
RLOC=R2C0
RLOC=R1C0.F
RLOC=R1C0.FFX
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
TQ5
C4
D0
D1
S0
XOR2
D5
M2_1
O MD5
MD5
CIN
C3
TQ4
INC-FG-CI
D0
D1
S0
XOR2
D4
CY4_18
FDCE
Q5
Q
D
CE
C
CLR
FMAP
L
Q5
D5
C4
Q5
RLOC=R2C0.FFY
M2_1
O MD4
MD4
FDCE
MD5
RLOC=R2C0.G
FMAP
Q4
D
Q
CE
C
CLR
L
Q4
D4
C3
Q4
RLOC=R2C0.FFX
RLOC=R3C0
I4
I3
I2
I1
I4
I3
I2
I1
MD4
RLOC=R2C0.F
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
TQ3
C2
D0
D1
S0
XOR2
D3
M2_1
O MD3
MD3
CIN
CARRY MODE
C1
TQ2
INC-FG-CI
CY4_18
XOR2
D2
D0
D1
S0
FMAP
FDCE
Q3
D
Q
CE
C
CLR
L
Q3
D3
C2
Q3
RLOC=R3C0.FFY
M2_1
O MD2
MD2
MD3
RLOC=R3C0.G
FMAP
FDCE
Q2
Q
D
CE
C
CLR
L
Q2
D2
C1
Q2
RLOC=R4C0
I4
I3
I2
I1
I4
I3
I2
I1
MD2
RLOC=R3C0.F
RLOC=R3C0.FFX
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
(F1)
A0
ADD (F3)
CARRY MODE
TQ1
C0
D0
D1
S0
XOR2
D1
M2_1
O MD1
MD1
CIN
FMAP
FDCE
Q1
D
Q
CE
C
CLR
L
Q1
D1
C0
Q1
RLOC=R4C0.FFY
INC-FG-1
I4
I3
I2
I1
MD1
RLOC=R4C0.G
FMAP
CY4_19
L
Q0
D0
INV
D[7:0]
L
CE
C
CLR
D0
L_CE
OR2
M2_1
TQ0
D0
D1
S0
O MD0
FDCE
MD0
I4
I3
I2
I1
MD0
RLOC=R4C0.F
Q0
D
Q
CE
C
CLR
Q0
RLOC=R4C0.FFX
CC8CLE.4K
Libraries Guide
3-165
Libraries Guide
CC8CLED
8-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D[7:0]
CC8CLED
Q[7:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
CEO
UP
TC
L
CE
C
CLR
X4287
3-166
Design Elements
Inputs
CLR
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
C
X
X
X
Outputs
UP
X
X
X
1
0
D7 D0
X
D
X
X
X
Q7 Q0
0
d7 d0
No Chg
Inc
Dec
TC
0
TC
No Chg
TC
TC
CEO
0
CEO
0
CEO
CEO
TC = (Q7Q6Q5...Q0UP) + (Q7Q6Q5...Q0UP)
CEO = (TCCE)
dn = state of referenced clock one set-up time prior to active clock transition
XC4000 Topology
TC*
CEO*
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X4339
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
Libraries Guide
3-167
Libraries Guide
RLOC=R0C1
CY4
RLOC=R0C0
CY4
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
CARRY
MODE
CIN
CO_UP
L
Q7
D7
C6_UP
L
Q6
D6
C5_UP
EXAMINE-CI
CY4_42
RLOC=R1C0
CY4
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
RLOC=R1C0.G
CARRY MODE
FMAP
I4
I3 O MD6_UP
INC-FG-CI
I2
CY4_18
I1
D7
XOR2
FMAP
I4
I3 O MD3_UP
I2
I1
XOR2
C3_UP
RLOC=R3C0
CY4
B1 (G1) COUT C2_UP
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
FMAP
CARRY MODE
I4
I3 O MD2_UP
I2
INC-FG-CI
I1
CY4_18
RLOC=R3C0.F
RLOC=R2C1
CY4
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
TQ5_UP M2_1
D0
O MD5_UP
D1
S0
MD5_UP
CARRY
MODE
D4
RLOC=R3C0.G
L
Q2
D2
C1_UP
D5
C5_DN
XOR2
D3
C3_DN
D2
MD4_UP
CY4
TQ3_UP M2_1
D0
O MD3_UP
D1
S0
MD3_UP
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
C1_DN
DEC-FG-CI
MD2_UP
CY4_25
TQ2_UP M2_1
D0
O MD2_UP
D1
S0
MD2_UP
C2_DN
MD3_UP
CIN
CARRY
MODE
XOR2
C4_DN
MD5_UP
CIN
DEC-FG-CI
CY4_25
TQ4_UP M2_1
D0
O MD4_UP
D1
S0
MD4_UP
RLOC=R3C1
CIN
C1_UP
MD6_UP
CY4_25
TQ6_UP M2_1
D0
O MD6_UP
D1
S0
MD6_UP
C6_DN
MD7_UP
CIN
DEC-FG-CI
CIN
RLOC=R2C0.F
L
Q3
D3
C2_UP
XOR2
C5_UP
CARRY MODE
FMAP
I4
I3 O MD4_UP INC-FG-CI
I2
CY4_18
I1
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
TQ7_UP M2_1
D0
O MD7_UP
D1
S0
MD7_UP
CARRY
MODE
RLOC=R2C0
CY4
FMAP
I4
I3 O MD5_UP
I2
I1
CY4_42
CY4 RLOC=R1C1
CIN
D6
RLOC=R2C0.G
L
Q4
D4
C3_UP
XOR2
C6_UP
RLOC=R1C0.F
L
Q5
D5
C4_UP
CIN
CO_DN
EXAMINE-CI
FMAP
I4
I3 O MD7_UP
I2
I1
CO_UP
RLOC=R4C0
L
Q1
D1
C0_UP
FMAP
I4
I3 O MD1_UP
I2
I1
CY4
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
RLOC=R4C0.G
L
Q0
D0
FMAP
I4
I3 O MD0_UP
I2
I1
XOR2
C0_UP
D1
RLOC=R4C1
CY4
TQ1_UP M2_1
D0
O MD1_UP
D1
S0
MD1_UP
B1 (G1) COUT
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD(F3)
CARRY
MODE
CIN
INC-FG-1
C0_DN
MD1_UP
CIN
DEC-FG-0
CY4_26
CY4_19
RLOC=R4C0.F
TQ0_UP
D0
INV
D0
D1
S0
M2_1
O
MD0_UP
MD0_UP
MD0_UP
D[7:0]
CC8CLED.4K A
3-168
UP
UP
L
CE
C
CLR
L
CE
C
CLR
Design Elements
AND2
CO_UP
TC_UP
AND2
CEO
OR2
Q[7:0]
TC
TC_DN
CO_DN
AND2B2
TQ7_DN M2_1
D0
O MD7
XNOR2
D1
S0
MD7
C6_DN
MD7_UP
FDCE
D
Q
CE
C CLR
Q7
RLOC=R1C1.FFY
TQ6_DN M2_1
D0
O MD6
FDCE
D1
S0
XNOR2
D
MD6
Q
CE
C CLR
Q6
C5_DN
MD6_UP
Q7
Q6
L_UP
Q7
MD7_UP
C6_DN
FMAP
I4
MD7
I3
O
I2
I1
L_UP
Q6
MD6_UP
C5_DN
RLOC=R1C1.G
FMAP
I4
MD6
I3
O
I2
I1
RLOC=R1C1.F
RLOC=R1C1.FFX
XNOR2
C4_DN
MD5_UP
TQ5_DN M2_1
D0
O MD5
D1
S0
MD5
FDCE
D
Q
CE
C CLR
Q5
RLOC=R2C1.FFY
TQ4_DN M2_1
D0
O MD4
FDCE
D1
XNOR2
S0
D
MD4
Q
CE
C CLR
Q4
C3_DN
MD4_UP
Q5
L_UP
Q5
MD5_UP
C4_DN
RLOC=R2C1.G
Q4
L_UP
Q4
MD4_UP
C3_DN
C2_DN
MD3_UP
TQ3_DN M2_1
D0
O MD3
D1
S0
MD3
FDCE
D
Q
CE
C CLR
Q3
RLOC=R3C1.FFY
TQ2_DN M2_1
D0
O MD2
FDCE
D1
XNOR2
S0
D
MD2
Q
CE
C CLR
Q2
C1_DN
MD2_UP
L_UP
Q3
MD3_UP
C2_DN
FMAP
I4
MD3
I3
O
I2
I1
L_UP
Q2
MD2_UP
C1_DN
RLOC=R3C1.G
FMAP
I4
MD2
I3
O
I2
I1
Q3
Q2
RLOC=R3C1.F
RLOC=R3C1.FFX
XNOR2
C0_DN
MD1_UP
TQ1_DN M2_1
D0
O MD1
D1
S0
MD1
FDCE
D
Q
CE
C CLR
Q1
RLOC=R4C1.FFY
FMAP
I4
MD4
I3
O
I2
I1
RLOC=R2C1.F
RLOC=R2C1.FFX
XNOR2
FMAP
I4
MD5
I3
O
I2
I1
L_UP
Q1
MD1_UP
C0_DN
Q1
L_UP
Q0
MD0_UP
FMAP
I4
MD1
I3
O
I2
I1
RLOC=R4C1.G
FMAP
I4
MD0
I3
O
I2
I1
RLOC=R4C1.F
TQ0_DN M2_1
D0
O MD0
INV
D1
S0
MD0
MD0_UP
OR2
UP
L
CE
C
CLR
OR2
L_UP
L_CE
FDCE
D
Q
CE
C CLR
Q0
Q0
RLOC=R4C1.FFX
CC8CLED.4K B
Libraries Guide
3-169
Libraries Guide
CC8RE
8-Bit Cascadable Binary Counter with Clock Enable
and Synchronous Reset
CC8RE
Q[7:0]
CE
CEO
TC
X4288
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
3-170
Design Elements
Inputs
Outputs
CE
Q7 Q0
TC
CEO
1
0
0
X
0
1
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q7Q6Q5...Q0CE)
CEO = (TCCE)
XC4000 Topology
TC*
CEO*
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X3675
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
Libraries Guide
3-171
Libraries Guide
RLOC=R0C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
VCC
AND2
CEO
CIN
CO
TC
EXAMINE-CI
Q[7:0]
CY4_42
CY4
AND2
RLOC=R1C0
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
M2_1
TQ7
C6
D0
D1
S0
FDCE
CE_M7
XOR2
R_TQ7
D
Q
CE
C
CLR
AND2B1
FMAP
CE
R
Q7
C6
Q7
RLOC=R1C0.FFY
CIN
INC-FG-CI
Q7
C5
TQ6
CY4_18
M2_1
D0
D1
S0
I4
I3
I2
I1
R_TQ7
O
RLOC=R1C0.G
O
FDCE
CE_M6
XOR2
R_TQ6
D
Q
CE
C
CLR
AND2B1
FMAP
Q6
CE
R
Q6
C5
Q6
RLOC=R1C0.FFX
I4
I3
I2
I1
R_TQ6
O
RLOC=R1C0.F
RLOC=R2C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
CARRY MODE
TQ5
C4
M2_1
D0
D1
S0
FDCE
O CE_M5
XOR2
R_TQ5
D
Q
CE
C
CLR
AND2B1
Q5
FMAP
CE
R
Q5
C4
Q5
RLOC=R2C0.FFY
CIN
C3
TQ4
INC-FG-CI
CY4_18
M2_1
D0
D1
S0
CE_M4
FDCE
R_TQ4
D
Q
CE
C
CLR
AND2B1
XOR2
R_TQ5
O
RLOC=R2C0.G
Q4
FMAP
CE
R
Q4
C3
Q4
RLOC=R2C0.FFX
I4
I3
I2
I1
R_TQ4
O
RLOC=R2C0.F
RLOC=R3C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
TQ3
C2
M2_1
D0
D1
S0
FDCE
CE_M3
XOR2
R_TQ3
Q
D
CE
C
CLR
AND2B1
Q3
C1
TQ2
INC-FG-CI
M2_1
D0
D1
S0
I4
I3
I2
I1
R_TQ3
O
RLOC=R3C0.FFY
O
RLOC=R3C0.G
FDCE
CE_M2
XOR2
CY4_18
FMAP
CE
R
Q3
C2
Q3
CIN
CARRY MODE
I4
I3
I2
I1
R_TQ2
D
Q
CE
C
CLR
AND2B1
Q2
FMAP
CE
R
Q2
C1
Q2
RLOC=R3C0.FFX
I4
I3
I2
I1
R_TQ2
O
RLOC=R3C0.F
RLOC=R4C0
CY4
COUT
B1 (G1)
A1 (G4) COUT0
B0 (F2)
A0 (F1)
ADD (F3)
TQ1
C0
M2_1
D0
D1
S0
CE_M1
XOR2
FDCE
R_TQ1
D
Q
CE
C
CLR
AND2B1
FMAP
CE
R
Q1
C0
Q1
I4
I3
I2
I1
R_TQ1
O
RLOC=R4C0.FFY
CIN
CARRY MODE
Q1
RLOC=R4C0.G
FMAP
INC-FG-1
CE
R
Q0
CY4_19
INV
CE
C
R
TQ0
M2_1
D0
D1
S0
FDCE
CE_M0
R_TQ0
Q
D
CE
C
CLR
AND2B1
Q0
I4
I3
I2
I1
R_TQ0
O
RLOC=R4C0.F
Q0
RLOC=R4C0.FFX
CC8RE.4K
GND
3-172
Design Elements
CC16CE
16-Bit Cascadable Binary Counter with Clock Enable
and Asynchronous Clear
CC16CE
Q[15:0]
CE
CEO
TC
CLR
X4286
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Libraries Guide
3-173
Libraries Guide
Inputs
Outputs
CLR
CE
Q15 Q0
TC
CEO
1
0
0
X
0
1
X
X
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q15Q14Q13Q12...Q0)
CEO = (TCCE)
XC4000 Topology
TC*
CEO*
D 15
Q 15
D 14
Q 14
D 13
Q 13
D 12
Q 12
D 11
Q 11
D 10
Q 10
D9
Q9
D8
Q8
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X3672
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
3-174
Design Elements
CC16CLE
16-Bit Loadable Cascadable Binary Counter with
Clock Enable and Asynchronous Clear
D[15:0]
CC16CLE
Q[15:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
CEO
L
CE
TC
CLR
X4284
Libraries Guide
3-175
Libraries Guide
Inputs
Outputs
CLR
CE
D15 D0
Q15 Q0
TC
CEO
1
0
0
0
X
1
0
0
X
X
0
1
X
X
X
X
D
X
X
0
d15 d0
No Chg
Inc
0
TC
No Chg
TC
0
CEO
0
CEO
TC = (Q15Q14Q13Q12...Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
XC4000 Topology
TC*
CEO*
D 15
Q 15
D 14
Q 14
D 13
Q 13
D 12
Q 12
D 11
Q 11
D 10
Q 10
D9
Q9
D8
Q8
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X3674
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
3-176
Design Elements
CC16CLED
16-Bit Loadable Cascadable Bidirectional Binary
Counter with Clock Enable and Asynchronous Clear
D[15:0]
CC16CLED
Q[15:0]
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
CEO
UP
TC
L
CE
C
CLR
X4285
Libraries Guide
3-177
Libraries Guide
Inputs
CLR
1
0
0
0
0
L
X
1
0
0
0
CE
X
X
0
1
1
Outputs
C
X
X
X
UP
X
X
X
1
0
D15 D0
X
D
X
X
X
Q15 Q0
0
d15 d0
No Chg
Inc
Dec
TC
0
TC
No Chg
TC
TC
CEO
0
CEO
0
CEO
CEO
TC = (Q15Q14Q13...Q0UP) + (Q15Q14Q13...Q0UP)
CEO = (TCCE)
dn = state of referenced clock one set-up time prior to active clock transition
XC4000 Topology
TC*
CEO*
D 15
Q 15
D 14
Q 14
D 13
Q 13
D 12
Q 12
D 11
Q 11
D 10
Q 10
D9
Q9
D8
Q8
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X4340
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
3-178
Design Elements
CC16RE
16-Bit Cascadable Binary Counter with Clock Enable
and Synchronous Reset
CC16RE
Q[15:0]
CE
CEO
TC
X4283
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Libraries Guide
3-179
Libraries Guide
Inputs
Outputs
CE
Q15 Q0
TC
CEO
1
0
0
X
0
1
0
No Chg
Inc
0
No Chg
TC
0
0
CEO
TC = (Q15Q14Q13...Q0)
CEO = (TCCE)
XC4000 Topology
TC*
CEO*
D 15
Q 15
D 14
Q 14
D 13
Q 13
D 12
Q 12
D 11
Q 11
D 10
Q 10
D9
Q9
D8
Q8
D7
Q7
D6
Q6
D5
Q5
D4
Q4
D3
Q3
D2
Q2
D1
Q1
D0
Q0
X3676
In the process of combining the logic that loads CEO and TC, the place and route
software might map the logic that generates CEO and TC to different function
generators. If this mapping occurs, the CEO and TC logic cannot be placed in the
uppermost CLB as indicated in the illustration.
3-180
Design Elements
CD4CE
4-Bit Cascadable BCD Counter with Clock Enable
and Asynchronous Clear
CD4CE
Q0
Q1
Q2
Q3
CE
CEO
TC
CLR
X4369
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CD4CE is a 4-stage, 4-bit, synchronous, clearable, cascadable binarycoded-decimal (BCD) counter. The asynchronous clear input (CLR) is
the highest priority input. When CLR is High, all other inputs are
ignored and data (Q3 Q0) and terminal count (TC) outputs go to
logic level zero, independent of clock transitions. The outputs
(Q3 Q0) increment when clock enable (CE) is High during the Lowto-High clock (C) transition. The counter ignores clock transitions
when CE is Low. The TC output is High when Q3 and Q0 are High
and Q2 and Q1 are Low.
The counter recovers from any of six possible illegal states and
returns to a normal count sequence within two clock cycles for
XC2000, XC3000, and XC4000 architectures, as shown in the
following state diagram. For XC7000, the counter resets to zero or
recovers within the first clock cycle.
0
8
X2355
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the CLR and clock inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
where n is the number of stages and tCE-TC is the CE-to-TC
propagation delay of each stage.
Libraries Guide
3-181
Libraries Guide
Outputs
CLR
CE
1
0
0
0
X
1
0
1
X
X
Q3
Q2
Q1
Q0
0
0
0
0
--------Increment---------------No Change-------1
0
0
1
TC
CEO
0
TC
TC
1
0
CEO
0
1
TC = (Q3Q2Q1Q0)
CEO = (TCCE)
3-182
Design Elements
FDCE
D0
INV
Q0
D
Q
CE
C
CLR
Q0
FDCE
AX1
AND2B1
D1
XOR2
Q1
D
Q
CE
C
CLR
Q1
FDCE
AX2
A03B
AND2
D2
XOR2
AND3
Q2
FDCE
OX3
AO3A
AND2
Q2
D
Q
CE
C
CLR
OR2
D3
XOR2
Q3
D
Q
CE
C
CLR
Q3
TC
C
CLR
CE
AND2
CEO
AND2
CD4CE.2K, 3K, 4K
Libraries Guide
3-183
Libraries Guide
CD4CLE
4-Bit Loadable Cascadable BCD Counter with Clock
Enable and Asynchronous Clear
D0
CD4CLE
D1
D2
D3
Q0
Q1
Q2
Q3
L
CE
CEO
TC
CLR
X4370
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CD4CLE is a 4-stage, 4-bit, synchronous, loadable, clearable, binarycoded-decimal (BCD) counter. The asynchronous clear input (CLR) is
the highest priority input. When CLR is High, all other inputs are
ignored and the data (Q3 Q0) and terminal count (TC) outputs go to
logic level zero, independent of clock transitions. The data on the
D3 D0 inputs is loaded into the counter when the load enable input
(L) is High during the Low-to-High clock (C) transition. The outputs
(Q3 Q0) increment when clock enable input (CE) is High during the
Low- to-High clock transition. The counter ignores clock transitions
when CE is Low. The TC output is High when Q3 and Q0 are High
and Q2 and Q1 are Low.
The counter recovers from any of six possible illegal states and
returns to a normal count sequence within two clock cycles for
XC2000, XC3000, and XC4000, as shown in the following state
diagram. For XC7000, the counter resets to zero or recovers within the
first clock cycle.
0
8
X2355
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the CLR, L, and C inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
3-184
Design Elements
L
X
1
0
0
0
CE
X
X
1
0
1
D3 D0
X
D3 D0
X
X
X
Outputs
C
X
X
X
Q3
Q2
Q1
Q0
0
0
0
0
d3
d2
d1
d0
---------Increment-----------------No Change--------1
0
0
1
TC
0
TC
TC
TC
1
CEO
0
CEO
CEO
0
1
TC = (Q3Q2Q1Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-185
Libraries Guide
VCC
+5
D0
L
C
CLR
D1
T1
AND3B1
D2
D3
TQ2
T2
AND2
AND3
TQ03
T3
OR2
FTCLE
D
L
T
Q
CE
C
CLR
Q0
Q0
FTCLE
D
L
T
Q
CE
C
CLR
Q1
Q1
FTCLE
D
L
T
Q
CE
C
CLR
Q2
Q2
FTCLE
D
L
T
Q
CE
C
CLR
Q3
Q3
AND2
TC
CE
CEO
AND4B2
AND2
CD4CLE.4K
3-186
Design Elements
CD4RE
4-Bit Cascadable BCD Counter with Clock Enable
and Synchronous Reset
CD4RE
Q0
Q1
Q2
Q3
CE
CEO
TC
X4371
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CD4RE is a 4-stage, 4-bit, synchronous, resettable, cascadable binarycoded-decimal (BCD) counter. The synchronous reset input (R) is the
highest priority input. When R is High, all other inputs are ignored
and (Q3 Q0) and terminal count (TC) outputs go to logic level zero
on the Low-to-High clock (C) transition. The outputs (Q3 Q0) increment when the clock enable input (CE) is High during the Low-toHigh clock transition. The counter ignores clock transitions when CE
is Low. The TC output is High when Q3 and Q0 are High and Q2 and
Q1 are Low.
The counter recovers from any of six possible illegal states and
returns to a normal count sequence within two clock cycles for
XC2000, XC3000, and XC4000, as shown in the following state
diagram. For XC7000, the counter resets to zero or recovers within
the first clock cycle.
0
8
X2355
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the R and clock inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC)
where n is the number of stages and tCE-TC is the CE-to-TC
propagation delay of each stage.
Libraries Guide
3-187
Libraries Guide
Outputs
CE
1
0
0
0
X
1
0
1
X
X
Q3
Q2
Q1
Q0
0
0
0
0
---------Increment---------------No Change-------1
0
0
1
TC
CEO
0
TC
TC
1
0
CEO
0
1
TC = (Q3Q2Q1Q0)
CEO = (TCCE)
3-188
Design Elements
FDRE
D0
Q0
D
CE
INV
R
Q0
FDRE
AX1
AND2B1
D1
Q1
D
CE
XOR2
R
Q1
FDRE
AX2
AND2
D2
CE
XOR2
A03B
Q2
D
C
R
Q2
AND3
OR2
AND2
FDRE
OX3
AO3A
D3
XOR2
Q3
D
CE
C
R
Q3
TC
C
R
CE
CEO
AND4B2
AND2
CD4RE.4K
Libraries Guide
3-189
Libraries Guide
CD4RLE
4-Bit Loadable Cascadable BCD Counter with Clock
Enable and Synchronous Reset
D0
CD4RLE
D1
D2
D3
Q0
Q1
Q2
Q3
L
CE
CEO
TC
X4372
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CD4RLE is a 4-stage, 4-bit, synchronous, loadable, resettable, binarycoded-decimal (BCD) counter. The synchronous reset input (R) is the
highest priority input. When R is High, all other inputs are ignored
and the data (Q3 Q0) and terminal count (TC) outputs go to logic
level zero on the Low-to-High clock transitions. The data on the D3
D0 inputs is loaded into the counter when the load enable input (L) is
High during the Low-to-High clock (C) transition. The outputs
(Q3 Q0) increment when the clock enable input (CE) is High during
the Low-to-High clock transition. The counter ignores clock transitions when CE is Low. The TC output is High when Q3 and Q0 are
High and Q2 and Q1 are Low.
The counter recovers from any of six possible illegal states and
returns to a normal count sequence within two clock cycles
forXC2000, XC3000, and XC4000, as shown in the following state
diagram. For XC7000, the counter resets to zero or recovers within the
first clock cycle.
0
8
X2355
Larger counters are created by connecting the count enable out (CEO)
output of the first stage to the CE input of the next stage and
connecting the R, L, and C inputs in parallel. CEO is active (High)
when TC and CE are High. The maximum length of the counter is
determined by the accumulated CE-to-TC propagation delays versus
the clock period. The clock period must be greater than n(tCE-TC),
3-190
Design Elements
L
X
1
0
0
0
CE
X
X
1
0
1
D3 D0
X
D3 D0
X
X
X
Outputs
C
X
X
Q3
Q2
Q1
Q0
0
0
0
0
d3
d2
d1
d0
----------Increment----------------No Change--------1
0
0
1
TC
0
TC
TC
TC
1
CEO
0
CEO
CEO
0
1
TC = (Q3Q2Q1Q0)
CEO = (TCCE)
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-191
Libraries Guide
VCC FTRSLE
DS
L
T Q
CE
CR
Q0
D0
L
C
R
D1
T1
AND3B1
D2
D3
TQ2
T2
AND2
AND3
TQ03
T3
OR2
Q0
FTRSLE
DS
L
T Q
CE
CR
Q1
FTRSLE
DS
L
T Q
CE
CR
Q2
FTRSLE
DS
L
T Q
CE
CR
Q3
Q1
Q2
AND2
Q3
TC
CE
AND4B2
CEO
AND2
GND
CD4RLE.2K, 3K, 4K
3-192
Design Elements
CJ4CE
4-Bit Johnson Counter with Clock Enable and
Asynchronous Clear
CJ4CE
Q0
Q1
CE
Q2
Q3
CLR
X4112
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
CE
Q0
1
0
0
X
0
1
X
X
Q1
Q2
Q3
0
0
0
--------No Change-------q3
q0
q1
q2
qn = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-193
Libraries Guide
FDCE
Q3B
INV
D
Q
CE
C
CLR
Q0
Q0
FDCE
D
Q
CE
C
CLR
Q1
Q1
FDCE
D
Q
CE
C
CLR
Q2
Q2
FDCE
CE
C
CLR
D
Q
CE
C
CLR
Q3
Q3
3-194
Design Elements
CJ4RE
4-Bit Johnson Counter with Clock Enable and
Synchronous Reset
CJ4RE
Q0
Q1
CE
Q2
Q3
X4113
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CE
Q0
1
0
0
X
0
1
Q1
Q2
Q3
0
0
0
--------No Change-------q3
q0
q1
q2
qn = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-195
Libraries Guide
FDRE
Q3B
INV
D
CE
C
Q0
R
Q0
FDRE
D
CE
C
Q1
R
Q1
FDRE
D
CE
C
Q2
R
Q2
FDRE
CE
C
R
D
CE
C
Q3
R
Q3
3-196
Design Elements
CJ5CE
5-Bit Johnson Counter with Clock Enable and
Asynchronous Clear
CJ5CE
Q0
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Q1
Q2
CE
Q3
Q4
CLR
X4114
Outputs
CLR
CE
Q0
1
0
0
X
0
1
X
X
Q1
Q2
Q3
Q4
0
0
0
0
------------No Change-----------q4
q0
q1
q2
q3
qn = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-197
Libraries Guide
CJ5RE
5-Bit Johnson Counter with Clock Enable and
Synchronous Reset
CJ5RE
Q0
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Q1
Q2
CE
Q3
Q4
X4115
Outputs
CE
Q0
1
0
0
X
0
1
Q1
Q2
Q3
Q4
0
0
0
0
------------No Change-----------q4
q0
q1
q2
q3
qn = state of referenced output one set-up time prior to active clock transition
3-198
Design Elements
CJ8CE
8-Bit Johnson Counter with Clock Enable and
Asynchronous Clear
CJ8CE
Q[7:0]
CE
C
CLR
X4118
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
CE
Q0
Q1 Q7
1
0
0
X
0
1
X
X
0
0
--No Change-q7
q0 q6
qn = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-199
Libraries Guide
Q[7:0]
Q7
FDCE
FDCE
Q7B
INV
Q
D
CE
C CLR
Q0
Q0
Q1
D
Q
CE
C CLR
Q5
Q2
D
Q
CE
C CLR
Q6
FDCE
CE
C
CLR
Q
D
CE
C CLR
Q3
Q4
Q6
FDCE
FDCE
Q
D
CE
C CLR
Q2
D
Q
CE
C CLR
Q4
FDCE
FDCE
Q
D
CE
C CLR
Q1
Q3
Q5
FDCE
Q3
D
Q
CE
C CLR
Q7
Q7
3-200
Design Elements
CJ8RE
8-Bit Johnson Counter with Clock Enable and
Synchronous Reset
CJ8RE
Q[7:0]
CE
C
X4119
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CE
Q0
Q1 Q7
1
0
0
X
0
1
0
0
--No Change-q7
q0 q6
qn = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-201
Libraries Guide
Q[7:0]
Q7
FDRE
FDRE
Q7B
INV
D
Q
CE
C R
Q0
Q1
D
Q
CE
C R
Q6
Q5
Q1
FDRE
FDRE
Q2
D
Q
CE
C R
Q5
Q6
Q2
FDRE
FDRE
D
Q
CE
C R
Q3
Q4
FDRE
FDRE
D
Q
CE
C R
D
Q
CE
C R
Q4
Q0
D
Q
CE
C R
Q3
Q3
D
Q
CE
C R
Q7
Q7
CE
C
R
3-202
Design Elements
CLB
CLB Configuration Symbol
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
N/A
N/A
The CLB symbol enables you to manually specify a CLB configuration. It allows you to enter portions of a logic design directly in terms
of the physical CLB, rather than schematically. Using the CLB symbol
provides precise partitioning control and requires knowledge of the
CLB architecture. Use it in place of the equivalent captured logic and
not in conjunction with it.
A
CLB
CLB
B
C
D
K
X4647
XC2000
CLB
B
X
C
D
E
O1
EC
K
RD
X4650
XC3000
Libraries Guide
3-203
Libraries Guide
A blank XC2000 CLB primitive symbol and its corresponding configured CLB primitive and circuit are shown in the following figure.
A
B
C
D
K
CLB
AA
FG
X:Q Y:G CLK:K:NOT Set A RES:D
F=B*~C
G=~B*C
CLB AA
B
A
U3
U5
F
SD
AND2B1
U4
K
RD
INV
DFF
U6
G
AND2B1
Y
D
X5019
3-204
Design Elements
A blank XC3000 CLB primitive symbol and its corresponding configured CLB primitive and circuit are shown in the following figure.
A
B
C
D
E
O1
EC
K
RD
CLB
AA
FG
X:QX Y:QY DX:Y DY:G CLK:K ENCLK:EC
F=A*B*E*QY
G=QX*A*E*QY
A
B
E
U4
U3
F
AND4
C
CE
FDCE
U5
U6
G
D
AND4
C
CE
K
FDCE
CE
X5021
Libraries Guide
3-205
Libraries Guide
The configuration commands must be consistent with the connections. For example, if you use the A input in an equation, connect a
signal to the A pin. Refer to the applicable CAE tool interface user
guide for more information on specifying the CLB configuration
commands in the schematic.
You can specify the location of a CLB on the device using the LOC
attribute. When specifying the LOC attribute, a valid CLB name (AA,
AB, and so forth) must be used. Refer to the Attributes, Constraints,
and Carry Logic chapter for more information on the LOC attribute.
3-206
Design Elements
CLBMAP
Logic-Partitioning Control Symbol
A
CLBMAP
D
K
XC3000
XC4000
XC7000
Primitive
Primitive
N/A
N/A
X4648
XC2000
A
XC2000
X
CLBMAP
B
C
D
E
X
Y
DI
EC
K
RD
X4651
XC3000
Libraries Guide
3-207
Libraries Guide
U1
U2
A0IN
PAD
U9
A0
U17
SUM0
IBUF
XOR2
U3
U4
B0IN
PAD
U10
B0
U12
U6
A1IN
PAD
PAD
S1
OBUF
XOR2
U11
A1
IBUF
XOR2
U7
U18
SUM1
IBUF
AND2
U5
S0
OBUF
U13
U8
B1IN
B1
AND2
IBUF
U14
U16
U19
SUM2
XOR3
AND2
S2
OBUF
U15
AND2
A0
B0
A1
B1
A
B
C
D
SUM1
SUM2
K
CLBMAP
X4454
3-208
Design Elements
U1
U2
A0IN
PAD
U9
A0
U17
SUM0
IBUF
XOR2
U3
U4
B0IN
PAD
U10
B0
U12
U6
A1IN
PAD
S1
OBUF
XOR2
U11
A1
IBUF
XOR2
U7
U18
SUM1
IBUF
AND2
U5
S0
OBUF
U13
U8
B1IN
PAD
B1
AND2
IBUF
U14
U16
U19
SUM2
XOR3
AND2
S2
OBUF
U15
AND2
A0
A1
B0
B1
A
B
C
SUM1
D
E
DI
EC
SUM2
K
RD
CLBMAP
X5022
Function
P
C
Pins
Closed Adding logic to or removing logic
from the CLB is not allowed.
Locked Locking CLB pins
Open Adding logic to or removing logic from
the CLB is allowed.
Unlocked No locking on CLB pins.
L
O
U
Libraries Guide
3-209
Libraries Guide
3-210
Design Elements
COMP2
2-Bit Identity Comparator
A0
A1
COMP2
EQ
B0
B1
X4122
Libraries Guide
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-211
Libraries Guide
COMP4
4-Bit Identity Comparator
A0
COMP4
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
A1
A2
A3
B0
EQ
B1
B2
B3
X4126
3-212
Design Elements
COMP8
8-Bit Identity Comparator
A[7:0]
COMP8
EQ
B[7:0]
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X4131
A0
B0
AB0
XNOR2
A1
B1
AB1
AB03
XNOR2
A2
B2
AB2
AND4
XNOR2
A3
B3
AB3
EQ
XNOR2
A4
B4
AND2
AB4
XNOR2
A5
B5
AB5
AB47
XNOR2
A6
B6
AB6
AND4
XNOR2
A[7:0]
A7
B7
AB7
XNOR2
B[7:0]
Libraries Guide
3-213
Libraries Guide
COMP16
16-Bit Identity Comparator
A[15:0]
COMP16
EQ
B[15:0]
X4133
3-214
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Design Elements
COMPM2
2-Bit Magnitude Comparator
A0
COMPM2
A1
GT
B0
LT
B1
X4123
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
COMPM2 is a 2-bit, magnitude comparator that compares two positive binary-weighted words A1 A0 and B1 B0, where A1 and B1
are the most significant bits. The greater-than output (GT) is High
when A>B, and the less-than output (LT) is High when A<B. When
the two words are equal, both GT and LT are Low. Equality can be
measured with this macro by comparing both outputs with a NOR
gate.
Inputs
Libraries Guide
Outputs
A1
B1
A0
B0
GT
LT
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
X
X
0
0
1
1
0
0
1
1
X
X
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
3-215
Libraries Guide
COMPM4
4-Bit Magnitude Comparator
A0
COMPM4
A1
A2
A3
GT
B0
LT
B1
B2
B3
X4127
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive*
COMPM4 is a 4-bit, magnitude comparator that compares two positive binary-weighted words A3 A0 and B3 B0, where A3 and B3
are the most significant bits. The greater-than output (GT) is High
when A>B, and the less-than output (LT) is High when A<B. When
the two words are equal, both GT and LT are Low. Equality can be
measured with this macro by comparing both outputs with a NOR
gate.
Inputs
3-216
Outputs
A3, B3
A2, B2
A1, B1
A0, B0
GT
LT
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
X
X
A2>B2
A2<B2
A2=B2
A2=B2
A2=A2
A2=B2
A2=B2
X
X
X
X
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
X
X
X
X
X
X
A0>B0
A0<B0
A0=B0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
0
Design Elements
COMPM8
8-Bit Magnitude Comparator
A[7:0]
COMPM8
GT
LT
B[7:0]
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive*
Libraries Guide
COMPM8 is an 8-bit, magnitude comparator that compares two positive binary-weighted words A7 A0 and B7 B0, where A7 and B7
are the most significant bits. The greater-than output (GT) is High
when A>B, and the less-than output (LT) is High when A<B. When
the two words are equal, both GT and LT are Low. Equality can be
measured with this macro by comparing both outputs with a NOR
gate. Refer to the COMPM4 section earlier in this chapter for a
representative truth table.
3-217
Libraries Guide
EQ_1
XNOR2
A0
LE0_1
AND3B1
GE0_1
LT0_1
LTA
OR2
B0
AND4
AND3B1
GTA
A1
AND2B1
LT_1
EQ_3
XNOR2
A2
GT0_1
GT_1
B1
AND4
OR2
AND2B1
LE2_3
LT2_3
LTB
AND3B1
GE2_3
LT
OR2
EQ2_3
B2
AND3
OR4
NOR2
AND3B1
A3
GTB
GT2_3
GT_3
AND3
B3
AND2B1
LT_3
OR2
AND2B1
EQ_5
LE4_5
LT4_5
LTC
XNOR2
A4
AND3B1
GE4_5
OR2
EQ4_5
B4
AND3B1
A5
NOR2
AND2B1
LT_5
GT
GTC
GT4_5
GT_5
B5
AND2
AND2
OR2
OR4
AND2B1
EQ_7
XNOR2
A6
LE6_7
AND3B1
GE6_7
LTD
OR2
EQ6_7
B6
AND3B1
A[7:0]
B[7:0]
A7
NOR2
GTD
GT_7
B7
AND2B1
LT_7
OR2
AND2B1
3-218
Design Elements
COMPM16
16-Bit Magnitude Comparator
A[15:0]
COMPM16
GT
LT
B[15:0]
X4134
Libraries Guide
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
N/A
3-219
Libraries Guide
COMPMC8
8-Bit Magnitude Comparator
A[7:0]
COMPMC8
GT
LT
B[7:0]
X4264
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
XC4000 Topology
GT*
LT*
A 7B 7
A 6B 6
A 5B 5
A 4B 4
A 3B 3
A 2B 2
A 1B 1
A 0B 0
X4341
In the process of combining the logic that loads GT and LT, the place and route
software might map the logic that generates GT and LT to different function
generators. If this mapping occurs, the GT and LT logic cannot be placed in the
uppermost CLB, as indicated in the illustration.
3-220
Design Elements
RLOC=R0C0
CY4
B1(G1) COUT
A1(G4)
B0(F2)
A0(F1)
ADD (F3)
CARRY MODE
CIN
COUT0
CO
INV
EXAMINE-CI
LT
CY4_42
RLOC=R1C0
CY4
B1(G1) COUT
A1(G4)
B0(F2)
A0(F1)
ADD (F3)
B7
A7
B6
A6
S7
S67
B7
A7
C6
SUB-FG-CI
CY4_07
XNOR2
S6
RLOC=R2C0
CY4
B5
B1(G1)
A5
A1(G4) COUT
B4
B0(F2)
A4
A0(F1)
ADD (F3)
CIN
CARRY MODE
S5
S45
AND2
XNOR2
S3
CIN
CARRY MODE
RLOC=R4C0
CY4
B1(G1) COUT
A1(G4)
B0(F2)
A0(F1)
ADD (F3)
B1
A1
B0
A0
CARRY MODE
CIN
B[7:0]
I3
I2
I1
S67
O
RLOC=R1C0
S5
HMAP
I3
I2
I1
S45
O
RLOC=R2C0
RLOC=R2C0.F
C2
XNOR2
B3
A3
FMAP
I4
I3
O
I2
I1
S3
HMAP
S2
S1
XNOR2
S01
AND2
COUT0
B2
A2
RLOC=R3C0.G
FMAP
I4
I3
S2
O
I2
I1
I3
I2
I1
S23
O
RLOC=R3C0
RLOC=R3C0.F
C_IN
CY4_07
A[7:0]
FMAP
I4
I3
O
I2
B4
A4
SUB-FG-CI
S0
RLOC=R5C0
CY4
B1(G1) COUT
A1(G4)
B0(F2)
A0(F1)
ADD (F3)
RLOC=R1C0.G
FMAP
I4
I3
S6
O
I2
I1
RLOC=R2C0.G
FMAP
I4
I3
S4
O
I2
I1
COUT0
SUB-FG-CI
HMAP
I1
S23
AND2
XNOR2
CY4_07
S7
B5
A5
XNOR2
S4
RLOC=R3C0
CY4
B1(G1) COUT
A1(G4)
B0(F2)
A0(F1)
ADD (F3)
FMAP
I4
I3
O
I2
I1
RLOC=R1C0.F
C4
CY4_07
B3
A3
B2
A2
B6
A6
COUT0
SUB-FG-CI
NOR2
AND4
COUT0
CIN
CARRY MODE
GT
EQ
AND2
XNOR2
B1
A1
XNOR2
COUT0
B0
A0
FMAP
I4
I3
O
I2
I1
S1
RLOC=R4C0.G
FMAP
I4
I3
S0
O
I2
I1
HMAP
I3
I2
I1
S01
O
RLOC=R4C0
CIN
CARRY MODE
RLOC=R4C0.F
FORCE-1
CY4_38
COMPMC8.4K
Libraries Guide
3-221
Libraries Guide
COMPMC16
16-Bit Magnitude Comparator
A[15:0] COMPMC16
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
GT
LT
B[15:0]
X4265
3-222
Design Elements
XC4000 Topology
GT*
LT*
A 15 B 15
A 14 B 14
A 13 B 13
A 12 B 12
A 11 B 11
A 10 B 10
A 9B 9
A 8B 8
A 7B 7
A 6B 6
A 5B 5
A 4B 4
A 3B 3
A 2B 2
A 1B 1
A 0B 0
X4342
In the process of combining the logic that loads GT and LT, the place and route
software might map the logic that generates GT and LT to different function
generators. If this mapping occurs, the GT and LT logic cannot be placed in the
uppermost CLB, as indicated in the illustration.
Libraries Guide
3-223
Libraries Guide
CR8CE
8-Bit Negative-Edge Binary Ripple Counter with
Clock Enable and Asynchronous Clear
CR8CE
Q[7:0]
CE
C
CLR
X4116
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-224
Outputs
CLR
CE
Q7 Q0
1
0
0
X
0
1
X
X
0
No Chg
Inc
Design Elements
Q[7:0]
FDCE_1
TQ0
C
INV
Q
D
CE
C CLR
Q0
FDCE_1
Q0
Q3
TQ4
INV
FDCE_1
TQ1
INV
D
Q
CE
C CLR
Q1
INV
D
Q
CE
C CLR
TQ5
INV
Q2
TQ6
INV
Q3
TQ7
FDCE_1
INV
Q
D
CE
C CLR
Q3
Q
D
CE
C CLR
Q5
Q5
FDCE_1
Q2
TQ3
Q4
FDCE_1
Q1
FDCE_1
TQ2
D
Q
CE
C CLR
Q4
D
Q
CE
C CLR
Q6
Q6
FDCE_1
INV
D
Q
CE
C CLR
Q7
Q7
CLR
CE
Libraries Guide
3-225
Libraries Guide
CR16CE
16-Bit Negative-Edge Binary Ripple Counter with
Clock Enable and Asynchronous Clear
CR16CE
Q[15:0]
CE
C
CLR
X4120
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
3-226
Outputs
CLR
CE
Q15 Q0
1
0
0
X
0
1
X
X
0
No Chg
Inc
Design Elements
D2_4E
2- to 4-Line Decoder/Demultiplexer with Enable
A0
D2_4E
D0
A1
D1
D3
D2
X3853
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
A1
A0
D3
D2
D1
D0
X
0
0
1
1
X
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
D0
AND3B2
D1
AND3B1
D2
E
A0
A1
AND3B1
D3
AND3
Libraries Guide
3-227
Libraries Guide
D3_8E
3- to 8-Line Decoder/Demultiplexer with Enable
A0
A1
D3_8E
D0
D1
A2
D2
D3
D4
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
D5
D6
D7
XC2000
X3854
Inputs
A2
X
0
0
0
0
1
1
1
1
3-228
A1
X
0
0
1
1
0
0
1
1
A0
X
0
1
0
1
0
1
0
1
Outputs
E
0
1
1
1
1
1
1
1
1
D7
0
0
0
0
0
0
0
0
1
D6
0
0
0
0
0
0
0
1
0
D5
0
0
0
0
0
0
1
0
0
D4
0
0
0
0
0
1
0
0
0
D3
0
0
0
0
1
0
0
0
0
D2
0
0
0
1
0
0
0
0
0
D1
0
0
1
0
0
0
0
0
0
D0
0
1
0
0
0
0
0
0
0
Design Elements
D[7:0]
D0
AND4B3
D1
AND4B2
D2
AND4B2
D3
AND4B1
D4
AND4B2
D5
AND4B1
D6
E
A0
A1
A2
AND4B1
D7
AND4
Libraries Guide
3-229
Libraries Guide
D4_16E
4- to 16-Line Decoder/Demultiplexer with Enable
A0
A1
D4_16E
D0
D1
A2
D2
A3
D3
D4
D5
D6
D7
D8
D9
D10
D11
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
D12
D13
D14
E
D15
X3855
3-230
Design Elements
D[15:0]
D0
AND5B4
D1
AND5B3
D2
AND5B3
D3
AND5B2
D4
AND5B3
D5
AND5B2
D6
AND5B2
D7
AND5B1
D8
AND5B3
D9
AND5B2
D10
AND5B2
D11
AND5B1
D12
AND5B2
D13
AND5B1
D14
E
A0
A1
A2
A3
AND5B1
D15
AND5
Libraries Guide
3-231
Libraries Guide
DECODE4
A1
A2
O
A3
X3907
A0
A1
DECODE8
A2
A3
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
A4
A5
A6
O
A7
X3908
A0
A1
DECODE16
A2
A3
A4
A5
A6
Outputs
I0
I1
...
In 1
1
0
X
X
1
X
0
X
1
X
X
X
1
X
X
0
1
0
0
0
A7
A8
A9
A10
A11
A12
A13
A14
A15
X3909
3-232
Design Elements
A0
WAND1
A1
DECODE
WAND1
A2
DECODE
WAND1
A3
DECODE
WAND1
A4
DECODE
WAND1
A5
DECODE
WAND1
A6
DECODE
WAND1
A7
DECODE
WAND1
DECODE
Libraries Guide
3-233
Libraries Guide
FD
Element
XC2000
XC3000
XC4000
XC7000
FD
FD4,
FD8,
FD16
Macro
N/A
Macro
N/A
Macro
N/A
Primitive
Primitive
X3715
FD4
D0
FD is a single D-type flip-flop with data input (D) and data output
(Q). FD4, FD8, and FD16 are 4-bit, 8-bit, and 16-bit registers, each
with a common clock (C). The data on the D inputs is loaded into the
flip-flop during the Low-to-High clock (C) transition.
Q0
D1
Q1
D2
Q2
D3
Q3
X4608
D[7:0]
FD8
Q[7:0]
Inputs
Outputs
X4609
D[15:0]
FD16
0
1
0
1
Q[15:0]
FDCP
C
D
X4610
PRE
CLR
GND
3-234
Design Elements
VCC
D
FDCE
D
Q
CE
C
CLR
GND
Libraries Guide
3-235
Libraries Guide
FD_1
D Flip-Flop with Negative-Edge Clock
D
FD_1
C
X3726
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
N/A
FD_1 is a single D-type flip-flop with data input (D) and data output
(Q). The data on the D input is loaded into the flip-flop during the
High-to-Low clock (C) transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
0
1
0
1
FDCP
D
D PRE Q
CB
INV
CLR
GND
CB
INV
D
Q
CE
C
CLR
GND
3-236
Design Elements
FD4CE
4-Bit Data Register with Clock Enable and
Asynchronous Clear
D0
D1
D2
D3
FD4CE
Q0
Q1
Q2
Q3
CE
C
CLR
X3733
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
CE
D3 D0
Q3 Q0
1
0
0
X
0
1
X
X
Dn
X
X
0
No Chg
dn
dn = state of corresponding input one set-up time prior to active clock transition
Libraries Guide
3-237
Libraries Guide
FD4RE
4-Bit Data Register with Clock Enable and
Synchronous Reset
D0
D1
D2
D3
CE
FD4RE
Q0
Q1
Q2
Q3
X3734
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the clock enable (CE) input is High, and the synchronous reset
(R) input is Low, the data on the four data inputs (D3 D0) of FD4RE
is transferred to the corresponding data outputs (Q3 Q0) during the
Low-to-High clock (C) transition. When R is High, it overrides all
other inputs and resets the data outputs (Q3 Q0) Low on the Lowto-High clock transition. When CE is Low, clock transitions are
ignored.
The flip-flops are asynchronously reset, outputs Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
CE
D3 D0
Q3 Q0
1
0
0
X
0
1
X
X
Dn
0
No Chg
dn
dn = state of corresponding input one set-up time prior to active clock transition
3-238
Design Elements
FD8CE
8-Bit Data Register with Clock Enable and
Asynchronous Clear
D[7:0]
FD8CE
Q[7:0]
CE
C
CLR
X3850
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
CE
D7 D0
Q7 Q0
1
0
0
X
0
1
X
X
Dn
X
X
0
No Chg
dn
dn = state of corresponding input one set-up time prior to active clock transition
Libraries Guide
3-239
Libraries Guide
Q[7:0]
FDCE
D0
FDCE
D
Q
CE
C
CLR
Q0
Q0
D
Q
CE
C CLR
Q1
D5
D
Q
CE
C
CLR
Q5
Q2
D6
Q
D
CE
C
CLR
Q6
Q3
D7
D
Q
CE
C
CLR
Q7
D4
FDCE
Q1
FDCE
D2
Q
D
CE
C
CLR
Q2
D[7:0]
D
Q
CE
C
CLR
Q3
Q5
FDCE
FDCE
D3
Q4
Q4
FDCE
D1
Q
D
CE
C CLR
Q6
FDCE
Q7
CE
C
CLR
3-240
Design Elements
FD8RE
8-Bit Data Register with Clock Enable and
Synchronous Reset
D[7:0]
FD8RE
Q[7:0]
CE
C
X3735
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the clock enable (CE) input is High, and the synchronous reset
(R) input is Low, the data on the eight data inputs (D7 D0) of FD8RE
is transferred to the corresponding data outputs (Q7 Q0) during the
Low-to-High clock (C) transition. When R is High, it overrides all
other inputs and resets the data outputs (Q7 Q0) Low on the Lowto-High clock transition. When CE is Low, clock transitions are
ignored.
The flip-flops are asynchronously reset, outputs Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
CE
D7 D0
Q7 Q0
1
0
0
X
0
1
X
X
Dn
0
No Chg
dn
dn = state of corresponding input one set-up time prior to active clock transition
Libraries Guide
3-241
Libraries Guide
Q[7:0]
FDRE
D0
D
CE
C
FDRE
Q
Q0
D4
R
Q0
D
CE
C
Q1
D5
D3
D[7:0]
D
CE
C
Q2
D6
R
Q3
Q5
D
CE
C
Q6
R
Q6
Q2
Q
D
CE
C
FDRE
FDRE
Q5
FDRE
D
CE
C
Q4
FDRE
Q1
D2
Q4
FDRE
D1
D
CE
C
FDRE
Q3
D7
D
CE
C
Q7
R
Q7
CE
C
R
3-242
Design Elements
FD16CE
16-Bit Data Register with Clock Enable and
Asynchronous Clear
D[15:0]
FD16CE
Q[15:0]
CE
C
CLR
X3736
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
CE
D15 D0
Q15 Q0
1
0
0
X
0
1
X
X
Dn
X
X
0
No Chg
dn
dn = state of corresponding input one set-up time prior to active clock transition
Libraries Guide
3-243
Libraries Guide
FD16RE
16-Bit Data Register with Clock Enable and
Synchronous Reset
D[15:0]
FD16RE
Q[15:0]
CE
C
X3737
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the clock enable (CE) input is High, and the synchronous reset
(R) input is Low, the data on the 16 data inputs (D15 D0) of FD16RE
is transferred to the corresponding data outputs (Q15 Q0) during
the Low-to-High clock (C) transition. When R is High, it overrides all
other inputs and resets the data outputs (Q15 Q0) Low on the Lowto-High clock transition. When CE is Low, clock transitions are
ignored.
The flip-flops are asynchronously reset, outputs Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
CE
D15 D0
Q15 Q0
1
0
0
X
0
1
X
X
Dn
0
No Chg
dn
dn = state of corresponding input one set-up time prior to active clock transition
3-244
Design Elements
FDC
D Flip-Flop with Asynchronous Clear
D
FDC
CLR
X3716
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDC is a single D-type flip-flop with data (D) and asynchronous clear
(CLR) inputs and data output (Q). The asynchronous CLR, when
High, overrides all other inputs and sets the Q output Low. The data
on the D input is loaded into the flip-flop when CLR is Low on the
Low-to-High clock transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
CLR
1
0
0
X
1
0
0
1
0
FDCP
D
D PRE Q
CLR
CLR
GND
FDCE
D
C
D
Q
CE
C
CLR
CLR
Libraries Guide
3-245
Libraries Guide
FDC_1
D Flip-Flop with Negative-Edge Clock and
Asynchronous Clear
D
FDC_1
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
N/A
CLR
X3847
Outputs
CLR
1
0
0
X
1
0
0
1
0
FDCP
D
D PRE Q
C
CLR
CB
INV
CLR
GND
3-246
Design Elements
VCC
FDCE
D
C
CLR
CB
INV
D
Q
CE
C
CLR
Libraries Guide
3-247
Libraries Guide
FDCE
D Flip-Flop with Clock Enable and Asynchronous
Clear
D
FDCE
CE
C
CLR
X3717
XC2000
XC3000
XC4000
XC7000
Macro
Primitive
Primitive
Primitive
Outputs
CLR
CE
1
0
0
0
X
0
1
1
X
X
1
0
X
X
0
No Chg
1
0
FDCP
M2_1
D
CE
C
D0
D1
S0
O Q_D
D PRE Q
C
CLR
CLR
GND
3-248
Design Elements
FDCE_1
D Flip-Flop with Negative-Edge Clock, Clock Enable,
and Asynchronous Clear
D
FDCE_1
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
N/A
CE
C
CLR
X3727
FDCE_1 is a single D-type flip-flop with data (D), clock enable (CE),
and asynchronous clear (CLR) inputs and data output (Q). The asynchronous CLR input, when High, overrides all other inputs and sets
the Q output Low. The data on the D input is loaded into the flip-flop
when CLR is Low and CE is High on the High-to-Low clock (C) transition. When CE is Low, the clock transitions are ignored.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Libraries Guide
Outputs
CLR
CE
1
0
0
0
X
0
1
1
X
X
1
0
0
No Chg
1
0
3-249
Libraries Guide
M2_1
D0
D1
S0
D
CE
C
FDCP
OQ_D
D PRE Q
CB
INV
CLR
CLR
GND
CB
INV
D
Q
CE
C
CLR
3-250
Design Elements
FDCP
D Flip-Flop with Asynchronous Preset and Clear
PRE
FDCP
Q
CLR
X4397
XC2000
XC3000
XC4000
XC7000
Primitive
N/A
N/A
Primitive*
Libraries Guide
Outputs
CLR
PRE
1
0
0
0
X
1
0
0
X
X
0
1
X
X
0
1
0
1
3-251
Libraries Guide
FDCPE
D Flip-Flop with Clock Enable and Asynchronous
Preset and Clear
PRE
D
CE
FDCPE
Q
CLR
X4389
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
FDCPE is a single D-type flip-flop with data (D), clock enable (CE),
asynchronous preset (PRE), and asynchronous clear (CLR) inputs and
data output (Q). The asynchronous PRE, when High, sets the Q
output High; CLR, when High, resets the output Low. When both
PRE and CLR are active, the flip-flop is cleared. Data on the D input is
loaded into the flip-flop when PRE and CLR are Low and CE is High
on the Low-to-High clock (C) transition. When CE is Low, the clock
transitions are ignored.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR) is active (Low).
Inputs
3-252
Outputs
CLR
PRE
CE
1
0
0
0
0
X
1
0
0
0
X
X
0
1
1
X
X
X
0
1
X
X
X
0
1
No Chg
0
1
Design Elements
D
CE
PRE
M2_1
D0
D1
S0
OQ_D
FDCP
D
PRE
CLR
CLR
Libraries Guide
3-253
Libraries Guide
FDP
D Flip-Flop with Asynchronous Preset
PRE
FDP
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
Primitive
X3720
Outputs
PRE
1
0
0
X
1
0
1
1
0
VCC
PRE
D
FDPE
D
PRE
CE
C
3-254
Design Elements
FDP_1
D Flip-Flop with Negative-Edge Clock and
Asynchronous Preset
PRE
FDP_1
C
X3728
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Outputs
PRE
1
0
0
X
1
0
1
1
0
VCC
FDPE
PRE
D
C
CB
D PRE Q
CE
C
INV
Libraries Guide
3-255
Libraries Guide
FDPE
D Flip-Flop with Clock Enable and Asynchronous
Preset
PRE
D
CE
C
FDPE
X3721
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
Primitive
FDPE is a single D-type flip-flop with data (D), clock enable (CE), and
asynchronous preset (PRE) inputs and data output (Q). The asynchronous PRE, when High, overrides all other inputs and sets the Q
output High. Data on the D input is loaded into the flip-flop when
PRE is Low and CE is High on the Low-to-High clock (C) transition.
When CE is Low, the clock transitions are ignored. The flip-flop is
asynchronously set, output High, when global set/reset (GSR) is
active; the GSR active level is programmable.
Inputs
3-256
Outputs
PRE
CE
1
0
0
0
X
0
1
1
X
X
0
1
X
X
1
No Chg
0
1
Design Elements
FDPE_1
D Flip-Flop with Negative-Edge Clock, Clock Enable,
and Asynchronous Preset
PRE
FDPE_1
CE
C
X3852
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
FDPE_1 is a single D-type flip-flop with data (D), clock enable (CE),
and asynchronous preset (PRE) inputs and data output (Q). The
asynchronous PRE, when High, overrides all other inputs and sets
the Q output High. Data on the D input is loaded into the flip-flop
when PRE is Low and CE is High on the High-to-Low clock (C) transition. When CE is Low, the clock transitions are ignored. The flipflop is asynchronously set, output High, when global set/reset (GSR)
is active; the GSR active level is programmable.
Inputs
Outputs
PRE
CE
1
0
0
0
X
0
1
1
X
X
1
0
X
X
1
No Chg
1
0
FDPE
PRE
D
CE
C
CB
D PRE Q
CE
C
INV
Libraries Guide
3-257
Libraries Guide
FDR
D Flip-Flop with Synchronous Reset
D
FDR
X3718
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDR is a single D-type flip-flop with data (D) and synchronous reset
(R) inputs and data output (Q). The synchronous reset (R) input,
when High, overrides all other inputs and resets the Q output Low on
the Low-to-High clock (C) transition. The data on the D input is
loaded into the flip-flop when R is Low during the Low-to-High clock
transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
R
1
0
0
X
1
0
0
1
0
FD
D
R
C
Outputs
D_R
AND2B1
3-258
Design Elements
FDRE
D Flip-Flop with Clock Enable and Synchronous
Reset
D
FDRE
CE
C
X3719
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDRE is a single D-type flip-flop with data (D), clock enable (CE), and
synchronous reset (R) inputs and data output (Q). The synchronous
reset (R) input, when High, overrides all other inputs and resets the Q
output Low on the Low-to-High clock (C) transition. The data on the
D input is loaded into the flip-flop when R is Low and CE is High
during the Low-to-High clock transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
CE
1
0
0
0
X
0
1
1
X
X
1
0
0
No Chg
1
0
R
CE
A0
A1
AND3B2
QD
OR2
FD
AND3B1
Libraries Guide
3-259
Libraries Guide
FDRS
D Flip-Flop with Synchronous Reset and
Synchronous Set
S
FDRS
X3731
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDRS is a single D-type flip-flop with data (D), synchronous set (S),
and synchronous reset (R) inputs and data output (Q). The synchronous reset (R) input, when High, overrides all other inputs and resets
the Q output Low during the Low-to-High clock (C) transition. (Reset
has precedence over Set.) When S is High and R is Low, the flip-flop is
set, output High, during the Low-to-High clock transition. When R
and S are Low, data on the (D) input is loaded into the flip-flop
during the Low-to-High clock transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
R
1
0
0
0
X
1
0
0
X
X
1
0
0
1
1
0
FDR
D
S
C
Outputs
D_S
OR2
D
C
Q
R
3-260
Design Elements
FDRSE
D Flip-Flop with Synchronous Reset and Set and
Clock Enable
S
D
CE
C
FDRSE
X3732
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CE
1
0
0
0
0
X
1
0
0
0
X
X
0
1
1
X
X
X
1
0
0
1
No Chg
1
0
D
S
D_S
FDRE
OR2
CE_S
CE
C
Outputs
OR2
D
CE
C
Libraries Guide
3-261
Libraries Guide
FDS
D Flip-Flop with Synchronous Set
S
FDS
X3722
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDS is a single D-type flip-flop with data (D) and synchronous set (S)
inputs and data output (Q). The synchronous set input, when High,
sets the Q output High on the Low-to-high clock (C) transition. The
data on the D input is loaded into the flip-flop when S is Low during
the Low-to-High clock (C) transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
S
1
0
0
X
1
0
1
1
0
FD
D
S
C
Outputs
D_S
OR2
D
C
3-262
Design Elements
FDSE
D Flip-Flop with Clock Enable and Synchronous Set
S
FDSE
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CE
C
X3723
FDSE is a single D-type flip-flop with data (D), clock enable (CE), and
synchronous set (S) inputs and data output (Q). The synchronous set
(S) input, when High, overrides the clock enable (CE) input and sets
the Q output High during the Low-to-High clock (C) transition. The
data on the D input is loaded into the flip-flop when S is Low and CE
is High during the Low-to-High clock (C) transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Outputs
CE
1
0
0
0
X
0
1
1
X
X
1
0
1
No Chg
1
0
AND2B1
A0
A_S
S
A1
OR3
CE
D
FD
AND2
Libraries Guide
3-263
Libraries Guide
FDSR
D Flip-Flop with Synchronous Set and Reset
S
FDSR
X3729
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDSR is a single D-type flip-flop with data (D), synchronous reset (R)
and synchronous set (S) inputs and data output (Q). When the set (S)
input is High, it overrides all other inputs and sets the Q output High
during the Low-to-High clock transition. (Set has precedence over
Reset.) When reset (R) is High and S is Low, the flip-flop is reset,
output Low, on the Low-to-High clock transition. Data on the D input
is loaded into the flip-flop when S and R are Low on the Low-to-High
clock transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
S
1
0
0
0
X
1
0
0
X
X
1
0
1
0
1
0
FDS
S
D
R
C
Outputs
D_R
AND2B1
3-264
Design Elements
FDSRE
D Flip-Flop with Synchronous Set and Reset and
Clock Enable
S
D
CE
C
FDSRE
X3730
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FDSRE is a single D-type flip-flop with synchronous set (S), synchronous reset (R), and clock enable (CE) inputs and data output (Q).
When synchronous set (S) is High, it overrides all other inputs and
sets the Q output High during the Low-to-High clock transition. (Set
has precedence over Reset.) When synchronous reset (R) is High and
S is Low, output Q is reset Low during the Low-to-High clock transition. Data is loaded into the flip-flop when S and R are Low and CE is
High during the Low-to-high clock transition. When CE is Low, clock
transitions are ignored.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
S
CE
1
0
0
0
0
X
1
0
0
0
X
X
0
1
1
X
X
X
1
0
1
0
No Chg
1
0
FDSE
S
D
R
D_R
AND2B1
CE_R
CE
C
Outputs
D
CE
C
OR2
Libraries Guide
3-265
Libraries Guide
FJKC
J-K Flip-Flop with Asynchronous Clear
J
FJKC
Q
K
C
X3753
CLR
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
1
0
0
0
0
X
0
0
1
1
X
0
1
0
1
0
No Chg
0
1
Toggle
AND3B2
AND3B1
J
K
C
Outputs
A0
A1
A2
AD
OR3
FDC
D
AND2B1
Q
CLR
CLR
3-266
Design Elements
FJKCE
J-K Flip-Flop with Clock Enable and Asynchronous
Clear
J
FJKCE
Q
K
CE
C
CLR
X3756
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Libraries Guide
Outputs
CLR
CE
1
0
0
0
0
0
X
0
1
1
1
1
X
X
0
0
1
1
X
X
0
1
0
1
X
X
X
0
No Chg
No Chg
0
1
Toggle
3-267
Libraries Guide
AND3B2
AND3B1
J
K
CLR
AD
OR3
FDCE
AND2B1
CE
C
A0
A1
A2
D
Q
CE
C
CLR
3-268
Design Elements
FJKCP
J-K Flip-Flop with Asynchronous Clear and Preset
PRE
J
K
FJKCP
Q
CLR
X4390
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
Libraries Guide
Outputs
CLR
PRE
1
0
0
0
0
0
X
1
0
0
0
0
X
X
0
0
1
1
X
X
0
1
0
1
X
X
X
0
1
No Chg
0
1
Toggle
3-269
Libraries Guide
AND3B2
AND3B1
A0
A1
A2
AD
OR3
J
K
AND2B1
PRE
FDCP
D PRE Q
C
CLR
CLR
3-270
Design Elements
FJKCPE
J-K Flip-Flop with Asynchronous Clear and Preset
and Clock Enable
PRE
J
K
FJKCPE
Q
CE
C
CLR
X4391
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
Libraries Guide
Outputs
CLR
PRE
CE
1
0
0
0
0
0
0
X
1
0
0
0
0
0
X
X
0
1
1
1
1
X
X
0
0
0
1
1
X
X
X
0
1
0
1
X
X
X
X
0
1
No Chg
No Chg
0
1
Toggle
3-271
Libraries Guide
AND3B2
AND3B1
A0
A1
A2
AD
OR3
J
K
PRE
CE
C
CLR
AND2B1
FDCPE
Q
D PRE Q
CE
C
CLR
3-272
Design Elements
FJKP
J-K Flip-Flop with Asynchronous Preset
PRE
FJKP
Q
K
C
X3754
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
Primitive
Outputs
PRE
1
0
0
0
0
X
0
0
1
1
X
0
1
0
1
X
X
1
No Chg
0
1
Toggle
AND3B2
AND3B1
A0
A1
A2
AD
OR3
J
K
AND2B1
PRE
FDP
D PRE Q
Libraries Guide
3-273
Libraries Guide
FJKPE
J-K Flip-Flop with Clock Enable and Asynchronous
Preset
PRE
J
K
FJKPE
Q
CE
C
X3757
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
Primitive
3-274
Outputs
PRE
CE
1
0
0
0
0
0
X
0
1
1
1
1
X
X
0
0
1
1
X
X
0
1
0
1
X
X
X
1
No Chg
No Chg
0
1
Toggle
Design Elements
AND3B2
AND3B1
A0
A1
A2
AD
OR3
J
K
AND2B1
PRE
FDPE
CE
C
D PRE Q
CE
C
Libraries Guide
3-275
Libraries Guide
FJKRSE
J-K Flip-Flop with Clock Enable and Synchronous
Reset and Set
S
J
K
CE
C
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FJKRSE
X3760
3-276
Outputs
CE
1
0
0
0
0
0
0
X
1
0
0
0
0
0
X
X
0
1
1
1
1
X
X
X
0
0
1
1
X
X
X
0
1
0
1
X
X
0
1
No Chg
No Chg
0
1
Toggle
Design Elements
AND3B2
A0
A1
A2
AD_S
AND3B1
OR4
J
K
S
CE
C
R
AND2B1
FDRE
D
CE
C
Libraries Guide
3-277
Libraries Guide
FJKSRE
J-K Flip-Flop with Clock Enable and Synchronous
Set and Reset
S
J
K
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CE
C
XC2000
FJKSRE
X3759
3-278
Outputs
CE
1
0
0
0
0
0
0
X
1
0
0
0
0
0
X
X
0
1
1
1
1
X
X
X
0
0
1
1
X
X
X
0
1
0
1
X
X
1
0
No Chg
No Chg
0
1
Toggle
Design Elements
AND3B2
AND3B1
A0
A1
A2
AD
OR3
AD_R
AND2B1
J
K
R
S
CE
C
AND2B1
FDSE
D
CE
C
Libraries Guide
3-279
Libraries Guide
FMAP
F Function Generator Partitioning Control Symbol
I4
FMAP
I3
I2
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
I1
X4646
3-280
Design Elements
U1
IN_F2
F_FUNC
IN_F3
G_FUNC
IN_F4
U3
D0
D1
AND4
H_FUNC
SE
U2
IN_G1
IN_F1
I2
IN_F3
I3
IN_F4
SE
IN_G4
I1
IN_F2
D1
IN_G3
U4
M2-1
D0
IN_G2
F_FUNC
I4
EN
FMAP
CLB_R*C*.F
M2-1E
IN_H1
U5
IN_G1
I1
IN_G2
IN_H1
IN_G3
IN_F1
IN_G4
I2
I3
G_FUNC
I4
IN_F2
IN_F3
FMAP
CLB_R*C*.G
IN_F4
H_FUNC
IN_G1
IN_G2
IN_G3
U6
F_FUNC
G_FUNC
IN_H1
I1
I2
H_FUNC
I3
IN_G4
HMAP
X1882
Function
P
C
Pins
Closed Adding logic to or removing
logic from the CLB is not allowed.
Locked Locking CLB pins
Open Adding logic to or removing logic
from the CLB is allowed.
Unlocked No locking on CLB pins.
L
O
U
Libraries Guide
3-281
Libraries Guide
PUC. If one of the open parameters is used (PLO or PUO), only the
output signals must be specified.
The FMAP symbol can be assigned to specific CLB locations using
LOC attributes. Refer to the appropriate CAE tool interface user
guide for more information on assigning LOC attributes.
3-282
Design Elements
FTC
Toggle Flip-Flop with Toggle Enable and
Asynchronous Clear
T
FTC
C
X3761
CLR
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
1
0
0
X
0
1
X
X
0
No Chg
Toggle
FDC
TQ
T
C
XOR2
D
C
CLR
CLR
Libraries Guide
3-283
Libraries Guide
FTCE
Toggle Flip-Flop with Toggle and Clock Enable and
Asynchronous Clear
T
FTCE
CE
C
X3764
CLR
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the asynchronous clear (CLR) input is High, all other inputs
are ignored and the data output (Q) is reset Low. When CLR is Low
and toggle enable (T) and clock enable (CE) are High, Q output
toggles, or changes state, during the Low-to-High clock (C) transition. When CE is Low, clock transitions are ignored.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
CLR
CE
1
0
0
0
X
0
1
1
X
X
0
1
X
X
X
0
No Chg
No Chg
Toggle
TQ
T
CE
C
Outputs
XOR2
FDCE
Q
D
Q
CE
C
CLR
CLR
3-284
Design Elements
FTCLE
Toggle/Loadable Flip-Flop with Toggle and Clock
Enable and Asynchronous Clear
D
FTCLE
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
L
T
CE
C
CLR
X3769
When the asynchronous clear input (CLR) is High, all other inputs
are ignored and output Q is reset Low. When load enable input (L) is
High and CLR is Low, clock enable (CE) is overridden and the data
on data input (D) is loaded into the flip-flop during the Low-to-High
clock (C) transition. When toggle enable (T) and CE are High and L
and CLR are Low, output Q toggles, or changes state, during the
Low- to-High clock transition. When CE is Low, clock transitions are
ignored.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Libraries Guide
Outputs
CLR
CE
1
0
0
0
0
0
X
1
1
0
0
0
X
X
X
0
1
1
X
X
X
X
0
1
X
1
0
X
X
X
X
X
0
1
0
No Chg
No Chg
Toggle
3-285
Libraries Guide
TQ
M2_1
XOR2
D0
D1
S0
D
L
L_CE
CE
C
CLR
OR2
MD
FDCE
Q
D
Q
CE
C
CLR
3-286
Design Elements
FTCP
Toggle Flip-Flop with Toggle Enable and
Asynchronous Clear and Preset
PRE
FTCP
Q
CLR
X4392
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
When the asynchronous clear (CLR) input is High, all other inputs
are ignored and the output (Q) is reset Low. When the asynchronous
preset (PRE) input is High (provided CLR is Low), all other inputs
are ignored and Q is set High. When the toggle enable input (T) is
High and CLR and PRE are Low, output Q toggles, or changes state,
during the Low-to-High clock (C) transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR) is active (Low).
Inputs
Outputs
CLR
PRE
1
0
0
0
X
1
0
0
X
X
0
1
X
X
X
0
1
No Chg
Toggle
FDCP
PRE
TQ
T
C
D PRE Q
XOR2
C
CLR
CLR
Libraries Guide
3-287
Libraries Guide
FTCPE
Toggle Flip-Flop with Toggle and Clock Enable and
Asynchronous Clear and Preset
PRE
FTCPE
Q
CE
C
CLR
X4393
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
When the asynchronous clear (CLR) input is High, all other inputs
are ignored and the output (Q) is reset Low. When the asynchronous
preset (PRE) input is High (provided CLR is Low), all other inputs are
ignored and Q is set High. When the toggle enable input (T) and the
clock enable input (CE) are High and CLR and PRE are Low, output
Q toggles, or changes state, during the Low-to-High clock (C) transition. Clock transitions are ignored when CE is Low.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR) is active (Low).
Inputs
CLR
PRE
CE
1
0
0
0
0
X
1
0
0
0
X
X
0
1
1
X
X
X
0
1
X
X
X
X
0
1
No Chg
No Chg
Toggle
PFE
PRE
TQ
T
CE
C
Outputs
XOR2
D PRE Q
CE
C
CLR
CLR
3-288
Design Elements
FTCPLE
Loadable Toggle Flip-Flop with Toggle and Clock
Enable and Asynchronous Clear and Preset
PRE
FTCPLE
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
Primitive*
CE
C
CLR
X4394
When the asynchronous clear (CLR) input is High, all other inputs
are ignored and the output (Q) is reset Low. When the asynchronous
preset (PRE) input is High (provided CLR is Low), all other inputs
are ignored and Q is set High. The load input (L) loads the data on
input D into the flip-flop on the Low-to-High clock transition, regardless of the state of the clock enable (CE). When the toggle enable
input (T) and the clock enable input (CE) are High and CLR, PRE,
and L are Low, output Q toggles, or changes state, during the Low-toHigh clock (C) transition. Clock transitions are ignored when CE is
Low.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR) is active (Low).
Inputs
CLR
1
0
0
0
0
0
0
PRE
X
1
0
0
0
0
0
Libraries Guide
L
X
X
1
1
0
0
0
CE
X
X
X
X
0
1
1
Outputs
T
X
X
X
X
X
0
1
C
X
X
X
X
D
X
X
0
1
X
X
X
Q
0
1
0
1
No Chg
No Chg
Toggle
3-289
Libraries Guide
TQ
M2_1
XOR2
D0
D1
S0
D
L
C
CLR
MD
L_CE
CE
PRE
OR2
FDCPE
Q
PRE
D
Q
CE
C
CLR
3-290
Design Elements
FTP
Toggle Flip-Flop with Toggle Enable and
Asynchronous Preset
PRE
FTP
X3762
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
Primitive
When the asynchronous preset (PRE) input is High, all other inputs
are ignored and output Q is set High. When toggle enable input (T) is
High and PRE is Low, output Q toggles, or changes state, during the
Low-to-High clock (C) transition. The flip-flop is asynchronously set,
output High, when global set/reset (GSR) is active. The GSR active
level is programmable.
Inputs
PRE
1
0
0
X
0
1
X
X
1
No Chg
Toggle
FDP
PRE
TQ
T
C
Outputs
XOR2
PRE
Libraries Guide
3-291
Libraries Guide
FTPE
Toggle Flip-Flop with Toggle and Clock Enable and
Asynchronous Preset
PRE
FTPE
CE
C
X3765
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
Primitive
When the asynchronous preset (PRE) input is High, all other inputs
are ignored and output Q is set High during the Low-to-High clock
(C) transition. When the toggle enable input (T) is High, clock enable
(CE) is High, and PRE is Low, output Q toggles, or changes state,
during the Low-to-High clock transition. When CE is Low, clock transitions are ignored. The flip-flop is asynchronously set, output High,
when global set/reset (GSR) is active. The GSR active level is
programmable.
Inputs
PRE
CE
1
0
0
0
X
0
1
1
X
X
0
1
X
X
X
1
No Chg
No Chg
Toggle
FDPE
PRE
TQ
T
CE
C
Outputs
XOR2
PRE
D
Q
CE
C
3-292
Design Elements
FTPLE
Toggle/Loadable Flip-Flop with Toggle and Clock
Enable and Asynchronous Preset
PRE
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
Primitive
FTPLE
L
T
CE
C
X3770
When the asynchronous preset input (PRE) is High, all other inputs
are ignored and output Q is set High during the Low-to-High clock
(C) transition. When the load enable input (L) is High and PRE is
Low, the clock enable (CE) is overridden and the data on input (D) is
loaded into the flip-flop during the Low-to-High clock transition.
When L and PRE are Low and toggle enable input (T) and CE are
High, output Q toggles, or changes state, during the Low-to-High
clock transition. When CE is Low, clock transitions are ignored. The
flip-flop is asynchronously set, output High, when global set/reset
(GSR) is active. The GSR active level is programmable.
Inputs
Libraries Guide
Outputs
PRE
CE
1
0
0
0
0
0
X
1
1
0
0
0
X
X
X
0
1
1
X
X
X
X
0
1
X
1
0
X
X
X
X
X
1
1
0
No Chg
No Chg
Toggle
3-293
Libraries Guide
TQ
T
XOR2
D
L
MD
FDPE
PRE
CE
C
M2_1
D0
D1
S0
OR2
D PRE Q
CE
C
3-294
Design Elements
FTRSE
Toggle Flip-Flop with Toggle and Clock Enable and
Synchronous Reset and Set
S
T
CE
C
FTRSE
X3768
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the synchronous reset input (R) is High, it overrides all other
inputs and the data output (Q) is reset Low. When the synchronous
set input (S) is High and R is Low, clock enable input (CE) is overridden and output Q is set High. (Reset has precedence over Set.)
When toggle enable input (T) and CE are High and R and S are Low,
output Q toggles, or changes state, during the Low-to-High clock
transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
R
CE
1
0
0
0
0
X
1
0
0
0
X
X
0
1
1
X
X
X
0
1
X
X
0
1
No Chg
No Chg
Toggle
TQ
T
S
D_S
XOR2
FDRE
OR2
CE
C
R
Outputs
CE_S
OR2
D
CE
C
Libraries Guide
3-295
Libraries Guide
FTRSLE
Toggle/Loadable Flip-Flop with Toggle and Clock
Enable and Synchronous Reset and Set
S
FTRSLE
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
L
T
The synchronous reset input (R), when High, overrides all other
inputs and resets the data output (Q) Low. (Reset has precedence over
Set.) When R is Low and synchronous set input (S) is High, the clock
enable input (CE) is overridden and output Q is set High. When R
and S are Low and load enable input (L) is High, CE is overridden
and data on data input (D) is loaded into the flip-flop during the
Low-to-High clock transition. When R, S, and L are Low and CE is
High, output Q toggles, or changes state, during the Low-to-High
clock transition. When CE is Low, clock transitions are ignored.
CE
C
X3773
3-296
S
0
1
0
0
0
0
0
L
X
X
1
1
0
0
0
CE
X
X
X
X
0
1
1
Outputs
T
X
X
X
X
X
0
1
D
X
X
1
0
X
X
X
X
X
Q
0
1
1
0
No Chg
No Chg
Toggle
Design Elements
TQ
T
XOR2
D
L
S
M2_1
D0
D1
S0
MD
MD_S
OR2
CE_S_L
CE
C
R
OR3
FDRE
D
CE
C
Libraries Guide
3-297
Libraries Guide
FTSRE
Toggle Flip-Flop with Toggle and Clock Enable and
Synchronous Set and Reset
S
FTSRE
T
CE
C
X3767
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
The synchronous set input, when High, overrides all other inputs and
sets data output (Q) High. (Set has precedence over Reset.) When
synchronous reset input (R) is High and S is Low, clock enable input
(CE) is overridden and output Q is reset Low. When toggle enable
input (T) and CE are High and S and R are Low, output Q toggles, or
changes state, during the Low-to-High clock transition.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
S
CE
1
0
0
0
0
X
1
0
0
0
X
X
0
1
1
X
X
X
0
1
X
X
1
0
No Chg
No Chg
Toggle
TQ
T
R
S
XOR2
D_R
FDSE
AND2B1
CE_R
CE
C
Outputs
OR2
CE
C
3-298
Design Elements
FTSRLE
Toggle/Loadable Flip-Flop with Toggle and Clock
Enable and Synchronous Set and Reset
S
D
L
T
CE
C
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
FTSRLE
X3772
The synchronous set input (S), when High, overrides all other inputs
and sets data output (Q) High. (Set has precedence over Reset.) When
synchronous reset (R) is High and S is Low, clock enable input (CE) is
overridden and output Q is reset Low. When load enable input (L) is
High and S and R are Low, CE is overridden and data on data input
(D) is loaded into the flip-flop during the Low-to-High clock transition. When the toggle enable input (T) and CE are High and S, R, and
L are Low, output Q toggles, or changes state, during the Low-toHigh clock transition. When CE is Low, clock transitions are ignored.
The flip-flop is asynchronously reset, output Low, when power is
applied or when global reset (GR for XC2000, XC3000) or global
set/reset (GSR for XC4000) is active. GR is active-Low; the GSR active
level is programmable.
Inputs
Libraries Guide
Outputs
CE
1
0
0
0
0
0
0
0
1
0
0
0
0
0
X
X
1
1
0
0
0
X
X
X
X
0
1
1
X
X
X
X
X
0
1
X
X
1
0
X
X
X
X
X
1
0
1
0
No Chg
No Chg
Toggle
3-299
Libraries Guide
TQ
T
XOR2
D
L
R
M2_1
D0
D1
S0
MD
MD_S
AND2B1
S
CE_R_L
CE
C
OR3
FDSE
D
CE
C
3-300
Design Elements
GCLK
Global Clock Buffer
X3884
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
N/A
N/A
GCLK, the global clock buffer, distributes high fan-out clock signals.
One GCLK buffer on each device provides direct access to every
Configurable Logic Block (CLB) and Input Output Block (IOB) clock
pin. If it is not used in a design, its routing resources are not used for
any signals. Therefore, the GCLK should always be used for the
highest fanout clock net in the design. The GCLK input (I) can come
from one of the following sources.
The output of the GCLK buffer can drive all the clock inputs on the
chip, but it cannot drive non-clock inputs. For a negative-edge clock,
insert an INV (inverter) element between the GCLK output and the
clock input. This inversion is performed inside the CLB, or in the case
of IOB clock pins, on the IOB clock line (which controls the clock
sense for the IOBs on an entire edge of the chip).
Libraries Guide
3-301
Libraries Guide
GND
Ground-Connection Signal Tag
X3858
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
Primitive
Primitive
3-302
Design Elements
GXTL
Crystal Oscillator with ACLK Buffer
X3886
XC2000
XC3000
XC4000
XC7000
Macro
Macro
N/A
N/A
OSC_OUT
ACLK
@PULSELO=@PULSEL
@PULSEHI=@PULSEH
Libraries Guide
3-303
Libraries Guide
HMAP
H Function Generator Partitioning Control Symbol
I3
I2
HMAP
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
I1
X4659
U1
IN_F2
F_FUNC
IN_F3
G_FUNC
IN_F4
U3
D0
D1
AND4
H_FUNC
SE
U2
IN_G1
IN_F1
I2
IN_F3
I3
IN_F4
SE
IN_G4
I1
IN_F2
D1
IN_G3
U4
M2-1
D0
IN_G2
F_FUNC
I4
EN
FMAP
CLB_R*C*.F
M2-1E
IN_H1
U5
IN_G1
I1
IN_G2
IN_H1
IN_G3
IN_F1
IN_G4
I2
I3
G_FUNC
I4
IN_F2
IN_F3
FMAP
CLB_R*C*.G
IN_F4
H_FUNC
IN_G1
IN_G2
IN_G3
U6
F_FUNC
G_FUNC
IN_H1
I1
I2
H_FUNC
I3
IN_G4
HMAP
X1882
3-304
Design Elements
The MAP=type parameter can only be set to the default value, PUC,
for the HMAP symbol. PUC means pins are not locked to the signals
but the CLB is closed to addition or removal of logic.
The HMAP symbol can be assigned to specific CLB locations using
LOC attributes. Refer to the Attributes, Constraints, and Carry
Logic chapter for more information on assigning LOC attributes.
Libraries Guide
3-305
Libraries Guide
IBUF4
X3791
IBUF
IBUF4,
IBUF8,
IBUF16
XC2000
XC3000
XC4000
XC7000
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive
Macro
IBUF, IBUF4, IBUF8, and IBUF16 are single and multiple input
buffers. An IBUF isolates the internal circuit from the signals coming
into a chip. IBUFs are contained in input/output blocks (IOB). IBUF
inputs (I) are connected to an IPAD or an IOPAD. IBUF outputs (O)
are connected to the internal circuit.
O[7:0]
IBUF8
I0
I1
I2
X3803
I3
I4
IBUF16
I5
I6
I7
X3815
I[7:0]
O0
IBUF
IBUF
IBUF
IBUF
IBUF
IBUF
IBUF
O1
O2
O3
O4
O5
O6
O7
IBUF
3-306
Design Elements
X3776
IFD4
D0
Name
IFD
IFD4,
IFD8,
IFD16
XC2000
XC3000
XC4000
XC7000
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive*
Macro*
Q0
D1
Q1
D2
Q2
D3
Q3
C
X3799
D[7:0]
IFD8
Q[7:0]
X3811
D[15:0]
IFD16
Q[15:0]
X3833
Libraries Guide
3-307
Libraries Guide
ILD_1
IPAD
IPAD
D
IFD_1
IFD
IPAD
IPAD
D
X4690
ILD_1
IPAD
IPAD
D
IFD_1
D
IFD
CLOCK
CLOCK
X4688
Outputs
Dn
Qn
Dn
dn
dn = state of referenced input one set-up time prior to active clock transition
3-308
Design Elements
Q[7:0]
IFD
D0
D
C
Q0
Q0
IFD
D1
D
C
Q1
Q1
IFD
D2
D
C
Q2
Q2
IFD
D3
D
C
Q3
Q3
IFD
D4
Q4
C
Q4
IFD
D5
D
C
Q5
Q5
IFD
D6
D
C
Q6
Q6
IFD
D7
D[7:0]
D
C
Q7
Q7
Libraries Guide
3-309
Libraries Guide
IFD_1
Input D Flip-Flop with Inverted Clock
D
IFD_1
X3777
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
N/A
ILD_1
IPAD
IPAD
D
IFD_1
IPAD
IFD
IPAD
X4690
3-310
Design Elements
ILD
ILD_1
IPAD
IPAD
D
IFD_1
D
IFD
CLOCK
CLOCK
X4688
Outputs
d = state of referenced input one set-up time prior to active clock transition
IFD
D
D
CB
INV
Libraries Guide
3-311
Libraries Guide
IFDX1
CE
C
X4213
IFD4X1
Name
XC2000
XC3000
XC4000
XC7000
IFDX1
IFD4X1,
IFD8X1,
IFD16X1
N/A
N/A
N/A
N/A
N/A
N/A
Primitive*
Macro*
Q0
D1
Q1
D2
Q2
D3
Q3
D0
CE
C
X4216
D[7:0]
IFD8X1
Q[7:0]
CE
C
X4219
D[15:0]
IFD16X1
Q[15:0]
CE
C
The clock input (C) must be driven by a global FastCLK net of the
EPLD device, represented by the BUFG symbol. The clock enable
input (CE) must be driven by a global clock enable net of the EPLD
device, represented by the BUFCE symbol.
The flip-flops are asynchronously set, outputs High, when power is
applied or when the device Master Reset pin is activated.
Inputs
X4222
3-312
Outputs
CE
X
0
1
1
0
0
No Chg
0
1
Design Elements
Q[7:0]
IFDX1
D0
D
CE
C
IFDX1
D1
D
CE
C
D
CE
C
D
CE
C
D
CE
C
D
CE
C
D
CE
C
D
CE
C
Q3
Q3
Q4
Q4
Q5
Q5
Q6
IFDX1
D7
Q2
IFDX1
D6
Q2
IFDX1
D5
Q1
IFDX1
D4
Q1
IFDX1
D3
Q0
IFDX1
D2
Q0
Q6
Q7
D[7:0]
Q7
C
CE
Libraries Guide
3-313
Libraries Guide
IFDI
Input D Flip-Flop (Asynchronous Set)
D
IFDI
X4617
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
ILDI_1
IPAD
IPAD
D
IFDI_1
IPAD
IFDI
IPAD
X3677
3-314
Design Elements
ILDI
ILDI_1
IPAD
IPAD
D
IFDI_1
D
CLOCK
IFDI
CLOCK
X4511
Outputs
d = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-315
Libraries Guide
IFDI_1
D Flip-Flop with Inverted Clock (Asynchronous Set)
D
IFDI_1
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
C
X4386
ILDI_1
IPAD
IPAD
D
IFDI_1
D
IFDI
CLOCK
CLOCK
X4511
Outputs
d = state of referenced input one set-up time prior to active clock transition
3-316
Design Elements
IFDI
D
D
CB
INV
C
IFDI_1.4K
Libraries Guide
3-317
Libraries Guide
X3774
D0
ILD4
Name
ILD
ILD4,
ILD8,
ILD16
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
Macro
Macro
Macro
Primitive*
Macro*
Q0
D1
Q1
D2
Q2
D3
Q3
ILD, ILD4, ILD8, and ILD16 are single or multiple transparent data
latches, which can be used to hold transient data entering a chip. The
latch input (D) is connected to an IPAD or an IOPAD (without using
an IBUF). When the gate input (G) is High, data on the inputs (D)
appears on the outputs (Q). Data on the D inputs during the High-toLow G transition is stored in the latch. For XC7000 EPLDs, the gate
input (G) must be driven by a FastCLK, represented by the BUFG
symbol.
G
X3798
D[7:0]
ILD8
Q[7:0]
X3810
D[15:0]
ILD16
Q[15:0]
XC4000 ILD
X3832
3-318
The latch is reset, output Low, when power is applied or when global
reset (GR for XC3000) or global set/reset (GSR for XC4000) is active.
GR is active-Low; the GSR active level is programmable. For XC7000
EPLDs (except XC7272) the latches are set High when power is
applied.
Design Elements
ILD
ILD_1
IPAD
IPAD
D
IFD_1
D
CLOCK
IFD
CLOCK
X4688
XC3000 ILD
The XC3000 ILD is actually the input flip-flop master latch. If both
ILD and IFD elements are controlled by the same clock signal, the
relationship between the transparent sense of the latch and the active
edge of the flip-flop is fixed as follows: a transparent High latch (ILD)
corresponds to a falling edge-triggered flip-flop (IFD_1), and a transparent Low latch (ILD_1) corresponds to a rising edge-triggered flipflop (IFD). Because the place and route software does not support
using both phases of a clock for IOBs on a single edge of the device,
certain combinations of ILD and IFD elements are not allowed. Refer
to the following figure for XC3000 legal IFD/ILD combinations.
Libraries Guide
3-319
Libraries Guide
ILD
ILD_1
IPAD
IPAD
D
IFD_1
IFD
IPAD
IPAD
D
X4690
Outputs
1
1
1
0
D
1
0
d
d = state of referenced input one set-up time prior to High-to-Low gate transition
ILD_1
D
D
GB
G
ILD.4K
INV
3-320
Design Elements
Q[7:0]
ILD
D0
Q0
G
Q0
ILD
D1
Q1
G
Q1
ILD
D2
Q2
G
Q2
ILD
D3
Q3
G
Q3
ILD
D4
Q4
G
Q4
ILD
D5
Q5
G
Q5
ILD
D6
Q6
G
Q6
ILD
D7
Q7
G
D[7:0]
Q7
Libraries Guide
3-321
Libraries Guide
ILD_1
Transparent Input Data Latch with Inverted Gate
D
ILD_1
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Primitive
N/A
G
X4387
ILD_1
IPAD
IPAD
D
IFD_1
IPAD
IFD
IPAD
X4690
3-322
Design Elements
ILD
ILD_1
IPAD
IPAD
D
IFD_1
D
IFD
CLOCK
CLOCK
X4688
Outputs
0
0
1
0
D
1
0
d
d = state of referenced input one set-up time prior to Low-to-High gate transition
ILD
D
GB
INV
Libraries Guide
3-323
Libraries Guide
ILDI
Input Transparent Data Latch (Asynchronous Set)
D
ILDI
G
X4388
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
ILDI_1
IPAD
IPAD
D
IFDI_1
D
CLOCK
IFDI
CLOCK
X4511
3-324
Design Elements
Inputs
Outputs
1
1
1
0
D
1
0
d
d = state of referenced input one set-up time prior to High-to-Low gate transition
ILDI_1
D
D
GB
INV
G
ILDI_1.4K
Libraries Guide
3-325
Libraries Guide
ILDI_1
Transparent Input Data Latch with Inverted Gate
(Asynchronous Set)
D
ILDI_1
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
X4618
ILDI_1
IPAD
IPAD
D
IFDI_1
D
CLOCK
IFDI
CLOCK
X4511
3-326
Design Elements
Inputs
Outputs
0
0
1
0
D
1
0
d
d = state of referenced input one set-up time prior to Low-to-High gate transition
Libraries Guide
3-327
Libraries Guide
INV
INV4,
INV8,
INV16
XC2000
XC3000
XC4000
XC7000
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive
Primitive
X3795
O0
I0
X3807
I1
INV
O1
I2
INV
O2
I3
I4
I5
I6
X3819
I7
I[7:0]
INV
INV
INV
INV
INV
O3
O4
O5
O6
O7
INV
3-328
Design Elements
IOB
IOB Configuration Symbol
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
N/A
N/A
IOB
I
O
K
X4649
XC2000
IOB
IK
OK
X4652
XC3000
Refer to the appropriate CAE tool interface user guide for more information on specifying the IOB configuration commands in a schematic.
Libraries Guide
3-329
Libraries Guide
IOB
K
P12
I:Q BUF:TRI
U2
IOB P12
OBUFT
U3
PAD
P12
U1
D
C
IFD
K
X4674
3-330
Design Elements
IOB
O
IK
OK
J13
IO
IN:IQ:LATCH OUT:OQ TRI:T
U2
U5
OK
OUTFFT
PAD
J13
U4
L
INLAT
IK
X4673
Libraries Guide
3-331
Libraries Guide
IOPAD4
IO0
IO1
IO2
IO3
X3838
IO[7:0]
X3841
Name
XC2000
XC3000
XC4000
XC7000
IOPAD
IOPD4,
IOPAD8,
IOPAD16
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive
Macro
IO[15:0]
X3845
IOPAD
IOPAD
IOPAD
IOPAD
IOPAD
IOPAD
IOPAD
IOPAD
IO0
IO1
IO2
IO3
IO4
IO5
IO6
IO7
3-332
Design Elements
IPAD
Single- and Multiple-Input Pads
X3827
I0
I1
I2
I3
X3837
Name
XC2000
XC3000
XC4000
XC7000
IPAD
IPAD4,
IPAD8,
IPAD16
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive
Macro
IPAD, IPAD4, IPAD8, and IPAD16 are single and multiple input pads
(IPADs). The IPAD is a connection point from a device pin used for
an input signal to the PLD device. It is connected internally to an
input/output block (IOB), which is configured by the XACT software
as an IBUF, IFD or ILD. Refer to the appropriate CAE tool interface
user guide for details on assigning pin location and identification.
I[7:0]
I[7:0]
X3840
I[15:0]
X3844
IPAD
I0
IPAD
I1
IPAD
IPAD
I2
IPAD
IPAD
I4
IPAD
IPAD
I6
I3
I5
I7
Libraries Guide
3-333
Libraries Guide
Element
XC2000
XC3000
XC4000
XC7000
LD
LD4,
LD8,
LD16
Macro
N/A
N/A
Primitive*
N/A
N/A
N/A
Primitive*
X3740
LD4
D0
Q0
D1
Q1
D2
Q2
D3
Q3
The data output (Q) of the latch reflects the data (D) input while the
gate enable (G) input is High. The data on the D input during the
High-to-Low gate transition is stored in the latch. The data on the Q
output remains unchanged as long as G remains Low. LD4, LD8, and
LD16 have 4, 8, and 16 transparent latches, respectively, with a
common Gate enable (G).
X4611
D[7:0]
LD8
Q[7:0]
The latch is reset, output Low, when power is applied or when global
reset (GR) is active. For EPLD designs, the G input may not be driven
by a FastCLK signal (BUFG).
Inputs
X4612
D[15:0]
LD16
Q[15:0]
X4613
Outputs
1
1
0
0
1
X
D
0
1
No Chg
d
D PRE Q
CLR
GND
3-334
Design Elements
LD_1
Transparent Data Latch with Inverted Gate
D
LD_1
X3741
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
N/A
The data output (Q) of the latch reflects the data (D) input while the
gate enable (G) input is Low. The data on the D input during the
Low-to-High gate transition is stored in the latch. The data on the Q
output remains unchanged as long as G remains High.
The latch is reset, output Low, when power is applied or when global
reset (GR) is active.
Inputs
Outputs
0
0
1
0
1
X
D
0
1
No Chg
d
D PRE Q
GB
INV
CLR
GND
Libraries Guide
3-335
Libraries Guide
LDC
Transparent Data Latch with Asynchronous Clear
D
LDC
CLR
X4070
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
N/A
Outputs
CLR
1
0
0
0
0
X
1
1
0
X
1
0
X
D
0
1
0
No Chg
d
LDCP
D
D PRE Q
CLR
CLR
GND
3-336
Design Elements
D0
Q0
D1
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
N/A
Q1
D2
Q2
D3
Q3
CE
G
X3747
CLR
D[7:0]
LD8CE
Q[7:0]
CE
G
CLR
D[15:0]
X3748
LD16CE
Q[15:0]
Outputs
CE
G
CLR
X3749
CLR
CE
Dn
Qn
1
0
0
0
0
0
X
0
1
1
1
1
X
X
1
1
0
X
X
1
0
X
Dn
0
No Chg
1
0
No Chg
dn
Libraries Guide
3-337
Libraries Guide
LDCPE
D0
Q0
D PRE Q
CE
G
CLR
LDCPE Q0
D1
Q1
D PRE Q
CE
G
CLR
LDCPE Q1
D2
Q2
D PRE Q
CE
G
CLR
LDCPE Q2
D3
CE
G
Q3
D PRE Q
CE
G
CLR
CLR
Q3
GND
3-338
Design Elements
Q[7:0]
LDCPE
D0
LDCPE
PRE
D
Q
CE
G
CLR
Q0
LDCPE Q4
LDCPE Q0
D1
PRE
D
Q
CE
G
CLR
Q1
PRE
LDCPE Q5
Q2
D
Q
CE
G
CLR
D[7:0]
CE
G
CLR
PRE
D
Q
CE
G
CLR
Q6
PRE
D
Q
CE
G
CLR
D6
LDCPE Q2
D3
Q5
PRE
D
Q
CE
G
CLR
D5
LDCPE Q1
D2
Q4
PRE
D
Q
CE
G
CLR
D4
LDCPE Q6
Q3
Q7
PRE
D
Q
CE
G
CLR
D7
Q3
Q7
GND
Libraries Guide
3-339
Libraries Guide
LDCP
Transparent Data Latch with Asynchronous Clear
and Preset
PRE
LDCP
Q
CLR
X4395
XC2000
XC3000
XC4000
XC7000
Primitive
N/A
N/A
N/A
Outputs
CLR
PRE
1
0
0
0
0
0
X
1
0
0
0
0
X
X
1
1
0
X
X
0
1
X
D
0
1
0
1
No Chg
d
3-340
Design Elements
LDCPE
Transparent Data Latch with Asynchronous Clear
and Preset and Clock Enable
PRE
D
CE
LDCPE
Q
CLR
X4396
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
N/A
Outputs
CLR
PRE
CE
1
0
0
0
0
0
0
X
1
0
0
0
0
0
X
X
0
1
1
1
1
X
X
X
1
1
0
X
X
X
1
0
X
D
0
1
No Chg
1
0
No Chg
d
Libraries Guide
3-341
Libraries Guide
M2_1
D
CE
PRE
D0
D1
S0
O Q_D
LDCP
D PRE Q
G
CLR
CLR
3-342
Design Elements
LDC_1
Transparent Data Latch with Asynchronous Clear
and Inverted Gate Input
D
LDC_1
CLR
X3752
XC2000
XC3000
XC4000
XC7000
Macro
N/A
N/A
N/A
Outputs
CLR
1
0
0
0
0
X
0
0
1
X
1
0
X
D
0
1
0
No Chg
d
G
CLR
PRE
CLR
INV
GND
LDC_1.2K
Libraries Guide
3-343
Libraries Guide
MD0
Mode 0/Input Pad Used for Readback Trigger Input
MD0
X3896
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
The MD0 input pad is connected to the Mode 0 (M0) input pin, which
is used to determine the configuration mode on an XC4000 device.
Following configuration, MD0 can be used as an input pad, but it
must be connected through an IBUF to the user circuit. However, the
user input signal must not interfere with the device configuration.
The MD0 pad cannot be used as an output pad and the IOB associated with it has no flip-flop or latch. For compatibility with XC2000
and XC3000 devices, this pad is usually connected to the RTRIG input
of the READBACK function.
3-344
Design Elements
MD1
Mode 1/Output Pad Used for Readback Data Output
MD1
X3898
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
The MD1 input pad is connected to the Mode 1 (M1) input pin, which
is used to determine the configuration mode on an XC4000 device.
Following configuration, MD1 can be used as a 3-state or simple
output pad, but it must be connected through an OBUF or an OBUFT
to the user circuit. However, the user output signal must not interfere
with the device configuration. An MD1 pad cannot be used as an
input pad and the IOB associated with it has no flip-flop or latch. This
pad is usually connected to the DATA output of the READBACK
function, and the output-enable input of the 3-state OBUFT is
connected to the RIP output of the READBACK function.
Libraries Guide
3-345
Libraries Guide
MD2
Mode 2/Input Pad
MD2
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
X3900
The MD2 input pad is connected to the Mode 2 (M2) input pin, which
is used to determine the configuration mode on an XC4000 device.
Following configuration, MD2 can be used as an input pad, but it
must be connected through an IBUF to the user circuit. However, the
user input signal must not interfere with the device configuration. An
MD2 pad cannot be used as an output pad and the IOB associated
with it has no flip-flop or latch.
3-346
Design Elements
M2_1
2-to-1 Multiplexer
D0
D1
S0
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X4026
The M2_1 multiplexer chooses one data bit from two sources (D1 or
D0) under the control of the select input (S0). The output (O) reflects
the state of the selected data input. When Low, S0 selects D0 and
when High, S0 selects D1.
Inputs
S0
D1
D0
1
1
0
0
1
0
X
X
X
X
1
0
1
0
1
0
D0
S0
Outputs
M0
AND2B1
O
M1
D1
OR2
AND2
Libraries Guide
3-347
Libraries Guide
M2_1B1
2-to-1 Multiplexer with D0 Inverted
D0
D1
S0
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X4027
The M2_1B1 multiplexer chooses one data bit from two sources (D1
or D0) under the control of select input (S0). When S0 is Low, the
output (O) reflects the state of D0. When S0 is High, O reflects the
state of D1.
Inputs
Outputs
S0
D1
D0
1
1
0
0
1
0
X
X
X
X
1
0
1
0
0
1
D0
M0
AND2B2
S0
OR2
D1
M1
AND2
3-348
Design Elements
M2_1B2
2-to-1 Multiplexer with D0 and D1 Inverted
D0
D1
S0
X4028
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
The M2_1B2 multiplexer chooses one data bit from two sources (D1
or D0) under the control of select input (S0). When S0 is Low, the
output (O) reflects the state of D0. When S0 is High, O reflects the
state of D1.
Inputs
Outputs
S0
D1
D0
1
1
0
0
1
0
X
X
X
X
1
0
0
1
0
1
D0
M0
AND2B2
S0
M1
D1
OR2
AND2B1
Libraries Guide
3-349
Libraries Guide
M2_1E
2-to-1 Multiplexer with Enable
D0
D1
S0
E
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X4029
When the enable input (E) is High, the M2_1E chooses one data bit
from two sources (D1 or D0) under the control of select input (S0).
When E is High, the output (O) reflects the state of the selected input.
When Low, S0 selects D0 and when High, S0 selects D1. When E is
Low, the output is Low.
Inputs
Outputs
S0
D1
D0
0
1
1
1
1
X
0
0
1
1
X
X
X
1
0
X
1
0
X
X
0
1
0
1
0
D0
M0
E
S0
AND3B1
OR2
M1
D1
M2_1E.2K
AND3
3-350
Design Elements
M4_1E
4-to-1 Multiplexer with Enable
D0
D1
D2
D3
S0
S1
E
X4030
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the enable input (E) is High, the M4_1E multiplexer chooses
one data bit from four sources (D3, D2, D1, or D0) under the control
of the select inputs (S1 S0). The output (O) reflects the state of the
selected input as shown in the truth table. When E is Low, the output
is Low.
Inputs
Libraries Guide
Outputs
S1
S0
D0
D1
D2
D3
0
1
1
1
1
X
0
0
1
1
X
0
1
0
1
X
D0
X
X
X
X
X
D1
X
X
X
X
X
D2
X
X
X
X
X
D3
0
D0
D1
D2
D3
3-351
Libraries Guide
M8_1E
8-to-1 Multiplexer with Enable
D0
D1
D2
D3
D4
D5
D6
D7
S0
S1
S2
E
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the enable input (E) is High, the M8_1E multiplexer chooses
one data bit from eight sources (D7 D0) under the control of the
select inputs (S2 S0). The output (O) reflects the state of the selected
input as shown in the truth table. When E is Low, the output is Low.
Inputs
X4031
Outputs
S2
S1
S0
D7 D0
0
1
1
1
1
1
1
1
1
X
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
X
D0
D1
D2
D3
D4
D5
D6
D7
0
D0
D1
D2
D3
D4
D5
D6
D7
Dn represents signal on the Dn input; all other data inputs are dont-cares (X).
3-352
Design Elements
D0
D1
D2
D3
D4
D5
D6
D7
S0
S1
S2
E
M2_1
D0
D1
S0
O
M01
M01
M23
M2_1
D0
D1
S0
M2_1
D0
D1
S0
O
M03
M2_1E
M23
M03
M47
M2_1
D0
D1
S0
O
M45
M45
M67
M2_1
D0
D1
S0
D0
D1
S0
E
M2_1
D0
D1
S0
O
M47
M67
Libraries Guide
3-353
Libraries Guide
M16_1E
16-to-1 Multiplexer with Enable
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
S0
S1
S2
S3
E
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the enable input (E) is High, the M16_1E multiplexer chooses
one data bit from 16 sources (D15 D0) under the control of the select
inputs (S3 S0). The output (O) reflects the state of the selected input
as shown in the truth table. When E is Low, the output is Low.
Inputs
X4032
Outputs
S3
S2
S1
S0
D15 D0
0
1
1
1
1
.
.
.
1
1
1
1
X
0
0
0
0
.
.
.
1
1
1
1
X
0
0
0
0
.
.
.
1
1
1
1
X
0
0
1
1
.
.
.
0
0
1
1
X
0
1
0
1
.
.
.
0
1
0
1
X
D0
D1
D2
D3
.
.
.
D12
D13
D14
D15
0
D0
D1
D2
D3
.
.
.
D12
D13
D14
D15
Dn represents signal on the Dn input; all other data inputs are dont-cares (X).
3-354
Design Elements
NAND
2- to 9-Input NAND Gates with Inverted and
Non-Inverted Inputs
Name
NAND2 NAND4B4
NAND5 NAND5B5
NAND6 NAND9
XC2000
Primitive
Macro
Macro
XC3000
Primitive
Primitive
Macro
XC4000
Primitive
Primitive
Macro
XC7000
Primitive
Primitive
Primitive
NAND2
NAND3
NAND4
NAND5
NAND2B1
NAND5B4
NAND6
NAND3B1
NAND7
NAND8
NAND4B1
NAND2B2
NAND5B1
NAND3B2
NAND5B5
NAND4B2
NAND3B3
NAND5B2
NAND4B3
NAND9
NAND5B3
NAND4B4
Libraries Guide
3-355
Libraries Guide
I7
I6
I5
I4
I3
I2
I1
I0
I47
AND3
I24
AND3
NAND4
I47
AND4
O
NAND5
I47
O
AND4
I13
NAND3
AND3
3-356
Design Elements
NOR
2- to 9-Input NOR Gates with Inverted and
Non-Inverted Inputs
Name
NOR2 NOR4B4
NOR5 NOR5B5
NOR6 NOR9
XC2000
Primitive
Macro
Macro
XC3000
Primitive
Primitive
Macro
XC4000
Primitive
Primitive
Macro
XC7000
Primitive
Primitive
Primitive
NOR2
NOR3
NOR4
NOR5
NOR2B1
NOR5B3
NOR6
NOR3B1
NOR4B1
NOR8
NOR2B2
NOR5B1
NOR3B2
NOR5B4
NOR4B2
NOR3B3
NOR7
NOR5B2
NOR4B3
NOR5B5
NOR9
NOR4B4
Libraries Guide
3-357
Libraries Guide
I7
I6
I5
I4
I3
I2
I1
I0
I47
OR3
I24
OR3
O
NOR4
I47
OR4
O
NOR5
I47
I3
I2
I1
OR4
I0
OR3
O
I13
NOR3
3-358
Design Elements
X3785
OBUF4
X3792
Name
XC2000
XC3000
XC4000
XC7000
OBUF
OBUF4,
OBUF8,
OBUF16
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive
Macro
OBUF, OBUF4, OBUF8, and OBUF16 are single and multiple output
buffers. An OBUF isolates the internal circuit and provides drive
current for signals leaving a chip. OBUFs exist in input/output
blocks (IOB). The output (O) of an OBUF is connected to an OPAD or
an IOPAD. For XC7000, if a high impedance (Z) signal from an
on-chip 3-state buffer (like BUFE) is applied to the input of an OBUF,
it is propagated to the EPLD device output pin.
OBUF8
O[7:0]
I0
I1
X3804
I2
I3
OBUF16
I4
I5
X3816
I6
I7
I[7:0]
O0
OBUF
OBUF
OBUF
OBUF
OBUF
OBUF
OBUF
O1
O2
O3
O4
O5
O6
O7
OBUF
Libraries Guide
3-359
Libraries Guide
X3787
OBUFE4
E
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Macro
X3794
OBUFE8
E
Outputs
0
1
1
X
1
0
Z
1
0
X3806
OBUFE16
E
X3818
3-360
Design Elements
O[7:0]
E
I0
O0
E
OBUFE
OBUFE
OBUFE
OBUFE
OBUFE
OBUFE
OBUFE
I1
O1
I2
O2
I3
O3
I4
O4
I5
O5
I6
O6
I7
O7
OBUFE
I[7:0]
E
E
I
E
O
BUFE
OBUF
Libraries Guide
3-361
Libraries Guide
Name
XC2000
XC3000
XC4000
XC7000
OBUFEX1
OBUFE4X1,
OBUFE8X1,
OBUFEX2
N/A
N/A
N/A
N/A
N/A
N/A
Primitive*
Macro*
X4212
OBUFE4X1
E
X4215
OBUFE8X1
E
I[7:0]
O[7:0]
X4218
OBUFEX2
Inputs
E
I[15:0]
O[15:0]
X4221
3-362
Outputs
0
1
1
1
X
1
0
Z
Z
1
0
Z
Design Elements
O[7:0]
E
I0
E
OBUFEX1
1
OBUFEX1
2
OBUFEX1
3
OBUFEX1
4
OBUFEX1
5
OBUFEX1
6
OBUFEX1
7
I1
I2
I3
I4
I5
I6
I7
O0
O1
O2
O3
O4
O5
O6
O7
OBUFEX1
I[7:0]
E
Libraries Guide
3-363
Libraries Guide
X3786
Name
XC2000
XC3000
XC4000
XC7000
OBUFT
OBUFT4,
OBUFT8,
OBUFT16
Primitive
Macro
Primitive
Macro
Primitive
Macro
Macro*
Macro*
X3793
Inputs
OBUFT8
T
I
O[8:0]
Outputs
1
0
0
X
1
0
Z
1
0
X3805
OBUFT16
T
I
O[16:0]
X3817
3-364
Design Elements
O[7:0]
T
I0
O0
T
OBUFT
OBUFT
OBUFT
OBUFT
OBUFT
OBUFT
OBUFT
I1
O1
I2
O2
I3
O3
I4
O4
I5
O5
I6
O6
I7
O7
OBUFT
I[7:0]
T
T
I
T
O
BUFT
OBUF
Libraries Guide
3-365
Libraries Guide
X3778
D0
OFD4
Q0
D1
Q1
D2
Q2
D3
Q3
C
X3800
D[7:0]
OFD8
Q[7:0]
Name
OFD
OFD4,
OFD8,
OFD16
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
Macro
Primitive
Macro
Macro
Macro
OFD, OFD4, OFD8, and OFD16 are single and multiple output D flipflops. The flip-flops exist in an input/output block (IOB) for XC3000
and XC4000. The outputs (for example, Q3 Q0) are connected to
OPADs or IOPADs. The data on the D inputs is loaded into the flipflops during the Low-to-High clock (C) transition and appears on the
Q outputs.
The flip-flops are asynchronously reset, outputs Low, when power is
applied or when global reset (GR for XC3000) or global set/reset
(GSR for XC4000) is active. GR is active-Low; the GSR active level is
programmable.
Inputs
X3812
D[15:0]
OFD16
Q[15:0]
Outputs
dn
dn = state of referenced input one set-up time prior to active clock transition
X3834
3-366
Design Elements
Q[7:0]
OFD
D0
D
C
Q0
Q0
OFD
D1
D
C
Q1
Q1
OFD
D2
D
C
Q2
Q2
OFD
D3
D
C
Q3
Q3
OFD
D4
D
C
Q4
Q4
OFD
D5
D
C
Q5
Q5
OFD
D6
D
C
Q6
Q6
OFD
D7
D[7:0]
D
C
Q7
Q7
Libraries Guide
3-367
Libraries Guide
Q[7:0]
FD
D0
Q0
OBUF
C
Q0
FD
D1
Q1
OBUF
C
Q1
FD
D2
Q2
OBUF
C
Q2
FD
D3
Q3
OBUF
C
Q3
FD
D4
Q4
OBUF
C
Q4
FD
D5
Q5
OBUF
C
Q5
FD
D6
Q6
OBUF
C
Q6
FD
D7
Q7
OBUF
C
D[7:0]
Q7
C
OBUF
C
C
3-368
Design Elements
OFD_1
Output D Flip-Flop with Inverted Clock
D
OFD_1
X3779
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
N/A
Outputs
d = state of referenced input one set-up time prior to active clock transition
OFD
D
CB
INV
Libraries Guide
3-369
Libraries Guide
OFDE
X3782
E
OFDE4
D0
Q0
D1
Q1
D2
Q2
D3
Q3
X3802
D[7:0]
OFDE8
Q[7:0]
Name
XC2000
XC3000
XC4000
XC7000
OFDE
OFDE4,
OFDE8,
OFDE16
N/A
N/A
Macro
Macro
Macro
Macro
Macro
Macro
OFDE, OFDE4, OFDE8, and OFDE16 are single or multiple D flipflops whose outputs are enabled by 3-state buffers. The flip-flop data
outputs (Q) are connected to the inputs of output buffers (OBUFE).
The OBUFE outputs (O) are connected to OPADs or IOPADs. These
flip-flops and buffers are contained in input/output blocks (IOB) for
XC3000 and XC4000. The data on the data inputs (D) is loaded into
the flip-flops during the Low-to-High clock (C) transition. When the
active-High enable inputs (E) are High, the data on the flip-flop
outputs (Q) appears on the O outputs. When E is Low, outputs are
high impedance (Z state or off).
The flip-flops are asynchronously reset, outputs Low, when power is
applied or when global reset (GR for XC3000) or global set/reset
(GSR for XC4000) is active. GR is active-Low; the GSR active level is
programmable.
X3814
Inputs
E
D[15:0]
OFDE16
Q[15:0]
X3836
3-370
Outputs
0
1
1
X
1
0
Z, not off
1
0
Design Elements
FD
D
OBUFE
C
C
E
D0
D
C
D
C
D
C
D
C
D
C
D
C
D
C
E
C
D7
O2
O2
O3
O3
O4
O4
O5
O5
O6
O6
OFDE
E
D[7:0]
OFDE
E
D6
O1
OFDE
E
D5
O1
OFDE
E
D4
OFDE
E
D3
O0
OFDE
E
D2
O0
OFDE
E
D1
O[7:0]
D
C
O7
O7
Libraries Guide
3-371
Libraries Guide
O[7:0]
E
D0
FD
D
E
0
O0
OBUFE
C
D1
Q0
FD
D
E
1
O1
OBUFE
C
D2
Q1
FD
D
E
2
O2
OBUFE
C
D3
Q2
FD
D
E
3
O3
OBUFE
C
D4
Q3
FD
D
E
4
O4
OBUFE
C
D5
Q4
FD
D
E
5
O5
OBUFE
C
Q5
D6
FD
D
E
6
O6
OBUFE
C
Q6
D7
FD
D
E
Q
O7
OBUFE
C
D[7:0]
Q7
3-372
Design Elements
OFDE_1
D Flip-Flop with Active-High Enable Output Buffer
and Inverted Clock
E
OFDE_1
X3783
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
N/A
0
1
1
X
1
0
Z
1
0
E
D
Outputs
T
INV
OFDT
D
CB
INV
Libraries Guide
3-373
Libraries Guide
OFDEI
D Flip-Flop with Active-High Enable Output Buffer
(Asynchronous Set)
E
OFDEI
C
X4382
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Outputs
0
1
1
X
1
0
Z
1
0
OFDTI
T
E
INV
D
OFDEI.4K
3-374
Design Elements
OFDEI_1
D Flip-Flop with Active-High Enable Output Buffer
and Inverted Clock (Asynchronous Set)
E
OFDEI_1
C
X4383
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Outputs
0
1
1
X
1
0
Z
1
0
INV
OFDTI
INV
C
CB
C
OFDEI_1.4K
Libraries Guide
3-375
Libraries Guide
OFDI
Output D Flip-Flop (Asynchronous Set)
D
OFDI
X4582
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
Outputs
d = state of referenced input one set-up time prior to active clock transition
3-376
Design Elements
OFDI_1
Output D Flip-Flop with Inverted Clock
(Asynchronous Set)
D
OFDI_1
C
X4384
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Outputs
d = state of referenced input one set-up time prior to the active clock transition
OFDI
D
D
CB
INV
C
OFDI_1.4K
Libraries Guide
3-377
Libraries Guide
OFDT
X3780
Name
XC2000
XC3000
XC4000
XC7000
OFDT
OFDT4,
OFDT8,
OFDT16
N/A
N/A
Primitive
Macro
Primitive
Macro
Macro*
Macro*
D0
OFDT4
Q0
D1
Q1
D2
Q2
D3
Q3
X3801
D[7:0]
OFDT8
Q[7:0]
X3813
D[15:0]
OFDT16
OFDT, OFDT4, OFDT8, and OFDT16 are single or multiple D flipflops whose outputs are enabled by a 3-state buffers. The data
outputs (Q) of the flip-flops are connected to the inputs of output
buffers (OBUFT). The outputs of the OBUFTs (O) are connected to
OPADs or IOPADs. These flip-flops and buffers exist in input/output
blocks (IOB) for XC3000 and XC4000. The data on the data inputs (D)
is loaded into the flip-flops during the Low-to-High clock (C) transition. When the active-Low enable inputs (T) are Low, the data on the
flip-flop outputs (Q) appears on the O outputs. When T is High,
outputs are high impedance (off).
The flip-flops are asynchronously reset, outputs Low, when power is
applied or when global reset (GR for XC3000) or global set/reset
(GSR for XC4000) is active. GR is active-Low; the GSR active level is
programmable.
Inputs
Q[15:0]
Outputs
1
0
X
D
Z
d
X3835
d = state of referenced input one set-up time prior to active clock transition
3-378
Design Elements
D0
O[7:0]
OFDT
D
O0
C
O0
D1
OFDT
O1
D
C
O1
D2
OFDT
O2
D
D3
OFDT
D
O2
O3
C
O3
D4
OFDT
O4
D
C
O4
D5
OFDT
O5
D
C
O5
D6
OFDT
O6
D
D[7:0]
T
C
D7
OFDT
D
O6
O7
C
O7
Libraries Guide
3-379
Libraries Guide
O[7:0]
T
FD
D0
OBUFT
Q0
FD
D1
OBUFT
Q1
FD
OBUFT
Q2
FD
OBUFT
Q3
FD
OBUFT
Q4
FD
OBUFT
Q5
FD
OBUFT
Q6
FD
D
C
O6
D7
O5
D6
O4
D5
O3
D4
O2
D3
O1
D2
O0
O7
OBUFT
Q7
D[7:0]
C
T
Q
OBUFT
C
Q
C
3-380
Design Elements
OFDT_1
D Flip-Flop with Active-High 3-State and Active-Low
Output Buffer and Inverted Clock
T
OFDT_1
X3781
XC2000
XC3000
XC4000
XC7000
N/A
Macro
Macro
N/A
Outputs
1
0
0
X
1
0
Z
1
0
OFDT
D
CB
INV
Libraries Guide
3-381
Libraries Guide
OFDTI
D Flip-Flop with Active-High 3-State and Active-Low
Output Buffer (Asynchronous Set)
T
OFDTI
X4581
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
3-382
Outputs
1
0
0
X
1
0
Z
1
0
Design Elements
OFDTI_1
D Flip-Flop with Active-High 3-State, Active-Low
Output Buffer and Inverted Clock
T
OFDTI_1
C
X4385
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
Outputs
1
0
0
X
1
0
Z
1
0
OFDTI
O
D
D
CB
INV
C
OFDTI_1.4K
Libraries Guide
3-383
Libraries Guide
X3829
OPAD4
O0
O1
O2
O3
X3839
Name
XC2000
XC3000
XC4000
XC7000
OPAD
OPAD4,
OPAD8,
OPAD16
Primitive
Macro
Primitive
Macro
Primitive
Macro
Primitive
Macro
OPAD, OPAD4, OPAD8, and OPAD16 are single and multiple output
pads. An OPAD connects a device pin to an output signal of a PLD. It
is internally connected to an input/output block (IOB), which is
configured by the XACT software as an OBUF, an OBUFT, an OBUFE,
an OFD, or an OFDT.
Refer to the appropriate CAE tool interface user guide for details on
assigning pin location and identification.
OPAD8
O[7:0]
X3842
O[7:0]
O0
OPAD16
O1
O[15:0]
O2
X3846
O3
O4
O5
O6
O7
OPAD
OPAD
OPAD
OPAD
OPAD
OPAD
OPAD
OPAD
3-384
Design Elements
OR
2- to 9-Input OR Gates with Inverted and
Non-Inverted Inputs
Name
OR2 OR4B4
OR5 OR5B5
OR6 OR9
XC2000
Primitive
Macro
Macro
XC3000
Primitive
Primitive
Macro
XC4000
Primitive
Primitive
Macro
XC7000
Primitive
Primitive
Primitive
OR2
OR3
OR4
OR5
OR5B4
OR2B1
OR6
OR3B1
OR8
OR4B1
OR2B2
OR3B2
OR5B1
OR5B5
OR4B2
OR7
OR3B3
OR5B2
OR4B3
OR9
OR4B4
OR5B3
Libraries Guide
3-385
Libraries Guide
I7
I6
I5
I4
I3
I2
I1
I0
I47
OR3
I24
OR3
OR4
I47
OR4
O
OR5
I47
O
OR4
I13
OR3
OR3
3-386
Design Elements
OSC
Crystal Oscillator Amplifier
OSC
X3885
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
N/A
N/A
IPAD
ACLK
OPAD
X2762
Libraries Guide
3-387
Libraries Guide
OSC4
Internal 5-Frequency Clock-Signal Generator
OSC4
F8M
F500K
F16K
F490
F15
X3912
3-388
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
Design Elements
PL20PIN
PIN20
PIN2
PIN19
PIN3
PIN18
PIN4
PIN17
PIN5
PIN16
PIN6
PIN15
PIN7
PIN14
PIN8
PIN13
PIN9
PIN12
PIN10
PIN11
PLD =
PIN1
PL24PIN
X4204
PIN24
PIN2
PIN23
PIN3
PIN22
PIN4
PIN21
PIN5
PIN20
PIN6
PIN19
PIN7
PIN18
PIN8
PIN17
PIN9
PIN16
PIN10
PIN15
PIN11
PIN14
PIN12
PIN13
PLD =
PIN1
PL48PIN
X4205
PIN48
PIN2
PIN47
PIN3
PIN46
PIN4
PIN45
PIN5
PIN44
PIN6
PIN43
PIN7
PIN42
PIN8
PIN41
PIN9
PIN10
PIN40
PIN39
PIN11
PIN38
PIN12
PIN37
PIN13
PIN36
PIN14
PIN35
PIN15
PIN34
PIN16
PIN33
PIN17
PIN32
PIN18
PIN31
PIN19
PIN30
PIN20
PIN29
PIN21
PIN28
PIN22
PIN27
PIN23
PIN26
PIN24
PIN25
PLD =
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
X4208
Libraries Guide
3-389
Libraries Guide
PL20V8
20V8-Compatible PLD Symbol for EPLD
PIN1
PL20V8
PIN2
PIN23
PIN22
PIN3
PIN21
PIN4
PIN20
PIN5
PIN19
PIN6
PIN18
PIN7
PIN17
PIN8
PIN16
PIN9
PIN15
PIN10
PIN14
PIN11
PIN13
PLD =
X4202
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
GAL20V8-Compatible Functionality
Generally, the PL20V8 produces up to eight output functions. You can
synchronize each output with a D-type flip-flop. Flip-flops are triggered on the rising edge of the clock signal. By default, the PIN1
input is the clock for all registers. You can invert each output.
Each output has 3-state drive capability. If the output is connected to
an output buffer (OBUF or OBUFEX1), the corresponding 3-state I/O
pin is controlled by the PL20V8 output-enable control input, PIN 13,
or a 3-state (TRST) control equation. By default, each output specified
by a non-registered equation is always enabled, and each registered
output is enabled when the PIN13 input is Low, which makes it
compatible with 24-pin medium PAL devices. Unused output pins
are always disabled to allow these pins to be reused as inputs. A
single product term can be used to control the output enable of each
output (pins 15 22) through the 3-state (TRST) control equation.
The defaults mentioned in the previous paragraphs override the
normal defaults for the Xilinx PLUSASM equation language when
PL20V8 is the specified PLD component type.
3-390
Design Elements
GAL20V8 Exceptions
By default, the output enable controls of a PL20V8 control only the
3-state drivers of the EPLD device pins, not the signals received by
any other on-chip logic. For example, if a 3-state control equation is
specified and the corresponding output only connects to other
on-chip logic symbols, the 3-state equation has no effect. You can
override this default by using the PLUSASM NODETRST declaration
in your equation file. When NODETRST is specified, the output
signal is disabled by the 3-state control equation everywhere it occurs
in the design, including feedback within the PL20V8 equation file.
Extended Functionality
As an alternative to using the default clock, PIN1, you can take a
single product term from each registered output function and use it
as the clock source (logic-controlled clocking) by specifying a CLKF
control equation in your equation file.
You can synchronously set and/or reset each output register using
single product-term functions. You can take a single product term
from each output to control the register set or reset by specifying the
SETF or the RSTF control equation. The register is forced High or
Low while the set or reset product term is satisfied.
When the EPLD device is powered up or its Master Reset pin is activated, all registers in the device are initialized. You can select the
initial state of each PL20V8 output flip-flop using the PLUSASM
PRLD control equation. Polarity inversion is performed before the
D-input to the flip-flop, making the results of reset, set, and preloading (power on or Master Reset) on the outputs independent of
selected polarity.
You can override the default 3-state control of registered outputs
through PIN 13 by specifying the control equation
outputTRST=VCC in the equation file for each output. Overriding
the default forces the output to always be enabled, allows PIN13 to be
used as an ordinary logic input, and allows the associated product
term to be used as part of the output logic-defining function.
Libraries Guide
3-391
Libraries Guide
Pin Description
PIN1 is the default clock input. It triggers all registers on the Low-toHigh transition and can be driven by a FastCLK global net (BUFG
symbol). Only the PIN1 input can be driven by a FastCLK global net.
If it is driven by a FastCLK net, the signal cannot be used in any equations in the PLD. PIN1 can be used as a general-purpose logic input if
it is not driven by a FastCLK.
PIN2 PIN11, PIN14, and PIN23 are general-purpose logic inputs.
PIN13 is the default active-Low output-enable control input for registered outputs. Outputs are enabled while pin 13 is Low. Pin 13 can
also be used as an ordinary logic input.
PIN15 PIN22 are logic function outputs with optional 3-state
control. These pins can be used as ordinary logic inputs when no
corresponding output function is specified.
PIN12 and PIN24 are not shown on the PL20V8 symbol, because they
are the ground and VCC pins.
3-392
Design Elements
PL22V10
22V10-Compatible PLD Symbol for EPLD
PIN1
PL22V10
PIN23
PIN2
PIN22
PIN3
PIN21
PIN4
PIN20
PIN5
PIN19
PIN6
PIN18
PIN7
PIN17
PIN8
PIN16
PIN9
PIN15
PIN10
PIN14
PIN11
PIN13
PLD =
X4203
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive
PAL22V10-Compatible Functionality
Generally, the PL22V10 produces up to 10 output functions. You can
synchronize each output with a D-type flip-flop. Flip-flops are triggered on the rising edge of the clock signal. By default, the PIN1
input is the clock for all registers.
Each output has 3-state drive capability. If the output is connected to
an output buffer (OBUF or OBUFEX1), the corresponding 3-state I/O
pin is controlled by the PL22V10 output-enable (TRST) control equation. By default, each output equation is always enabled. Unused
PL22V10 output pins are always disabled, allowing the symbol pin to
be re-used as an input. You can use a single product term to control
the output enable of each output through the 3-state control equation.
You can implement global asynchronous reset by specifying a signal
name in the 25th pin position in the equation file and by applying a
RSTF control equation that is compatible with PALASM syntax for
the PAL22V10 architecture. Implementing global asynchronous reset
causes the EPLD implementation software to automatically replicate
the reset function on each of the outputs' reset product terms. All
registers are forced Low while the global asynchronous reset function
is satisfied.
Similarly, you can implement global synchronous preset by specifying a signal name in the 25th pin position in the equation file and
by applying a SETF control equation. Implementing global synchro-
Libraries Guide
3-393
Libraries Guide
nous preset causes the EPLD implementation software to automatically replicate it into each of the registered output logic functions. All
registers are forced High synchronously with the clock, if the global
synchronous preset function is satisfied.
Individual output SETF and RSTF control equations are not
supported for PL22V10 equation files.
Each output can be inverted. EPLD software automatically emulates
PAL22V10 architecture by applying logic inversions to the Q-output
of the flip-flop. The results of asynchronous reset, synchronous
preset, and pre-loading (power-on) at the outputs are reversed as a
result of selecting active-Low output polarity.
The defaults mentioned in the previous paragraphs override the
normal defaults for the Xilinx PLUSASM equation language when
PL22V10 is the specified PLD component type.
PAL22V10 Exceptions
Output-enable controls, by default, only control EPLD device pin
3-state drivers, not signals received by any other on-chip logic. For
example, if you specify a 3-state control equation and the corresponding output only connects to other on-chip logic symbols, the
3-state equation has no effect. You can override this default using the
PLUSASM NODETRST declaration in your equation file. When
NODETRST is specified, the output signal is disabled by the 3-state
control equation everywhere it occurs, including feedback within the
PL22V10 equation file.
Extended Functionality
As an alternative to using the default clock, PIN1, you can take a
single product term from each registered output function and use it
as the clock source (logic-controlled clocking) by specifying a CLKF
control equation in your equation file.
3-394
Design Elements
When the EPLD device is powered up or its Master Reset pin is activated, all registers in the device are initialized. You can select the
initial state of each PL22V10 output flip-flop using the PLUSASM
PRLD control equation.
Pin Description
PIN1, the default clock input, triggers all registers on the Low-toHigh transition. It can be driven by a FastCLK global net (BUFG
symbol). Only the PIN1 input can be driven by a FastCLK global net.
If it is driven by a FastCLK net, the signal on PIN1 cannot be used in
any equations in the PLD. PIN1 can be used as a general-purpose
logic input if it is not driven by a FastCLK.
PIN2 PIN11 and PIN13 are general-purpose logic inputs.
PIN14 PIN23 are logic function outputs with optional 3-state
control. These pins can be used as ordinary logic inputs when no
corresponding output function is specified.
PIN12 and PIN24 are not shown on the PL22V10 symbol, because
they are the ground and VCC pins.
Libraries Guide
3-395
Libraries Guide
PLFB9
EPLD High-Density Function Block PLD Symbol
PLFB9
CI
CO
PIN1
PIN30
PIN2
PIN29
PIN3
PIN28
PIN4
PIN27
PIN5
PIN26
PIN6
PIN25
PIN7
PIN24
PIN8
PIN23
PIN9
PIN22
PIN10
PIN21
PIN11
PIN20
PIN12
PIN19
PIN13
PIN18
PIN14
PIN17
PIN15
PIN16
PIN31
PIN32
X4206
PLD =
3-396
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
Design Elements
30
I/O Pins
AND Array
21 Array Inputs
from any of
30 I/O Pins and
9 Macrocell
Feedbacks
CLK1
CLK2
1 of 9 Macrocells
Cin
D1
F
D2
C out
Off-Chip
Enable
R S
D Q
Off-Chip
Data
MUX
Feedback Enable
Override
CLKF
TRST*
SETF
RSTF
12 Sharable
5 Private
P-Terms per P-Terms per
Function Block Macrocell
ALU
Clock
Select
(CLKF)
To 8 More
Macrocells
Register
Trasparent
Control
Shift-In
from Previous MC
Shift-Out
to Next MC
Local Feedback
FBK
Shift
Feedback
Polarity
* TRST is forced high when P-term is not used
Macrocell Output
Arithmetic
Carry-Out to Next
Macrocell
X3598
Libraries Guide
3-397
Libraries Guide
3-398
Design Elements
Arithmetic Carry
You can specify arithmetic functions across a set of adjacent outputs.
The ADD (or ADDMODE) extension in PLUSASM enables the arithmetic carry path between macrocells to build efficient, high-speed,
ripple-carry adders, subtracters, magnitude comparators, and accumulators. The output order is defined by the equation file pin list;
output variables are listed from least- to most-significant bits.
CI and CO pins represent arithmetic carry paths into and out of the
function block. CI represents the carry-in of the first macrocell. CO
represents the carry-out from the ninth macrocell, and therefore is
only valid if an arithmetic output function is specified in the equation
file for the ninth macrocell. The CI input is from the EPLD carry chain
and must only be connected to the CO output of another PLFB9 or
EPLD-specific arithmetic component. The CO output passes into the
EPLD carry chain and can only be connected to the CI input of
another PLFB9 or EPLD-specific arithmetic component.
Pin Descriptions
PIN1 PIN30 are generic I/O pins. Each pin can be used as one of the
21 high-density function block (HDFB) logic array inputs or nine
function outputs.
PIN31 and PIN32 are clock inputs that trigger registers on Low-toHigh transitions. They must be driven by a FastCLK buffer (BUFG)
and cannot be used in any logic equations.
CI is the arithmetic carry-in to the first macrocell of the function
block; it can only be driven by the CO from another arithmetic
component or PLFB9.
CO is the arithmetic carry-out from the ninth macrocell of the function block; it can only drive a CI input of another arithmetic component or PLFB9.
Libraries Guide
3-399
Libraries Guide
PLFFB9
EPLD Fast Function Block PLD Symbol
PIN1
PLFFB9
PIN33
PIN2
PIN32
PIN3
PIN31
PIN4
PIN30
PIN5
PIN29
PIN6
PIN28
PIN7
PIN27
PIN8
PIN26
PIN9
PIN25
PIN10
PIN24
PIN11
PIN23
PIN12
PIN22
PIN13
PIN21
PIN14
PIN20
PIN15
PIN19
PIN16
PIN18
PIN17
PIN34
PIN35
X4207
PLD =
XC2000
XC3000
XC4000
XC7000
N/A
N/A
N/A
Primitive*
AND Array
24 Array Inputs
from any of
33 I/O Pins
(Including up to
12 FastInputs)
and 9 Macrocell
Feedbacks
Sum-of-Products
from
Previous
Macrocell
CLK1 CLK2
1 of 9 Macrocells
5 Private
P-Terms per
Macrocell
0
1
Q
S
SETF
P-Term
Assignment
Control
Register
Transparent
Control
Macrocell Output
Sum-of-Products
to
Next Macrocell
X3595
3-400
Design Elements
Pin Descriptions
PIN1 PIN33 are generic I/O pins. Each pin can be used as one of the
24 Fast Function Block logic array inputs or nine function outputs.
PIN34 and PIN35 are clock inputs that trigger registers on Low-toHigh transitions. They must be driven by a FastCLK buffer (BUFG)
and cannot be used in any logic equations.
Libraries Guide
3-401
Libraries Guide
PULLDOWN
Resistor to GND for Input Pads
X3860
3-402
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
Design Elements
PULLUP
Resistor to VCC for Input PADs, Open-Drain, and
3-State Outputs
X3861
XC2000
XC3000
XC4000
XC7000
N/A
Primitive
Primitive
Primitive
Libraries Guide
3-403
Libraries Guide
RAM16X1
16-Deep by 1-Wide Static RAM
D
WE
A0
A1
RAM16X1
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive*
N/A
A2
A3
X4124
Outputs
WE(mode)
0(read)
1(write)
X
D
data
data
3-404
Design Elements
RAM16X2
16-Deep by 2-Wide Static RAM
D0
D1
RAM16X2
O0
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro*
N/A
O1
WE
A0
A1
A2
A3
X4128
Outputs
WE(mode)
D1 D0
O1 O0
0(read)
1(write)
X
D1 D0
data
data
Libraries Guide
3-405
Libraries Guide
RAM16X4
16-Deep by 4-Wide Static Ram
D0
RAM16X4
D1
D2
D3
O0
XC2000
XC3000
XC4000
XC7000
O1
O2
O3
N/A
N/A
Macro*
N/A
WE
A0
A1
A2
A3
X4135
Outputs
WE(mode)
D3 D0
O3 O0
0(read)
1(write)
X
D3 D0
data
data
3-406
Design Elements
RAM16X8
16-Deep by 8-Wide Static RAM
D[7:0]
RAM16X8
Q[7:0]
WE
A0
A1
A2
A3
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro*
N/A
Outputs
WE(mode)
D7 D0
O7 O0
0(read)
1(write)
X
D7 D0
data
data
Libraries Guide
3-407
Libraries Guide
O[7:0]
RAM16X1
D0
D
WE
A0
A1
A2
A3
D
WE
A0
A1
A2
A3
D
WE
A0
A1
A2
A3
D
WE
A0
A1
A2
A3
D5
O2
O3
O3
D
WE
A0
A1
A2
A3
D6
D
WE
A0
A1
A2
A3
D
WE
A0
A1
A2
A3
O5
O5
O6
O6
RAM16X1
D7
O4
O4
RAM16X1
O2
RAM16X1
D3
O1
D
WE
A0
A1
A2
A3
RAM16X1
O1
RAM16X1
D2
RAM16X1
D4
O0
RAM16X1
D1
O0
O7
O7
D[7:0]
WE
A0
A1
A2
A3
3-408
Design Elements
RAM32X1
32-Deep by 1-Wide Static RAM
D
RAM32X1
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive*
N/A
WE
A0
A1
A2
A3
A4
X4125
Outputs
WE(mode)
0(read)
1(write)
X
D
data
data
Libraries Guide
3-409
Libraries Guide
RAM32X2
32-Deep by 2-Wide Static RAM
D0
RAM32X2
D1
O1
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro*
N/A
O0
WE
A0
A1
A2
A3
A4
X4129
Outputs
WE(mode)
D1 D0
O1 O0
0(read)
1(write)
X
D1 D0
data
data
3-410
Design Elements
RAM32X4
32-Deep by 4-Wide Static RAM
D0
D1
D2
D3
RAM32X4
O0
XC2000
XC3000
XC4000
XC7000
O1
O2
O3
N/A
N/A
Macro*
N/A
WE
A0
A1
A2
A3
A4
X4136
Outputs
WE(mode)
D3 D0
O3 O0
0(read)
1(write)
X
D3 D0
data
data
Libraries Guide
3-411
Libraries Guide
RAM32X8
32-Deep by 8-Wide Static RAM
D[7-0]
RAM32X8
Q[7-0]
WE
A0
A1
A2
A3
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro*
N/A
A4
X4143
Outputs
WE(mode)
D7 D0
O7 O0
0(read)
1(write)
X
D7 D0
data
data
3-412
Design Elements
O[7:0]
RAM32X1
D0
D
O
WE
A0
A1
A2
A3
A4 O0
RAM32X1
D1
D
O
WE
A0
A1
A2
A3
A4 O1
RAM32X1
D2
D
O
WE
A0
A1
A2
A3
A4 O2
RAM32X1
D3
D
O
WE
A0
A1
A2
A3
A4 O3
O0
D4
O1
D5
O2
D6
O3
D7
RAM32X1
D
O
WE
A0
A1
A2
A3
A4 O4
RAM32X1
D
O
WE
A0
A1
A2
A3
A4 O5
RAM32X1
D
O
WE
A0
A1
A2
A3
A4 O6
RAM32X1
D
O
WE
A0
A1
A2
A3
A4 O7
O4
O5
O6
O7
D[7:0]
WE
A0
A1
A2
A3
A4
Libraries Guide
3-413
Libraries Guide
READBACK
FPGA Bitstream Readback Controller
CLK READBACK DATA
TRIG
RIP
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Macro
N/A
X3918
TRIG
TRIG DATA
RIP
RDBK
DATA
RIP
3-414
Design Elements
ROM16X1
16-Deep by 1-Wide ROM
A0
ROM16X1
A1
A2
A3
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive*
N/A
Libraries Guide
3-415
Libraries Guide
ROM32X1
32-Deep by 1-Wide ROM
ROM32X1
A0
A1
A2
A3
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive*
N/A
A4
X4130
3-416
Design Elements
SOP
Sum Of Products
Name
SOP3 SOP3B3
SOP4 SOP4B4
XC2000
Macro
Macro
XC3000
Macro
Macro
XC4000
Macro
Macro
XC7000
Primitive
Primitive
Sum Of Products macros and primitives provide common logic functions by OR gating the outputs of two AND functions or the output
of one AND function with one direct input. Variations of inverting
and non-inverting inputs are available.
SOP3
SOP3B2A
SOP4
SOP3B1A
SOP4B2B
SOP3B2B
SOP4B1
SOP4B3
SOP3B3
SOP3B1B
SOP4B2A
SOP4B4
Libraries Guide
3-417
Libraries Guide
SR4CE
4-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Asynchronous Clear
SLI
SR4CE
Q0
CE
Q1
Q2
Q3
CLR
X4145
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CLR
CE
SLI
Q0
Q3 Q1
1
0
0
0
X
0
1
1
X
X
1
0
X
X
0
0
---No Change--1
qn-1
0
qn-1
qn-1 = state of referenced output one set-up time prior to active clock transition
3-418
Design Elements
SR4CLE
4-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Asynchronous Clear
SLI
SR4CLE
D0
Q0
D1
D2
Q1
Q2
D3
Q3
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
L
CE
C
CLR
XC2000
X4147
L
X
1
0
0
CE
X
X
1
0
Outputs
SLI
X
X
SLI
X
D3 D0
X
D3 D0
X
X
C
X
Q0
Q3 Q1
0
0
d0
dn
SLI
qn-1
--No Change--
dn or qn-1 = state of referenced input or output one set-up time prior to active
clock transition
Libraries Guide
3-419
Libraries Guide
SR4CLED
4-Bit Shift Register with Clock Enable and
Asynchronous Clear
SLI
SR4CLED
D0
Q0
D1
D2
Q1
Q2
D3
Q3
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
SRI
L
LEFT
CE
C
X4149
CLR
XC2000
L
X
1
0
0
0
CE
X
X
0
1
1
LEFT
X
X
X
1
0
SLI
X
X
X
SLI
X
Outputs
SRI
X
X
X
X
SRI
D3 D0
X
D3 D0
X
X
X
C
X
Q0
Q3
Q2 Q1
0
0
0
d0
d3
dn
----No Change----SLI
q2
qn-1
q1
SRI
qn+1
dn, qn-1 or qn+1 = state of referenced input one set-up time prior to active clock
transition
3-420
Design Elements
SR4RE
4-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Synchronous Reset
SLI
SR4RE
Q0
CE
Q1
Q2
Q3
X4144
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
SR4RE is a 4-bit shift register with shift-left serial input (SLI), parallel
outputs (Q3 Q0), clock enable (CE), and synchronous reset (R)
inputs. The R input, when High, overrides all other inputs and resets
the data outputs (Q3 Q0) Low. When CE is High and R is Low, the
data on the SLI is loaded into the first bit of the shift register during
the Low-to-High clock (C) transition and appears on the Q0 output.
During subsequent Low-to-High clock transitions, when CE is High
and R is Low, data is shifted to the next highest bit position as new
data is loaded into Q0 (SLIQ0, Q0Q1, Q1Q2, and so forth). The
register ignores clock transitions when CE is Low.
Registers can be cascaded by connecting the Q3 output of one stage
to the SLI input of the next stage and connecting clock, CE, and R in
parallel.
The register is asynchronously reset, outputs Low, when power is
applied or when Global Reset (XC2000, XC3000) or Global Set/Reset
(XC4000) is active. GR is active-Low; the GSR active level is programmable.
Inputs
Outputs
CE
SLI
Q0
Q3 Q1
1
0
0
0
X
0
1
1
X
X
1
0
0
0
---No Change--1
qn-1
0
qn-1
qn-1 = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-421
Libraries Guide
SR4RLE
4-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Synchronous Reset
SLI
SR4RLE
D0
Q0
D1
D2
Q1
Q2
D3
Q3
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
L
CE
C
X4146
XC2000
L
X
1
0
0
CE
X
X
1
0
Outputs
SLI
X
X
SLI
X
D3 D0
X
D3 D0
X
X
Q0
Q3 Q1
0
0
d0
dn
SLI
qn-1
--No Change--
dn or qn-1 = state of referenced input one set-up time prior to active clock
transition
3-422
Design Elements
SR4RLED
4-Bit Shift Register with Clock Enable and
Synchronous Reset
SLI
SR4RLED
D0
Q0
D1
D2
Q1
Q2
D3
Q3
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
SRI
L
LEFT
CE
C
X4148
XC2000
L
X
1
0
0
0
CE
X
X
0
1
1
LEFT
X
X
X
1
0
SLI
X
X
X
SLI
X
Outputs
SRI
X
X
X
X
SRI
D3 D0
X
D3 D0
X
X
X
Q0
Q3
Q2 Q1
0
0
0
d0
d3
dn
----No Change----SLI
q2
qn-1
q1
SRI
qn+1
dn, qn-1 or qn+1 = state of referenced input one set-up time prior to active clock
transition
Libraries Guide
3-423
Libraries Guide
SR8CE
8-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Asynchronous Clear
SLI
SR8CE
Q[7:0]
CE
C
CLR
X4151
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
SR8CE is an 8-bit shift-left serial input (SLI), parallel output (Q7 Q0)
shift register with clock enable (CE) and asynchronous clear (CLR)
inputs. The CLR input, when High, overrides all other inputs and
resets the data outputs (Q7 Q0) Low. When CE is High and CLR is
Low, the data on the SLI is loaded into the first bit of the shift register
during the Low-to-High clock (C) transition and appears on the Q0
output. During subsequent Low-to-High clock transitions, when CE
is High and CLR is Low, data is shifted to the next highest bit position
as new data is loaded into Q0 (SLIQ0, Q0Q1, Q1Q2, and so
forth). The register ignores clock transitions when CE is Low.
Registers can be cascaded by connecting the Q7 output of one stage to
the SLI input of the next stage and connecting clock, CE, and CLR in
parallel.
The register is asynchronously reset, outputs Low, when power is
applied or when Global Reset (XC2000, XC3000) or Global Set/Reset
(XC4000) is active. GR is active-Low; the GSR active level is programmable.
Inputs
Outputs
CLR
CE
SLI
Q0
Q7 Q1
1
0
0
0
X
0
1
1
X
X
1
0
X
X
0
0
--No Change--1
qn-1
0
qn-1
qn-1 = state of referenced output one set-up time prior to active clock transition
3-424
Design Elements
Q[7:0]
FDCE
SLI
CE
Q
D
CE
C CLR
Q0
Q0
D
Q
CE
C
CLR
Q4
Q4
D
Q
CE
C
CLR
Q5
Q5
FDCE
FDCE
D
Q
CE
C CLR
Q3
FDCE
Q1
Q1
FDCE
FDCE
D
Q
CE
C
CLR
Q2
Q2
D
Q
CE
C
CLR
Q6
D
Q
CE
C CLR
Q3
D
Q
CE
C CLR
FDCE
Q3
Q6
FDCE
Q7
Q7
C
CLR
Libraries Guide
3-425
Libraries Guide
SR8CLE
8-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Asynchronous Clear
SLI
D[7:0]
SR8CLE
Q[7:0]
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
L
CE
C
CLR
XC2000
X4153
L
X
1
0
0
CE
X
X
1
0
Outputs
SLI
X
X
SLI
X
D7 D0
X
D7 D0
X
X
C
X
Q0
Q7 Q1
0
0
d0
dn
SLI
qn-1
--No Change--
dn or qn-1 = state of referenced input one set-up time prior to active clock
transition
3-426
Design Elements
Q[7:0]
CE
L_OR_CE
OR2
M2_1
SLI
D0
D0
D1
S0
MD0
MQ0
M2_1
D1
D0
D1
S0
MD1
MQ1
M2_1
D2
D0
D1
S0
MD2
MQ2
M2_1
D3
D0
D1
S0
O
MQ3
MD3
FDCE
D
Q
CE
C CLR
Q0
FDCE
D
Q
CE
C CLR
Q1
FDCE
D
Q
CE
C CLR
Q2
FDCE
D
Q
CE
C CLR
Q3
Q0
M2_1
Q3
D4
D0
D1
S0
MD4
MQ4
M2_1
Q1
D5
D0
D1
S0
MD5
MQ5
M2_1
Q2
D6
D0
D1
S0
MD6
MQ6
M2_1
Q3
D7
D0
D1
S0
O
MQ7
MD7
FDCE
D
Q
CE
C CLR
Q4
FDCE
D
Q
CE
C CLR
Q5
FDCE
D
Q
CE
C CLR
Q6
FDCE
D
Q
CE
C CLR
Q7
Q4
Q5
Q6
Q7
CLR
C
D[7:0]
Libraries Guide
3-427
Libraries Guide
SR8CLED
8-Bit Shift Register with Clock Enable and
Asynchronous Clear
SLI
D[7:0]
SR8CLED
SRI
Q[7:0]
L
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
LEFT
CE
C
CLR
XC2000
X4155
L
X
1
0
0
0
CE
X
X
0
1
1
LEFT
X
X
X
1
0
SLI
X
X
X
SLI
X
Outputs
SRI
X
X
X
X
SRI
D7 D0
X
D7 D0
X
X
X
C
X
Q0
Q7
Q6 Q1
0
0
0
d0
d7
dn
-----No Change----SLI
q6
qn-1
q1
SRI
qn+1
dn, qn-1 or qn+1 = state of referenced input one set-up time prior to active clock
transition
3-428
Design Elements
CE
L_OR_CE
OR2
M2_1
M2_1
SLI
D0
D0
D1
S0
O MDL0
D0
D1
S0
MDL0
FDCE
O
MDR0
MDR0 D
Q
CE
CCLR
Q0
Q[7:0]
Q0
M2_1
M2_1
D1
D0
D1
S0
O MDL1
D0
D1
S0
MDL1
FDCE
O
MDR1
MDR1 D
Q
CE
CCLR
Q1
Q1
M2_1
M2_1
D2
D0
D1
S0
O MDL2
MDL2
D0
D1
S0
O MDL3
MDL3
D0
D1
S0
O MDL4
D0
D1
S0
D6
L
SRI
LEFT
CLR
C
D7
D0
D1
S0
D0
D1
S0
MDL5
MDR3
MDR3
D0
D1
S0
MDL6
MDR4
MDR4
MDL7
L_LEFT
D0
D1
S0
Q3
D
Q
CE
C CLR
Q4
Q4
FDCE
O
MDR5
MDR5 D
Q
CE
C
CLR
Q5
Q5
FDCE
O
MDR6
MDR6 D
Q
CE
C CLR
Q6
M2_1
O MDL7
D
Q
CE
C CLR
Q3
FDCE
O
M2_1
O MDL6
M2_1
D[7:0]
D0
D1
S0
Q2
FDCE
O
M2_1
O MDL5
M2_1
D0
D1
S0
D0
D1
S0
MDL4
M2_1
D5
MDR2
MDR2 D
Q
CE
C
CLR
Q2
M2_1
M2_1
D4
FDCE
O
M2_1
M2_1
D3
D0
D1
S0
Q6
FDCE
O
MDR7
MDR7
D
Q
CE
CCLR
Q7
Q7
OR2
Libraries Guide
3-429
Libraries Guide
SR8RE
8-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Synchronous Reset
SLI
SR8RE
Q[7:0]
CE
C
X4150
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
SR8RE is an 8-bit shift-left serial input (SLI), parallel output (Q7 Q0)
shift register with clock enable (CE) and synchronous reset (R) inputs.
The R input, when High, overrides all other inputs and resets the data
outputs (Q7 Q0) Low. When CE is High and R is Low, the data on
the SLI is loaded into the first bit of the shift register during the Lowto-High clock (C) transition and appears on the Q0 output. During
subsequent Low-to-High clock transitions, when CE is High and R is
Low, data is shifted to the next highest bit position as new data is
loaded into Q0 (SLIQ0, Q0Q1, Q1Q2, and so forth). The register
ignores clock transitions when CE is Low.
Registers can be cascaded by connecting the Q7 output of one stage to
the SLI input of the next stage and by connecting clock, CE, and R in
parallel.
The register is asynchronously reset, outputs Low, when power is
applied or when Global Reset (XC2000, XC3000) or Global Set/Reset
(XC4000) is active. GR is active-Low; the GSR active level is programmable.
Inputs
Outputs
CE
SLI
Q0
Q7 Q1
1
0
0
0
X
0
1
1
X
X
1
0
0
0
--No Change--1
qn-1
0
qn-1
qn-1 = state of referenced output one set-up time prior to active clock transition
3-430
Design Elements
Q[7:0]
FDRE
SLI
CE
D
Q
CE
C R
Q0
Q3
FDRE
D
CE
C
Q
R
Q0
Q4
FDRE
D
Q
CE
C R
FDRE
Q1
Q1
FDRE
Q2
Q2
Q3
Q5
D
Q
CE
C R
Q6
Q6
FDRE
FDRE
D
Q
CE
C R
D
Q
CE
C R
Q5
FDRE
D
Q
CE
C R
Q4
Q3
D
CE
C
Q7
R
Q7
C
R
Libraries Guide
3-431
Libraries Guide
SR8RLE
8-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Synchronous Reset
SR8RLE
SLI
D[7:0]
Q[7:0]
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
L
CE
C
X4152
XC2000
L
X
1
0
0
CE
X
X
1
0
Outputs
SLI
X
X
SLI
X
D7 D0
X
D7 D0
X
X
Q0
Q7 Q1
0
0
d0
dn
SLI
qn-1
--No Change--
dn or qn-1 = state of referenced input one set-up time prior to active clock
transition
3-432
Design Elements
Q[7:0]
CE
L_OR_CE
OR2
L
SLI
M2_1
D0
D0
D1
S0
O
MQ0
M2_1
D1
D2
D0
D1
S0
O
MQ1
M2_1
D0
O
D1
S0
MQ2
M2_1
D3
D0
D1
S0
O
MQ3
FDRE
MD0 D
Q
CE
C R
Q0
FDRE
MD1 D
Q
CE
CR
Q1
FDRE
MD2 D
Q
CE
C R
Q2
FDRE
MD3 D
Q
CE
C R
Q3
Q0
Q3
M2_1
D4
D0
D1
S0
D5
D0
D1
S0
O
MQ4
M2_1
Q1
O
MQ5
M2_1
Q2
D6
D0
D1
S0
O
MQ6
M2_1
Q3
D7
D0
D1
S0
O
MQ7
FDRE
MD4 D
Q
CE
C
R
Q4
FDRE
MD5 D
Q
CE
C R
Q5
FDRE
MD6 D
Q
CE
C R
Q6
FDRE
MD7 D
Q
CE
CR
Q7
Q4
Q5
Q6
Q7
R
C
D[7:0]
Libraries Guide
3-433
Libraries Guide
SR8RLED
8-Bit Shift Register with Clock Enable and
Synchronous Reset
SLI
D[7:0]
SR8RLED
SRI
Q[7:0]
L
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
LEFT
CE
C
X4154
XC2000
L
X
1
0
0
0
CE
X
X
0
1
1
LEFT
X
X
X
1
0
SLI
X
X
X
SLI
X
Outputs
SRI
X
X
X
X
SRI
D7 D0
X
D7 D0
X
X
X
Q0
Q7
Q6 Q1
0
0
0
d0
d7
dn
----No Change----SLI
q6
qn-1
q1
SRI
qn+1
dn, qn-1 or qn+1 = state of referenced input one set-up time prior to active clock
transition
3-434
Design Elements
CE
L_OR_CE
OR2
D0
D0
D1
S0
FDRE
M2_1
M2_1
SLI
O MDL0
D0
D1
S0
MDL0
O
MDR0
MDR0 D
Q
CE
C R
Q0
Q[7:0]
Q0
M2_1
M2_1
D1
D0
D1
S0
O MDL1
D0
D1
S0
MDL1
FDRE
O
MDR1
MDR1 D
CE
C
Q1
R
Q1
M2_1
M2_1
D2
D0
D1
S0
O MDL2
D0
D1
S0
MDL2
FDRE
O
MDR2
MDR2 D
Q
CE
C R
Q2
Q2
M2_1
M2_1
D3
D0
D1
S0
O MDL3
D0
D1
S0
FDRE
O
MDR3
MDL3
MDR3 D
Q
CE
C R
Q3
Q3
M2_1
M2_1
D4
D0
D1
S0
O MDL4
MDL4
D0
D1
S0
FDRE
O
MDR4
MDR4 D
Q
CE
C R
Q4
M2_1
M2_1
D5
D0
D1
S0
O MDL5
MDL5
D0
D1
S0
Q4
FDRE
O
MDR5
MDR5 D
Q
CE
C R
Q5
Q5
M2_1
M2_1
D6
D0
D1
S0
O MDL6
MDL6
D0
D1
S0
FDRE
O
MDR6
MDR6 D
Q
CE
C R
Q6
Q6
M2_1
M2_1
D[7:0]
L
SRI
LEFT
R
C
D7
D0
D1
S0
O MDL7
MDL7
L_LEFT
D0
D1
S0
FDRE
O
MDR7
MDR7
D
Q
CE
C R
Q7
Q7
OR2
Libraries Guide
3-435
Libraries Guide
SR16CE
16-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Asynchronous Clear
SLI
SR16CE
Q[15:0]
CE
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CLR
X4157
Outputs
CLR
CE
SLI
Q0
Q15 Q1
1
0
0
X
0
1
X
X
1
X
X
0
0
---No Change--1
qn-1
qn-1
qn-1 = state of referenced output one set-up time prior to active clock transition
3-436
Design Elements
SR16CLE
16-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Asynchronous Clear
SLI
D[15:0]
SR16CLE
Q[15:0]
L
CE
C
CLR
X4159
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CLR
1
0
0
0
L
X
1
0
0
CE
X
X
1
0
SLI
X
X
SLI
X
Outputs
D15 D0
X
D15 D0
X
X
C
X
Q0
Q15 Q1
0
0
d0
dn
SLI
qn-1
--No Change--
dn or qn-1 = state of referenced input one set-up time prior to active clock
transition
Libraries Guide
3-437
Libraries Guide
SR16CLED
16-Bit Shift Register with Clock Enable and
Asynchronous Clear
SLI SR16CLED
D[15:0]
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
SRI
Q[15:0]
L
LEFT
CE
C
X4161
CLR
L
X
1
0
0
0
CE
X
X
0
1
1
LEFT
X
X
X
1
0
SLI
X
X
X
SLI
X
Outputs
SRI
X
X
X
X
SRI
D15 D0
X
D15 D0
X
X
X
C
X
Q0 Q15 Q14 Q1
0
0
0
d0
d15
dn
----No Change----SLI q14
qn-1
q1
SRI
qn+1
dn, qn-1 or qn+1 = state of referenced input one set-up time prior to active clock
transition
3-438
Design Elements
SR16RE
16-Bit Serial-In Parallel-Out Shift Register with Clock
Enable and Synchronous Reset
SLI
SR16RE
Q[15:0]
CE
C
X4156
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Outputs
CE
SLI
Q0
Q15 Q1
1
0
0
X
0
1
X
X
1
0
0
---No Change--1
qn-1
qn-1
qn-1 = state of referenced output one set-up time prior to active clock transition
Libraries Guide
3-439
Libraries Guide
SR16RLE
16-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable and Synchronous Reset
SR16RLE
SLI
D[15:0]
Q[15:0]
L
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
CE
C
X4158
XC2000
L
X
1
0
0
CE
X
X
1
0
Outputs
SLI
X
X
SLI
X
D15 D0
X
D15 D0
X
X
Q0
Q15 Q1
0
0
d0
dn
SLI
qn-1
--No Change--
dn or qn-1 = state of referenced input one set-up time prior to active clock
transition
3-440
Design Elements
SR16RLED
16-Bit Shift Register with Clock Enable and
Synchronous Reset
SLI SR16RLED
D[15:0]
SRI
Q[15:0]
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
LEFT
CE
C
XC2000
X4160
L
X
1
0
0
0
CE
X
X
0
1
1
LEFT
X
X
X
1
0
SLI
X
X
X
SLI
X
Outputs
SRI
X
X
X
X
SRI
D15 D0
X
D15 D0
X
X
X
Q0
Q15 Q14 Q1
0
0
0
d0
d15
dn
----No Change----SLI
q14
qn-1
q1
SRI
qn+1
dn, qn-1 or qn+1 = state of referenced input one set-up time prior to active clock
transition
Libraries Guide
3-441
Libraries Guide
STARTUP
User Interface to Global Clock, Reset, and 3-State
Controls
GSR
STARTUP
Q2
GTS
Q3
Q1Q4
CLK
DONEIN
X3911
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
3-442
Design Elements
TCK
Boundary-Scan Test Clock Input Pad
TCK
X3895
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
Libraries Guide
3-443
Libraries Guide
TDI
Boundary-Scan Test Data Input Pad
TDI
X3897
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
3-444
Design Elements
TDO
Boundary-Scan Data Output Pad
TDO
X3899
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
Libraries Guide
3-445
Libraries Guide
TIMEGRP
Schematic-Level Table of Basic Timing Specification
Groups
XC2000
XC3000
XC4000
XC7000
N/A
Primitive
Primitive
N/A
The TIMEGRP primitive table defines timing groups used in fromto TIMESPEC statements in terms of other groups. The TIMEGRP
table is shown in the following figure.
TI MEG R P
X4699
3-446
Design Elements
TIMESPEC
Schematic-Level Timing Requirement Table
XC2000
XC3000
XC4000
XC7000
N/A
Primitive
Primitive
Primitive*
X3866
Libraries Guide
3-447
Libraries Guide
TMS
Boundary-Scan Test Mode Select Input Pad
TMS
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
X3901
3-448
Design Elements
UPAD
Connects the I/O Node of an IOB to the Internal PLD
Circuit
UPAD
X3843
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
Primitive
Primitive
Libraries Guide
3-449
Libraries Guide
VCC
VCC-Connection Signal Tag
Vcc
XC2000
XC3000
XC4000
XC7000
Primitive
Primitive
Primitive
Primitive
X3859
3-450
Design Elements
X3905
I1
WAND4
I2
I3
I4
X3915
I[7:0]
WAND8
O
XC3000
N/A
N/A
XC4000
Primitive
Macro
XC7000
N/A
N/A
X3916
I[15:0]
XC2000
N/A
N/A
WAND16
O
I0
O
WAND1
X3917
I1
WAND1
I2
WAND1
I3
WAND1
I4
WAND1
I5
WAND1
I6
WAND1
I7
I[7:0]
WAND1
Libraries Guide
3-451
Libraries Guide
WOR2AND
2-Input OR Gate with Wired-AND Open-Drain Buffer
Output
X3906
XC2000
XC3000
XC4000
XC7000
N/A
N/A
Primitive
N/A
WOR2AND is a 2-input (I1 and I2) OR gate/buffer with an opendrain output (O). It is used in bus applications by tying multiple
open-drain outputs together. When both inputs (I1 and I2) are Low,
the output (O) is Low. When either input is High, the output is off;
wor2and cannot source or sink current. To establish an output High
level, tie a pull-up resistor(s) to the output (O). One pull-up resistor
uses the least power, two pull-up resistors achieve the fastest Low-toHigh speed.
To indicate two pull-up 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.
3-452
Design Elements
XNOR
2- to 9-Input XNOR Gates with Non-Inverted Inputs
Name
XNOR3 XNOR4
XNOR5
XNOR6 XNOR9
XNOR2
XOR3
XNOR4
XNOR5
XNOR6
XC2000
Primitive
Macro
Macro
XC3000
Primitive
Primitive
Macro
XC4000
Primitive
Primitive
Macro
XC7000
Primitive
Primitive
Primitive*
I47
XOR3
I24
XOR3
XNOR4
XNOR8
I7
I6
I5
I4
I3
I2
I1
I0
I47
XOR4
O
XNOR5
XNOR9
Libraries Guide
3-453
Libraries Guide
I7
I6
I5
I4
I3
I2
I1
I0
I47
O
XOR4
I13
XNOR3
XOR3
3-454
Design Elements
XOR
2- to 9-Input XOR Gates with Non-Inverted Inputs
Name
XOR2 XOR4
XOR5
XOR6 XOR9
XOR2
XOR3
XOR4
XOR5
XOR6
XC2000
Primitive
Macro
Macro
XC3000
Primitive
Primitive
Macro
XC4000
Primitive
Primitive
Macro
XC7000
Primitive
Primitive
Primitive*
I47
XOR3
I24
XOR3
XOR4
XOR7
XOR8
I7
I6
I5
I4
I3
I2
I1
I0
I47
XOR4
O
XOR5
XOR9
Libraries Guide
3-455
Libraries Guide
I7
I6
I5
I4
I3
I2
I1
I0
I47
XOR4
I13
XOR3
XOR3
3-456
Design Elements
X74_42
4- to 10-Line BCD-to-Decimal Decoder with
Active-Low Outputs
A
B
X74_42
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_42 decodes the 4-bit BCD number on the data inputs (A D).
Only one of the ten outputs (Y9 Y0) is active (Low) at a time, which
reflects the decimal equivalent of the BCD number on inputs A D.
All outputs are inactive (High) during any one of six illegal states, as
shown in the truth table.
Inputs
X4162
Outputs
Selected (Low)
Output*
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
Y9
All Outputs High
All Outputs High
All Outputs High
All Outputs High
All Outputs High
All Outputs High
Libraries Guide
3-457
Libraries Guide
Y0
OR4
Y1
NAND4B3
Y2
NAND4B3
Y3
NAND4B2
Y4
NAND4B3
Y5
NAND4B2
Y6
NAND4B2
Y7
NAND4B1
Y8
NAND4B3
A
B
C
D
Y9
NAND4B2
3-458
Design Elements
X74_L85
4-Bit Expandable Magnitude Comparator
AGBI
X74_L85
AGBO
AEBI
AEBO
ALBI
ALBO
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive*
A0
A1
A2
A3
B0
B1
B2
B3
X4163
Libraries Guide
3-459
Libraries Guide
Inputs
A3, B3
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A2, B2
X
X
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A1, B1
X
X
X
X
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
A0, B0
X
X
X
X
X
X
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
A0=B0
A0=B0
A0=B0
A0=B0
A0=B0
Outputs
AGBI
X
X
X
X
X
X
X
X
1
0
0
0
1
1
1
0
ALBI
X
X
X
X
X
X
X
X
0
1
0
1
0
1
1
0
AEBI
X
X
X
X
X
X
X
X
0
0
1
1
1
1
0
0
AGBO
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
ALBO
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
AEBO
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
For XC7000, outputs differ when A=B and when more than one expansion input
(AGBI, ALBI, or AEBI) is high.
3-460
Design Elements
AEBI
AEBO
AGBI
AND5
AL_7
AGBO
ALBI
AND5
AG_7
OR5
ALBO
AND5
AB0
AND5B1
A_B0
A0
AND2B1
B0
OR5
NA_B1
A_B1
NOR2
AND2B1
AB1
AND5B1
AB2
AND4B1
A_B2
A1
NA_B3
AND2B1
B1
A_B3
NOR2
AND2B1
AB3
AND4B1
AND3B1
A_B4
A2
AB4
NA_B5
AND2B1
B2
A_B5
NOR2
AND2B1
AB5
AND3B1
A3
AB6
AND2B1
A_B6
NA_B7
AND2B1
B3
A_B7
NOR2
AND2B1
AB7
AND2B1
Libraries Guide
3-461
Libraries Guide
X74_138
3- to 8-Line Decoder/Demultiplexer with Active-Low
Outputs and Three Enables
A
X74_138
Y0
Y1
Y2
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Y3
Y4
G2A
Y5
G2B
Y6
G1
Y7
X4164
Inputs
C
0
0
0
0
1
1
1
1
X
X
X
3-462
B
0
0
1
1
0
0
1
1
X
X
X
A
0
1
0
1
0
1
0
1
X
X
X
G1
1
1
1
1
1
1
1
1
0
X
X
Outputs
G2A G2B
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
X
1
X
X
1
Y7
1
1
1
1
1
1
1
0
1
1
1
Y6
1
1
1
1
1
1
0
1
1
1
1
Y5
1
1
1
1
1
0
1
1
1
1
1
Y4
1
1
1
1
0
1
1
1
1
1
1
Y3
1
1
1
0
1
1
1
1
1
1
1
Y2
1
1
0
1
1
1
1
1
1
1
1
Y1
1
0
1
1
1
1
1
1
1
1
1
Y0
0
1
1
1
1
1
1
1
1
1
1
Design Elements
Y[7:0]
G1
G2A
G2B
E
Y0
AND3B2
NAND4B3
Y1
NAND4B2
Y2
NAND4B2
Y3
NAND4B1
Y4
NAND4B2
Y5
NAND4B1
Y6
NAND4B1
A
B
C
Y7
NAND4
Libraries Guide
3-463
Libraries Guide
X74_139
2- to 4-Line Decoder/Demultiplexer with Active-Low
Outputs and Active-Low Enable
A
B
X74_139
Y0
Y1
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Y2
G
Y3
X4165
Outputs
Y3
Y2
Y1
Y0
0
0
0
0
1
0
0
1
1
X
0
1
0
1
X
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
Y0
Y0
NAND3B3
Y1
Y1
NAND3B2
Y2
Y2
NAND3B2
B
G
Y3
Y3
NAND3B1
3-464
Design Elements
X74_147
10- to 4-Line Priority Encoder with Active-Low Inputs
and Outputs
X74_147
I1
I2
A
B
I3
I4
I5
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
I6
I7
I8
I9
X4166
Inputs
I9
1
1
1
1
1
1
1
1
0
1
I8
1
1
1
1
1
1
1
0
X
1
Libraries Guide
I7
1
1
1
1
1
1
0
X
X
1
I6
1
1
1
1
1
0
X
X
X
1
I5
1
1
1
1
0
X
X
X
X
1
Outputs
I4
1
1
1
0
X
X
X
X
X
1
I3
1
1
0
X
X
X
X
X
X
1
I2
1
0
X
X
X
X
X
X
X
1
I1
0
X
X
X
X
X
X
X
X
1
D
1
1
1
1
1
1
1
0
0
1
C
1
1
1
0
0
0
0
1
1
1
B
1
0
0
1
1
0
0
1
1
1
A
0
1
0
1
0
1
0
1
0
1
3-465
Libraries Guide
D0
I1
AND5B1
I2
D1
I3
A
AND4B1
D2
NOR5B1
AND3B1
D3
AND2B1
D4
AND4B1
D5
B
AND4B1
D6
NOR4
AND2B1
D7
AND2B1
D8
I4
AND2B1
D9
I5
AND2B1
D10
I6
NOR4
AND2B1
D11
I7
I8
I9
AND2B1
AND2
3-466
Design Elements
X74_148
8- to 3-Line Cascadable Priority Encoder with
Active-Low Inputs and Outputs
X74_148
I0
I1
I2
A0
A1
A2
I3
I4
EO
I5
GS
I6
I7
EI
X4167
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
EI
1
0
0
0
0
0
0
0
0
0
I7
X
1
1
1
1
1
1
1
1
0
Libraries Guide
I6
X
1
1
1
1
1
1
1
0
X
I5
X
1
1
1
1
1
1
0
X
X
I4
X
1
1
1
1
1
0
X
X
X
Outputs
I3
X
1
1
1
1
0
X
X
X
X
I2
X
1
1
1
0
X
X
X
X
X
I1
X
1
1
0
X
X
X
X
X
X
I0
X
1
0
X
X
X
X
X
X
X
A2
1
1
1
1
1
1
0
0
0
0
A1
1
1
1
1
0
0
1
1
0
0
A0
1
1
1
0
1
0
1
0
1
0
GS
1
1
0
0
0
0
0
0
0
0
EO
1
0
1
1
1
1
1
1
1
1
3-467
Libraries Guide
I0
EO
AND5B1
NAND2
GS
AND5B1
NAND2B1
D0
I1
AND5B2
D1
A0
AND4B2
D2
NOR4
AND3B2
D3
NOR2
D4
I2
AND4B2
D5
I3
AND4B2
D6
NOR2
I4
D7
NOR2
D8
I5
NOR2
I6
NOR2
D10
I7
EI
A1
NOR4
NOR2
D9
A2
NOR4
D11
NOR2
3-468
Design Elements
X74_150
16-to-1 Multiplexer with Active-Low Enable and
Output
E0
X74_150
E1
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
E2
E3
E4
E5
E6
E7
E8
E9
E10
When the active-Low enable input (G) is Low, the X74_150 multiplexer chooses one data bit from 16 sources (E15 E0) under the
control of select inputs A, B, C, and D. The active-Low output (W)
reflects the inverse of the selected input, as shown in the truth table.
When the enable input (G) is High, the output (W) is High.
E11
Inputs
E12
Outputs
E13
E14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
X
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
X
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
E11
E12
E13
E14
E15
E15
A
B
C
D
G
X4168
Libraries Guide
3-469
Libraries Guide
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
E11
E12
E13
E14
E15
A
B
C
D
G
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
M2_1
O
M01
M2_1
M01
M23
D0
D1
S0
M2_1
O
M03
M23
M03
M47
M2_1
O
M45
M2_1
M45
M67
D0
D1
S0
D0
D1
S0
M2_1
O
M07
M2_1
O
M47
M07
M67
W
AND3B2
M2_1
O
M89
M2_1
M89
MAB
D0
D1
S0
M8F
M2_1
O
MAB
M8B
MCF
M2_1
AND3B1
M8B
M2_1
MCD
MCD
MEF
D0
D1
S0
XNOR2
D0
D1
S0
M2_1
O
M8F
M2_1
O
MCF
MEF
3-470
Design Elements
X74_151
8-to-1 Multiplexer with Active-Low Enable and
Complementary Outputs
D0
X74_151
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
D1
D2
D3
D4
D5
D6
D7
A
B
C
Inputs
Outputs
X4169
Libraries Guide
1
0
0
0
0
0
0
0
0
X
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
X
0
1
0
1
0
1
0
1
1
D0
D1
D2
D3
D4
D5
D6
D7
0
D0
D1
D2
D3
D4
D5
D6
D7
3-471
Libraries Guide
D0
D1
D2
D3
D4
D5
D6
D7
A
B
C
G
D0
D1
S0
D0
D1
S0
D0
D1
S0
D0
D1
S0
M2_1
O
M01
M23
M01
M2_1
O
D0
D1
S0
M2_1
O
M03
M23
M03
M47
M2_1
O
M45
M67
M45
M2_1
O
D0
D1
S0
D0
D1
S0
E
M2_1E
O
Y
W
Y
INV
M2_1
O
M47
M67
E
INV
3-472
Design Elements
X74_152
8-to-1 Multiplexer with Active-Low Output
D0
X74_152
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
D1
D2
D3
D4
D5
D6
D7
A
Inputs
X4170
Libraries Guide
Outputs
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
D0
D1
D2
D3
D4
D5
D6
D7
3-473
Libraries Guide
M2_1
D0
D1
D0
D1
S0
O
M01
M23
M01
M2_1
D2
D3
D0
D1
S0
D0
D1
S0
M2_1
O
M03
M23
M03
M47
M2_1
D4
D5
D0
D1
S0
D0
D1
S0
M2_1
O
O
O
INV
O
M45
M67
M45
M2_1
D6
D7
A
B
C
D0
D1
S0
D0
D1
S0
M2_1
O
M47
M67
3-474
Design Elements
X74_153
Dual 4-to-1 Multiplexer with Active-Low Enables and
Common Select Input
I1C0
X74_153
Y1
I1C1
I1C2
I1C3
I2C0
Y2
I2C1
I2C2
I2C3
A
B
G1
G2
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the active-Low enable inputs G1 and G2 are Low, the data
output Y1, reflects the data input chosen by select inputs A and B
from data inputs I1C3 I1C0. The data output Y2 reflects the data
input chosen by select inputs A and B from data inputs I2C3 I2C0.
When G1 or G2 is High, the corresponding output, Y1 or Y2 respectively, is Low.
Inputs
X4171
Libraries Guide
Outputs
1
0
0
0
0
X
0
0
1
1
X
0
1
0
1
0
IC0
IC1
IC2
IC3
3-475
Libraries Guide
I1C0
I1C1
I1C2
I1C3
D0
D1
S0
D0
D1
S0
M2_1
O
M1_01
M2_1
M1_01
M1_23
D0
D1
S0
E
M2_1E
O
Y1
Y2
Y1
M1_23
G1
E1
INV
I2C0
I2C1
I2C2
I2C3
A
B
G2
D0
D1
S0
D0
D1
S0
M2_1
O
M2_01
M2_1
M2_01
M2_23
D0
D1
S0
E
M2_1E
Y2
M2_23
E2
INV
3-476
Design Elements
X74_154
4- to 16-Line Decoder/Demultiplexer with Two
Enables and Active-Low Outputs
A
X74_154
Y0
Y1
Y2
Y3
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Y4
Y5
Y6
Y7
Y8
Y9
Y10
Y11
Y12
Y13
G1
Y14
G2
Y15
X4172
Inputs
G1 G2
1
X
X
1
0
0
0
0
0
0
0
0
D
X
X
1
1
1
0
Libraries Guide
C
X
X
1
1
1
0
Outputs
B
X
X
1
1
0
0
A
X
X
1
0
1
0
Y15
1
1
0
1
1
1
Y14
1
1
1
0
1
1
Y13
1
1
1
1
0
1
Y12
1
1
1
1
1
1
Y11
1
1
1
1
1
1
Y10
1
1
1
1
1
1
Y9
1
1
1
1
1
1
... Y0
... 1
... 1
... 1
... 1
... 1
... ... ... ... 0
3-477
Libraries Guide
Y[15:0]
Y0
NAND5B4
Y1
NAND5B3
Y2
NAND5B3
Y3
NAND5B2
Y4
NAND5B3
Y5
NAND5B2
Y6
NAND5B2
Y7
NAND5B1
Y8
NAND5B3
Y9
NAND5B2
Y10
NAND5B2
Y11
NAND5B1
Y12
NAND5B2
Y13
G1
G2
NAND5B1
Y14
NOR2
NAND5B1
A
B
C
D
Y15
NAND5
3-478
Design Elements
X74_157
Quadruple 2-to-1 Multiplexer with Common Select
and Active-Low Enable
A1
X74_157
Y1
XC2000
XC3000
XC4000
XC7000
Y2
Macro
Macro
Macro
Primitive
B1
A2
B2
A3
Y3
B3
A4
Y4
B4
S
G
When the active-Low enable input (G) is Low, a 4-bit word is selected
from one of two sources (A3 A0 or B3 B0) under the control of the
select input (S) and is reflected on the four outputs (Y4 Y1). When S
is Low, the outputs reflect A3 A0; when S is High, the outputs
reflect B3 B0. When G is High, the outputs are Low.
Inputs
X4173
Outputs
1
0
0
0
0
X
1
1
0
0
X
1
0
X
X
X
X
X
1
0
0
1
0
1
0
A1
B1
D0
D1
S0
E
A2
B2
D0
D1
S0
E
A3
B3
D0
D1
S0
E
A4
B4
S
G
D0
D1
S0
E
M2_1E
O
Y1
Y2
Y3
Y4
Y1
M2_1E
Y2
M2_1E
Y3
M2_1E
Y4
INV
Libraries Guide
3-479
Libraries Guide
X74_158
Quadruple 2-to-1 Multiplexer with Common Select,
Active-Low Enable, and Active-Low Outputs
A1
X74_158
Y1
B1
A2
Y2
B2
A3
Y3
B3
A4
Y4
B4
S
G
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the active-Low enable (G) is Low, a 4-bit word is selected from
one of two sources (A3 A0 or B3 B0) under the control of the
common select input (S). The inverse of the selected word is reflected
on the active-Low outputs (Y4 Y1). When S is Low, A3 A0 appear
on the outputs; when S is High, B3 B0 appear on the outputs. When
G is High, the outputs are High.
X4174
Inputs
Outputs
1
0
0
0
0
X
1
1
0
0
X
1
0
X
X
X
X
X
1
0
1
0
1
0
1
A1
B1
D0
D1
S0
E
A2
B2
D0
D1
S0
E
A3
B3
D0
D1
S0
E
A4
B4
S
G
D0
D1
S0
E
M2_1E
Y1
O O1
INV
O1
M2_1E
Y2
O O2
INV
O2
M2_1E
Y3
O O3
INV
O3
M2_1E
Y4
O O4
O4
INV
INV
3-480
Design Elements
X74_160
4-Bit BCD Counter with Parallel and Trickle Enables,
Active-Low Load Enable, and Asynchronous Clear
A
X74_160
QA
QB
QC
QD
LOAD
ENP
RCO
ENT
CK
CLR
X4175
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_160 is a 4-stage, 4-bit, synchronous, loadable, resettable, cascadable, binary-coded decimal (BCD) counter. The active-Low asynchronous clear (CLR), when Low, overrides all other inputs and resets the
data (QD, QC, QB, QA) and ripple carry-out (RCO) outputs Low
during the Low-to-High clock (C) transition. When the active-Low
load enable input (LOAD) is Low, parallel clock enable (ENP), and
trickle clock enable (ENT) are overridden and data on inputs A, B, C,
and D are loaded into the counter during the Low-to-High clock transition. The data outputs (QD, QC, QB, QA) increment when ENP,
ENT LOAD, and CLR are High during the Low-to-High clock transition. The counter ignores clock transitions when ENP or ENT are
Low and LOAD is High. RCO is High when QD, QA, and ENT are
High and QC and QB are Low.
Inputs
CLR
0
1
1
1
1
LOAD
X
0
1
1
1
ENP
X
X
0
X
1
ENT
X
X
X
0
1
Outputs
DA
X
DA
X
X
X
CK
X
X
X
QD QA
0
da
No Chg
No Chg
Inc
RCO
0
RCO
RCO
0
RCO
RCO = (QDQCQBQAENT)
d a = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-481
Libraries Guide
RCO
ENP
ENT
RCO
ENP
ENT
Vcc
RCO
ENP
ENT
Vcc
RCO
ENP
CE
ENT
X4719
3-482
Design Elements
VCC
FTCLE
A
LOAD
D
L
T
Q
CE
C
CLR
LB
INV
CK
CLRB
CLR
QA
QA
INV
FTCLE
D
L
T
Q
CE
C
CLR
B
T1
AND3B1
QB
QB
FTCLE
D
L
T
Q
CE
C
CLR
QC
QC
FTCLE
D
ENP
ENT
CE
AND2
TQB
T2
AND2
AND3
TQAD
T3
OR2
D
L
T
Q
CE
C
CLR
QD
QD
AND3
RCO
AND5B2
X74_160.4K
Libraries Guide
3-483
Libraries Guide
X74_161
4-Bit Counter with Parallel and Trickle Enables
Active-Low Load Enable and Asynchronous Clear
A
X74_161
QA
QB
QC
QD
LOAD
ENP
RCO
ENT
CK
CLR
X4176
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_161 is a 4-stage, 4-bit, synchronous, loadable, resettable, cascadable binary counter. The active-Low asynchronous clear (CLR), when
Low, overrides all other inputs and resets the data outputs (QD, QC,
QB, QA) and the ripple carry-out output (RCO) Low. When the
active-Low load enable (LOAD) is Low and CLR is High, parallel
clock enable (ENP) and trickle clock enable (ENT) are overridden and
the data on inputs A, B, C, and D is loaded into the counter during
the Low-to-High clock (C) transition. The data outputs (QD, QC, QB,
QA) increment when LOAD, ENP, ENT, and CLR are High during the
Low-to-High clock transition. The counter ignores clock transitions
when LOAD is High and ENP or ENT are Low. RCO is High when
QD QA and ENT are High.
Inputs
CLR
0
1
1
1
1
LOAD
X
0
1
1
1
ENP
X
X
0
X
1
ENT
X
X
X
0
1
Outputs
DA
X
DA
X
X
X
CK
X
X
X
QD QA
0
da
No Chg
No Chg
Inc
RCO
0
RCO
RCO
0
RCO
RCO = (QDQCQBQAENT)
d a = state of referenced input one set-up time prior to active clock transition
3-484
Design Elements
RCO
ENP
ENT
RCO
ENP
ENT
Vcc
RCO
ENP
ENT
Vcc
RCO
ENP
CE
ENT
X4719
Libraries Guide
3-485
Libraries Guide
FTCLE
A
VCC
D
L
T
CE
C
QA
CLR
Q0
FTCLE
B
D
L
T
CE
C
QB
Q
T2
CLR
Q1
AND2
FTCLE
C
D
L
T
CE
C
QC
CLR
T3
Q2
AND3
FTCLE
D
LOAD
LOADB
INV
CK
CLRB
CLR
ENP
ENT
INV
D
L
T
CE
C
QD
CLR
Q3
RCO
CE
AND2
AND5
3-486
Design Elements
X74_162
4-Bit Counter with Parallel and Trickle Enables and
Active-Low Load Enable and Synchronous Reset
X74_162
QA
QB
QC
QD
LOAD
ENP
RCO
ENT
CK
X4177
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_162 is a 4-stage, 4-bit, synchronous, loadable, resettable, cascadable binary-coded decimal (BCD) counter. The active-Low synchronous reset (R), when Low, overrides all other inputs and resets the
data (QD, QC, QB, QA) and ripple carry-out (RCO) outputs Low
during the Low-to-High clock (C) transition. When the active-Low
load enable input (LOAD) is Low, parallel clock enable (ENP) and
trickle clock enable (ENT) are overridden and data on inputs A, B, C,
and D is loaded into the counter during the Low-to-High clock transition. The data outputs (QD, QC, QB, QA) increment when ENP, ENT,
LOAD, and R are High during the Low-to-High clock transition. The
counter ignores clock transitions when ENP or ENT are Low and
LOAD is High. RCO is High when QD, QA, and ENT are High and
QC and QB are Low.
Inputs
R
0
1
1
1
1
LOAD
X
0
1
1
1
ENP
X
X
0
X
1
ENT
X
X
X
0
1
Outputs
DA
X
DA
X
X
X
CK
X
X
QD QA
0
da
No Chg
No Chg
Inc
RCO
0
RCO
RCO
0
RCO
RCO = (QDQCQBQAENT)
d a = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-487
Libraries Guide
RCO
ENP
ENT
RCO
ENP
ENT
Vcc
RCO
ENP
ENT
Vcc
RCO
ENP
CE
ENT
X4719
3-488
Design Elements
VCC
FTRSLE
A
LOAD
D
L
T
CE
C
LB
INV
CK
S
Q
R
RB
QA
INV
QA
FTRSLE
D S
L
T
CE
C
R
B
T1
AND3B1
QB
QB
FTRSLE
D S
L
T
CE
C
R
QC
QC
FTRSLE
D S
L
T
CE
C
R
D
CE
ENP
ENT
AND2
TQB
T2
AND2
AND3
T3
OR2
TQAD
QD
AND3
QD
RCO
AND5B2
GND
X74_162.4K
Libraries Guide
3-489
Libraries Guide
X74_163
4-Bit Counter with Parallel and Trickle Enables,
Active-Low Load Enable, and Synchronous Reset
X74_163
QA
QB
QC
QD
LOAD
ENP
RCO
ENT
CK
X4178
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_163 is a 4-stage, 4-bit, synchronous, loadable, resettable, cascadable binary counter. The active-Low synchronous reset (R), when
Low, overrides all other inputs and resets the data outputs (QD, QC,
QB, QA) and the ripple carry-out output (RCO) Low. When the
active-Low load enable (LOAD) is Low and R is High, parallel clock
enable (ENP) and trickle clock enable (ENT) are overridden and the
data on inputs (A, B, C, D) is loaded into the counter during the Lowto-High clock (C) transition. The outputs (QD, QC, QB, QA) increment when LOAD, ENP, ENT, and R are High during the Low-toHigh clock transition. The counter ignores clock transitions when
LOAD is High and ENP or ENT are Low; RCO is High when
QD QA and ENT are High.
Inputs
R
0
1
1
1
1
LOAD
X
0
1
1
1
ENP
X
X
0
X
1
ENT
X
X
X
0
1
Outputs
DA
X
DA
X
X
X
CK
X
X
QD QA
0
da
No Chg
No Chg
Inc
RCO
0
RCO
RCO
0
RCO
RCO = (QDQCQBQAENT)
d a = state of referenced input one set-up time prior to active clock transition
3-490
Design Elements
RCO
ENP
ENT
RCO
ENP
ENT
Vcc
RCO
ENP
ENT
Vcc
RCO
ENP
CE
ENT
X4719
Libraries Guide
3-491
Libraries Guide
FTRSLE
A
D
L
T
CE
C
VCC
S
QA
R
Q0
FTRSLE
B
D
L
T
CE
C
S
QB
Q
T2
R
Q1
AND2
FTRSLE
C
D
L
T
CE
C
S
QC
T3
Q2
AND3
FTRSLE
D
LOAD
D
L
T
CE
C
LOADB
INV
CK
R
ENP
ENT
RB
S
QD
R
Q3
INV
RCO
CE
AND2
AND5
GND
3-492
Design Elements
X74_164
8-Bit Serial-In Parallel-Out Shift Register with
Active-Low Asynchronous Clear
A
B
X74_164
QA
QB
QC
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
QD
QE
QF
QG
CK
CLR
QH
X4179
X74_164 is an 8-bit, serial input (A and B), parallel output (QH QA)
shift register with an active-Low asynchronous clear (CLR) input.
The asynchronous CLR, when Low, overrides the clock input and sets
the data outputs (QH QA) Low. When CLR is High, the AND function of the two data inputs (A and B) is loaded into the first bit of the
shift register during the Low-to-High clock (C) transition and
appears on the QA output. During subsequent Low-to-High clock
transitions, with CLR High, the data is shifted to the next-highest bit
position as new data is loaded into QA (A and BQA, QAQB,
QBQC, and so forth).
Registers can be cascaded by connecting the QH output of one stage
to the A input of the next stage, by tying B High, and by connecting
the clock and CLR inputs in parallel.
Inputs
Outputs
CLR
CK
QA
QB QH
0
1
1
1
X
1
0
X
X
1
X
0
0
1
0
0
0
qA qG
qA qG
qA qG
Libraries Guide
3-493
Libraries Guide
VCC
FDCE
A
B
SLI
AND2
D
CE
C
QA
CLR
QA
FDCE
D
CE
C
QB
CLR
QB
FDCE
D
CE
C
QC
CLR
QC
FDCE
D
CE
C
QD
CLR
QD
FDCE
D
CE
C
QE
CLR
QE
FDCE
D
CE
C
QF
CLR
QF
FDCE
D
CE
C
QG
CLR
QG
FDCE
D
CE
C
CK
CLR
CLRB
QH
CLR
QH
INV
3-494
Design Elements
X74_165S
8-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register with Clock Enable
SI
A
X74_165S
QA
QB
QC
QD
QE
QF
QG
H
S_L
QH
CE
CK
X4180
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_165S is an 8-bit shift register with serial-input (SI), parallelinputs (H A), parallel-outputs (QH QA), and two control
inputs clock enable (CE) and active-Low shift/load enable (S_L).
When S_L is Low, data on the H A inputs is loaded into the corresponding QH QA bits of the register on the Low-to-High clock (C)
transition. When CE and S_L are High, data on the SI input is loaded
into the first bit of the register during the Low-to-High clock transition. During subsequent Low-to-High clock transitions, with CE and
S_L High, the data is shifted to the next-highest bit position (shift
right) as new data is loaded into QA (SIQA, QAQB, QBQC,
and so forth). The register ignores clock transitions when CE is Low
and S_L is High.
Registers can be cascaded by connecting the QH output of one stage
to the SI input of the next stage and connecting clock, CE, and S_L
inputs in parallel.
Inputs
Outputs
S_L
CE
SI
AH
CK
0
1
1
X
0
1
X
X
SI
AH
X
X
QA
QB QH
qa
qb qh
--No Change--si
qA qG
si, qn represent state of referenced input or output one set-up time prior to active
clock transition.
Libraries Guide
3-495
Libraries Guide
CE
S_L
L_OR_CE
OR2B1
M2_1
A
SI
D0
D1
S0
MDA
MDA
M2_1
B
D0
D1
S0
O
MDB
MDB
D0
D1
S0
FDCE
D
Q
CE
C
CLR
Q1
M2_1
C
FDCE
D
Q
CE
CCLR
Q0
MD2
MDC
QA
QB
FDCE
D
Q
CE
CCLR
QC
Q2
M2_1
D
D0
D1
S0
FDCE
O
MDD
MDD
M2_1
E
D0
D1
S0
MDE
MDE
M2_1
F
D0
D1
S0
D0
D1
S0
QD
FDCE
D
Q
CE
C CLR
Q4
QE
FDCE
O
MDF
MDF
M2_1
G
D
Q
CE
C CLR
Q3
MDG
MDG
D
Q
CE
C CLR
Q5
FDCE
D
Q
CE
C CLR
QF
QG
Q6
M2_1
H
CK
D0
D1
S0
O
MDH
MDH
FDCE
D
Q
CE
C CLR
QH
Q7
GND
3-496
Design Elements
X74_168
4-Bit BCD Bidirectional Counter with Parallel and
Trickle Clock Enables and Active-Low Load Enable
A
B
C
X74_168
QA
QB
QC
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
QD
LOAD
ENP
RCO
ENT
U_D
CK
X4278
X74_168 is a 4-stage, 4-bit, synchronous, loadable, cascadable, bidirectional binary-coded-decimal (BCD) counter. The data on the D A
inputs is loaded into the counter when the active-Low load enable
(LOAD) is Low during the Low-to-High clock (C) transition. The
LOAD input, when Low, has priority over parallel clock enable
(ENP), trickle clock enable (ENT), and the bidirectional (U_D)
control. The outputs (QD QA) increment when U_D and LOAD are
High and ENP and ENT are Low during the Low-to-High clock transition. The outputs decrement when LOAD is High and ENP, ENT,
and U_D are Low during the Low-to-High clock transition. The
counter ignores clock transitions when LOAD and either ENP or
ENT are High.
Inputs
LOAD
0
1
1
1
1
ENP
X
0
0
1
X
ENT
X
0
0
0
1
U_D
X
1
0
X
X
Outputs
AD
AD
X
X
X
X
CK
X
X
QA QD
qa qd
Inc
Dec
No Chg
No Chg
RCO
RCO
RCO
RCO
RCO
1
The active-Low ripple carry-out output (RCO) is Low when QD, QA,
and U_D are High and QC, QB, and ENT are Low. RCO is also Low
when all outputs, ENT and U_D are Low. The following figure illustrates a carry-lookahead design.
Libraries Guide
3-497
Libraries Guide
RCO
ENP
ENT
RCO
ENP
ENT
Vcc
RCO
ENP
ENT
Vcc
RCO
ENP
CE
ENT
X4719
3-498
Design Elements
M2_1
D0
UDA D1
S0
INV
B
DB2
AND2
FDCE
D
Q
CE
C CLR
Q0
M2_1
DB1
AND2
O DA
M2_1
D0
D1
S0
DNB
DB3
OR4
D0
D1
S0
O DB
OUDB
FDCE
D
Q
CE
C CLR
Q1
QA
QB
AND3B2
DB4
AND4B3
UB1
AND2B1
UPB
UB2
AND2
OR3
UB4
AND3B2
C
M2_1
DC1
AND3
DC2
CC
OR3
AND4B3
DNC
XOR2
M2_1
D0
D1
S0
D0
D1
S0
O DC
OUDC
FDCE
D Q
CE
C CLR
Q2
QC
DC3
AND4B3
UC1
UPC
AND2
XOR2
M2_1
DD1
M2_1
AND3B1
DD2
DND
AND3B1
DD3
OR4
D0
D1
S0
D0
D1
S0
FDCE
ODD
D Q
CE
C CLR
Q3
OUDD
QD
GND
AND4B2
DD4
AND4B4
UD1
AND2B1
UPD
UD2
OR2
AND4B1
DRC
OR4
URC
U_D
LOAD
NAND4B2
ENP
ENT
CK
M2_1
D0
D1
S0
O RC
RCO
OR2
CE
OR2
ENT_P OR2B2
Libraries Guide
3-499
Libraries Guide
X74_174
6-Bit Data Register with Active-Low Asynchronous
Clear
D1
D2
D3
X74_174
Q1
Q2
Q3
D4
Q4
D5
Q5
D6
Q6
CK
CLR
X4193
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
The active-Low asynchronous clear input (CLR), when Low, overrides the clock and resets the six data outputs (Q6 Q1) Low. When
CLR is High, the data on the six data inputs (D6 D1) is transferred to
the corresponding data outputs on the Low-to-High clock (C) transition.
Inputs
Outputs
CLR
D6 D1
CK
Q6 Q1
0
1
X
D6 D1
0
d6 d1
dn = state of referenced input one set-up time prior to active clock transition
3-500
Design Elements
FDC
D1
Q1
C CLR
Q1
FDC
D2
Q2
C CLR
Q2
FDC
D3
D
C
Q3
CLR
Q3
FDC
D4
Q4
C CLR
Q4
FDC
D5
D
C
Q
CLR
FDC
D6
CK
C
CLRB
CLR
Q5
Q5
Q
Q6
CLR
Q6
INV
Libraries Guide
3-501
Libraries Guide
X74_194
4-Bit Loadable Bidirectional Serial/Parallel-In
Parallel-Out Shift Register
SLI
A
X74_194
QB
QC
QD
SRI
S0
S1
CK
CLR
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
QA
X74_194 is a 4-bit shift register with shift-right serial input (SRI), shiftleft serial input (SLI), parallel inputs (D A), parallel outputs
(QD QA), two control inputs (S1, S0), and active-Low asynchronous
clear (CLR). The shift register performs the following functions.
Clear
Load
Shift Right
Shift Left
X4181
3-502
Design Elements
Inputs
CLR
0
1
1
1
1
S1
X
0
1
0
1
S0
X
0
1
1
0
SRI
X
X
X
SRI
X
Outputs
SLI
X
X
X
X
SLI
AD
X
X
AD
X
X
CK
X
X
QA
QB
QC
QD
0
0
0
0
-----No Change-------a
b
c
d
sri
qa
qb
qc
qb
qc
qd
sli
Lowercase letters represent state of referenced input or output one set-up time
prior to active clock transition.
M2_1
D0
D1
S0
SRI
A
O MLA
MLA
M2_1
D0
D1
S0
O MRA
M2_1
D0
D1
S0
FDC
O
MA
MA
D
C
QA
CLR
MRA
QA
M2_1
D0
D1
S0
O MLB
MLB
M2_1
D0
D1
S0
O MRB
M2_1
D0
D1
S0
FDC
O
MB
MB
D
C
MRB
QB
CLR
QB
M2_1
D0
D1
S0
O MLC
MLC
M2_1
D0
D1
S0
O MRC
M2_1
D0
D1
S0
FDC
O
MC
MC
D
C
MRC
QC
CLR
QC
M2_1
SLI
D0
D1
S0
O MLD
MLD
M2_1
D
S1
S0
CLR
CK
D0
D1
S0
O MRD
MRD
M2_1
D0
D1
S0
FDC
O
MD
MD
D
C
QD
CLR
QD
INV
Libraries Guide
3-503
Libraries Guide
X74_195
4-Bit Loadable Serial/Parallel-In Parallel-Out Shift
Register
A
X74_195
QA
QB
QC
QD
QDB
K
S_L
CK
CLR
X4182
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X74_195 is a 4-bit shift register with shift-right serial inputs (J and K),
parallel inputs (D A), parallel outputs (QD QA) and QDB,
shift/load control input (S_L), and active-Low asynchronous clear
(CLR). Asynchronous CLR, when Low, overrides all other inputs and
resets data outputs QD QA Low and QDB High. When S_L is Low
and CLR is High, data on the D A inputs is loaded into the corresponding QD QA bits of the register during the Low-to-High clock
(C) transition. When S_L and CLR are High, the first bit of the register
(QA) responds to the J and K inputs during the Low-to-High clock
transition, as shown in the truth table. During subsequent Low-toHigh clock transitions, with S_L and CLR High, the data is shifted to
the next-highest bit position (shift right) as new data is loaded into
QA (J, KQA, QAQB, QBQC, and so forth).
Registers can be cascaded by connecting the QD and QDB outputs of
one stage to the J and K inputs, respectively, of the next stage and
connecting clock, S_L and CLR inputs in parallel.
Inputs
CLR
0
1
1
1
1
1
S_L
X
0
1
1
1
1
J
X
X
0
1
0
1
K
X
X
0
1
1
0
Outputs
AD
X
AD
X
X
X
X
CK
X
QA
0
a
0
1
qa
qa
QB
0
b
qa
qa
qa
qa
QC
0
c
qb
qb
qb
qb
QD
0
d
qc
qc
qc
qc
QDB
1
d
qc
qc
qc
qc
Lowercase letters represent state of referenced input or output one set-up time
prior to active clock transition.
3-504
Design Elements
J
NAND3B1
JK
OR3B1
NAND3
K
NAND2
A
M2_1
D0
D1
S0
FDC
MA
QA
MA
CCLR
QA
M2_1
D0
D1
S0
FDC
MB
MB
D0
D1
S0
QB
CCLR
QB
M2_1
FDC
O
MC
MC
QC
C CLR
QC
M2_1
D0
D1
S0
S_L
CLR
CK
CLRB
INV
FDC
O
MD
MD
QD
QDB
CCLR
QD
INV
Libraries Guide
3-505
Libraries Guide
X74_273
8-Bit Data Register with Active-Low Asynchronous
Clear
D1
D2
X74_273
Q1
Q2
D3
Q3
D4
Q4
D5
Q5
D6
Q6
D7
Q7
D8
Q8
CK
CLR
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
X4183
Inputs
Outputs
CLR
D8 D1
CK
Q8 Q1
0
1
X
D8 D1
0
d8 d1
dn = state of referenced input one set-up time prior to active clock transition
3-506
Design Elements
FDC
D1
D
C
CLR
FDC
D2
D
C
Q5
Q
Q6
CLR
FDC
D7
Q5
CLR
D
C
Q4
Q
FDC
D6
Q4
CLR
D
C
Q3
Q
FDC
D5
Q3
CLR
FDC
D4
Q2
Q
D
C
Q2
CLR
FDC
D3
Q1
Q
D
C
Q1
Q6
Q
Q7
C
CLR
FDC
D8
CK
CLR
CLRB
Q7
Q
Q8
CLR
Q8
INV
Libraries Guide
3-507
Libraries Guide
X74_280
9-Bit Odd/Even Parity Generator/Checker
A
B
X74_280
C
D
E
F
EVEN
ODD
G
H
I
X4184
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive*
Outputs
Number of Ones
on A I
EVEN
ODD
0, 2, 4, 6, or 8
1, 3, 5, 7, or 9
1
0
0
1
A
B
C
D
E
F
G
H
X5
ODD
XOR2
XOR5
X4
I
XOR4
EVEN
XNOR2
3-508
Design Elements
X74_283
4-Bit Full Adder with Carry-In and Carry-Out
X74_283
S1
S2
XC2000
XC3000
XC4000
XC7000
A2
S3
Macro
Macro
Macro
Primitive*
A3
S4
A4
C4
CO
A1
B1
X74_283, a 4-bit full adder with carry-in and carry-out, adds two 4-bit
words (A4 A1 and B4 B1) and a carry-in (C0) and produces a
binary sum output (S4 S1) and a carry-out (C4).
B2
B3
B4
X4185
Libraries Guide
16(C4)+8(S4)+4(S3)+2(S2)+S1=8(A4+B4)+4(A3+B3)+2(A2+B2)+
(A1+B1)+CO, where + = addition.
3-509
Libraries Guide
A1
B1
AND2
C1
C0
AND2
OR3
AND2
S1
XOR3
A2
B2
AND2
C2
AND2
OR3
AND2
S2
XOR3
A3
B3
AND2
C3
AND2
OR3
AND2
S3
XOR3
A4
B4
AND2
C4
AND2
OR3
AND2
S4
XOR3
3-510
Design Elements
X74_298
Quadruple 2-Input Multiplexer with Storage and
Negative-Edge Clock
A1
X74_298
QA
XC2000
XC3000
XC4000
XC7000
QB
Macro
Macro
Macro
Primitive*
A2
B1
B2
C1
QC
C2
D1
QD
D2
WS
CK
X4186
Outputs
WS
A1 D1
A2 D2
CK
QA QD
0
1
A1 D1
X
X
A2 D2
a1 d1
a2 d2
an dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-511
Libraries Guide
A1
A2
FD_1
M2_1
D0
D1
S0
MA
QA
MA
C
QA
B1
B2
FD_1
M2_1
D0
D1
S0
MB
QB
MB
C
QB
C1
C2
FD_1
M2_1
D0
D1
S0
MC
QC
MC
C
QC
D1
D2
WS
CK
FD_1
M2_1
D0
D1
S0
MD
QD
MD
C
QD
Figure 3-234
3-512
Design Elements
X74_352
Dual 4-to-1 Multiplexer with Active-Low Enables and
Outputs
I1C0
X74_352
Y1
I1C1
I1C2
I1C3
I2C0
Y2
I2C1
I2C2
I2C3
A
B
G1
G2
X4187
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
G
1
0
0
0
0
Libraries Guide
B
X
0
0
1
1
A
X
0
1
0
1
IC0
X
IC0
X
X
X
Outputs
IC1
X
X
IC1
X
X
IC2
X
X
X
IC2
X
IC3
X
X
X
X
IC3
Y
1
IC0
IC1
IC2
IC3
3-513
Libraries Guide
I1C0
I1C1
I1C2
I1C3
M2_1
D0
D1
S0
O
M1C01
M2_1
D0
D1
S0
M1C01
M1C23
M2_1E
D0
D1
S0
E
O Y1B
Y1
INV
Y1
M1C23
G1B
G1
INV
I2C0
I2C1
I2C2
I2C3
A
B
G2
M2_1
D0
D1
S0
O
M2C01
M2_1
D0
D1
S0
M2_1E
M2C01
M2C23
D0
D1
S0
E
O Y2B
Y2
Y2
INV
M2C23
G2B
INV
3-514
Design Elements
X74_377
8-Bit Data Register with Active-Low Clock Enable
D1
X74_377
Q1
D2
Q2
D3
Q3
D4
Q4
D5
Q5
D6
Q6
D7
Q7
D8
Q8
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
When the active-Low clock enable (G) is Low, the data on the eight
data inputs (D8 D1) is transferred to the corresponding data
outputs (Q8 Q1) during the Low-to-High clock (CK) transition. The
register ignores clock transitions when G is High.
CK
Inputs
Outputs
X4188
D8 D1
CK
Q8 Q1
1
0
X
D8 D1
No Change
d8 d1
dn = state of referenced input one set-up time prior to active clock transition
Libraries Guide
3-515
Libraries Guide
FDCE
D1
Q1
CE
C
CLR
FDCE
D2
Q1
Q2
CE
C
D3
CLR
FDCE
Q2
Q3
CE
C
CLR
FDCE
D4
Q3
Q4
CE
C
CLR
FDCE
D5
Q4
Q5
D
CE
C
CLR
D6
FDCE
Q5
D
CE
CLR
FDCE
D7
D
CE
C
G
CK
INV
Q7
CLR
D
CE
GB
Q6
Q
FDCE
D8
Q6
Q7
Q8
CLR
Q8
GND
3-516
Design Elements
X74_390
4-Bit BCD/Bi-Quinary Ripple Counter with
Negative-Edge Clocks and Asynchronous Clear
CKA
CKB
X74_390
QA
QB
QC
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive*
QD
X4189
Libraries Guide
3-517
Libraries Guide
Count
0
1
2
3
4
5
6
7
8
9
BCD
QD
0
0
0
0
0
0
0
0
1
1
QC
0
0
0
0
1
1
1
1
0
0
Bi-Quinary
QB
0
0
1
1
0
0
1
1
0
0
QA
0
1
0
1
0
1
0
1
0
1
QD
0
0
0
0
1
0
0
0
0
1
QC
0
0
1
1
0
0
0
1
1
0
QB
0
1
0
1
0
0
1
0
1
0
QA
0
0
0
0
0
1
1
1
1
1
VCC
FDCE_1
D0
INV
CKA
Q
D
CE
C CLR
QA
QA
FDCE_1
D1
NOR2
CKB
CLR
AND2
D2
XOR2
OR2
D
Q
CE
C CLR
QC
QC
FDCE_1
OX3
A21
QB
FDCE_1
AX2
AND2B1
Q
D
CE
C CLR
QB
D3
XOR2
D
Q
CE
C CLR
QD
QD
3-518
Design Elements
X74_518
8-Bit Identity Comparator with Active-Low Enable
P0
Q0
X74_518
P1
XC2000
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Q1
P2
Q2
P3
Q3
P4
PEQ
Q4
P5
Q5
P6
Q6
P0
Q0
P7
Q7
PQ0
XNOR2
P1
Q1
G
X4190
PQ1
PQ03
XNOR2
P2
Q2
PQ2
AND4
XNOR2
P3
Q3
PQ3
PEQ
XNOR2
P4
Q4
PQ4
AND3B1
XNOR2
P5
Q5
PQ5
PQ47
XNOR2
P6
Q6
PQ6
AND4
XNOR2
P7
Q7
G
PQ7
XNOR2
Libraries Guide
3-519
Libraries Guide
X74_521
8-Bit Identity Comparator with Active-Low Enable
and Output
P0
Q0
X74_521
P1
Q1
P2
XC3000
XC4000
XC7000
Macro
Macro
Macro
Primitive
Q2
P3
Q3
P4
XC2000
PEQ
Q4
P5
Q5
P6
Q6
P7
Q7
G
X4191
P0
Q0
PQ0
XNOR2
P1
Q1
PQ1
XNOR2
P2
Q2
PQ03
PQ2
AND4
XNOR2
P3
Q3
PQ3
XNOR2
P4
Q4
PEQ
PQ4
NAND3B1
XNOR2
P5
Q5
PQ5
XNOR2
P6
Q6
PQ47
PQ6
AND4
XNOR2
P7
Q7
G
PQ7
XNOR2
3-520
Chapter 4
Attributes
There are three types of attributes discussed in this section:
4-1
Libraries Guide
BASE
Architectures
The BASE attribute applies to the XC2000 and XC3000 families only.
Description
The BASE attribute defines the base configuration of a CLB or an IOB.
For an IOB primitive, it should always be set to IO. For a CLB primitive, it can be one of three modes in which the CLB function generator
operates.
In XC2000 devices, these three modes are the following:
F mode allows any function of up to four variables to be implemented, where one of the inputs can be the Q output of the flipflop in the CLB.
4-2
Of the two sets of four variables, one input (A) must be common,
two (B and C) can be either independent inputs or feedback from
the Qx and Qy outputs of the flip-flops within the CLB, and the
fourth can be either of the two other inputs to the CLB (D and E).
FGM mode is similar to FG, but the fourth input must be the D
input. The E input is then used to control a multiplexer between
the two four-input functions, allowing some six- and seven-input
functions to be implemented.
The following two figures illustrate the CLB and IOB base configurations of the XC2000 and XC3000 families, respectively. In these drawings, BASE F, FG, and FGM are for CLBs; BASE IO is for IOBs.
CLB: BASE F
CLB: BASE FG
QX
QX
QY
QY
IOB: BASE IO
QX
PAD
QY
E
X4708
Libraries Guide
4-3
Libraries Guide
CLB: BASE F
CLB: BASE FG
IOB: BASE IO
B
F
M
Q
PAD
X4707
Syntax
The syntax of the BASE attribute is the following:
BASE=mode
where mode can be F, FG, or FGM for a CLB, or IO for an IOB.
BLKNM
Architectures
The BLKNM attribute applies to all FPGA families.
Description
The BLKNM attribute assigns LCA block names to qualifying primitives and logic elements. If the same BLKNM attribute is assigned to
more than one instance, the software attempts to map them into the
same LCA block. Conversely, two symbols with different BLKNM
4-4
names are not mapped into the same block. Placing similar BLKNMs
on instances that do not fit within one LCA block creates an error.
Specifying identical BLKNM attributes on FMAP and/or HMAP
symbols tells the software to group the associated function generators into a single CLB. Using BLKNM, you can partition a complete
CLB without constraining the CLB to a physical location on the
device.
For an XC4000 CLB, the maximum number of elements that can be
assigned the same block name is two flip-flops, two FMAPs, and one
HMAP. For an XC3000 CLB, the maximum number of elements that
can be assigned the same block name is two flip-flops or one
CLBMAP. For an XC2000 CLB, the maximum number is one flip-flop
or one CLBMAP.
BLKNM attributes, like LOC constraints, are specified from the schematic. Hierarchical paths are not prefixed to BLKNM attributes, so
BLKNM attributes for different CLBs must be unique throughout the
entire design. See the section on the HBLKNM attribute for information on attaching hierarchy to block names.
Use the BLKNM attribute to attach a name to the following symbols:
Libraries Guide
4-5
Libraries Guide
Syntax
The syntax of the BLKNM attribute is the following:
BLKNM=blockname
where blockname is a valid LCA block name for that type of symbol.
For a list of prohibited block names, see the Naming Conventions
section of each user interface manual.
For information on assigning hierarchical block names, see the
HBLKNM attribute description in this chapter.
Example
Suppose that you want to map together two flip-flops within one
CLB. You give both the BLKNM=FFGRP1 attribute. You then translate, place, and route the design. When you examine it in EditLCA,
you see that both flip-flops reside within a CLB named FFGRP1.
CAP
Architectures
The CAP attribute applies to the XC4000H family only.
Description
You can specify an XC4000H output driver as operating in either
resistive (RES) or capacitive, softedge (CAP) mode. In resistive
mode, the output is faster and draws more power. Use this mode
when the output is attached to purely resistive loads, or when ground
bounce is not expected to be a problem with the output.
The CAP attribute allows you to specify capacitive mode. Use capacitive mode when connecting an output to a capacitive mode, or when
ground bounce is predicted to be a problem with the output. In
capacitive mode, the pull-down transistor is slowly turned off as the
output is pulled to ground, minimizing the likelihood of ground
bounce.
See the section on the RES attribute for more information.
Use the CAP attribute on the following symbols:
4-6
Syntax
The CAP attribute has the following syntax:
CAP
CLOCK_OPT
Architectures
The CLOCK_OPT attribute applies to the XC7200 and XC7300 families only.
Description
The CLOCK_OPT global attribute controls FastCLK optimization for
the entire design. FastCLK optimization changes a product-term
clock to a FastCLK global signal, which reduces the number of
universal interconnect matrix (UIM) inputs and product terms
required by each function block.
Syntax
Use the following syntax with the CLOCK_OPT attribute:
CLOCK_OPT={on|off}
The On setting enables FastCLK optimization; the Off setting inhibits
it. On is the default.
Libraries Guide
4-7
Libraries Guide
CMOS
Architectures
The CMOS attribute applies to the XC4000H family only.
Description
The CMOS attribute configures output drivers on the XC4000H to
drive to CMOS-compatible levels. Similarly, it configures IOBs to
have CMOS-compatible input thresholds.
To configure output drive levels, attach the CMOS attribute to any of
the following output symbols: OBUF, OBUFT, OUTFF/OFD,
OUTFFT/OFDT.
To configure input threshold levels, attach the CMOS attribute to any
of the following input symbols: IBUF, INFF/IFD, INLAT/ILD,
INREG.
See the section on the TTL attribute for more information.
Syntax
The syntax of the CMOS attribute is the following:
CMOS
CONFIG
Architectures
The CONFIG attribute applies to XC2000 and XC3000 families only.
Description
The CONFIG attribute specifies logic element inputs and the storage
element function for a CLB or IOB symbol.
CONFIG attributes can only be attached to IOB and CLB symbols.
4-8
Syntax
Use the following syntax for the CONFIG attribute:
CONFIG=tag:[value]:[value]
where tag and value are derived from the following tables.
Table 4-1 XC2000 CLB Configuration Options
Tag
BASE F
BASE FG
BASE FGM*
F, Q
F, G, Q
M, Q
F, Q
F, G, Q
M, Q
FF, LATCH
FF, LATCH
FF, LATCH
SET
A, F
A, F
A, M
RES
D, F
D, G
D, M
CLK
K, C, F, NOT
K, C, G, NOT
K, C, M, NOT
A, B, C, D, Q
A, B, C, D, Q
A, B, C, D, Q
None
A, B, C, D, Q
A, B, C, D, Q
Libraries Guide
BASE IO
PAD, Q
BUF
ON, TRI
4-9
Libraries Guide
BASE F
BASE FG
BASE FGM*
F, QX
F, QX
M, QX
F, QY
G, QY
M, QY
DX
DI, F
DI, F, G
DI, M
DY
DI, F
DI, F, G
DI, M
CLK
K, NOT
K, NOT
K, NOT
RSTDIR
RD
RD
RD
ENCLK
EC
EC
EC
A,B,C,D,E,QX,
QY
A,B,C,D,E,QX,
QY
A,B,C,D,QX,
QY
None
A,B,C,D,E,QX,
QY
A,B,C,D,QX,
QY
BASE IO
IN
OUT
TRI
T, NOT
Example
Following is an example of a valid XC2000 CLB CONFIG attribute
value:
X:Q Y:G CLK:K:NOT Q:FF SET:A RES:D
Here is an example of a valid XC3000 CLB CONFIG attribute value:
X:QX Y:QY DX:F DY:G CLK:K ENCLK:EC
4-10
DECODE
Architectures
The DECODE attribute applies to the XC4000 family only.
Description
The DECODE attribute defines where a wired-AND (WAND)
instance is placed, either within a BUFT or an edge decoder. If the
DECODE attribute is placed on a single-input WAND1 gate, the gate
is implemented as an input to a wide-edge decoder in an XC4000
design.
Syntax
The syntax of the DECODE attribute is the following:
DECODE
DECODE attributes can only be attached to a WAND1 symbol.
DOUBLE
Architectures
The DOUBLE attribute applies to the XC3000 family only.
Description
The DOUBLE attribute specifies double pull-up resistors on the horizontal longline. On XC3000 parts, there are internal nets that can be
set as 3-state with two programmable pull-up resistors available per
line. If the DOUBLE attribute is placed on a PULLUP symbol, both
pull-ups are used, enabling a fast, high-power line. If the DOUBLE
attribute is not placed on a pull-up, only one pull-up is used,
resulting in a slower, lower-power line.
When the DOUBLE attribute is present, the speed of the distributed
logic is increased, as is the power consumption of the part. When
only half of the longline is used, there is only one pull-up at each end
of the longline.
Libraries Guide
4-11
Libraries Guide
While the DOUBLE attribute can be used for the XC4000 family, it is
not recommended. PPR activates both pull-up resistors if the entire
longline (not a half-longline) is used.
Syntax
The syntax of the DOUBLE attribute is the following:
DOUBLE
The DOUBLE attribute can only be attached to a BUFT symbol.
Description
The EQUATE_F and EQUATE_G attributes set the logic equations
describing the F and G function generators of a CLB, respectively.
Syntax
The syntax of the EQUATE_F and EQUATE_G attributes is the
following:
EQUATE_F or EQUATE_G
The following table lists the Boolean operators used in the logic equations.
Table 4-5 Valid XC2000 and XC3000 Boolean Operators
Symbol
4-12
Boolean Equivalent
NOT
AND
XOR
OR
()
Group expression
Example
Here are two examples illustrating the use of the EQUATE_F
attribute:
EQUATE_F=F=((~A*B)+D))@Q
F=A@B+(C*~D)
FAST
Architectures
The FAST attribute applies to XC3000, XC3000A/L, XC4000, and
XC4000A families only.
Description
The FAST slew-rate attribute is attached to an output buffer, output
flip-flop, or pad to increase the speed of an IOB output. It produces a
faster output but may increase noise and power consumption.
The FAST attribute can be attached to the following symbols:
Syntax
The syntax of the FAST attribute is the following:
FAST
FILE
Architectures
The FILE attribute applies to all FPGA families.
Description
The FILE attribute is placed on symbols that do not have underlying
schematics. It references the XNF file containing the Xilinx netlist for
Libraries Guide
4-13
Libraries Guide
Syntax
Use the following syntax for the FILE attribute:
FILE=filename
where filename is the name of an XNF file without the .xnf extension.
Example
Suppose that a symbol is created, called new_and2, whose function
mimics that of a 2-input AND gate. A Xilinx ABEL file describes the
function of the new_and2 symbol and is translated to an XNF file
called new_and2.xnf. A FILE attribute is placed on the symbol, and
the attribute is given a value of new_and2. The top-level design
containing the new_and2 symbol is translated to an XNF file, and the
following lines are found within it:
SYM,
PIN,
PIN,
PIN,
END
4-14
I$1, AND2
1, I, I1
2, I, I2
O, O, O1
I$2/I$1, AND2
1, I, NET_IN1
2, I, NET_IN2
O, O, NET_OUT1
FOE_OPT
Architectures
The FOE_OPT attribute applies to the XC7200 and XC7300 families
only.
Description
The FOE_OPT global attribute controls the optimization of the fast
output enable (FOE) for the entire design. FOE optimization generally applies only to BUFE, OBUFE, or 3-state PLD outputs driving an
OBUF. FOE optimization changes a product-term 3-state signal to an
FOE global control signal. Like FastCLK assignment, it reduces the
number of UIM inputs and product terms required by each function
block.
Syntax
Use the following syntax with the FOE_OPT attribute:
FOE_OPT={on|off}
Off inhibits FOE optimization of the entire design, and On, which is
the default, activates it.
Libraries Guide
4-15
Libraries Guide
HBLKNM
Architectures
The HBLKNM attribute applies to all FPGA families.
Description
The HBLKNM attribute assigns hierarchical LCA block names to
logic elements and controls grouping in a flattened hierarchical
design. When elements on different levels of a hierarchical design
carry the same block name and the design is flattened, XNFMerge
prefixes a hierarchical path name to the HBLKNM value.
Like BLKNM, the HBLKNM attribute forces function generators and
flip-flops into the same CLB. Symbols with the same HBLKNM
attribute map into the same CLB, if possible. However, using
HBLKNM instead of BLKNM has the advantage of adding hierarchy
path names during translation, and therefore the same HBLKNM
attribute and value can be used on elements within different
instances of the same macro.
Use the HBLKNM attribute to attach a name to the following
symbols:
4-16
I/O buffers, flip-flops, and latches (IBUF, OBUF, OBUFT, ILD, IFD,
OFD, OFDT)
Syntax
The syntax of the HBLKNM attribute is the following:
HBLKNM=blockname
where blockname is a valid LCA block name for that type of symbol.
For a list of prohibited block names, see the Naming Conventions
section of each user interface manual.
Example
A schematic is created that contains a four-input function and a flipflop. The logic function is mapped using an FMAP symbol. Both the
FMAP and the flip-flop are given the attribute HBLKNM=GROUP1.
A symbol is created to represent the schematic, and both are given
the name of FUNC. Another schematic is then created, and four
instances of FUNC are placed on it. Because hierarchy is taken into
account when the design is translated, the software recognizes four
distinct groups, as opposed to one large group called GROUP1, and
each instance of FUNC is mapped into a separate CLB.
HU_SET
Architectures
The HU_SET constraint applies to the XC4000 and XC4000A/H families only.
Description
Like the H_SET constraint, the HU_SET constraint is defined by the
design hierarchy. However, it also allows you to specify a set name. It
is possible to have only one H_SET constraint within a given hierarchical element (macro) but by specifying set names, you can specify
several HU_SET sets.
XNFMerge hierarchically qualifies the name of the HU_SET as it flattens the design and attaches the hierarchical names as prefixes. The
difference between an HU_SET constraint and an H_SET constraint is
that an HU_SET has an explicit user-defined and hierarchically qualified name for the set, but an H_SET constraint has only an implicit
hierarchically qualified name generated by the design-flattening
program. An HU_SET set starts with the symbols that are assigned
Libraries Guide
4-17
Libraries Guide
the HU_SET constraint, but an H_SET set starts with the instantiating macro one level above the symbols with the RLOC constraints.
For detailed information about this attribute, refer to the Relative
Location (RLOC) Constraints section later in this chapter.
Syntax
To designate a design element as a member of a HU_SET set, apply
the following syntax to a design element:
HU_SET=name
where name is the identifier for the set; it must be unique among all
the sets in the design.
INIT
Architectures
The INIT attribute applies to the XC4000 and XC4000A/H families
only.
Description
The INIT attribute initializes ROMs.
On a ROM, the INIT attribute gives an initial value to the contents of
the ROM. Either four or eight hexadecimal digits are required,
depending on the width of the ROM.
Syntax
Use the following syntax to implement the INIT attribute:
INIT=value
For ROMs, value can be four or eight hexadecimal digits, depending
on whether the ROM is a 16- or 32-word-deep ROM, respectively.
4-18
LOC
Architectures
The LOC constraint applies to all families.
BUFTs
Elements that map into a CLB: flip-flops, FMAPs, HMAPs, CLBMAPs, CLBs
Elements that map into an IOB: pads, IBUFs, OBUFs, INFFs, OUTFFs, and so forth
Libraries Guide
4-19
Libraries Guide
4-20
Libraries Guide
4-21
Libraries Guide
Examples
This section gives several examples of the LOC syntax for FPGAs.
4-22
Description
LOC=P12
LOC=B
LOC=TL
LOC=AA
(XC2000 and XC3000 only)
LOC=TBUF.AC.2
(XC2000 and XC3000 only)
LOC=CLB_R3C5
(XC4000 only)
LOC=CLB_R4C5.ffx
(XC4000 only)
LOC=CLB_R4C5.F
(XC4000 only)
Attribute
Description
LOC=TBUF_R2C1.1
(XC4000 only)
LOC=TBUF_R*C0
(XC4000 only)
Description
LOC=AA:FF
(XC2000 and XC3000 only)
LOC=CLB_R1C1:CLB_R5C5
(XC4000 only)
LOC=TBUF_R1C1:TBUF_R2C8
(XC4000 only)
Libraries Guide
Description
LOC<>T
LOC<>A*
(XC2000 and XC3000 only)
4-23
Libraries Guide
Attribute
Description
LOC<>CLB_R5C*.ffy
(XC4000 only)
LOC<>CLB_R1C1:CLB_R5C5
(XC4000 only)
LOC<>TBUF_R*C0
(XC4000 only)
Description
LOC<>*A;LOC<>*D
(XC2000 and XC3000 only)
LOC=T:LOC=L
LOC=CLB_R1C1:CLB_R5C5;
LOC<>CLB_R5C5
(must be specified in one
continuous line) (XC4000 only)
4-24
indicated logic does not fit into the specified blocks, an error is generated.
The following statements place logic in the designated CLB.
LOC=AA(XC2000 and XC3000)
LOC=CLB_R1C1(XC4000)
The following statements prohibit the placement of logic in the designated CLB.
LOC<>AA(XC2000 and XC3000)
LOC<>CLB_R1C1(XC4000)
The following statements place logic within the first column of CLBs.
The asterisk (*) is a wildcard character.
LOC=*A(XC2000 and XC3000)
LOC=CLB_R*C1(XC4000)
The next two statements place logic in any of the three designated
CLBs. There is no significance to the order of the LOC statements.
LOC=AA;LOC=AB;LOC=AC(XC2000 and XC3000)
LOC=CLB_R1C1;LOC=CLB_R1C2;LOC=CLB_R1C3 (XC4000)
The following statements place logic within the rectangular block
defined by the first specified CLB in the upper left corner and the
second specified CLB in the lower right corner.
LOC=AA:HE(XC2000 and XC3000)
LOC=CLB_R1C1:CLB_R8C5(XC4000)
The next statement places logic in the X flip-flop of CLB_R2C2. For
the Y flip-flop, use the FFY tag.
LOC=CLB_R2C2.FFX(XC4000)
Libraries Guide
4-25
Libraries Guide
4-26
Libraries Guide
4-27
Libraries Guide
LOGIC_OPT
Architectures
The LOGIC_OPT attribute applies to the XC7200 and XC7300 families
only.
Description
The LOGIC_OPT global attribute controls the default logic optimization for the entire design.
Syntax
The syntax for this attribute is the following:
LOGIC_OPT={on|off}
To inhibit logic optimization for the whole design, set this attribute to
Off. The default is On. You can override the global setting for individual symbols using the OPT=on or OPT=off component attribute.
4-28
LOWPWR
Architectures
The LOWPWR attribute applies to the XC7300 family only.
Description
You can use the LOWPWR attribute as either a global or component
attribute. When used as a component attribute, it determines the
power setting of the macrocells used by an individual symbol. When
used as a global attribute, it makes low power the global default
power setting.
This attribute is ignored if it is assigned to a symbol that uses no
macrocells, such as an inverter, AND/OR gate (when optimized),
input register, and so on.
Syntax
To make low power the setting of the macrocells used by an individual symbol, use the following syntax:
LOWPWR={on|off}
To make low power the global default power setting, place the
following syntax in the schematic:
LOWPWR=ALL
The default is LOWPWR=off, indicating a high-speed power setting
for all macrocells used in the design unless otherwise specified.
MAP
Architectures
The MAP attribute applies to all FPGA families.
Description
The MAP attribute is placed on an FMAP, HMAP, or CLBMAP to
specify whether pin swapping and the merging of other functions
with the logic in the map are allowed. If pin swapping is allowed, the
net connections to the pins on the CLB may differ from the
Libraries Guide
4-29
Libraries Guide
Syntax
The syntax of the MAP attribute is the following:
MAP={PLC|PUC|PLO|PUO}
where the keywords have the following meanings:
PLC means that the CLB pins are locked, and the CLB is closed.
PLO means that the CLB pins are locked, and the CLB is open.
PUC means that the CLB pins are unlocked, and the CLB is closed.
PUO means that the CLB pins are unlocked, and the CLB is open.
Example
A two-input function is mapped using an FMAP. Upon reaching the
place and route stage of the design, the software determines that
additional logic could be merged into the function generator
containing the first function. If the MAP attribute value is PLO or
PUO, the logic is merged into the function generator. If the MAP
attribute value is PLC or PUC, the logic is not merged into the function generator. The software also determines that routing can be
improved if the first and second pins on the function generator
containing the 2-input function are swapped. If the MAP attribute is
PUC or PUO, the pins are swapped. If the MAP attribute value is PLC
or PLO, the pins are not swapped.
4-30
Description
MEDFAST and MEDSLOW specify the slew rate of an XC4000A
output driver. MEDFAST decreases output transition time and is
slightly faster than MEDSLOW, possibly resulting in more noise and
power consumption that an output driver specified as MEDSLOW.
The MEDFAST and MEDSLOW attributes can be attached to the I/O
symbols and the special function access symbols TDI, TMS, and TCK.
Syntax
The syntax of the MEDFAST and MEDSLOW attributes is the
following:
MEDFAST or MEDSLOW
MINIMIZE
Architectures
The MINIMIZE attribute applies to the XC7200 and XC7300 families
only.
Description
The MINIMIZE global attribute determines whether or not the software minimizes the logic for the whole design. If the logic is minimized, any redundant or non-effective logic found in any user-specified equation files is eliminated through Boolean minimization.
Libraries Guide
4-31
Libraries Guide
Syntax
The syntax of the MINIMIZE attribute is the following:
MINIMIZE={on|off}
where On allows logic minimization, and Off inhibits it. The default
is On.
MRINPUT
Architectures
The MRINPUT attribute applies to the XC7300 family only.
Description
The MRINPUT global attribute in an XC7354 or XC7336 design
changes the master reset pin to an ordinary input pin. If this attribute
is set to On, the EPLD device is initialized only on power-up.
Syntax
The syntax of the MRINPUT attribute is the following:
MRINPUT={on|off}
The On setting changes the master reset pin to an ordinary input pin.
The default is Off.
Net
Architectures
Net attributes apply to all families except where noted in the
following paragraphs.
4-32
Description
Attaching attributes to nets affects the mapping, placement,
and/or routing of the LCA design. Net attributes can be any of the
following values:
F (XC7300 only)
The F net attribute in an XC7300 device specifies that the
macrocell implementing a component output should be placed in
a fast function block (FFB). When placed on the output of an IBUF,
the F attribute specifies that the input signal is to use the FastInput
(FI) path when the signal is used in a fast function block.
The F attribute is not valid on outputs of components that require
features only present in high-density function blocks, such as
PLFB9, ADD, ADSU, ACC, COMPM, LD, FDCP, FDCPE, XOR7,
XOR8, and XOR9.
Note: The BUFE symbol can be assigned to FFB only when driving
an OBUF, and it must allow FOE optimization.
H (XC7300 only)
The H net attribute in an XC7300 device specifies that the
macrocell implementing a component output should be placed in
a high-density function block.
The H attribute is not valid on outputs of a PLFFB9 or any of the
input/output buffer symbols.
Libraries Guide
4-33
Libraries Guide
I
C Input (XC2000 and XC2000L only on flip-flop clock pins
and latch enable pins)
Any CLB clocks driven by this net are connected to the C input
pin.
P
Pin-lock (XC2000 and XC3000 only on CLBMAP primitives;
XC4000 only on FMAPs and HMAPs)
The P attribute specifies that the signal should not be moved from
the CLB pin to which it is assigned. It is useful for aligning CLB
inputs with a specified longline.
4-34
Syntax
Methods of entering this attribute vary by user interface. Consult the
appropriate user interface guide for instructions.
NODELAY
Architectures
The NODELAY attribute applies to the XC4000 and XC4000A families only.
Description
The default configuration of IOB flip-flops in XC4000 and XC4000A
designs includes an input delay that results in no external hold time
on the input data path. However, this delay can be removed by
placing the NODELAY attribute on input flip-flops or latches,
resulting in a smaller setup time but a positive hold time.
The NODELAY attribute can be attached to the I/O symbols and the
special function access symbols TDI, TMS, and TCK.
Libraries Guide
4-35
Libraries Guide
Syntax
The syntax of the NODELAY attribute is the following:
NODELAY
OPT
Architectures
The OPT attribute applies to the XC7200 and XC7300 families only.
Description
The OPT attribute controls the optimization of all macrocells used by
a symbol.
If you build combinational logic using low-level gates and multiplexers, the logic optimizer attempts to pack all logic bounded
between device I/O pins and registers into a single macrocell.
The logic optimizer optimizes components forward into components
connected to their outputs. It also moves forward any logic, whether
combinational or sequential, that is buffered by a 3-state buffer.
However, logic that itself contains a 3-state control is not moved
forward.
The OPT=off attribute prevents any logic in a component from optimizing forward.
The OPT attribute has no effect on any symbol that contains no
macrocell logic, such as an input/output buffer.
Syntax
The syntax of the OPT attribute is the following:
OPT={on|off}
OPT=on allows optimization of macrocell logic; OPT=off inhibits
optimization. The default is the value of the LOGIC_OPT attribute,
which is On unless otherwise specified.
4-36
PLD
Architectures
The PLD attribute applies to XC7200 and XC7300 families only.
Description
The PLD attribute is placed on a PLD symbol to specify the name of
the file containing the logic equations for that PLD. Use it on custom
primitive symbols and the following PLDs: PL20V8, PL22V10,
PL20PIN, PL24PIN, PL48PIN, PLFB9, and PLFFB9.
All PLD components in your schematic design must be assigned the
PLD attribute. Running XEMake automatically assembles all equation files named by all PLD=filename attributes found in the schematic. If you do not use XEMake, you must assemble each PLD file in
the design using PLUSASM before you run the FITNET command.
Like PLDs, user-specified (custom) primitives are defined by
PLUSASM equation files. The PLD=filename attribute is not required
but can be applied as a convenient way to have your equation file
automatically assembled when XEMake is invoked. If you omit the
PLD attribute, FITNET will expect to find a bitmap file for the symbol
(symbol_name.vmh) in your local CLIB subdirectory.
Syntax
Following is the syntax of the PLD attribute:
PLD=filename
Do not specify the filename extension. You must specify this filename
as the first parameter of the CHIP statement inside the equation file,
as described in the PLUSASM Language Reference section of the
XEPLD Reference Guide. Here is an example:
CHIP filename PL22V10
Libraries Guide
4-37
Libraries Guide
PRELOAD_OPT
Architectures
The PRELOAD_OPT attribute applies to XC7200 and XC7300 families
only.
Description
The PRELOAD_OPT global attribute allows the XEPLD software to
change the preload values in the design to match the preload values
supported by specified device resources such as fast function blocks
and input registers. The XEPLD software can therefore map your
design most efficiently, using the device resources most suited to the
elements of your design. Unless you specify PRELOAD_OPT=off, the
software is free to change the initial register states of any component,
including PLD (custom) components defined in PLUSASM. Use
PRELOAD=off to preserve the initial states specified in this manual
for library components and in the PRLD equations in your PLUSASM
file for PLD or custom components.
You can set a high or low preload for high-density function blocks.
The preload value of fast function blocks depends on the use of Set or
Reset. Input register preload values are fixed at 1, except for those on
the XC7272, which are undefined.
Syntax
The syntax of the PRELOAD_OPT attribute is the following:
PRELOAD_OPT={on|off}
The On setting, which is the default, allows XEPLD to change the
preload values; Off preserves all preload values defined in the library
and specified in your PLD equation files.
4-38
REG_OPT
Architectures
The REG_OPT attribute applies to XC7200 and XC7300 families only.
Description
The REG_OPT global attribute controls input register optimization
for the entire design. Input register optimization reduces the number
of macrocells in a design by moving simple FD registers connected to
IBUFs into a pad register, provided that the IBUF has no other
fanouts. The clock by which the input register is controlled must be a
FastCLK or an input that can be assigned to a FastCLK pin.
Syntax
Use the following the syntax with the REG_OPT option:
REG_OPT={on|off}
To inhibit input register optimization, set this attribute to Off. To
enable this optimization, set it to On, which is the default.
RES
Architectures
The RES attribute applies to the XC4000H family only.
Description
You can specify an XC4000H output driver as operating in either
resistive (RES) or capacitive, softedge (CAP) mode. In resistive
mode, the output is faster and draws more power. Use this mode
when the output is attached to purely resistive loads, or when
ground bounce is not predicted to be a problem with the output. The
RES attribute allows you to specify resistive mode.
Libraries Guide
4-39
Libraries Guide
Syntax
The syntax of the RES attribute is the following:
RES
RLOC
Architectures
The RLOC constraint applies to XC4000 and XC4000A/H families
only.
Description
Relative location (RLOC) constraints group logic elements into
discrete sets and allow you to define the location of any element
within the set relative to other elements in the set, regardless of eventual placement in the overall design. See the Relative Location
(RLOC) Constraints section later in this chapter for detailed information about this type of constraint.
Syntax
Use the following syntax with the RLOC constraint:
RLOC=Rrow#Ccolumn#[.extension]
where the row and column numbers can be any positive integer,
including zero.
The optional .extension can take all the values that are available with
the current absolute LOC syntax: FFX, FFY, F, G, H, 1, and 2. The 1
and 2 values are available for BUFT primitives, and the rest are
4-40
available for primitives associated with CLBs. Only extensions for the
XC4000 family designs are currently supported.
The RLOC value cannot specify a range or a list of several locations; it
must specify a single location.
See the Relative Location (RLOC) Constraints section later in this
chapter for information on the RLOC syntax.
RLOC_ORIGIN
Architectures
The RLOC_ORIGIN constraint applies to XC4000 and XC4000A/H
families only.
Description
An RLOC_ORIGIN constraint fixes the members of a set at exact die
locations. This constraint must specify a single location, not a range
or a list of several locations. For detailed information about this
constraint, refer to the Relative Location (RLOC) Constraints
section later in this chapter.
The RLOC_ORIGIN constraint is required for a set that includes
BUFT symbols.
Syntax
The syntax of the RLOC_ORIGIN constraint is the following:
RLOC_ORIGIN=Rrow#Ccolumn#
where the row and column numbers are positive non-zero integers.
Libraries Guide
4-41
Libraries Guide
RLOC_RANGE
Architectures
The RLOC_RANGE constraint applies to XC4000 and XC4000A/H
families only.
Description
The RLOC_RANGE constraint is similar to the RLOC_ORIGIN
constraint except that it limits the members of a set to a certain range
on the die. The range or list of locations is meant to apply to all applicable elements with RLOCs, not just to the origin of the set.
Syntax
The RLOC_RANGE constraint has the following syntax:
RLOC_RANGE=Rrow1#Ccol#:Rrow2#Ccol2#
where the row numbers and the column numbers can be non-zero
positive numbers or the wildcard (*) character. This syntax allows
three kinds of range specifications, which are defined in the
RLOC_RANGE section of the Relative Location (RLOC)
Constraints section later in this chapter.
TNM
Architectures
The TNM attribute applies to XC3000A/L, XC3100A, and XC4000
families only, and only when XACT-Performance is used.
Description
The TNM attribute tags specific flip-flops, RAMs, pads, and input
latches as members of a group to simplify the application of timing
specifications to the group.
See the XACT-Performance Utility chapter of the XACT Reference
Guide for detailed information about this attribute.
4-42
Syntax
Following is the syntax of the TNM attribute:
TNM=identifier
where identifier can be any combination of letters, numbers, or underscores.
Do not use reserved words, such as FFS, LATCHES, RAMS, or PADS
for TNM identifiers.
TSidentifier
Architectures
The TSidentifier attribute applies to XC3000A/L, XC3100A, and
XC4000 families only.
Description
TSidentifier properties beginning with the letters TS are placed on
the TIMESPEC symbol. The value of the TSidentifier attribute corresponds to a specific timing specification that can then be applied to
paths in the design.
See the XACT-Performance Utility chapter of the XACT Reference
Guide for detailed information about this attribute.
Syntax
The syntax of the TSidentifier attribute is the following:
TSidentifier
where identifier can be any combination of letters, numbers, or underscores. It is commonly 01, 02, 03, and so forth. In Mentor, it must be
01, 02, 03, and so forth.
Libraries Guide
4-43
Libraries Guide
TTL
Architectures
The TTL attribute applies to the XC4000H family only.
Description
The TTL attribute configures output drivers on the XC4000H to drive
to TTL-compatible levels. Similarly, it configures IOBs to have TTLcompatible input thresholds.
To configure output drive levels, attach the TTL attribute to any of the
following output symbols: OBUF, OBUFT, OUTFF/OFD, OUTFFT/
OFDT.
To configure input threshold levels, attach the TTL attribute to any of
the following input symbols: IBUF, INFF/IFD, INLAT/ILD, INREG.
See the section on the CMOS attribute for more information.
Syntax
The syntax of the TTL attribute is the following:
TTL
UIM_OPT
Architectures
The UIM_OPT attribute applies to the XC7200 and XC7300 families
only.
Description
UIM optimization extracts AND expressions and inverters out of
macrocell logic functions and moves them into the UIM, which
reduces the use of function block resources. The UIM_OPT global
attribute turns this type of optimization on or off.
4-44
Syntax
The syntax of the UIM_OPT attribute is the following:
UIM_OPT={on|off}
where On activates UIM optimization, and Off inhibits it. The On
setting is the default.
USE_RLOC
Architectures
The USE_RLOC constraint applies to the XC4000 and XC4000A/H
families only.
Description
The USE_RLOC constraint turns on or off the RLOC constraint for a
specific element or section of a set. For detailed information about
this constraint, refer to the Relative Location (RLOC) Constraints
section later in this chapter.
Syntax
The syntax of the USE_RLOC constraint is the following:
USE_RLOC={true|false}
where True turns on the RLOC attribute for a specific element, and
False turns it off.
U_SET
Architectures
The U_SET constraint applies to the XC4000 and XC4000A/H families only.
Description
The U_SET constraint groups design elements with attached RLOC
constraints that are distributed throughout the design hierarchy into
a single set. The elements that are members of a U_SET can cross the
Libraries Guide
4-45
Libraries Guide
design hierarchy; that is, you can arbitrarily select objects without
regard to the design hierarchy and tag them as members of a U_SET.
For detailed information about this attribute, refer to the Relative
Location (RLOC) Constraints section later in this chapter.
Syntax
The syntax of the U_SET constraint is the following:
U_SET=name
where name is the identifier of the set. This name is absolute; you
specify it, and it is not prefixed by a hierarchical qualifier.
Schematic Syntax
This section describes how to place constraints on symbols on a schematic. You can use LOC, RLOC, BLKNM, and HBLKNM constraints
on these symbols; these constraints are described earlier in this
chapter in the Attributes section. Although you can prohibit individual symbols from being placed in a certain location, you cannot
prohibit symbol placement in general.
To specify a single location, use the following syntax:
constraint=location
4-46
Libraries Guide
4-47
Libraries Guide
associated with the block. In XC4000 designs, you assign the block
name with the BLKNM or HBLKNM attribute.
Single location
The syntax that you can use to specify locations is given in the Statements section later in this chapter.
Each constraint statement must end with a semicolon(;).
A colon separates the instance name from the location in constraint
statements.
4-48
For CLBs, the blockname field must match the BLKNM attribute on the
individual FMAPs, HMAPs, CLBMAPs, and/or flip-flops. For IOBs,
the blockname must match the BLKNM attribute on individual I/O
elements.
The location for CLBs can be a single CLB location, a range of CLBs, or
a wildcard constraint. For IOBs, the location is a package pin, such as
P12 or A6, or a die edge, such as T for top. The syntax that you can
use to specify locations is given in the Statements section later in
this chapter. Each constraint statement must end with a semicolon(;).
A colon separates the instance name from the location in constraint
statements.
Here are some examples showing how CLBs are constrained:
place block ABC:CLB_R3C7;
place block DEF:[CLB_R1C2 CLB_R5C4];
place block GHI:CLB_R*C3;
The Place Block constraint differs from other PPR constraints because
the logic is referenced by the LCA block name rather than the XNF
symbols instance name.
Libraries Guide
4-49
Libraries Guide
Syntactical Conventions
The following syntactical conventions are used in the CST file statements given in the Statements section, following:
{} means that you must choose one of the items enclosed in the
brackets.
Wildcards
You can use the wildcard (*) character in constraint statements as
follows.
In an instance name, a wildcard character by itself represents every
symbol of the appropriate type. For example, the following constraint
applies to every BUFT in the design:
notplace instance *: TBUF_R1C1.1;
If the wildcard character is used as part of a longer instance name, the
wildcard represents one or more characters at that position. However,
only symbols of the appropriate type are constrained. For example,
consider the following constraint:
notplace instance cntr/q*: CLB_R7C3;
This constraint would apply to a flip-flop named cntr/q7, but not to a
BUFT named cntr/q7_data.
In a location, a wildcard character can be used for either the row
number or column number. For example, the following constraint
4-50
prevents the flip-flop named cntr/q0 from being placed in any CLB
in the third column:
notplace instance cntr/q0: CLB_R*C3;
Wildcard characters cannot be used in dot extensions; for example,
CLB_R1C3.* is illegal.
Statements
Following are the statements that you can use in the CST file. It is not
recommended that you use the flag_constraint and weight_constraint
statements.
constraints ::= {place_constraint|flag_constraint|weight_constraint
|time_spec|time_grp}
Place Constraints
place_constraint ::= {place_instance|place_block}
place_instance ::= {place|notplace} instance instance_list:
loc_list;
instance_list ::= alphanum [alphanum alphanum alphanum...]
loc_list ::= loc_spec [loc_spec loc_spec loc_spec...]
loc_spec ::= {clb_locs|pin_locs|edge_locs|buft_locs}
clb_locs ::= {clb_loc[bel]|[clb_loc clb_loc][bel]}, where [clb_loc
clb_loc] is a range from the lowest to the highest.
bel ::= .{f|g|ffx|ffy|1|2}
clb_loc ::= clb_r row_col c row_col
row_col ::= number, where number can be any number between 0 and
99, inclusive.
pin_locs ::= See the appropriate data book for the pin package
names, for example, p12, or unbonded pad names, for example, u16.
edge_locs ::= {t|b|l|r|tl|tr|bl|br|rt|rb|lt|lb}
The edge locations corresponding to these terms are given in the
I/O Constraints section later in this chapter.
Libraries Guide
4-51
Libraries Guide
Flag Constraints
flag_constraint ::= flag net {critical|uncritical} net_list;
net_list ::= alphanum [alphanum alphanum alphanum...]
Weight Constraints
weight_constraint ::= weight net net_weight net_list;
net_weight ::= [0-100]
TIMESPEC Constraints
timespec ::= TIMESPEC=timespec_line ;
timespec_line ::= tsIdentifier = timespec_statement
tsIdentifier ::= TS tlabel
tlabel ::= alphatnm [alphatnm ...]
alphatnm ::= {[a-z]|[A-Z]|[0-9]|_}
timespec_statement ::= {default_spec|delay_spec|link|ignore}
default_spec ::= {dc2s|dp2s|dc2p|dp2p}
4-52
Libraries Guide
4-53
Libraries Guide
TIMEGRP Constraints
timegrp ::= TIMEGRP=timegrp_line ;
timegrp_line ::= tlabel=derived_group
derived_group ::= compound|difference|rise_fall
compound ::= group[:group :group...]
difference ::= compound:except:compound
rise_fall ::= edge:group
edge ::= {rising|falling}
Restrictions
You should observe the following restrictions when using constraints
in the CST file.
Since BUFGs can only go in corners, tl means the top left corner.
For IOBs, tl means the top left half-edge.
4-54
Flip-Flop Constraints
Flip-flops can be constrained to a specific CLB, a range of CLBs, a row
or column of CLBs, or a specific half-CLB. Flip-flop constraints can be
assigned from the schematic or through the CST file.
You cannot use Place Instance constraints on XC3000A/L flip-flops.
From the schematic, attach LOC constraints to the target flip-flop.
The constraints are then passed into the XNF and XTF files and read
by PPR. For more information on attaching LOC constraints, see the
appropriate interface user guide.
In the CST file, a flip-flop is identified by a unique instance name. A
flip-flop instance of type DFF can be found in the input file. Assume
that the following lines appear in the input file:
sym, /top-12/fdrd, dff, init=r
sym, /top-54/fdsd, dff, init=s
The instance names of these two flip-flops are /top-12/fdrd and
/top-54/fdsd. These names are used in the following examples
showing how constraints are applied to flip-flops on the schematic
and in the constraints file.
In the following examples, repeating the LOC constraint, separated
by a semicolon, specifies multiple locations for an element.
Example 1:
Schematic constraint
loc=clb_rlc5
Constraints file
Place the flip-flop in the CLB in row 1, column 5. CLB R1C5 is in the
upper left corner of the device.
Example 2:
Schematic constraint
loc=clb_r1c1:clb_r5c7
Constraints file
Place the flip-flop in the rectangular area bounded by the CLB R1C1
in the upper left corner and CLB R5C7 in the lower right.
Libraries Guide
4-55
Libraries Guide
Example 3:
Schematic constraint
loc=clb_r*c3
Constraints file
Place the flip-flops in any row of column 3. The wildcard (*) character
can be used in place of either the row or column number to specify an
entire row or column of CLBs.
From the schematic, the same LOC constraint is attached to both flipflops.
Example 4:
Schematic constraint
loc=clb_r2c4;loc=clb_r7c9
Constraints file
Example 5:
Schematic constraint
loc=clb_r3c5.ffy
Constraints file
Place the flip-flop in CLB R3C5 and assign the flip-flop output to the
XQ pin. Use the FFY tag to indicate the YQ pin of the CLB. If the FFX
or FFY tags are specified, the wildcard (*) character cannot be used for
the row or column numbers.
Example 6:
Schematic constraint
loc<>clb_r5c*
Constraints file
Do not place the flip-flop in any column of row 5. The wildcard (*)
character can be used in place of either the row or column number to
specify an entire row or column of CLBs.
4-56
Example 1:
Schematic constraint
loc=clb_r1c5
Constraints file
Place the memory in the CLB in row 1, column 5. CLB R1C5 is in the
upper left corner of the device. A single-CLB constraint such as this
can only be applied to a 16 x 1 or 32 x 1 memory.
Libraries Guide
4-57
Libraries Guide
Example 2:
Schematic constraint
loc=clb_r2c4;loc=clb_r7c9
Constraints file
Example 3:
Schematic constraint
loc=clb_r1c1:clb_r5c7
Constraints file
Example 4:
Schematic constraint
loc<>clb_r5c*
Constraints file
Do not place the memory in any column of row 5. The wildcard (*)
character can be used in place of either the row or column number in
the CLB name to specify an entire row or column of CLBs.
From the schematic, the LOC constraint is simply attached to the
RAM64X8 macro symbol and is passed through to each individual
RAM in the XNF file.
In the CST file, the wildcard (*) character specifies all instances that
begin with the /top-11-/ram64x8/ prefix.
4-58
Mapping Constraints
FMAP and HMAP Constraints
The FMAP and HMAP symbols control mapping in an XC4000
design. They are similar to the XC2000/XC3000 CLBMAP symbol.
FMAP and HMAP control the mapping of logic into function generators. These symbols do not define logic on the schematic; instead,
they specify how portions of logic shown elsewhere on the schematic
should be mapped into a function generator.
The FMAP symbol defines mapping into a four-input (F) function
generator. PPR assigns this function to an F or G function generator,
so you are not required to specify whether it belongs in F or G.
The HMAP symbol defines mapping into a three-input (H) function
generator. If the HMAP has two FMAP outputs and, optionally, one
normal (non-FMAP) signal as its inputs, PPR normally places all the
logic related to these symbols into one CLB.
An example of how to use these symbols in your schematic appears
in Figure 4-3 and Figure 4-4.
For the FMAP symbol, as with the CLBMAP primitive, MAP={PUC,
PUO, PLC or PLO} is supported, as well as the LOC constraint.
For the HMAP symbol, only MAP=PUC is supported.
You can ignore FMAP and HMAP symbols in the input file by using
the PPR Ignore_maps option described in the PPR chapter of the
XACT Reference Guide.
Libraries Guide
4-59
Libraries Guide
A1
A2
A3
A4
F_OUT
AND2
OR3
RESULT
AND2
B1
B2
B3
OR2
G_OUT
XOR3
AND2B1
OR2
B4
AND2B1
SEL
FMAP
A1
I4
A2
I3
A3
I2
A4
I1
F_OUT
HMAP
I3
B1
I4
B2
I3
B3
I2
B4
I1
RESULT
I2
FMAP
I1
G_OUT
X4403
SEL
IN_F4
IN_G1
H_FUNC
IN_G2
IN_G3
IN_G4
X1890
Example 1:
Schematic constraint
loc=clb_r7c3
Constraints file
4-60
Example 2:
Schematic constraint
loc=clb_r2c4;loc=clb_r3c4
Constraints file
Place the FMAP or HMAP symbol in either the CLB at row 2, column
4 or the CLB at row 3, column 4.
Example 3:
Schematic constraint
loc=clb_r5c5:clb_r10c8
Constraints file
Place the FMAP or HMAP symbol in the area bounded by CLB R5C5
in the upper left corner and CLB R10C8 in the lower right.
Example 4:
Schematic constraint
loc=clb_r10c11.f
Constraints file
CLBMAP Constraints
With the CLBMAP symbol, you can specify logic mapping at the
schematic level for all XC3000 designs. It is used in conjunction with
standard logic elements, such as gates and flip-flops. It implicitly
specifies the configuration of a CLB by defining the signals on its
pins. Use the CLBMAP symbol to control mapping when the default
mapping is not acceptable.
Enter the CLBMAP symbol on the schematic and assign signals to its
pins. XNFMAP processes this symbol and maps the appropriate
logic, as defined by the input and output signals, into one CLB. The
easiest way to define a CLBMAP is to connect a labeled wire segment
Libraries Guide
4-61
Libraries Guide
to each pin, which connects that pin to the net carrying the same
label.
If a CLBMAP specifies an illegal CLB configuration, XNFMAP
ignores the CLBMAP and issues a warning explaining why the
CLBMAP is illegal.
A CLBMAP can be either closed or open. A closed CLBMAP must
specify both the input and output signals for that CLB. XNFMAP
maps a closed CLBMAP exactly as specified, unless the indicated
configuration is illegal. XNFMAP does not add any logic to a CLB
specified with a closed CLBMAP.
An open CLBMAP specifies only the output signals for the CLB.
XNFMAP assigns those signals to the CLB output pins and maps the
source logic into the CLB as appropriate. Use an open CLBMAP to
specify the function of a CLB without specifying the exact configuration.
Specify whether a CLBMAP is either open or closed by attaching the
appropriate MAP attribute to the symbol. See Table 4-10 for the exact
conventions.
The pins on a CLBMAP can be either locked or unlocked. Specify
whether a CLBMAP has locked or unlocked pins by attaching the
appropriate MAP attribute to the symbol. See Table 4-10 for the exact
conventions. With an open CLBMAP, only the output pins are locked.
If a CLBMAP is indicated as having unlocked pins, you can lock individual CLBMAP pins by attaching a P (pin-lock) attribute to the
corresponding net. On an open CLBMAP, you can assign P attributes
only to output pins.
Table 4-10 Map Attributes for CLBMAP Symbols
Closed CLB
4-62
Open CLB
Pins locked
MAP=PLC
MAP=PLO
Pins unlocked
MAP=PUC
MAP=PUO
Example 1:
Schematic constraint
loc=CB
Constraints file
Example 2:
Schematic constraint
loc=AA:EE
Constraints file
Place the CLBMAP in the area bounded by CLB AA in the upper left
corner and CLB EE in the lower right.
CLB Constraints
You can prohibit PPR from using a specific CLB, a range of CLBs, or a
row or column of CLBs. Such prohibit constraints can be assigned
only through the constraints file. CLBs are prohibited by specifying a
Notplace Instance constraint with only a wildcard (*) character as the
instance name, as shown in the following examples.
Example 1:
Schematic constraint
None
Constraints file
Do not place any logic in the CLB in row 1, column 5. CLB R1C5 is in
the upper left corner of the device.
Example 2:
Schematic constraint
None
Constraints file
Do not place any logic in the rectangular area bounded by the CLB
R1C1 in the upper left corner and CLB R5C7 in the lower right.
Libraries Guide
4-63
Libraries Guide
Example 3:
Schematic constraint
None
Constraints file
Do not place any logic in any row of column 3. The wildcard (*) character can be used in place of either the row or column number to
specify an entire row or column of CLBs.
Example 4:
Schematic constraint
None
Constraints file
I/O Constraints
You can constrain I/Os to one edge of the die, half an edge of the die,
or a specific IOB. I/O constraints can be assigned from the schematic
or through the CST file.
From the schematic, attach LOC constraints to the target PAD symbol.
The constraints are then passed into the XNF and XTF files and read
by PPR. For more information on attaching LOC constraints, see the
appropriate interface user guide.
A pad can be found in the XNF file as an EXT record. Assume the
following lines appear in the XNF file.
ext, /top-102/data0, i,, blknm=data0
ext, /top-117/q13, o,, blknm=out13
For a CST file constraint, the instance names of these I/Os are /top102/data0_pad and /top-117/q13_pad.
Example 1:
This example uses a pin number to lock to one pin.
4-64
Schematic constraint
loc=p17
Constraints file
Place the I/O in the IOB at pin 17. For pin grid arrays, a pin name
such as B3 or T1 is used.
Example 2:
The following example uses a letter to lock to a side of the die.
Schematic constraint
loc=t
Constraints file
Place the I/O in any IOB on the top edge of the die. Table 4-11 shows
the legal edge designations.
Table 4-11 Legal Edge Designations for IOBs
Edge Code
Edge Location
Bottom edge
Left edge
Right edge
Top edge
Example 3:
This example uses multiple locations.
Schematic constraint
loc=t;loc=b
Constraints file
Place the I/O in any IOB on the top or bottom edges of the die.
Libraries Guide
4-65
Libraries Guide
Example 4:
A two-letter combination is used to lock to a half-edge in the
following example.
Schematic constraint
loc=tl
Constraints file
Place the I/O in any IOB on the left half of the top edge of the die.
Table 4-12 shows the legal half-edge designations.
Table 4-12 Legal Half-Edge Designations for IOBs
Half-Edge Code
Edge Location
TL
TR
BL
BR
LT
LB
RT
RB
Example 5:
This example constrains I/Os to the right edge of the IOB.
Schematic constraint
loc=r
Constraints file
Place the I/Os in the IOBs on the right edge of the die.
From the schematic, the LOC constraint is attached to all target PAD
symbols.
In the CST file, the wildcard (*) character specifies all instances that
begin with /top-117/q and end with _pad. It identifies the external
signals /top-117/q0_pad, /top-117/q1_pad, and so on.
4-66
IOB Constraints
You can prohibit PPR from using a specific IOB. This step might be
taken to keep user I/O signals away from semi-dedicated configuration pins. Such prohibit constraints can be assigned only through the
CST file.
IOBs are prohibited by specifying a Notplace Instance constraint with
only a wildcard (*) character as the instance name, as shown in the
following example.
Schematic constraint
None
Constraints file
Do not place user I/Os in the IOBs at pins 36, 37, or 41. For pin grid
arrays, pin names such as D14, C16, or H15 are used.
BUFT Constraints
You can constraint 3-state buffers to a specific BUFT, a range of
BUFTs, or a row or column of BUFTs. BUFT constraints can be
assigned from the schematic or through the CST file. BUFT
constraints all refer to locations with a prefix of TBUF, which is the
name of the physical element on the device.
From the schematic, LOC constraints are attached to the target BUFT.
The constraints are then passed into the XNF and XTF files and read
by PPR. For more information on attaching LOC constraints, see the
appropriate user interface guide.
In a constraints file, a BUFT is identified by a unique instance name.
A BUFT instance can found in the XNF file. Assume the following
lines appear in the XNF file. A BUFT symbol can be translated to the
equivalent TBUF type.
sym, /top-72/rd0, TBUF
sym, /top-79/ed7, TBUF
The instance names of these two BUFTs are /top-72/rd0 and
/top-79/ed7. These names are used in the following examples.
Libraries Guide
4-67
Libraries Guide
Example 1:
This example specifies BUFTs adjacent to a specific CLB.
Schematic constraint
loc=TBUF_r1c5
Constraints file
Place the BUFT adjacent to CLB R1C5. You can use either the longline
above the row of CLBs or the longline below.
Example 2:
The following example places a specific BUFT.
Schematic constraint
loc=TBUF_r1c5.1
Constraints file
Place the BUFT adjacent to CLB R1C5. The .1 tag specifies the longline
above the row of CLBs. The .2 tag specifies the longline below it.
BUFTs that drive the same signal must carry consistent constraints. If
you specify the longline for one BUFT constraint, you must specify it
for all constraints on that line of BUFTs. However, not all BUFTs on a
line need be constrained. Constraining one BUFT to a specific
longline forces the remaining BUFTs onto that line.
Example 3:
The next example specifies a column of BUFTs.
Schematic constraint
loc=TBUF_r*c3
Constraints file
4-68
Example 4:
This example specifies a row of BUFTs.
Schematic constraint
loc=TBUF_r7c*
Constraints file
Place the BUFT on either the top or bottom horizontal longline in row
7, in any column. You can use the wildcard (*) character in place of
either the row or column number to specify an entire row or column
of BUFTs.
loc=T
Constraints file
Place the decoder along the top edge of the die. Table 4-13 shows the
legal edge designations.
Table 4-13 Legal Edge Designations for Edge Decoders
Edge Code
Libraries Guide
Edge Location
Top edge
Bottom edge
Left edge
Right edge
TL
4-69
Libraries Guide
Edge Code
Edge Location
TR
BL
BR
LT
LB
RT
RB
loc=TL
Constraints file
Place the global buffer in the top left corner of the die. Table 4-14
shows the legal corner designations.
4-70
Corner Location
TL
TR
BL
BR
Description
Relative location constraints group logic elements into discrete sets.
You can define the location of any element within the set relative to
other elements in the set, regardless of eventual placement in the
overall design. For example, if RLOC constraints are applied to a
group of eight flip-flops organized in a column, PPR maintains the
columnar order and moves the entire group of flip-flops as a single
unit. In contrast, absolute location (LOC) constraints constrain design
elements to specific locations on the FPGA die with no relation to
other design elements.
RLOC constraints allow you to place logic blocks relative to each
other to increase speed, use die resources efficiently, and take advantage of the special carry logic built into the control logic blocks (CLBs)
of the XC4000 devices. They provide an order and structure to related
design elements without requiring you to specify their absolute
placement on the FPGA die. They allow you to replace any existing
hard macro with an equivalent that can be directly simulated.
The relationally placed macro (RPM) library, which replaces the hard
macro library, uses RLOC constraints to define the order and
Libraries Guide
4-71
Libraries Guide
Syntax
The syntax of the RLOC constraint is the following:
RLOC = Rrow#Ccolumn#[.extension]
where the optional .extension can take all the values that are available
with the current absolute LOC syntax: FFX, FFY, F, G, H, 1, and 2. The
1 and 2 values are available for BUFT primitives, and the rest are
4-72
available for primitives associated with CLBs. Only extensions for the
XC4000 family designs are currently supported.
The row and column numbers can be any positive integer, including
zero. Absolute die locations, in contrast, cannot have zero as a row or
column number. Because row and column numbers in RLOC
constraints define only the order and relationship between design
elements and not their absolute die locations, their numbering can
include zero. Even though you can use any positive integer in
numbering rows and columns for RLOC constraints, it is recommended that you use small integers for clarity and ease of use.
It is not the absolute values of the row and column numbers that is
important in RLOC specifications but their relative values or differences. For example, if design element A has an RLOC=R3C4
constraint and design element B has an RLOC=R6C7 constraint, the
absolute values of the row numbers (3 and 6) are not important in
themselves. However, the difference between them is important; in
this case, 3 (6 -3) specifies that the location of design element B is
three rows away from the location of design element A. To capture
this information, a normalization process is used at some point in the
design implementation. In the example just given, normalization
would reduce the RLOC on design element A to R0C0, and the RLOC
on design element B to R3C3.
In Xilinx programs, rows are numbered in increasing order from top
to bottom, and columns are numbered in increasing order from left to
right. RLOC constraints follow this numbering convention.
Figure 4-5a demonstrates the use of RLOC constraints. Four flip-flop
primitives named A, B, C, and D are assigned RLOC constraints as
shown. These RLOC constraints require each flip-flop to be placed in
a different CLB in the same column and stacked in the order shown:
A above B, C, and D. Within a CLB, however, they can be placed
either in the FFX or FFY position.
If you wish to place more than one of these flip-flop primitives per
CLB, you can specify the RLOCs as shown in Figure 4-5b. The
arrangement in Figure 4-5b requires that A and B be placed in a
single CLB and that C and D be placed in another CLB immediately
below the AB CLB. However, within a CLB, the flip-flops can be
placed in either of the two flip-flop positions, FFX or FFY.
Libraries Guide
4-73
Libraries Guide
RLOC = R0C0
(b)
A
B
RLOC = R1C0
C
D
(c)
RLOC = R0C0
RLOC = R0C0
RLOC = R1C0
RLOC = R1C0
RLOC = R0C0.FFX
RLOC = R0C0.FFY
RLOC = R1C0.FFX
RLOC = R1C0.FFY
RLOC = R2C0
RLOC = R3C0
X4292
RLOC Sets
As noted previously, RLOC constraints give order and structure to
related design elements. This section describes RLOC sets, which are
groups of related design elements to which RLOC constraints have
been applied. For example, the four flip-flops in Figure 4-5 are related
by RLOC constraints and form a set. Elements in a set are related by
RLOC constraints to other elements in the same set. Each member of
a set must have an RLOC constraint, which relates it to other
elements in the same set. You can create multiple sets, but a design
element can belong to one set only.
4-74
Linkage rules specify how elements can be linked to other elements to form a single set.
U_SET
U_SET constraints enable you to group into a single set design
elements with attached RLOC constraints that are distributed
throughout the design hierarchy. The letter U in the name U_SET
indicates that the set is user-defined. U_SET constraints allow you to
group elements, even though they are not directly related by the
design hierarchy. By attaching a U_SET constraint to design elements,
you can explicitly define the members of a set. The design elements
tagged with a U_SET constraint can exist anywhere in the design
hierarchy; they can be primitive or non-primitive symbols. When
attached to non-primitive symbols, the U_SET constraint propagates
to all the primitive symbols with RLOC constraints that are below it
in the hierarchy.
The syntax of the U_SET constraint is the following:
U_SET=name
where name is the user-specified identifier of the set. All design
elements with RLOC constraints tagged with the same U_SET
constraint name belong to the same set. Names therefore must be
unique among all the sets in the design.
Libraries Guide
4-75
Libraries Guide
H_SET
In contrast to the U_SET constraint, which you explicitly define by
tagging design elements, the H_SET (hierarchy set) is defined implicitly through the design hierarchy. The combination of the design hierarchy and the presence of RLOC constraints on elements defines a
hierarchical set, or H_SET set. You do not use an HSET constraint to
tag the design elements to indicate their set membership. The set is
defined automatically by the design hierarchy. All design elements
with RLOC constraints at a single node of the design hierarchy are
considered to be in the same H_SET set unless they are tagged with
another type of set constraint such as RLOC_ORIGIN or
RLOC_RANGE. These constraints are discussed later in this chapter.
If you explicitly tag any element with an RLOC_ORIGIN,
RLOC_RANGE, U_SET, or HU_SET constraint, it is removed from an
H_SET set. Most designs contain only H_SET constraints, since they
are the underlying mechanism for relationally placed macros.
The design-flattening program, XNFMerge, recognizes the implicit
H_SET set, derives its name, or identifier, attaches the H_SET
constraint to the correct members of the set, and writes them to the
output file.
The syntax of the H_SET constraint as generated by XNFMerge
follows:
H_SET=name
Name is the identifier of the set and is unique among all the sets in the
design. The base name for any H_SET is hset, to which XNFMerge
adds a hierarchy path prefix to obtain unique names for different
H_SET sets in the XNFMerge output file.
4-76
Design-top
RLOC
= >H_SET = Inst1/hset
Inst2
Macro A
Macro A
Inst1
RLOC
= >H_SET = Inst2/hset
RLOC
= >H_SET = Inst1/hset
RLOC
= >H_SET = Inst2/hset
RLOC
= >H_SET = Inst1/hset
RLOC
= >H_SET = Inst2/hset
RLOC
= >H_SET = Inst1/hset
RLOC
= >H_SET = Inst2/hset
X4294
Libraries Guide
4-77
Libraries Guide
The name of the H_SET set is derived from the symbol or node in the
hierarchy that includes all the RLOC elements. In Figure 4-6, Inst1 is
the node (instantiating macro) that includes the four flip-flop
elements with RLOCs shown on the left of Figure 4-6. Therefore, the
name of this H_SET set is the hierarchically qualified name of Inst1
followed by hset. The Inst1 symbol is considered the start of the
H_SET, which gives a convenient handle to the entire H_SET and
attaches constraints that modify the entire H_SET. Constraints that
modify sets are discussed later in this chapter.
Figure 4-6 demonstrates the simplest use of a set that is defined and
confined to a single level of hierarchy. Through linkage and modification, you can also create an H_SET set that is linked through two or
more levels of hierarchy. Linkage allows you to link elements through
the hierarchy into a single set. On the other hand, modification allows
you to modify RLOC values of the members of a set through the hierarchy.
Set Linkage
The example in Figure 4-7 explains and illustrates the process of
linking together elements through the design hierarchy. Again, the
complete RLOC specification, RLOC=Rrow#Ccol#, is required for a
real design.
Note: In this and other illustrations in this section, the sets are shaded
differently to distinguish one set from another.
4-78
Design-top
RLOC
RLOC
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/E/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/E/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/D/L/hset
RLOC
= > H_SET = A/D/L/hset
S
X4295
Libraries Guide
4-79
Libraries Guide
Set Modification
As noted earlier, the RLOC constraint assigns a primitive an RLOC
value (the row and column numbers with the optional extensions),
specifies its membership in a set, and links together elements at
different levels of the hierarchy. In Figure 4-7, the RLOC constraint on
macros C and D links together all the objects with RLOC constraints
below them. An RLOC constraint is also used to modify the RLOC
values of constraints below it in the hierarchy. In other words, RLOC
values of elements affect the RLOC values of all other member
elements of the same H_SET set that lie below the given element in
the design hierarchy.
When the design is flattened, the row and column numbers of an
RLOC constraint on an element are added to the row and column
numbers of the RLOC constraints of the set members below it in the
hierarchy. This feature gives you the ability to modify existing RLOC
values in submodules and macros without changing the previously
assigned RLOC values on the primitive symbols. This modification
process also applies to the optional extension field. However, when
using extensions for modifications, you must ensure that inconsistent
extensions are not attached to the RLOC value of a design element
that may conflict with RLOC extensions placed on underlying
4-80
XNFMerge adds
R5C3.FFX below to
create new RLOC
Design-top
RLOC = R2C3
X4296
Libraries Guide
4-81
Libraries Guide
Inst2
RLOC = R0C0
RLOC = R0C1
RLOC = R0C0
= >H_SET = hset
RLOC = R1C0
= >H_SET = hset
RLOC = R2C0
= >H_SET = hset
RLOC = R3C0
= >H_SET = hset
Macro A
Macro A
add R0C0no
change
HU_SET
The HU_SET constraint is a variation of the implicit H_SET (hierarchy set). Like H_SET, HU_SET is defined by the design hierarchy.
However, you can use the HU_SET constraint to assign a userdefined name to the HU_SET.
The syntax of the HU_SET constraint is the following:
HU_SET=name
4-82
where name is the identifier of the set; it must be unique among all the
sets in the design. You must define the base names to ensure unique
hierarchically qualified names for the sets after XNFMerge flattens
the design and attaches the hierarchical names as prefixes.
This user-defined name is the base name of the HU_SET set. Like the
H_SET set, in which the base name of hset is prefixed by the hierarchical name of the lowest common ancestor of the set elements, the
user-defined base name of an HU_SET set is prefixed by the hierarchical name of the lowest common ancestor of the set elements.
The HU_SET constraint defines the start of a new set: all design
elements at the same node that have the same user-defined value for
the HU_SET constraint are members of the same HU_SET set. Along
with the HU_SET constraint, elements can also have an RLOC
constraint. The presence of an RLOC constraint in an H_SET
constraint links the element to all elements tagged with RLOCs above
and below in the hierarchy. However, in the case of an HU_SET
constraint, the presence of an RLOC constraint along with the
HU_SET constraint on a design element does not automatically link
the element to other elements with RLOC constraints at the same
hierarchy level or above.
Libraries Guide
4-83
Libraries Guide
Design-top
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
RLOC
HU_SET = bar
RLOC
= > H_SET = A/hset
RLOC
= > HU_SET = A/bar
RLOC
= > H_SET = A/hset
RLOC
= > HU_SET = A/bar
RLOC
RLOC
= > HU_SET = A/bar
HU_SET = bar
RLOC
= > HU_SET = A/E/bar
X4298
4-84
RLOC
= > H_SET = A/hset
RLOC
= > H_SET = A/hset
HU_SET = bar
RLOC
HU_SET = bar
RLOC
= > HU_SET = A/bar
RLOC
= > HU_SET = A/bar
RLOC
= > HU_SET = A/bar
X4299
Set Modifiers
A modifier, as its name suggests, modifies the RLOC constraints associated with design elements. Since it modifies the RLOC constraints
of all the members of a set, it must be applied in a way that propagates it to all the members of the set easily and intuitively.
Libraries Guide
4-85
Libraries Guide
For this reason, the RLOC modifiers of a set are placed at the start of
that set. This section discusses the different modifiers that you can
use to modify the RLOC set constraints.
RLOC
As discussed previously, the RLOC constraint associated with a
design element modifies the values of other RLOC constraints below
the element in the hierarchy of the set. Regardless of the set type,
RLOC row, column, and extension values on an element always propagate down the hierarchy and are added at lower levels of the hierarchy to RLOC constraints on elements in the same set.
RLOC_ORIGIN
Specifying RLOC constraints to describe the spatial relationship of
the set members to themselves allows the members of the set to float
anywhere on the die as a unit. You can, however, fix the exact die
location of the set members. The RLOC_ORIGIN constraint allows
you to change the RLOC values into absolute LOC constraints that
respect the structure of the set.
Following is the syntax of this constraint:
RLOC_ORIGIN=Rrow#Ccolumn#
where the row and column numbers are positive non-zero integer
values. When an RLOC_ORIGIN constraint is applied to a set, the
row and column values of the RLOC_ORIGIN are added to the individual RLOC values of the members of the set to obtain a final LOC
constraint for each element in the set. Since the row and column
numbers of an RLOC_ORIGIN constraint refer to actual die locations,
its value must exclude zero.
Note: In the XACT 5.0 release, you must use the RLOC_ORIGIN constraint with sets that include BUFT symbols. Sets with BUFT symbols
must be fixed to an exact die location.
The design flattening program, XNFMerge, translates the
RLOC_ORIGIN constraint into LOC constraints. The row and column
values of the RLOC_ORIGIN are added individually to the members
of the set after all RLOC modifications have been made to their row
and column values by addition through the hierarchy. The final
values are then turned into LOC constraints on individual primitives.
4-86
Libraries Guide
4-87
Libraries Guide
Design-top
RLOC_ORIGIN = R2C3
= >LOC = CLB_R2C3
= >LOC = CLB_R3C3
= >LOC = CLB_R4C3
RLOC = R0C1
= >LOC = CLB_R2C4
= >LOC = CLB_R3C4
X4300
4-88
Design-top
RLOC_ORIGIN = R1C2
add RLOC_ORIGIN
to H_SET
add RLOC_ORIGIN
to H_SET
HU_SET = bar
HU_SET = bar
RLOC_ORIGIN = R3C3
RLOC = R0C1
add RLOC_ORIGIN
and RLOC below
X4301
RLOC_RANGE
As noted in the previous discussion, you can fix the members of a set
at exact die locations with the RLOC_ORIGIN constraint. In the
XACT 5.0 release, you must use the RLOC_ORIGIN constraint with
sets that include BUFT symbols. However, for sets that do not include
BUFT symbols, you can limit the members of a set to a certain range
on the die. In this case, the set could float as a unit within the range
until a final placement. Since every member of the set must fit within
the range, it is important that you specify a range that defines an area
large enough to respect the spatial structure of the set.
Libraries Guide
4-89
Libraries Guide
USE_RLOC
Another important set modifier is the USE_RLOC constraint. It turns
the RLOC constraints on and off for a specific element or section of a
set.
The syntax of this constraint is:
USE_RLOC=value
where value is either True or False.
The application of the USE_RLOC constraint is strictly based on hierarchy. A USE_RLOC constraint attached to an element applies to all
4-90
USE_RLOC = FALSE
RLOC = R0C0
Parameters removed
RLOC = R1C0
Parameters removed
HU_SET = bar
RLOC = R0C0
HU_SET = bar
RLOC = R0C1
USE_RLOC = FALSE
RLOC = R1C0
= HU_SET = A/bar
RLOC = R0C0
propagate
USE_RLOC
and remove
set parameters
below
RLOC = R1C0
Parameters
removed
Parameters
removed
X4302
Libraries Guide
4-91
Libraries Guide
U_SET = bar
RLOC = R0C0
U_SET = bar
RLOC = R1C0
U_SET = bar
RLOC = R2C0
U_SET = bar
USE_RLOC = FALSE
U_SET = bar
RLOC = R3C0
propagate USE_RLOC
and remove set parameters
below
Parameters
removed
Parameters
removed
USE_RLOC = FALSE
X4303
4-92
Xilinx Macros
Xilinx-supplied flip-flop macros include an RLOC_R0C0 constraint
on the underlying primitive, which allows you to attach an RLOC to
the macro symbol. This symbol links the underlying primitive to the
set that contains the macro symbol. Simply attach an appropriate
RLOC constraint to the instantiation of the actual Xilinx flip-flop
macro. XNFMerge adds the RLOC value that you specified to the
underlying primitive so that it has the desired value.
FDRE Macro
CE
Q
FD
D
R
C
RLOC=R0C0
Inst 1
RLOC = R1C1
Propagate R1C1
FDRE
Libraries Guide
4-93
Libraries Guide
Summary
Table 4-15 summarizes the RLOC set types and the constraints that
identify members of these sets.
Table 4-15 Summary of Set Types
Type
Definition
Set
U_SET=
name
All elements
with the same
user-tagged
U_SET constraint value are
members of the
same U_SET set.
4-94
Naming
Linkage
Modification
Type
Definition
Naming
Linkage
Modification
H_SET
(implicit
through
hierarchy) is
not available as a
constraint
that you
can attach
to symbols.
RLOC on the
node. Any other
constraint
removes a node
from the H_SET
set.
H_SET is modified
by applying
RLOC_ORIGIN
and
RLOC_RANGE at
the start of the set:
the lowest common ancestor of
all the elements of
the set.
HU_SET links to
other elements at
the same node
with the same
HU_SET constraint value. It
links to elements
with RLOC constraints below.
Libraries Guide
4-95
Libraries Guide
FMAPs, HMAPs, and CLB-grouping attributes to control mapping. FMAPs and HMAPs have pin-lock attributes, which allow
better control over routing. FMAPs and HMAPs are described in
the Mapping Constraints section of the PPR Placement Constraints section earlier in this chapter.
Relative location (RLOC) constraints to provide placement structure. They allow positioning of elements relative to each other.
They are discussed in the Relative Location Constraints section
earlier in this chapter.
These elements allow you to access carry logic easily and to control
mapping and block placement. Because RPMs are a super-set of ordinary macros, you can design them in the normal design entry environment. They can include any primitive logic. The macro logic is
fully visible to you and can be easily back-annotated with timing
information.
4-96
RPMs do not include routing capability. XACT-Performance specifications address timing issues more effectively.
CY4_08
CY4_15
CY4_22
CY4_29
CY4_36
ADD-F-CI
SUB-G-1
ADDSUB-G-CI
INC-G-CI
DEC-G-CI
INCDEC-G-CI
X4460
X4467
X4474
X4481
X4488
X4495
CY4_02
CY4_09
CY4_16
CY4_23
CY4_30
CY4_37
ADD-FG-CI
SUB-G-CI
ADDSUB-G-F3-
INC-G-F3-
DEC-G-F3-
FORCE-0
X4461
X4468
X4475
X4482
X4489
X4496
CY4_03
CY4_10
CY4_17
CY4_24
CY4_31
CY4_38
ADD-G-F1
SUB-G-F1
INC-F-CI
DEC-F-CI
INCDEC-F-CI
FORCE-1
X4462
X4469
X4476
X4483
X4490
X4497
CY4_04
CY4_11
CY4_18
CY4_25
CY4_32
CY4_39
ADD-G-CI
SUB-G-F3
INC-FG-CI
DEC-FG-CI
INCDEC-FG-CI
FORCE-F1
X4463
X4470
X4477
X4484
X4491
X4498
CY4_05
CY4_12
CY4_19
CY4_26
CY4_33
CY4_40
ADD-G-F3
ADDSUB-F-CI
INC-FG-1
DEC-FG-0
INCDEC-FG-1
FORCE-CI
X4464
X4471
X4478
X4485
X4492
X4499
CY4_06
CY4_13
CY4_20
CY4_27
CY4_34
CY4_41
SUB-F-CI
ADDSUB-FG-CI
INC-G-1
DEC-G-0
INCDEC-G-0
FORCE-F3-
X4465
X4472
X4479
X4486
X4493
X4500
CY4_07
CY4_14
CY4_21
CY4_28
CY4_35
CY4_42
SUB-FG-CI
ADDSUB-G-F1
INC-G-F1
DEC-G-F1
INCDEC-G-F1
EXAMINE-CI
X4466
X4473
X4480
X4487
X4494
X4501
Libraries Guide
4-97
Libraries Guide
The XC4000 CLB contains a feature called dedicated carry logic. This
carry logic is independent of the function generators, although it
shares some of the same input pins. Dedicated interconnect propagates carry signals through a column of CLBs. The carry logic in each
CLB can implement approximately 40 different functions, which you
can use to build faster and more efficient adders, subtracters,
counters, comparators, and so forth. Figure 4-18 shows the carry logic
in an XC4000 CLB.
COUT
G4
M
G3
G4
G3
G2
G4
COUT1
G
Carry
Logic
G1
G2
F3
G1
COUT0
G1
M
F4
F4
F3
F3
F2
F2
F1
F1
F1
CIN
F3
COUT0
F
Carry
Logic
F2
DOWN
X4592
CIN
UP
4-98
Libraries Guide
Symbol
ADD-F-CI
cy4_01
ADD-FG-CI
cy4_02
ADD-G-F1
cy4_03
ADD-G-CI
cy4_04
ADD-G-F3
cy4_05
ADDSUB-F-CI
cy4_12
ADDSUB-FG-CI
cy4_13
ADDSUB-G-F1
cy4_14
ADDSUB-G-CI
cy4_15
ADDSUB-G-F3
cy4_16
FORCE-0
cy4_37
FORCE-1
cy4_38
FORCE-F1
cy4_39
FORCE-CI
cy4_40
FORCE-F3
cy4_41
EXAMINE-CI
cy4_42
DEC-F-CI
cy4_24
DEC-FG-CI
cy4_25
DEC-FG-0
cy4_26
DEC-G-0
cy4_27
DEC-G-F1
cy4_28
DEC-G-CI
cy4_29
DEC-G-F3-
cy4_30
4-99
Libraries Guide
Symbol
INC-F-CI
cy4_17
INC-FG-CI
cy4_18
INC-FG-1
cy4_19
INC-G-1
cy4_20
INC-G-F1
cy4_21
INC-G-CI
cy4_22
INC-G-F3-
cy4_23
SUB-F-CI
cy4_06
SUB-FG-CI
cy4_07
SUB-G-1
cy4_08
SUB-G-F1
cy4_10
SUB-G-CI
cy4_09
SUB-G-F3
cy4_11
INCDEC-F-CI
cy4_31
INCDEC-FG-CI
cy4_32
INCDEC-FG-1
cy4_33
INCDEC-G-0
cy4_34
INCDEC-G-F1
cy4_35
INCDEC-G-CI
cy4_36
4-100
If neither the COUT0 pin nor the COUT pin is used, the CY4 symbol is removed from the design. However, if the signal on the CIN
pin connects to other logic, XNFPrep converts the CY4 to the
EXAMINE-CI mode. An EXAMINE-CI mode CY4 is trimmed
only if there is no other load on the signal on the CIN pin.
If the COUT0 pin is used but the COUT pin is not, XNFPrep
attempts to convert the CY4 symbol to use a 1-bit equivalent
mode. That is, if the mode was originally of the form -FG-CI, it
converts it to the equivalent -F-CI mode, allowing signals to be
removed from the CY4 A1 and B1 operand inputs, which may
save routing resources.
If the specified mode does not require any of the A0, B0, A1, B1,
and/or ADD CY4 inputs, XNFPrep removes the signals from
these pins, which may save routing resources.
The second field (FG) indicates which of the two function generators is used in the specified operation, in this case, both F and G.
The last field (CI) specifies the source of the carry-in signal to the
CLB, in this case, the CIN pin itself.
Libraries Guide
4-101
Libraries Guide
The default F and G functions and default F4, G2, and G3 inputs are
based on the generic CLB function described. You can change these
defaults as required, allowing for features such as parallel enable or
synchronous reset. However, if these defaults are changed, the CLB
may no longer function as the mnemonic describes.
The COUT0 and COUT1 equations are absolutely determined by the
carry mode configuration mnemonic. The only way to change these
carry logic outputs is by selecting a different mnemonic.
ADD-F-CI
The ADD-F-CI configuration performs a 1-bit addition of A+B in the
F function generator, with the A and B inputs on the F1 and F2 pins.
The carry signal enters on the CIN pin, propagates through the F
carry logic, and exits on the COUT pin. This configuration can be
used as the MSB of an adder, with the G function generator accessing
the carry-out signal or calculating a twos-complement overflow.
F=(F1@F2)@F4
COUT0=(F1*F2) + CIN*(F1+F2)
G=
COUT1=COUT0
F4=CIN
G2=G2I (COUT0 for overflow, OFL=G2@G3, or for carry-out,
CO=G2)
G3=G3I (CIN for overflow, OFL=G2@G3)
4-102
ADD-FG-CI
The ADD-FG-CI configuration performs a 2-bit addition of A+B in
both the F and G function generators, with the lower-order A and B
inputs on the F1 and F2 pins, and the higher-order A and B inputs on
the G1 and G4 pins. The carry signal enters on the CIN pin, propagates through the F and G carry logic, and exits on the COUT pin.
This configuration comprises the middle bits of an adder.
F=(F1@F2)@F4
COUT0=(F1*F2) + CIN*(F1+F2)
G=(G4@G1)@G2
COUT1=(G4*G1) + COUT0*(G4+G1)
F4=CIN
G2=COUT0
G3=G3I
ADD-G-F1
The ADD-G-F1 configuration performs a 1-bit addition of A+B in the
G function generator, with the A and B inputs on the G1 and G4 pins.
The carry signal enters on the F1 pin, propagates through the G carry
logic, and exits on the COUT pin. This configuration comprises the
LSB of an adder, where the carry-in signal is routed to F1. The F function generator is not used.
F=
COUT0=F1
G=(G4@G1)@G2
COUT1=(G4*G1) + COUT0*(G4+G1)
F4=F4I
G2=COUT0
G3=G3I
Libraries Guide
4-103
Libraries Guide
ADD-G-CI
The ADD-G-CI configuration performs a 1-bit addition of A+B in the
G function generator, with the A and B inputs on the G1 and G4 pins.
The carry signal enters on the CIN pin, propagates through the G
carry logic, and exits on the COUT pin. This configuration is for the
middle bit of an adder, where the F function generator is reserved for
another purpose.
F=
COUT0=CIN
G=(G4@G1)@G2
COUT1=(G4*G1) + COUT0*(G4+G1)
F4=F4I
G2=COUT0
G3=G3I
4-104
SUB-F-CI
The SUB-F-CI configuration performs a 1-bit twos-complement
subtraction of A-B in the F function generator, with the A input on F1
and the B input on F2. The carry signal enters on the CIN pin, propagates through the F carry logic, and exits on the COUT pin. This
configuration can be used as the MSB of a subtracter, with the G function generator accessing the carry-out signal or calculating a twoscomplement overflow.
F=(F1@F2)@~F4=~(F1@F2@F4)
COUT0=(F1*~F2) + CIN*(F1+~F2)
G=
COUT1=COUT0
F4=CIN
G2=G2I (COUT0 for overflow, OFL=G2@G3, or for carry-out,
CO=G2)
G3=G3I (CIN for overflow, OFL=G2@G3)
SUB-FG-CI
The SUB-FG-CI configuration performs a 2-bit twos-complement
subtraction of A-B in both the F and G function generators. For the
lower bit, the A input is on F1 and the B input is on F2. For the upper
bit, the A input is on G4 and the B input is on G1. The carry signal
enters on the CIN pin, propagates through the F and G carry logic,
and exits on the COUT pin. This configuration comprises the middle
bits of a subtracter.
F=(F1@F2)@~F4=~(F1@F2@F4)
COUT0=(F1*~F2) + CIN*(F1+~F2)
G=(G4@G1)@~G2=~(G4@G1@G2)
COUT1=(G4*~G1) +COUT0*(G4+~G1)
F4=CIN
G2=COUT0
G3=G3I
Libraries Guide
4-105
Libraries Guide
SUB-G-1
The SUB-G-1 configuration performs a 1-bit twos-complement
subtraction of A-B in the G function generator, with the A input on
G4 and the B input on G1. The carry-in is tied High (no borrow). The
carry signal propagates through the G carry logic and exits on the
COUT pin. This configuration comprises the LSB of a subtracter with
no carry-in. The F function generator is not used.
F=
COUT0=1
G=(G4@G1)
COUT1=(G4+~G1)
F4=F4I
G2=G2I
G3=G3I
SUB-G-F1
The SUB-G-F1 configuration performs a 1-bit twos-complement
subtraction of A-B in the G function generator, with the A input on
G4 and the B input on G1. The carry signal enters on the F1 pin, propagates through the G carry logic, and exits on the COUT pin. This
configuration comprises the LSB of a subtracter, where the carry-in
signal is routed to F1. The F function generator is not used.
F=
COUT0=F1
G=(G4@G1)@~G2=~(G4@G1@G2)
COUT1=(G4*~G1) + COUT0*(G4+~G1)
F4=F4I
G2=COUT0
G3=G3I
4-106
SUB-G-CI
The SUB-G-CI configuration performs a 1-bit twos-complement
subtraction of A-B in the G function generator, with the A input on
G4 and the B input on G1. The carry signal enters on the CIN pin,
propagates through the G carry logic, and exits on the COUT pin.
This configuration is for the middle bit of a subtracter, where the F
function generator is reserved for another purpose.
F=
COUT0=CIN
G=(G4@G1)@~G2=~(G4@G1@G2)
COUT1=(G4*~G1) + COUT0*(G4+~G1)
F4=F4I
G2=COUT0
G3=G3I
Libraries Guide
4-107
Libraries Guide
ADDSUB-F-CI
The ADDSUB-F-C1 configuration performs a 1-bit twos-complement
add/subtract of A+B in the F function generator, with the A input on
F1 and the B input on F2. The carry signal enters on the CIN pin,
propagates through the F carry logic, and exits on the COUT pin. The
F3 input indicates add (F3=1) or subtract (F3=0). This configuration
can be used as the MSB of an adder/subtracter, with the G function
generator accessing the carry-out signal or calculating a twos-complement overflow.
F=(F1@F2)@F4@~F3=~(F1@F2@F4@F3)
COUT0=F3*((F1*F2) + CIN*(F1+F2)) + ~F3*((F1*~F2) +
CIN*(F1+~F2))
G=
COUT1=COUT0
F4=CIN
G2=G2I (COUT0 for overflow, OFL=G2@G3, or for carry-out,
CO=G2)
G3=G3I (CIN for overflow, OFL=G2@G3)
ADDSUB-FG-CI
The ADDSUB-FG-CI configuration performs a 2-bit twos- complement add/subtract of A+B in both the F and G function generators.
For the lower bit, the A input is on F1 and the B input is on F2. For the
upper bit, the A input is on G4 and the B input is on G1. The carry
signal enters on the CIN pin, propagates through the F and G carry
logic, and exits on the COUT pin. The F3 and G3 inputs indicate add
(F3=G3=1) or subtract (F3=G3=0): the add/subtract control signal
must be routed to both the F3 and G3 pins. This configuration
comprises the middle bits of an adder/subtracter.
F=(F1@F2)@F4@~F3=~(F1@F2@F4@F3)
COUT0=F3*((F1*F2) + CIN*(F1+F2)) + ~F3*((F1*~F2) +
CIN*(F1+~F2))
G=(G4@G1)@G2@~G3=~(G4@G1@G2@G3)
4-108
COUT1=F3*((G4*G1)+COUT0*(G4+G1))+~F3*((G4*~G1)+COUT0*(G
4+~G1))
F4=CIN
G2=COUT0
G3=G3I
ADDSUB-G-F1
The ADDSUB-G-F1 configuration performs a 1-bit twos-complement
add/subtract of A+B in the G function generator, with the A input on
G4 and the B input on G1. The carry signal enters on the F1 pin, propagates through the G carry logic, and exits on the COUT pin. The F3
and G3 inputs indicate add (F3=G3=1) or subtract (F3=G3=0): the
add/subtract control signal must be routed to both the F3 and G3
pins. This configuration comprises the LSB of an adder/subtracter,
where the carry-in signal is routed to F1. The F function generator is
not used.
F=
COUT0=F1
G=(G4@G1)@G2@~G3=~(G4@G1@G2@G3)
COUT1=F3*((G4*G1)+COUT0*(G4+G1))+~F3*((G4*~G1)+COUT0*(G
4+~G1))
F4=F4I
G2=COUT0
G3=G3I
Libraries Guide
4-109
Libraries Guide
ADDSUB-G-CI
The ADDSUB-G-CI configuration performs a 1-bit twos-complement
add/subtract of A+B in the G function generator, with the A input on
G4 and the B input on G1. The carry signal enters on the CIN pin,
propagates through the G carry logic, and exits on the COUT pin. The
F3 and G3 inputs indicate add (F3=G3=1) or subtract (F3=G3=0): the
add/subtract control signal must be routed to both the F3 and G3
pins. This configuration is for the middle bit of an adder/subtracter,
where the F function generator is reserved for another purpose.
F=
COUT0=CIN
G=(G4@G1)@G2@~G3=~(G4@G1@G2@G3)
COUT1=F3*((G4*G1)+COUT0*(G4+G1))+~F3*((G4*~G1)+COUT0*(G
4+~G1))
F4=F4I
G2=COUT0
G3=G3I
INC-F-CI
The INC-F-CI configuration performs a 1-bit increment in the F function generator, with the input on the F1 pin. The carry signal enters
on the CIN pin, propagates through the F carry logic, and exits on the
COUT pin. The G function generator can be used to output the
terminal count of a counter.
F=(F1@F4)
COUT0=CIN*F1
G=
COUT1=COUT0
F4=CIN
G2=G2I (COUT0 for terminal count, TC=G2)
G3=G31
INC-FG-CI
The INC-FG-CI configuration performs a 2-bit increment in both the
F and G function generators, with the lower-order input on the F1 pin
and the higher-order input on the G4 pin. The carry signal enters on
the CIN pin, propagates through the F and G carry logic, and exits on
the COUT pin. This configuration comprises the middle bits of an
incrementer.
F=(F1@F4)
COUT0=CIN*F1
G=(G4@G2)
COUT1=COUT0*G4
F4=CIN
G2=COUT0
G3=G3I
Libraries Guide
4-111
Libraries Guide
INC-G-1
The INC-G-1 configuration performs a 1-bit increment in the G function generator, with the input on the G4 pin. The carry-in is tied High.
The carry signal propagates through the G carry logic and exits on the
COUT pin. This configuration comprises the LSB of an incrementer
that is always enabled. The F function generator is not used. This
configuration is identical to DEC-G-0, since the LSB of an incrementer
is identical to the LSB of a decrementer.
F=
COUT0=0
G=~(G4)
COUT1=G4
F4=F4I
G2=G2I
G3=G3I
INC-G-F1
The INC-G-F1 configuration performs a 1-bit increment in the G function generator, with the input on the G4 pin. The carry signal enters
on the F1 pin, propagates through the G carry logic, and exits on the
COUT pin. This configuration comprises the LSB of an incrementer
where F1 is an active-High enable. The F function generator is not
used.
F=
COUT0=F1
G=(G4@G2)
COUT1=COUT0*G4
F4=F4I
G2=COUT0
G3=G3I
4-112
INC-G-CI
The INC-G-CI configuration performs a 1-bit increment in the G
function generator, with the input on the G4 pin. The carry signal
enters on the CIN pin, propagates through the G carry logic, and exits
on the COUT pin. This configuration is for the middle bit of an incrementer where the F function generator is reserved for another
purpose.
F=
COUT0=CIN
G=(G4@G2)
COUT1=COUT0*G4
F4=F4I
G2=COUT0
G3=G3I
Libraries Guide
4-113
Libraries Guide
INC-FG-1
The INC-FG-1 configuration performs a 2-bit increment in both the F
and G function generator, with the lower-order A input on the F1 pin
and the higher-order A input on the G4 pin. The carry-in is tied High.
The carry signal propagates through the F and G carry logic and exits
on the COUT pin. This configuration comprises the two least significant bits of an incrementer that is always enabled.
F=~(F1)
COUT0=F1
G=G2@G4
COUT1=COUT0*G4
F4=F4I or CIN
G2=COUT0
G3=G3I or CIN
DEC-F-CI
The DEC-F-CI configuration performs a 1-bit decrement in the F function generator, with the input on the F1 pin. The carry signal enters
on the CIN pin, propagates through the F carry logic, and exits on the
COUT pin. The G function generator can be used to output the
terminal count of a counter.
F=~(F1@F4)
COUT0=F1+CIN*~F1
G=
COUT1=COUT0
F4=CIN
G2=G2I (COUT0 for terminal count, TC=G2)
G3=G31
4-114
DEC-FG-CI
The DEC-FG-CI configuration performs a 2-bit decrement in both the
F and G function generators, with the lower-order input on the F1 pin
and the higher-order input on the G4 pin. The carry signal enters on
the CIN pin, propagates through the F and G carry logic, and exits on
the COUT pin. This configuration comprises the middle bits of a
decrementer.
F=~(F1@F4)
COUT0=F1+CIN*~F1
G=~(G4@G2)
COUT1=G4+COUT0*~G4
F4=CIN
G2=COUT0
G3=G3I
DEC-G-0
The DEC-G-0 configuration performs a 1-bit decrement in the G function generator, with the input on the G4 pin. The carry-in is tied High
(no borrow). The carry signal propagates through the G carry logic
and exits on the COUT pin. This configuration comprises the LSB of a
decrementer that is always enabled. The F function generator is not
used. This configuration is identical to INC-G-1, since the LSB of an
incrementer is identical to the LSB of a decrementer.
F=
COUT0=0
G=~(G4)
COUT1=G4
F4=F4I
G2=G2I
G3=G3I
Libraries Guide
4-115
Libraries Guide
DEC-G-F1
The DEC-G-F1 configuration performs a 1-bit decrement in the G
function generator, with the input on the G4 pin. The carry signal
enters on the F1 pin, propagates through the G carry logic, and exits
on the COUT pin. This configuration comprises the LSB of a decrementer where F1 is an active-Low enable. The F function generator is
not used.
F=
COUT0=F1
G=~(G4@G2)
COUT1=COUT0 + G4
F4=F4I
G2=COUT0
G3=G3I
DEC-G-CI
The DEC-G-CI configuration performs a 1-bit decrement in the G
function generator, with the input on the G4 pin. The carry signal
enters on the CIN pin, propagates through the G carry logic, and exits
on the COUT pin. This configuration is for the middle bit of a decrementer, where the F function generator is reserved for another
purpose.
F=
COUT0=CIN
G=~(G4@G2)
COUT1=G4+COUT0*~G4
F4=F4I
G2=COUT0
G3=G3I
4-116
DEC-FG-0
The DEC-FG-0 configuration performs a 2-bit decrement in both the F
and G function generator, with the lower-order input on the F1 pin
and the higher order input on the G4 pin. The carry-in is tied Low.
The carry signal propagates through the F and G carry logic and exits
on the COUT pin. This configuration comprises the two least significant bits of a decrementer that is always enabled.
F=~(F1)
COUT0=F1
G=~(G4@G2)
COUT=COUT1=(COUT0*~G4) + G4
F4=F4I
G2=COUT0
G3=G3I
Libraries Guide
4-117
Libraries Guide
INCDEC-F-CI
The INCDEC-F-CI configuration performs a 1-bit increment/decrement in the F function generator, with the input on the F1 pin. The
carry signal enters on the CIN pin, propagates through the F carry
logic, and exits on the COUT pin. The F3 input indicates increment
(F3=1) or decrement (F3=0). The G function generator can be used to
output the terminal count of a counter.
F=(F1@F4)@~F3
COUT0=~F3*(F1+ CIN) + F3*F1*CIN
G=
COUT1=COUT0
F4=CIN
G2=G2I (COUT0 for terminal count, TC=G2)
G3=G31
INCDEC-FG-CI
The INCDEC-FG-CI configuration performs a 2-bit increment/decrement in both the F and G function generators, with the lower-order
input on the F1 pin and the higher-order input on the G4 pin. The
carry signal enters on the CIN pin, propagates through the F and G
carry logic, and exits on the COUT pin. The F3 and G3 inputs indicate
increment (F3=G3=1) or decrement (F3=G3=0): the increment/decrement control signal must be routed to both the F3 and G3 pins. This
configuration comprises the middle bits of an incrementer/decrementer.
F=(F1@F4)@~F3
COUT0=~F3*(F1+ CIN) + F3*F1*CIN
G=(G4@G2)@~G3
COUT1=~F3*(G4+ COUT0) + F3*G4*COUT0
F4=CIN
G2=COUT0
G3=G3I
4-118
INCDEC-G-0
The INCDEC-G-0 configuration performs a 1-bit increment/decrement in the G function generator, with the input on the G4 pin. The
carry-in is tied High. The carry signal propagates through the G carry
logic and exits on the COUT pin. This configuration comprises the
LSB of an incrementer/decrementer that is always enabled. The F
function generator is not used. F3 is not required for increment/
decrement control, since the LSB of an incrementer is identical to the
LSB of a decrementer; this configuration is identical to INC-G-1 and
DEC-G-0.
F=
COUT0=0
G=~(G4)
COUT1=G4
F4=F4I
G2=G2I
G3=G3I
INCDEC-G-F1
The INCDEC-G-F1 configuration performs a 1-bit increment/decrement in the G function generator, with the input on the G4 pin. The
carry signal enters on the F1 pin, propagates through the G carry
logic, and exits on the COUT pin. This configuration comprises the
LSB of an incrementer/decrementer where the carry-in signal is
routed to F1. The carry-in is active-High for an increment operation
and active-Low for a decrement operation. The F function generator
is not used. The F3 and G3 inputs indicate increment (F3=G3=1) or
decrement (F3=G3=0): the increment/decrement control signal must
be routed to both the F3 and G3 pins.
F=
COUT0=F1
G=(G4@G2)@~G3
COUT1=F3*(G4*COUT0) + ~F3*(G4+COUT0)
F4=F4I
G2=COUT0
G3=G3I
Libraries Guide
4-119
Libraries Guide
INCDEC-G-CI
The INCDEC-G-CI configuration performs a 1-bit increment/decrement in the G function generator, with the input on the G4 pin. The
carry signal enters on the CIN pin, propagates through the G carry
logic, and exits on the COUT pin. The F3 and G3 inputs indicate
increment (F3=G3=1) or decrement (F3=G3=0): the increment/decrement control signal must be routed to both the F3 and G3 pins. This
configuration is for the middle bit of an incrementer/decrementer,
where the F function generator is reserved for another purpose,
although the F3 pin is used by the carry logic.
F=
COUT0=CIN
G=(G4@G2)@~G3
COUT1=~F3*(G4+ COUT0) + F3*G4*COUT0
F4=F4I
G2=COUT0
G3=G3I
INCDEC-FG-1
The INCDEC-FG-1 configuration performs a 2-bit increment/decrement in both the F and G function generator, with the lower- order
input on the F1 pin and the higher-order input on the G4 pin. The F3
and G3 inputs indicate increment (F3=G3=1) or decrement
(F3=G3=0): the increment/decrement control signal must be routed
to both the F3 and G3 pins. The carry-in is always active (High in
increment mode and Low in decrement mode). The carry signal propagates through the F and G carry logic and exits on the COUT pin.
This configuration comprises the two least significant bits of an incrementer/decrementer that is always enabled.
F=~(F1)
COUT0=F1
G=(G2@G4)@~G3
COUT=COUT1=~F3*((COUT0*~G4)+G4) + F3*(G4*COUT0)
F4=F4I
G2=COUT0
G3=G3I
4-120
FORCE-0
The FORCE-0 configuration forces the carry-out signal on the COUT
pin to be 0.
COUT0=0
COUT1=0
FORCE-1
The FORCE-1 configuration forces the carry-out signal on the COUT
pin to be 1.
COUT0=1
COUT1=1
FORCE-F1
The FORCE-F1 configuration forces the signal on the F1 pin to pass
through to the COUT pin.
COUT0=F1
COUT1=COUT0=F1
FORCE-CI
The FORCE-CI configuration forces the signal on the CIN pin to pass
through to the COUT pin.
COUT0=CIN
COUT1=COUT0=CIN
Libraries Guide
4-121
Libraries Guide
EXAMINE-CI
The EXAMINE-CI configuration allows the carry signal on the CIN
pin to be used in the F or G function generators. This configuration
forces the signal on the CIN pin to pass through to the COUT pin and
is equivalent to the FORCE-CI configuration. EXAMINE-CI is
provided for CLBs in which the carry logic is unused but the CIN
signal is required.
COUT0=CIN
COUT1=COUT0=CIN
4-122
Index
A
ACC, 4-33
ACLK, 4-19, 4-27
ADD, 4-33
ADD-F-CI, 4-102
ADD-FG-CI, 4-103
ADD-G-CI, 4-104
ADD-G-F1, 4-103
ADD-G-F3-, 4-104
ADDSUB-F-C1, 4-108
ADDSUB-FG-CI, 4-108
ADDSUB-G-CI, 4-110
ADDSUB-G-F1, 4-109
ADDSUB-G-F3, 4-110
ADSU, 4-33
APR, 4-34
B
BASE attribute
architectures, 4-2
purpose, 4-2
syntax, 4-4
XC2000 modes, 4-2
XC3000 modes, 4-2
BLKNM attribute, 4-4, 4-47
architectures, 4-4
Place Block constraint, 4-49
purpose, 4-4
symbols, 4-5
syntax, 4-6, 4-46
Boolean minimization, 4-31
Boolean operators
XC2000, 4-12
XC3000, 4-12
BPAD, 4-5
BUFE, 4-15
BUFGP, 4-19, 4-27, 4-54, 4-70, 4-71
BUFGS, 4-19, 4-27, 4-54, 4-70
BUFT, 4-20, 4-67
constraints, 4-67
LOC placement examples, 4-26
placement constraint syntax, 4-52, 4-54
use with BLKNM attribute, 4-5
use with DECODE attribute, 4-11
use with DOUBLE attribute, 4-12
use with HBLKNM attribute, 4-16
use with LOC constraint, 4-19, 4-21, 472
use with net attributes, 4-33
use with RLOC constraint, 4-40, 4-72
use with RLOC_ORIGIN constraint, 441, 4-86
use with RLOC_RANGE constraint, 489
bus pad symbols, 4-21
C
C net attribute, 4-33
CAP attribute
architectures, 4-6
purpose, 4-6
symbols, 4-6
syntax, 4-7
capacitive mode, 4-6, 4-40
carry logic, 4-96, 4-97
carry mode configuration mnemonics,
4-101
carry mode names and symbols, 4-99
Libraries Guide
ii
Index
D
DEC-F-CI, 4-114
DEC-FG-0, 4-117
DEC-FG-CI, 4-115
DEC-G-0, 4-115
DEC-G-CI, 4-116
DEC-G-F1, 4-116
DEC-G-F3-, 4-117
DECODE attribute, 4-69
architectures, 4-11
purpose, 4-11
symbols, 4-11
Libraries Guide
syntax, 4-11
decode logic, 4-28
DECODE macro, 4-69
DECODEn symbols, 4-20
decoders, 4-72
dedicated carry logic, 4-98
design, 4-94
design hierarchy, 4-16, 4-17, 4-45, 4-75, 476, 4-78, 4-79, 4-80, 4-82, 4-92
DFF, 4-72
DOUBLE attribute
architectures, 4-11
purpose, 4-11
symbols, 4-12
syntax, 4-12
E
edge decoders, 4-11, 4-46
constraints, 4-69
edge designations, 4-69
EditLCA, 4-6, 4-26, 4-65
EQUATE_F attribute
architectures, 4-12
purpose, 4-12
syntax, 4-12
EQUATE_G attribute
architectures, 4-12
purpose, 4-12
syntax, 4-12
EXAMINE-CI, 4-100, 4-122
EXT record, 4-64
F
F mode, 4-2
F net attribute, 4-33
FAST attribute
architectures, 4-13
purpose, 4-13
symbols, 4-13
syntax, 4-13
fast function blocks, 4-33, 4-38
FastCLK, 4-39
iii
Libraries Guide
optimization, 4-7
FastInput path, 4-33
FD registers, 4-39
FDCE, 4-5, 4-72
FDCP, 4-5, 4-33
FDCPE, 4-33
FDPE, 4-5, 4-72
FFB, 4-33
FG mode, 4-2
FGM mode, 4-2
FILE attribute
architectures, 4-13
example, 4-14
purpose, 4-13
syntax, 4-14
FITNET command, 4-37
flag constraints, 4-52
flip-flops, 4-5
clock pins, 4-33
constraints, 4-55
CST file, 4-55
IOB, 4-35
macros, 4-93
Q output, 4-2
use with BLKNM attribute, 4-5
use with FAST attribute, 4-13
use with LOC constraint, 4-19, 4-24, 455
use with RLOC constraint, 4-73, 4-78, 481
X, 4-25
XC3000A/L, 4-55
XC4000 primitives, 4-5
Y, 4-25
FMAP
mapping constraints, 4-59
placement constraints, 4-46
relationally placed macros, 4-96
schematics example, 4-60
Unified Libraries, 4-72
use with BLKNM attribute, 4-5
iv
G
G net attribute, 4-33
GCLK, 4-19, 4-27
global buffers, 4-46
constraints, 4-70
corner designations, 4-70
LOC placement examples, 4-27
ground bounce, 4-6, 4-39
Index
H
H net attribute, 4-33
H_SET constraint, 4-17, 4-76, 4-77, 4-87, 495
HBLKNM attribute, 4-47
architectures, 4-16
purpose, 4-16
symbols, 4-16
syntax, 4-17, 4-46
hierarchical design see design hierarchy, 416
high-density function blocks, 4-33, 4-38
HM2RPM utility, 4-96
HMAP
mapping constraints, 4-59
placement constraints, 4-46
relationally placed macros, 4-96
schematics example, 4-60
Unified Libraries, 4-72
use with BLKNM attribute, 4-5
use with HBLKNM attribute, 4-16
use with LOC constraint, 4-19, 4-20
use with MAP attribute, 4-29
use with net attributes, 4-34
use with Place Block constraint, 4-49
use with RLOC constraint, 4-72
HMAP constraints, 4-59
horizontal longline, 4-11, 4-20, 4-69
HU_SET constraint, 4-87, 4-95
architectures, 4-17
purpose, 4-17
purppose, 4-82
syntax, 4-18, 4-82
I
I net attribute, 4-34
I/O block primitives, 4-5, 4-16, 4-19
I/O buffers, 4-5, 4-16, 4-25, 4-36
I/O constraints, 4-64
I/O pads, 4-25, 4-46
I/O pins, 4-21, 4-36
Libraries Guide
Libraries Guide
L
L net attribute, 4-34
latch enable pins, 4-33, 4-34
latches, 4-5, 4-16, 4-19, 4-35, 4-42
LCA block names, 4-4, 4-49
LD, 4-33
LDCP, 4-5
LOC constraint, 4-55, 4-57
architectures, 4-19
area constraints, 4-23, 4-99
BUFT placement examples, 4-26
carry logic, 4-99
CLB placement examples, 4-24
decode logic placement examples, 4-28
global buffer placement examples, 4-27
global buffers, 4-70
IOB placement examples, 4-25
multiple constraints, 4-24
prohibit constraints, 4-23, 4-99
propagation through flattening, 4-94
purpose for EPLDs, 4-20
purpose for FPGAs, 4-19
single constraints, 4-22, 4-99
syntax, 4-46
vi
Index
N
N net attribute, 4-34
net attributes
architectures, 4-32
C, 4-33
F, 4-33
G, 4-33
H, 4-33
I, 4-34
K, 4-34
L, 4-34
N, 4-34
P, 4-34
purpose, 4-33
S, 4-34
syntax, 4-35
W, 4-34
X, 4-35
NODELAY attribute
architectures, 4-35
purpose, 4-35
syntax, 4-36
Notplace Block constraints, 4-49
Notplace Instance constraints, 4-48, 4-54,
4-63, 4-67
O
OBUF, 4-5, 4-7, 4-8, 4-13, 4-15, 4-19, 4-44
OBUFE, 4-15
OBUFT, 4-5, 4-7, 4-8, 4-13, 4-44
OFD, 4-5, 4-8, 4-13, 4-44
OFDI, 4-13
OFDT, 4-5, 4-8, 4-13, 4-44
OFDTI, 4-13
OPAD, 4-5, 4-7, 4-13, 4-20
OPT attribute
architectures, 4-36
purpose, 4-36
syntax, 4-36
OUTFF, 4-8, 4-19, 4-44
OUTFFT, 4-8, 4-44
Libraries Guide
P
P net attribute, 4-34
PAD, 4-5, 4-20
pad names, 4-51
PAD primitives, 4-5, 4-16
pad registers, 4-39
PAD symbols, 4-20, 4-64, 4-66
pad symbols, 4-19, 4-21
pads, 4-42
PADU, 4-5
pin grid arrays, 4-67
PinSave command, 4-21
Place Block constraints, 4-49
place constraints, 4-51
Place Instance constraints, 4-48, 4-55
PLC, 4-30
PLD attribute
architectures, 4-37
purpose, 4-37
syntax, 4-37
PLD equation file, 4-38
PLFB9, 4-33
PLO, 4-30, 4-59
PLUSASM, 4-37, 4-38
PPR
BUFT constraints, 4-67
CLB constraints, 4-63
edge decoder constraints, 4-69
FMAP mapping, 4-59, 4-60
global buffer constraints, 4-70
HMAP mapping, 4-59, 4-60
I/O constraints, 4-64
Ignore_maps option, 4-59
Ignore-xnf_locs option, 4-20
IOB constraints, 4-67
LOC constraints, 4-55, 4-57
Place Block constraints, 4-49
Place Instance constraints, 4-48
placement constraints, 4-46
vii
Libraries Guide
R
RAM constraints, 4-57
RAM16X1, 4-72
RAM32X1, 4-72
RAM64X8, 4-57, 4-58
RAMs, 4-42
REG_OPT attribute
architectures, 4-39
purpose, 4-39
syntax, 4-39
registers, 4-36, 4-38
relationally placed macros, 4-71, 4-96
RES attribute
architectures, 4-39
purpose, 4-39
syntax, 4-40
resistive mode, 4-6, 4-39
RLOC constraint, 4-18
architectures, 4-40
carry logic, 4-99
propagation, 4-94
purpose, 4-40, 4-71
set linkage, 4-78
viii
S
S net attribute, 4-34
soft macros, 4-19, 4-20, 4-24, 4-25, 4-96
special function access symbols, 4-7, 4-13,
4-31, 4-35, 4-40
SUB-F-CI, 4-105
SUB-FG-CI, 4-105
SUB-G-1, 4-106
SUB-G-CI, 4-107
SUB-G-F1, 4-106
SUB-G-F3-, 4-107
synchronous reset, 4-102
T
TCK, 4-7, 4-13, 4-31, 4-35, 4-40
TDI, 4-7, 4-13, 4-31, 4-35, 4-40
Index
U
U_SET constraint, 4-87, 4-94
architectures, 4-45
purpose, 4-45, 4-75
syntax, 4-46, 4-75
use with USE_RLOC constraint, 4-92
UIM optimization, 4-44
UIM_OPT attribute
architectures, 4-44
purpose, 4-44
syntax, 4-45
Unified Libraries, 4-72
universal interconnect matrix (UIM), 4-7
UPAD, 4-5, 4-7, 4-13, 4-20
USE_RLOC constraint
architectures, 4-45
purpose, 4-45, 4-90
syntax, 4-45, 4-90
using with U_SET, 4-92
user-created symbols, 4-19
Libraries Guide
V
VHDL, 4-1
VMF file, 4-21
W
W net attribute, 4-34
WAND, 4-19, 4-20, 4-54, 4-69, 4-70
WAND1, 4-11
weight constraints, 4-52
wide-edge decoders, 4-11, 4-20
wildcards, 4-25, 4-27, 4-42, 4-49, 4-50, 4-53,
4-56, 4-58, 4-63, 4-64, 4-66, 4-68, 4-90, 4-99
X
X net attribute, 4-35
XC4000H output driver, 4-6
XDE, 4-20, 4-35
XEMake, 4-37
Xilinx macros, 4-93
XNF file, 4-13, 4-55, 4-57, 4-58, 4-64, 4-67,
4-69, 4-70
XNFMAP, 4-35, 4-47, 4-49, 4-61
XNFMerge, 4-14, 4-15, 4-17, 4-19, 4-76, 477, 4-81, 4-82, 4-85, 4-86, 4-91, 4-93, 4-94
XNFPrep, 4-20, 4-100, 4-101
XOR7, 4-33
XOR8, 4-33
XOR9, 4-33
XTF file, 4-55, 4-57, 4-64, 4-67, 4-69, 4-70
ix
Libraries Guide
Trademark Information
IBM is a registered trademark and PC/AT, PC/XT, PS/2 and Micro Channel are
trademarks of International Business Machines Corporation. DASH, Data I/O and
FutureNet are registered trademarks and ABEL, ABEL-HDL and ABEL-PLA are
trademarks of Data I/O Corporation. SimuCad and Silos are registered trademarks and PSilos and P/C-Silos are trademarks of SimuCad Corporation. Microsoft is a registered
trademark and MS-DOS is a trademark of Microsoft Corporation. Centronics is a
registered trademark of Centronics Data Computer Corporation. PAL and PALASM are
registered trademarks of Advanced Micro Devices, Inc. UNIX is a trademark of AT&T
Technologies, Inc. CUPL, PROLINK, and MAKEPRG are trademarks of Logical Devices,
Inc. Apollo and AEGIS are registered trademarks of Hewlett-Packard Corporation.
Mentor and IDEA are registered trademarks and NETED, Design Architect, QuickSim,
QuickSim II, and EXPAND are trademarks of Mentor Graphics, Inc. Sun is a registered
trademark of Sun Microsystems, Inc. SCHEMA II+ and SCHEMA III are trademarks of
Omation Corporation. OrCAD is a registered trademark of OrCAD Systems Corporation.
Viewlogic, Viewsim, and Viewdraw are registered trademarks of Viewlogic Systems, Inc.
CASE Technology is a trademark of CASE Technology, a division of the Teradyne
Electronic Design Automation Group. DECstation is a trademark of Digital Equipment
Corporation. Synopsys is a registered trademark of Synopsys, Inc. Verilog is a registered
trademark of Cadence Design Systems, Inc.
Xilinx does not assume any liability arising out of the application or use of any product
described or shown herein; nor does it convey any license under its patents, copyrights, or
maskwork rights or any rights of others. Xilinx reserves the right to make changes, at any
time, in order to improve reliability, function or design and to supply the best product
possible. Xilinx will not assume responsibility for the use of any circuitry described herein
other than circuitry entirely embodied in its products. Xilinx devices and products are
protected under one or more of the following U.S. Patents: 4,642,487; 4,695,740; 4,706,216;
4,713,557; 4,746,822; 4,750,155; 4,758,985; 4,820,937; 4,821,233; 4,835,418; 4,853,626;
Trademark Information