Previous

Appendix G

Instantiated Components

This appendix lists the components most frequently instantiated in synthesis designs. The function of each component is briefly described and the pin names are supplied, along with a listing of the Xilinx product families involved. For a complete list of components, see the online version of the Libraries Guide, Synopsys (XSI) Interface/Tutorial Guide, or your synthesis tool documentation. This chapter contains the following sections.

STARTUP Component

The STARTUP component is used to access the global set/reset and global tristate signals. STARTUP can also be used to access the start-up sequence clock. For information on the start-up sequence and the associated signals, see The Programmable Logic Data Book and the Xilinx Libraries Guide.

The STARTUP component cannot be simulated. For Verilog GTS/GSR simulation see the Cadence Interface/Tutorial Guide. For VHDL designs, use components in the following table and refer to the Development System User Guide for HDL simulation information.

Table G_1 STARTUP Library Component

Name
Family
Description
Outputs
Inputs
STARTUP
4000E/L, 4000EX, 4000XL,
4000XV,
Spartan,
52001

1. For 5200, GSR pin is GR.

Used to connect Global Set/Reset, global tristate control, and user configuration clock.
Q2, Q3, Q1Q4, DONEIN
GSR, GTS, CLK

STARTBUF Component

The STARTBUF component allows you to functionally simulate the STARTUP component. As with STARTUP, a STARTBUF component instantiated in your design specifies to the implementation tools to use GSR. Using the STARTBUF component in VHDL designs is the preferred method for using GSR/GR.

Table G_2 STARTBUF Library Component

Name
Family
Description
Outputs
Inputs
STARTBUF
4000E/L, 4000EX, 4000XL,
4000XV, 52001

1. For 5200, GSR pin is GR.

Used to connect Global Set/Reset, global tristate control, and user configuration clock.
GSROUT, GTSOUT,Q2OUT, Q3OUT, Q1Q4OUT, DONEINOUT
GSRIN, GTSIN, CLKIN

BSCAN Component

To use the boundary-scan (BSCAN) circuitry in a Xilinx FPGA, the BSCAN component must be present in the input design. The TDI, TDO, TMS, and TCK components are typically used to access the reserved boundary-scan device pads for use with the BSCAN component but can be connected to user logic as well. For more information on the BSCAN component, the internal boundary-scan circuitry, and the directional properties of the four reserved boundary-scan pads, refer to Programmable Logic Data Book and the online version of the Xilinx Libraries Guide.

Table G_3 BSCAN Library Components

Name
Family
Description
Outputs
Inputs
BSCAN
4000E/L, 4000EX, 4000XL,
4000XV, Spartan,
52001

1. 5200 has three additional output pins: Reset, Update, Shift

Indicates that the boundary- scan logic should be enabled after the FPGA has been configured.
TDO, DRCK, IDLE, SEL1, SEL2
TDI, TMS, TCK, TDO1, TDO2
TDI
4000E/L, 4000EX, 4000XL,
4000XV, 5200
Connects to the BSCAN TDI input. Loads instructions and data on each low-to-high TCK transition.
I
-
TDO
4000E/L, 4000EX, 4000XL,
4000XV,
Spartan,
5200
Connects to the BSCAN TDO output. Provides the boundary-scan data on each low-to-high TCK transition.
-
O
TMS
4000E/L, 4000EX, 4000XL,
4000XV, Spartan, 5200
Connects to the BSCAN TMS input. It determines which boundary scan is performed.
I
-
TCK
4000E/L, 4000EX, 4000XL,
4000XV, Spartan, 5200
Connects to the BSCAN TCK input. Shifts the serial data and instructions into and out of the boundary-scan data registers.
I
-

READBACK Component

To use the dedicated readback logic in a Xilinx FPGA the READBACK component must be inserted in the input design. The MD0, MD1, and MD2 components are typically used to access the mode pins for use with the readback logic, but can be connected to user logic as well. For more information on the READBACK component, the internal readback logic, and the directional properties of the three reserved mode pins, see the Programmable Logic Data Book and the online manual Libraries Guide.

Table G_4 Readback Library Components

Name
Family
Description
Outputs
Inputs
READBACK
4000E/L, 4000EX, 4000XL,
4000XV, Spartan, 5200
Accesses the bitstream readback function. A low-to-high transition on the TRIG input initiates the readback process.
DATA, RIP
CLK, TRIG
MD0
4000E/L, 4000EX, 4000XL,
4000XV, 5200
Connects to the Mode 0 (M0) input pin, which is used to determine the configuration mode.
I
-
MD1
4000E/L, 4000EX, 4000XL,
4000XV, 5200
Connects to the Mode 1 (M1) input pin, which is used to determine the configuration mode.
-
O
MD2
4000E/L, 4000EX, 4000XL,
4000XV, 5200
Connects to the Mode 2 (M2) input pin, which is used to determine the configuration mode.
I
-

RAM and ROM

Some of the most frequently instantiated library components are the RAM and ROM primitives. Because most synthesis tools are unable to infer RAM or ROM components from the source HDL, the primitives must be used to build up more complex structures. The following list of RAM and ROM components (Table G-4) is a complete list of the primitives available in the Xilinx library. For more information on the components, see the Programmable Logic Data Book and the online manual Libraries Guide.

Table G_5 RAM and ROM Library Components

Name
Family
Description
Outputs
Inputs
RAM16X1
4000E/L, 4000EX, 4000XL,
4000XV
A 16-word by 1-bit static read-write random-access memory component.
O
D, A3, A2, A1, A0, WE
RAM16X1D
4000E/L, 4000EX, 4000XL,
4000XV, Spartan,
Virtex
A 16-word by 1-bit dual port random access memory with synchronous write capability and asynchronous read capability.
SPO, DPO
D, A3, A2, A1, A0, DPRA3, DPRA2, DPRA1, DPRA0, WE, WCLK
RAM16X1S
4000E/L, 4000EX, 4000XL,
4000XV, Spartan,
Virtex
A 16-word by 1-bit static random access memory with synchronous write capability and asynchronous read capability.
O
D, A3, A2, A1, A0, WE, WCLK
RAM32X1
4000E/L, 4000EX, 4000XL,
4000XV
A 32-word by 1-bit static read-write random access memory.
O
D, A0, A1, A2, A3, A4, WE
RAM32X1S
4000E/L, 4000EX, 4000XL,
4000XV, Spartan, Virtex
A 32-word by 1-bit static random access memory with synchronous write capability and asynchronous read capability.
O
D, A4, A3, A2, A1, A0, WE, WCLK
ROM16X1
4000E/L, 4000EX, 4000XL,
4000XV, Spartan
A 16-word by 1-bit read-only memory component.
O
A3, A2, A1, A0
ROM32X1
4000E/L, 4000EX, 4000XL,
4000XV,
Spartan
A 32-word by 1-bit read-only memory component.
O
A4, A3, A2, A1, A0

Global Buffers

Each XC4000EX and XC4000XL device has 16 available global buffers: 8 BUFGLSs and 8 BUFEs. For some designs it may be necessary to use the exact buffer desired to ensure appropriate clock distribution delay. For most designs, the BUFG, BUFGS, and BUFGP components can be inferred or instantiated, thus allowing the Alliance Series Design Implementation Tools to make an appropriate physical buffer allocation. For more information on the components, see the Programmable Logic Data Book.

Table G_6 Global Buffers Library Components

Name
Family
Description
Outputs
Inputs
BUFG
3000A, 3100A, 4000E/L, 4000EX, 4000XL,
4000XV,
Spartan, 5200, Virtex
An architecture-independent global buffer, distributes high fan-out clock signals throughout a PLD device.
O
I
BUFGP1

1. BUFGP_F for Synopsys when connected to dedicated Pad

4000E/L,
4000EX,
4000XL,
4000XV, Spartan, Virtex
A primary global buffer, distributes high fan-out clock, or control signals throughout PLD devices.
O
I
BUFGS2

2. BUFGS_F for Synopsys when connected to dedicated Pad

4000E/L,
4000EX,
4000XL,
4000XV, Spartan
A secondary global buffer, distributes high fan-out clock, or control signals throughout a PLD device.
O
I
BUFGLS
4000EX,
4000XL,
4000XV
Global Low-Skew buffer. BUFGLS components can drive all flip-flop clock pins.
O
I
BUFGE
4000EX,
4000XL,
4000XV
Global Early buffer. XC4000EX devices have eight total, two in each corner. BUFGE components can drive all clock pins in their corner of the device.
O
I

Fast Output Primitives

One of the features added to the XC4000EX and XC4000XL architectures is the fast output MUX. There is one fast output MUX located in each IOB which can be used to multiplex between two signals on a single device pad or can be used to implement any two input logic function. Each component can have zero, one, or two inverted inputs. Because the output MUX is located in the IOB, it must be connected to the input pin of either an OBUF or an OBUT. For more information on the output primitives, see the Programmable Logic Data Book. For information on how to instantiate output MUXs with inverted inputs, see the Synopsys (XSI) Interface/Tutorial Guide.

Table G_7 Fast Output Primitives

Name
Family
Description
Outputs
Inputs
OAND2
4000EX,
4000XL
2-input AND gate that is implemented in the output multiplexer of the XC4000EX/XL IOB
O
F, I0
ONAND2
4000EX,
4000XL
2-input NAND gate that is implemented in the output multiplexer of the XC4000EX/XL IOB
O
F, I0
OOR2
4000EX,
4000XL
2-input OR gate that is implemented in the output multiplexer of the XC4000EX/XL IOB.
O
F, I0
ONOR2
4000EX,
4000XL
2-input NOR gate that is implemented in the output multiplexer of the XC4000EX/XL IOB.
O
F, I0
OXOR2
4000EX,
4000XL
2-input exclusive OR gate that is implemented in the output multiplexer of the XC4000EX/XL IOB.
O
F, I0
OXNOR2
4000EX,
4000XL
2-input exclusive NOR gate that is implemented in the output multiplexer of the XC4000EX/XL IOB.
O
F, I0
OMUX2
4000EX,
4000XL
2 x 1 MUX implemented in the output multiplexer of the XC4000EX/XL IOB.
O
D0, D1, S0

IOB Components

Depending on the synthesis vendor being used, some IOB components must be instantiated directly in the input design. Most synthesis tools support IOB D-type flip-flop inferences, but may not yet support IOB D-type flip-flop inference with clock enables. Because there are many slew rates and delay types available, there are many derivatives of the primitives shown. For a complete list of the IOB primitives, see the Synopsys (XSI) Interface/Tutorial Guide.

Table G_8 IOB Components

Name
Family
Description
Outputs
Inputs
IBUF
3000A,
3100A,
4000E/L,
4000EX,
4000XL,
4000XV,
Spartan,
5200, Virtex
Single input buffers. An IBUF isolates the internal circuit from the signals coming into a chip.
O
I
OBUF
3000A,
3100A,
4000E/L,
4000EX,
4000XL,
4000XV, Spartan,
5200, Virtex
Single output buffers. An OBUF isolates the internal circuit and provides drive current for signals leaving a chip.
O
I
OBUFT
3000A,
3100A,
4000E/L,
4000EX,
4000XL,
4000XV, Spartan,
5200, Virtex
Single tristate output buffer with active-low output enable. (tristate High)
O
I,T
IFD
3000A,
3100A,
4000E/L,
4000EX,
4000XL,
4000XV, Spartan,
5200, Virtex
Single input D flip-flop.
Q
D, C
OFD
3000A, 3100A, 4000E/L,
4000EX,
4000XL,
4000XV, Spartan,
5200, Virtex
Single output D flip-flop.
Q
D, C
OFDT
3000A, 3100A, 4000E/L,
4000EX
4000XL,
4000XV, Spartan,
5200, Virtex
Single D flip-flop with active-high tristate active-low output enable buffers.
O
D, C,T
IFDX
4000E/L,
4000EX,
4000XL,
4000XV, Spartan, Virtex
Single input D flip-flop with clock enable.
Q
D, CE, C
OFDX
4000E/L, 4000EX, 4000XL,
4000XV, Spartan, Virtex
Single output D flip-flop with clock enable
Q
D, C, CE
OFDTX
4000E/L, 4000EX, 4000XL,
4000XV, Spartan
Single D flip-flop with active-high tristate and active-low output enable buffers.
O
D, C, CE, T
ILD_1
4000E/L, 4000EX, 4000XL,
4000XV, Spartan,
5200, Virtex
Transparent input data latch with inverted gate. (Transparent High).
Q
D, G

Clock Delay Components

These components are delay locked loops that are used to eliminate the clock delay inside the device. The delay locked loop is a digital variation of the analog phase locked loop.

Table G_9 Clock Delay Component

Name
Family
Description
Outputs
Inputs
CLKDLL
Virtex
Clock delay locked loop used to minimize clock skew.
CLK0, CLK90, CLK180, CLK270, CLS2X, CLKDV, LOCKED
CLKIN, CLKFB, RST
CLKDLLHF
Virtex
High frequency clock delay locked loop used to minimize clock skew.
CLK0, CLK180, CLKDV, LOCKED
CLKIN, CLKFB, RST

Next