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.
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.
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 |
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.
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 |
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.
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 | - |
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.
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 | - |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |