Page 1
Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 2
Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates.
Chapter 4: Added cascade to Table 4-7, page 126. Revised ADDR in Figure 4-9, page 124. Removed scrub mode in “Built-in Error Correction” section. Chapter 5: Revised Figure 5-22, page 197. UG190 (v5.0) June 19, 2009 www.xilinx.com Virtex-5 FPGA User Guide...
Page 4
Chapter 8: Updated SR and O in Figure 8-2 Table 8-1, page 355. Updated the entire section for “BITSLIP Submodule,” page 366. Fixed typographical errors in Figure 8-14, page 370. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 5
Updated CLKOUT[0:5]_DESKEW_ADJUST description in Table 3-4, page Revised equations Equation 3-5 Equation 3-6. Updated the notes in Table 4-16, page 145. Revised description of “Instantiating IDELAYCTRL with Location (LOC) Constraints,” page 342. UG190 (v5.0) June 19, 2009 www.xilinx.com Virtex-5 FPGA User Guide...
Page 6
Chapter 7: In the Verilog code segment for bidirectional IODELAY on page 333, corrected the setting of RST. 03/19/09 Chapter 3: Added reference to the Virtex-5 FPGA Configuration Guide in “PLL_ADV Primitive,” page Chapter 4: In the second paragraph of “Write Modes,” page 117, added “in ECC...
Page 7
Chapter 2: Updated Dynamic Reconfiguration description in “DCM Summary,” page 48 to remove “different phase shift” as an attribute changeable via dynamic reconfiguration. Chapter 3: Updated definition of LOCKED pin in Table 3-3, page UG190 (v5.0) June 19, 2009 www.xilinx.com Virtex-5 FPGA User Guide...
Page 8
Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Preface About This Guide This document describes the Virtex®-5 architecture. Complete and up-to-date documentation of the Virtex-5 family of FPGAs is available on the Xilinx website at http://www.xilinx.com/virtex5. Additional Documentation The following documents are also available for download at http://www.xilinx.com/virtex5.
To find additional documentation, see the Xilinx website at: http://www.xilinx.com/support/documentation/index.htm. To search the Answer Database of silicon, software, and IP questions and answers, or to create a technical support WebCase, see the Xilinx website at: http://www.xilinx.com/support. Typographical Conventions This document uses the following typographical conventions. An example illustrates each convention.
Blue text Refer to “Clock Management in the current document Technology” in Chapter 2 details. Go to http://www.xilinx.com Blue, underlined text Hyperlink to a website (URL) for the latest documentation. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 24
Preface: About This Guide www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
A third type of clocking resource, I/O clocks, are very fast and serve localized I/O serializer/deserializer circuits. See Chapter 8, “Advanced SelectIO Logic Resources.” Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Input clock buffer for single-ended I/O IBUFGDS I, IB Input clock buffer for differential I/O These two primitives work in conjunction with the Virtex-5 FPGA I/O resource by setting the IOSTANDARD attribute to the desired standard. Refer to Chapter 6, “I/O Compatibility” Table 6-39 for a complete list of possible I/O standards.
The clock buffers are designed to be configured as a synchronous or asynchronous glitch- free 2:1 multiplexer with two clock inputs. Virtex-5 FPGA control pins provide a wide range of functionality and robust input switching. The following subsections detail the various configurations, primitives, and use models of the Virtex-5 FPGA clock buffers.
BUFGCTRL has four select lines, S0, S1, CE0, and CE1. It also has two additional control lines, IGNORE0 and IGNORE1. These six control lines are used to control the input I0 and X-Ref Target - Figure 1-1 BUFGCTRL IGNORE1 IGNORE0 ug190_1_01_032206 Figure 1-1: BUFGCTRL Primitive www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 29
Setup/Hold times. It will not result in a glitch. See “BUFGMUX_CTRL.” The CE pin is designed to allow backward compatibility from Virtex- II and Virtex-II Pro FPGAs. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 30
Clock selection using CE0 and CE1 only (S0 and S1 tied High) can change the clock selection without waiting for a High to Low transition on the previously selected clock. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 31
Figure 1-3: BUFG as BUFGCTRL The output follows the input as shown in the timing diagram in Figure 1-4. X-Ref Target - Figure 1-4 BUFG(I) BUFG(O) BCCKO_O ug190_1_04_032206 Figure 1-4: BUFG Timing Diagram Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 32
Low pulse has no effect until the clock transitions High. The output stays High when the clock is disabled. However, when the clock is being disabled it completes the clock Low pulse. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 33
Violating this setup time might result in a glitch. Switching conditions for BUFGMUX are the same as the CE pins on BUFGCTRL. Figure 1-9 illustrates the timing diagram for BUFGMUX. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 34
Once I0 is High, the multiplexer output stays High until I1 transitions Low to High. • When I1 transitions from Low to High, the output switches to I1. • If Setup/Hold are met, no glitches or short pulses can appear on the output. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 35
Figure 1-12: BUFGMUX_CTRL Timing Diagram Other capabilities of the BUFGMUX_CTRL primitive are: • Pre-selection of I0 and I1 input after configuration. • Initial output can be selected as High or Low after configuration. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The current clock is from I0. • S is activated High. • The Clock output immediately switches to I1. • When Ignore signals are asserted High, glitch protection is disabled. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 37
, before time event 3, CE is asserted Low. The clock output is BCCCK_CE switched Low and kept at Low after a High to Low transition of I1 is completed. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
All clock regions are 20 CLBs tall (10 CLBs above and 10 CLBs below a horizontal clock line) Center Column Logic Resources ug190_1_17_042406 Figure 1-17: Clock Regions www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 39
Global Clocking Resources Table 1-5: Virtex-5 FPGA Clock Regions Device Number of Clock Regions Notes XC5VLX30 XC5VLX50 XC5VLX85 XC5VLX110 XC5VLX155 XC5VLX220 XC5VLX330 XC5VLX20T There are 3 regions on each side of the device. There are no BUFRs on the right side of this device.
When used as single-ended clock pins, then as described in “Global Clock Buffers,” the P-side of the pin pair must be used because a direct connection only exists on this pin. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
1-19, a BUFIO is used to drive the I/O logic using the clock capable I/O. This implementation is ideal in source-synchronous applications where a forwarded clock is used to capture incoming data. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Regional Clock Buffer - BUFR The regional clock buffer (BUFR) is another clock buffer available in Virtex-5 devices. BUFRs drive clock signals to a dedicated clock net within a clock region, independent from www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
(GSR) signal is High, BUFR does not toggle, even if CE is held High. The BUFR output toggles after the GSR signal is deasserted when a clock is on the BUFR input port. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
• At time event 3, CLR is deasserted. • At time T after clock event 4, O begins toggling again at the divided by three BRCKO_O rate of I. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
I/O Tile Block Tile CLBs I/O Tile Clock Capable I/O CLBs I/O Tile BUFIO BUFR To Center of Die To Region Below UG190_c1_22_022609 Figure 1-22: BUFR Driving Various Logic Resources Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Figure 1-23: BUFR Driving Multiple Regions VHDL and Verilog Templates The VHDL and Verilog code for all clocking resource primitives and ISE language templates are available in the Libraries Guide. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
(CLKIN) against a feedback input (CLKFB) and steers the delay line selector, essentially adding delay to the output of DCM until the CLKIN and CLKFB coincide. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 49
The user can specify any integer multiplier (M) and divisor (D) within the range specified in the DCM Timing Parameters section of the Virtex-5 FPGA Data Sheet. An internal calculator determines the appropriate tap selection, to make the output edge coincide with the input clock whenever mathematically possible.
Table 2-2: DCM_BASE Primitive Available Ports Port Names Clock Input CLKIN, CLKFB Control and Data Input Clock Output CLK0, CLK90, CLK180, CLK270, CLK2X, CLK2X180, CLKDV, CLKFX, CLKFX180 Status and Data Output LOCKED www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Source Clock Input - CLKIN The source clock (CLKIN) input pin provides the source clock to the DCM. The CLKIN frequency must fall in the ranges specified in the Virtex-5 FPGA Data Sheet. The clock input signal comes from one of the following buffers: IBUFG –...
BUFGCTRL – An Internal Global Buffer Internal Clock – Any internal clock using general purpose routing. The frequency range of PSCLK is defined by PSCLK_FREQ_LF/HF. See the Virtex-5 FPGA Data Sheet. This input must be tied to ground when the CLKOUT_PHASE_SHIFT attribute is set to NONE or FIXED.
CLKIN signal is present and stable for at least three CLKIN cycles. The time it takes for the DCM to lock after a reset is specified in the Virtex-5 FPGA Data Sheet as LOCK_DLL (for a DLL output) and LOCK_FX (for a DFS output). These are the CLK and CLKFX outputs described in “DCM Clock Output Ports.”...
The dynamic reconfiguration write enable (DWE) input pin provides the write enable control signal to write the DI data into the DADDR address. When not used, it must be tied Low. See the Dynamic Reconfiguration chapter of the Virtex-5 FPGA Configuration Guide for more information.
CLKFX_MULTIPLY attribute. D is the divisor (denominator) with a value defined by the CLKFX_DIVIDE attribute. Specifications for M and D, as well as input and output frequency ranges for the frequency synthesizer, are provided in the Virtex-5 FPGA Data Sheet.
After a reset, the DCM samples several thousand clock cycles to achieve lock. After the DCM achieves lock, the LOCKED signal is asserted High. The DCM timing parameters section of the Virtex-5 FPGA Data Sheet provides estimates for locking times.
The dynamic reconfiguration ready (DRDY) output pin provides the response to the DEN signal for the DCM’s dynamic reconfiguration feature. Further information on the DRDY pin is available in the dynamic reconfiguration section in the Virtex-5 FPGA Configuration Guide. Virtex-5 FPGA User Guide www.xilinx.com...
CLKIN_PERIOD Attribute The CLKIN_PERIOD attribute specifies the source clock period (in nanoseconds). The default value is 0.0 ns. Setting this attribute to the input period values produces the best results. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
When set to DIRECT, the DCM output can be phase-shifted in variable mode in the positive range with respect to CLKIN. Each phase-shift increment/decrement will increase/decrease the phase shift by one DCM_TAP. See the Virtex-5 FPGA Data Sheet. The starting phase in the VARIABLE_POSITIVE and VARIABLE_CENTER modes is determined by the phase-shift value.
FALSE. The default value is TRUE. When set to TRUE, the 1x clock outputs are duty cycle corrected to be within specified limits. See the Virtex-5 FPGA Data Sheet for details. It is strongly recommended to always set the DUTY_CYCLE_CORRECTION attribute to TRUE.
This attribute allows for the input Boolean: FALSE or TRUE FALSE clock frequency to be divided in half when such a reduction is necessary to meet the DCM input clock frequency requirements. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 62
CLKOUT_PHASE_SHIFT and clock frequency. STARTUP_WAIT When this attribute is set to TRUE, Boolean: FALSE or TRUE FALSE the configuration startup sequence waits in the specified cycle until the DCM locks. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Adjust”) is available to compensate for the clock source or feedback path. The Xilinx ISE tools analyze the routing around the DCM to determine if a delay must be inserted to compensate for the clock source or feedback path. Thus, using dedicated routing is required to achieve predictable deskew.
The DCM output clock signal is essentially a delayed version of the input clock signal. It reflects any instability on the input clock in the output waveform. The DCM input clock requirements are specified in the Virtex-5 FPGA Data Sheet. Once locked, the DCM can tolerate input clock period variations of up to the value specified by CLKIN_PER_JITT_DLL_HF (at high frequencies) or CLKIN_PER_JITT_DLL_LF (at low frequencies).
DCM not locking and an incomplete configuration. Deskew Adjust The DESKEW_ADJUST attribute sets the value for a configurable, variable-tap delay element to control the amount of delay added to the DCM feedback path (see Figure 2-4). Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 66
DCMINO includes tap delays in the default setting (red line). The pin-to-pin timing parameters (with DCM) on the Virtex-5 FPGA Data Sheet reflects the setup/hold and clock-to-out times when the DCM is in system-synchronous mode. In some situations, the DCM does not add this extra feedback delay, and the DESKEW_ADJUST parameter has no effect.
Characteristics of the Deskew Circuit • Eliminate clock distribution delay by effectively adding one clock period delay. • Clocks are deskewed to within CLKOUT_PHASE, specified in the Virtex-5 FPGA Data Sheet. • Eliminate on-chip as well as off-chip clock delay.
The internal operation of the frequency synthesizer is complex and beyond the scope of this document. As long as the frequency synthesizer is within the range specified in the Virtex-5 FPGA Data Sheet, it multiplies the incoming frequencies by the pre-calculated quotient M ÷ D and generates the correct output frequencies.
Page 69
Total delay is a function of the number of delay taps used in the circuit. The absolute range is specified in the DCM Timing Parameters section of the Virtex-5 FPGA Data Sheet across process, voltage, and temperature. The different absolute ranges are outlined in this section.
Page 70
All phase-shift modes, with the exception of DIRECT mode, are temperature and voltage adjusted. Hence, a V or temperature adjustment does not change the phase shift. The DIRECT phase shift is not temperature or voltage adjusted since it directly controls www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
PHASE_SHIFT, the PSDONE is still pulsed High for one PSCLK period some time after the PSEN is activated (as illustrated in Figure 2-6). However, the phase-shift overflow pin, STATUS(0), or DO(0) is High to flag this condition, and no phase adjustment is performed. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The phase-shifting (DPS) function in the DCM requires the CLKFB for delay adjustment. Because CLKFB must be from CLK0, the DLL output is used. The minimum CLKIN frequency for the DPS function is determined by DLL frequency mode. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
The Dynamic Reconfiguration Ports (DRPs) can update the initial DCM settings without reloading a new bit stream to the FPGA. The DRP address mapping changed in Virtex-5 FPGAs. The Virtex-5 FPGA Configuration Guide provides more information on using DRPs. Specific to the DCM, DRPs allow dynamic adjustment of the CLKFX_MULTIPLY(M) and CLKFX_DIVIDE(D) values to produce a new CLKFX frequency.
The PMCD block is not available in the Virtex-5 devices. However, a limited retargeting using the PLL is possible. Refer to “PLL in Virtex-4 FPGA PMCD Legacy Mode” in Chapter 3 for more information. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Application Examples Application Examples The Virtex-5 FPGA DCM can be used in a variety of creative and useful applications. The following examples show some of the more common applications. Standard Usage The circuit in Figure 2-8 shows DCM_BASE implemented with internal feedback and access to RST and LOCKED pins.
These applications can be implemented using two or more DCM. The circuit shown in Figure 2-11 can be used to deskew a system clock between multiple Virtex devices in the same system. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 78
This circuit can be duplicated to multiple Virtex devices. Use CLKDLL for Virtex and Virtex-E devices, DCM for Virtex-II and Virtex-II Pro devices. ug190_2_12_032506 Figure 2-11: Board Deskew with Internal Deskew Interfacing to Other Virtex Devices www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 79
CLK180 CLKFB CLK270 CLK2X CLK2X180 CLKDV PSINCDEC CLKFX PSEN CLKFX180 PSCLK DADDR[6:0] DI[15:0] LOCKED DCLK DO[15:0] ...non-Virtex chips ug190_2_13_032506 Figure 2-12: Board Deskew with Internal Deskew Interfacing to Other Components Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
In addition, VHDL and Verilog files are generated by the Clocking Wizard in the ISE software. The Clocking Wizard sets appropriate DCM attributes, input/output clocks, and buffers for general use cases. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
2, the lock process begins. At time LOCK_DLL, after clock event 2, if no fixed phase shift was selected then all clock outputs are stable and in phase. LOCKED is also asserted to signal completion. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
CLKIN. However, CLK0, and CLK2X are aligned to each other, while CLK90 and CLK180 remain as 90° and 180° versions of CLK0. The LOCK signal is also asserted once the clock outputs are ready. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
DCM outputs. PSDONE is High for exactly one clock period when the phase shift is complete. The time required for a complete phase shift varies. As a result, PSDONE must be monitored for phase-shift status. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
CLKFB stopped status DO(3) is asserted to indicate that the CLKFB output stops toggling. • Clock Event 4 The CLKIN input stops toggling. Within 9 clock cycles after this event, DO(1) is asserted to indicate that the CLKIN output stops toggling. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Refer to the Virtex-5 FPGA Configuration Guide for more information. The Virtex-5 device supports the Virtex-II family and Virtex-II Pro FPGA DCM primitives. The mapping of Virtex-II or Virtex-II Pro FPGA DCMs to Virtex-5 FPGA DCM_ADVs are as follows: •...
A DCM can not be inserted in the feedback path of the PLL. Both the PLLs or DCMs of a CMT can be used separately as stand-alone functions. The outputs from the PLL are not spread spectrum. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
DCM2 implementation UG190_c3_01_022709 Figure 3-1: Block Diagram of the Virtex-5 FPGA CMT Phase Locked Loop (PLL) Virtex-5 devices contain up to six CMT tiles. The PLLs main purpose is to serve as a frequency synthesizer for a wide range of frequencies, and to serve as a jitter filter for either external or internal clocks in conjunction with the DCMs of the CMT.
1. REL is used in PMCD mode only. In PLL mode, leave REL unconnected or tied Low. The Virtex-5 FPGA PLL is a mixed signal block designed to support clock network deskew, frequency synthesis, and jitter reduction. These three modes of operation are discussed in more detail within this section.
VCO operation range, input frequency, duty cycle programmability, and phase shift. VCO Operating Range The minimum and maximum VCO operating frequencies are defined in the electrical specification of the Virtex-5 FPGA Data Sheet. These values can also be extracted from the speed specification. Minimum and Maximum Input Frequency The minimum and maximum CLKIN input frequency are defined in the electrical specification of the Virtex-5 FPGA Data Sheet.
The desired output frequency should be checked against the possible output frequencies generated. Once the first output frequency is determined, an additional constraint can be imposed on the values of M and D. This can further limit the Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
A reset is required when the input clock conditions change (e.g., frequency). The dynamic reconfiguration address (DADDR) input bus provides a DADDR[4:0] Input reconfiguration address for the dynamic reconfiguration. When not used, all bits must be assigned zeros. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 97
The dynamic reconfiguration ready output (DRDY) provides the response to the DRDY Output DEN signal for the PLLs dynamic reconfiguration feature. Notes: 1. CLKOUT and CLKOUTDCM are utilizing the same output counters and can not be operated independently. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
CLKOUT#_DIVIDE value and DIVCLK_DIVIDE value, will determine the output frequency. DIVCLK_DIVIDE Integer 1 to 52 Specifies the division ratio for all output clocks with respect to the input clock. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 99
PPC440 system. See UG200: Embedded Processor Block in Virtex-5 FPGAs Reference Guide for details. RESET_ON_LOSS String FALSE FALSE Must be set to FALSE, not supported _OF_LOCK in silicon. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
BUFG is not possible. The following tables map the Virtex-5 FPGA global clock IBUFG pins with respect to CLKIN1 and CLKIN2. PLLs in the top half of the Virtex-5 device are driven by the global...
An IBUF clock input must route to a BUFG before routing to a PLL. • DCMOUT - Any DCM output to PLL will compensate the delay of this path. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
PLL. When an important aspect of the design is to maintain a certain phase relationship amongst various clock outputs, (e.g., CLK and CLK90) then this relationship will be maintained regardless of the input frequency. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
O = 2. The VCO frequency in this case is 500 MHz and the O output frequency is 250 MHz. Therefore, the feedback frequency at the PFD is 500/15 or 33.33 MHz, matching the 66.66MHz/2 input clock frequency at the PFD. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
This section summarizes when to select a DCM over a PLL, or a PLL over a DCM. Virtex-5 FPGA PLLs support up to six independent outputs. Designs using several different outputs should use PLLs. An example of designs using several different outputs follows.
Virtex-5 FPGA PLL, Xilinx recommends redesigning Virtex-4 FPGA PMCDs by implementing PLLs directly. The difference between the Virtex-5 FPGA PLL and the Virtex-4 FPGA PMCD block in Virtex-4 FPGA PMCD legacy mode is that only two clock inputs are supported in the Virtex-5 device implementation.
Virtex-5 FPGA block RAM enhancements include: • Increased memory storage capability per block. Each block RAM can store up to 36K bits of data.
Page 114
The output data path has an optional internal pipeline register. Using the register mode is strongly recommended. This allows a higher clock rate, however, it adds a clock cycle latency of one. Virtex-5 FPGA block RAM usage rules: • The Synchronous Set/Reset (SSR) port cannot be used when the ECC decoder is enabled (EN_ECC_READ = TRUE).
Embedded dual- or single-port RAM modules, ROM modules, synchronous FIFOs, and data width converters are easily implemented using the Xilinx CORE Generator™ block memory modules. Multirate FIFOs can be generated using the CORE Generator FIFO Generator module.
Page 116
Data Output Parity Bus, can be used for additional data outputs REGCE[A|B] Output Register Enable CASCADEINLAT[A|B] Cascade input pin for 64K x 1 mode when optional output registers are not enabled www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
For the simple dual port block RAM and ECC configurations, the Write mode is always READ_FIRST, and therefore no collision can occur when used in synchronous mode. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
4-4, data output remains the last read data and is unaffected by a write operation on the same port. These waveforms correspond to latch mode when the optional output pipeline register is not used. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Figure 4-4: NO_CHANGE Mode Waveforms Conflict Avoidance Virtex-5 FPGA block RAM memory is a true dual-port RAM where both ports can access any memory location at any time. When accessing the same memory location from both ports, the user must, however, observe certain restrictions. There are two fundamentally different situations: The two ports either have a common clock (synchronous clocking), or the clock frequency and phase is different for the two ports (asynchronous clocking).
Independent Read and Write port width selection increases the efficiency of implementing a content addressable memory (CAM) in block RAM. This option is available for all Virtex-5 FPGA true dual-port RAM port sizes and modes. www.xilinx.com Virtex-5 FPGA User Guide...
Read Data Clock RDEN Read Port Enable REGCE Output Register Clock Enable Synchronous Set/Reset Byte-wide Write Enable WRADDR Write Data Address Bus WRCLK Write Data Clock WREN Write Port Enable Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
“Additional RAMB18 and RAMB36 Primitive Design Considerations” section. Figure 4-8 shows the byte-wide write-enable timing diagram for the RAMB36. Table 4-4: Available Byte-wide Write Enables Primitive Maximum Bit Width Number of Byte-wide Write Enables RAMB36 RAMB36SDP www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
RAM data read out. Single-bit errors are then corrected in the output data. Block RAM Library Primitives The Virtex-5 FPGA block RAM library primitives, RAMB18 and RAMB36, are the basic building blocks for all block RAM configurations. Other block RAM primitives and macros are based on these primitives.
Page 124
CASCADEINLATA CASCADEINLATB CASCADEINREGA CASCADEINREGB ug0190_4_10_100906 Figure 4-9: Block RAM Port Signals (RAMB36) Table 4-5: Virtex-5 FPGA Block RAM, FIFO, Simple Dual Port, and ECC Primitives Primitive Description RAMB36 Supports port widths of x1, x2, x4, x9, x18, x36 RAMB36SDP Simple dual port (port width x72) and 64-bit ECC primitive (see...
The address bus selects the memory cells for read or write. The data bit width of the port determines the required address bus width for a single RAMB18 or RAMB36, as shown in Table 4-6 Table 4-7. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The regular data-out bus (DO) plus the parity data-out bus (DOP) (when available) have a total width equal to the port width, as shown in Table 4-6 Table 4-7. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
A GSR signal has no impact on internal memory contents. Because it is a global signal, the GSR has no input pin at the functional level (block RAM primitive). Unused Inputs Unused data and/or address inputs should be connected High. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
= conversion hex-encoded to decimal (xx) “1F” = 31 • from [(31+1) × 256] – 1 = 8191 • to 31 × 256 = 7936 More examples are given in Table 4-9. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
4-10. These attributes are hex- encoded bit vectors, and the default value is 0. In cascade mode, both the upper and lower block RAM should be initialized to the same value. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
This attribute determines the write mode of the A/B input ports. The possible values are WRITE_FIRST (default), READ_FIRST, and NO_CHANGE. Additional information on the write modes is in the “Write Modes” section. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
The Virtex-5 FPGA Libraries Guide includes the code to instantiate the RAMB36 primitive. Additional RAMB18 and RAMB36 Primitive Design Considerations The RAMB18 and RAMB36 primitives are integral in the Virtex-5 FPGA block RAM solution. Optional Output Registers Optional output registers can be used at either or both A|B output ports of RAMB18 and RAMB36.
When using these attributes, if both write ports or both read ports are set to 0, the Xilinx ISE tools will not implement the design. In simple dual-port mode, the port width is fixed and the read port width is equal to the write port width. The RAMB18 has a data port width of 36, while the RAMB36 has a data port width of 72.
RAMs with minimal routing delays. Wider or deeper RAM structures are achieved with a smaller timing penalty than is encountered when using normal routing resources. The Xilinx CORE Generator program offers the designer an easy way to generate wider and deeper memory structures using multiple block RAM instances. This program outputs VHDL or Verilog instantiation templates and simulation models, along with an EDIF file for inclusion in a design.
This section describes the timing parameters associated with the block RAM in Virtex-5 devices (illustrated in Figure 4-14). The switching characteristics section in the Virtex-5 FPGA Data Sheet and the Timing Analyzer (TRCE) report from Xilinx software are also available for reference. www.xilinx.com Virtex-5 FPGA User Guide...
Block RAM Timing Model Block RAM Timing Parameters Table 4-11 shows the Virtex-5 FPGA block RAM timing parameters. Table 4-11: Block RAM Timing Parameters Control Parameter Function Description Signal Setup and Hold Relative to Clock (CLK) = Setup time (before clock edge) and T...
Whenever EN is asserted, all address changes must meet the specified setup and hold window. Asynchronous address changes can affect the memory content and block RAM functionality in an unpredictable way. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
5, the enable signal becomes invalid (Low) at the RCCK_EN EN input of the block RAM. • After clock event 5, the data on the DO outputs of the block RAM is unchanged. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Virtex-4 FPGA designs used the same FIFO logic for multirate and synchronous FIFOs, thus flag latency in synchronous FIFOs can vary. By setting the EN_SYN attribute to TRUE when using Virtex-5 FPGA synchronous FIFOs, any clock cycle latency when asserting or deasserting flags is eliminated.
Synchronous to WRCLK. The offset for this flag is user configurable. See Table 4-16 for the clock latency for flag deassertion. EMPTY Output FIFO is empty. No additional reads are accepted. Synchronous to RDCLK. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
After the first word is written into an empty FIFO, this word automatically appears at DO before RDEN is asserted. Subsequent Read operations require Empty to be Low and RDEN to be High. Figure 4-20 illustrates the difference between standard mode and FWFT mode. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
RDCLK. The empty condition can only be terminated by WRCLK, usually asynchronous to RDCLK. The falling edge of EMPTY must, therefore, artificially be moved onto the RDCLK time domain. Since the two clocks have an unknown phase Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
FIFO queue. When the FIFO is full, the write pointer will be frozen. The Virtex-5 FPGA Full flag is deasserted three write clock cycles after two subsequent read operations. In Virtex-4 FPGA designs a Full flag is asserted one write clock cycle after the last write, and is deasserted three write clock cycle after the first read.
2. If a FIFO18 is constrained to FIFO18_X#Y#, corresponding to the lower RAMB18_X#Y# of the RAMB18 pair, a RAMB18 can be constrained to the upper RAMB18_X#Y# of the pair. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
FIFO is about to reach its limits. Since the full capacity of any FIFO is normally not critical, most applications use the ALMOST_FULL flag not only as a warning but also as a signal to stop writing. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
RDERR outputs of the FIFO. Clock to write error WRERR Time after WRCLK that the Write Error signal is stable RCKO_WRERR output at the WRERR outputs of the FIFO. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
(T RCDCK_DI RCDCK_DIP 5. In the Virtex-5 FPGA Data Sheet, WRITE and READ enables are combined into T RCCK_EN FIFO Timing Characteristics The various timing parameters in the FIFO are described in this section. There is also additional data on FIFO functionality.
EMPTY is deasserted one read-clock earlier than clock event 3. If the rising WRCLK edge is close to the rising RDCLK edge, EMPTY could be deasserted one RDCLK period later. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
X-Ref Target - Figure 4-22 WRCLK FCCK_WREN FCCK_WREN WREN FDCK_DI FDCK_DI FDCK_DI RDCLK RDEN FCKO_FULL FULL AFULL FCKO_WERR FCKO_WERR FCKO_AFULL WRERR ug190_4_18_012605 Figure 4-22: Writing to a Full / Almost Full FIFO www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 153
WRERR output pin of the FIFO. The write error signal is asserted/deasserted at every write-clock positive edge. As long as both the write enable and Full signals are true, write error will remain asserted. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Read enable remains asserted at the RDEN input of the FIFO. • At time T , after clock event 5 (RDCLK), Almost FULL is deasserted at the FCKO_AFULL AFULL pin. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
, after clock event 2 (RDCLK), Empty is asserted at the EMPTY FCKO_EMPTY output pin of the FIFO. In the event that the FIFO is empty and a write followed by a read is performed, the EMPTY signal remains asserted. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Reset is an asynchronous signal used to reset all flags. Hold the reset signal High for three read and write clock cycles to ensure that all internal states and flags are reset to the correct value. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
When using a single clock for RDCLK and WRCLK, use the FIFO in synchronous mode (EN_SYN=TRUE). FIFO Applications A FIFO larger than a single Virtex-5 FPGA FIFO block can be created by: • Cascading two or more FIFOs to form a deeper FIFO.
This ECC configuration option is available with a 36K block RAM simple dual-port primitive (RAMB36SDP) or a 36K FIFO primitive (FIFO36_72). A Virtex-4 FPGA ECC 18K block RAM mapped for a Virtex-5 FPGA design will occupy the entire RAMB36 site. FIFO36_72 supports standard ECC mode only.
• The NO_CHANGE or WRITE_FIRST modes of the normal block RAM operation are not applicable to the ECC configuration. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
1. Hamming code implemented in the block RAM ECC logic detects one of three conditions: no detectable error, single-bit error detected and corrected on DO (but not corrected in the memory), and double-bit error detected without correction. SBITERR and DBITERR indicate these three conditions. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 163
1. Hamming code implemented in the FIFO ECC logic detects one of three conditions: no detectable error, single-bit error detected and corrected on DO (but not corrected in the memory), and double-bit error detected without correction. SBITERR and DBITERR indicate these three conditions. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Must be set using hexadecimal notation. FIRST_WORD_FALL_THROUGH When set to TRUE, the first word written into the empty FIFO36_72 appears at the Boolean TRUE, FALSE FALSE FIFO36_72 output without RDEN asserted. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
ECC parity PA (hex) are generated internally, appended to the 64 data bits, and written into the memory. Immediately after the write, the parity value PA appears at output ECCPARITY[7:0]. Since ECC parity is generated internally, DIP[7:0] pins are not used. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
The ECC decoder also detects when double-bit error in parity bits occurs, and when a single-bit error in the data bits and a single-bit error in the corresponding parity bits occurs. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
A. ♦ At time TRCKO_ECCR_DBITERR (register mode), after time T3R, DBITERR is asserted if double-bit error is detected on data set B. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
RCKO_ECC Data Sheet. 4. T and T are combined into the T parameter in the Virtex-5 FPGA Data Sheet. RCKO_ECC_SBITERR RCKO_ECC_DBITERR RCKO_ECCR Creating a Deliberate Error in a 72-bit Word To deliberately create an error in a 72-bit word, configure the ECC decode-only mode and create a 72-bit word with one or two bit errors.
RAMB36 primitive. When placing block RAM and FIFO primitives in the same location, the FIFO must occupy the lower port. X-Ref Target - Figure 4-33 RAMB18 RAMB18SDP RAMB18 RAMB18SDP RAMB18 RAMB18SDP FIFO18 FIFO18_36 ug0190_4_35_050208 Figure 4-33: Legal Block RAM and FIFO Combinations Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 172
Chapter 4: Block RAM www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Figure 5-1: Arrangement of Slices within the CLB The Xilinx tools designate slices with the following definitions. An “X” followed by a number identifies the position of each slice in a pair as well as the column position of the slice.
Slices that support these additional functions are called SLICEM; others are called SLICEL. SLICEM (shown in Figure 5-3) represents a superset of elements and connections found in all slices. SLICEL is shown in Figure 5-4. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 175
LATCH INIT1 INIT0 SRHIGH MC31 SRLOW WA1-WA6 SR REV AMUX DPRAM64/32 SPRAM64/32 SRL32 SRL16 LATCH INIT1 INIT0 SRHIGH MC31 SRLOW WA1-WA6 SR REV WSGEN UG190_c5_03_022709 Figure 5-3: Diagram of SLICEM Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 176
Each CLB can contain zero or one SLICEM. Every other CLB column contains a SLICEMs. In addition, the two CLB columns to the left of the DSP48E columns both contain a SLICEL and a SLICEM. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Shift Registers Carry Chains 256 bits 128 bits Notes: 1. SLICEM only, SLICEL does not have distributed RAM or shift registers. Table 5-2: Virtex-5 FPGA Logic Resources Available in All CLBs CLB Array Number of Maximum Shift Number of Device...
Table 5-4 provide truth tables for SR and REV depending on whether SRLOW or SRHIGH is used. Table 5-3: Truth Table when SRLOW is Used (Default Condition) Function No Logic Change www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 179
SRHIGH and SRLOW can be set individually for each storage element in a slice. The choice of synchronous (SYNC) or asynchronous (ASYNC) set/reset (SRTYPE) cannot be set individually for each storage element in a slice. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
For a write operation, the Write Enable (WE) input, driven by either the CE or WE pin of a SLICEM, must be set High. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 181
Figure 5-14 illustrate various example distributed RAM configurations occupying one SLICEM. When using x2 configuration (RAM32X2Q), A6 and WA6 are driven High by the software to keep O5 and O6 independent. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 184
If two dual-port 64 x 1-bit modules are built, the two RAM64X1D primitives can occupy a SLICEM, as long as they share the same clock, write enable, and shared read and write port address inputs. This configuration equates to 64 x 2-bit dual-port distributed RAM. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 186
O[3] A[6:1] A[6:1] WA[6:1] UG190_5_06_050506 Figure 5-11: Distributed RAM (RAM64X3SDP) Implementation of distributed RAM configurations with depth greater than 64 requires the usage of wide-function multiplexers (F7AMUX, F7BMUX, and F8MUX). www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 187
SLICEM, as long as they share the same clock, write enable, and shared read and write port address inputs. This configuration equates to 128 x 2-bit single-port distributed RAM. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 189
Distributed RAM configurations greater than the provided examples require more than one SLICEM. There are no direct connections between slices to form larger distributed RAM configurations within a CLB or between slices. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
LUT is unused and the software automatically ties it to a logic High. The configurable shift registers cannot be set or reset. The read is asynchronous; however, a storage element www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 191
X-Ref Target - Figure 5-16 32-bit Shift Register SHIFTIN (D) SHIFTOUT(Q31) Address (A[4:0]) UG190_5_16_050506 Figure 5-16: Representation of a Shift Register Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 194
The Q output is determined by the 5-bit address. Each time a new address is applied to the 5-input address pins, the new bit position value is available on the Q output after the time www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
These wide input multiplexers are implemented in one level or logic (or LUT) using the dedicated F7AMUX, F7BMUX, and F8MUX multiplexers. These multiplexers allow LUT combinations of up to four LUTs in a slice. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
A[6:1] Output Input (Optional) 4:1 MUX Output (A[6:1]) (AQ) Registered SEL A [1:0], DATA A [3:0] A[6:1] Output Input (CLK) (Optional) UG190_5_21_050506 Figure 5-21: Four 4:1 Multiplexers in a Slice www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 197
(AMUX) 8:1 MUX Output (2) (AQ) Registered Output (A[6:1]) SEL A [1:0], DATA A [3:0] A[6:1] Input (2) (Optional) (AX) SELF7(2) UG190_5_22_090806 Figure 5-22: Two 8:1 Multiplexers in a Slice Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
However, there are no direct connections between slices to form these wide multiplexers. Fast Lookahead Carry Logic In addition to function generators, dedicated carry logic is provided to perform fast arithmetic addition and subtraction in a slice. A Virtex-5 FPGA CLB has two separate carry chains, as shown in Figure 5-1.
Page 199
O5 output of a function generator or the BYPASS input (AX, BX, CX, or DX) of a slice. The former input is used to create a multiplier, while the latter is used Virtex-5 FPGA User Guide www.xilinx.com...
Most of the timing parameters found in the section on switching characteristics are described in this chapter. All timing parameters reported in the Virtex-5 FPGA Data Sheet are associated with slices and CLBs. The following sections correspond to specific switching characteristics sections in the Virtex-5 FPGA Data Sheet: •...
CLB / Slice Timing Models General Slice Timing Model and Parameters A simplified Virtex-5 FPGA slice is shown in Figure 5-25. Some elements of the slice are omitted for clarity. Only the elements relevant to the timing paths described in this section are shown.
Notes: 1. This parameter includes a LUT configured as two five-input functions. 2. T = Setup Time (before clock edge), and T = Hold Time (after clock edge). XXCK CKXX www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
CLB / Slice Timing Models Timing Characteristics Figure 5-26 illustrates the general timing characteristics of a Virtex-5 FPGA slice. X-Ref Target - Figure 5-26 DICK AX/BX/CX/DX (DATA) SRCK SR (RESET) AQ/BQ/CQ/DQ (OUT) ug190_5_26_050506 Figure 5-26: General Slice Timing Characteristics •...
Page 204
Slice Distributed RAM Timing Model and Parameters (Available in SLICEM only) Figure 5-27 illustrates the details of distributed RAM implemented in a Virtex-5 FPGA slice. Some elements of the slice are omitted for clarity. Only the elements relevant to the timing paths described in this section are shown.
1. This parameters includes a LUT configured as a two-bit distributed RAM. 2. T = Setup Time (before clock edge), and T = Hold Time (after clock edge). XXCK CKXX 3. Parameter includes AI/BI/CI/DI configured as a data input (DI2). Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Chapter 5: Configurable Logic Blocks (CLBs) Distributed RAM Timing Characteristics The timing characteristics of a 16-bit distributed RAM implemented in a Virtex-5 FPGA slice (LUT configured as RAM) are shown in Figure 5-28. X-Ref Target - Figure 5-28 A/B/C/D (ADDR)
Slice SRL Timing Model and Parameters (Available in SLICEM only) Figure 5-29 illustrates shift register implementation in a Virtex-5 FPGA slice. Some elements of the slice have been omitted for clarity. Only the elements relevant to the timing paths described in this section are shown.
3. Parameter includes AI/BI/CI/DI configured as a data input (DI2) or two bits with a common shift. Slice SRL Timing Characteristics Figure 5-30 illustrates the timing characteristics of a 16-bit shift register implemented in a Virtex-5 FPGA slice (a LUT configured as an SRL). X-Ref Target - Figure 5-30 Write Enable (WE)
Page 209
DMUX output of the slice via the MC31 output of LUT A (SRL). This is also applicable to the AMUX, BMUX, CMUX, DMUX, and COUT outputs at time T after clock event 1. WOSCO Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Slice Carry-Chain Timing Model and Parameters Figure 5-24, page 199 illustrates a carry chain in a Virtex-5 FPGA slice. Some elements of the slice have been omitted for clarity. Only the elements relevant to the timing paths described in this section are shown.
The input and output data are 1-bit wide (with the exception of the 32-bit RAM). Figure 5-32 shows generic single-port, dual-port, and quad-port distributed RAM primitives. The A, ADDR, and DPRA signals are address buses. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Following an active write clock edge, the data out (O, SPO, or DOD[#:0]) reflects the newly written data. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
The address input selects the bit (range 0 to 31) to be read. The nth bit is available on the output pin (Q). Address inputs have no effect on the cascadable output pin (Q31). It is always the last bit of the shift register (bit 31). Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
0b00111. Alternatively, shift register length can be limited to 71 bits (address tied to 0b00110) and a flip-flop can be used as the last register. (In an SRLC32E primitive, the shift register length is the address input + 1). www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
This primitive works in conjunction with LUTs in order to build adders and multipliers. This primitive is generally inferred by synthesis tools from standard RTL code. The synthesis tool can identify the arithmetic and/or logic functionality that best maps to this Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The carry in input is used to cascade slices to form longer carry chain. To create a longer carry chain, the CO[3] output of another CARRY4 is simply connected to this pin. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Chapter 8, “Advanced SelectIO Logic Resources,” describes the data serializer/deserializer (SERDES). An I/O tile contains two IOBs, two ILOGICs, two OLOGICs, and two IODELAYs. Figure 6-1 shows a Virtex-5 FPGA I/O tile. X-Ref Target - Figure 6-1 IODELAY (Chapter 7) ILOGIC...
• Differential and V dependent inputs are powered by V CCAUX Each Virtex-5 FPGA I/O tile contains two IOBs, and also two ILOGIC blocks and two OLOGIC blocks, as described in Chapter 7, “SelectIO Logic Resources.” Figure 6-2 shows the basic IOB and its connections to the internal logic and the device Pad.
BANK BANK 20 I/O 40 I/O 40 I/O ug190_6_03_021306 Figure 6-3: Virtex-5 FPGA XC5VLX30 I/O Banks Reference Voltage (V ) Pins Low-voltage, single-ended I/O standards with a differential amplifier input buffer require an input reference voltage (V ). V is an external input into Virtex-5 devices. Within...
UG190_6_95_019507 Figure 6-4: DCI Use within a Bank The Virtex-5 FPGA banks using DCI I/O standards now have the option of deriving the DCI impedance values from another DCI bank. With DCI cascading, one bank (the master bank) must have its VRN/VRP pins connected to external reference resistors. Also, at least one I/O in that bank (the master bank) must be configured as DCI.
Page 221
6, and bank 3 cannot be cascaded with bank 5. Bank 3 can only be cascaded with bank 1, and bank 4 can only be cascaded with bank 2. Figure 6-5 shows DCI cascading support over multiple banks. Bank B is the master bank. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 222
DCI I/O standard compatibility is not constrained to one bank when DCI cascading is implemented; it extends across all master and slave banks. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
The coarse impedance calibration during the first phase of impedance adjustment can be invoked after configuration by instantiating the DCIRESET primitive. By toggling the RST input to the DCIRESET primitive while the device is operating, the DCI state machine is Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Both GTL and HSTL standards are controlled by 50 Ω reference resistors. The DCI I/O standards supporting single termination are: GTL_DCI, GTLP_DCI, HSTL_III_DCI, HSTL_III_DCI_18, HSTL_IV_DCI, and HSTL_IV_DCI_18. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Both GTL and HSTL standards need 50 Ω external reference resistors. The DCI I/O standards supporting drivers with single termination are: GTL_DCI, GTLP_DCI, HSTL_IV_DCI, and HSTL_IV_DCI_18. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 228
50 Ω external reference resistors. The DCI output standards supporting drivers with split termination are shown in Table 6-2. Table 6-2: DCI Output Standards Supporting Split Termination HSTL_II_DCI DIFF_HSTL_II_DCI SSTL2_II_DCI DIFF_SSTL2_II_DCI HSTL_II_DCI_18 DIFF_HSTL_II_DCI_18 SSTL18_II_DCI DIFF_SSTL18_II_DCI www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
(VRN and VRP) in the bank. Where this is required, these two multipurpose pins cannot be used as general-purpose I/O. Refer to the Virtex-5 FPGA pinout tables for the specific pin locations. Pin VRN must be pulled up to V by its reference resistor.
Figure 6-16 provides examples illustrating the use of the HSTL_I_DCI, HSTL_II_DCI, HSTL_III_DCI, and HSTL_IV_DCI I/O standards. • Figure 6-17 provides examples illustrating the use of the SSTL2_I_DCI and SSTL2_II_DCI I/O standards. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 231
VRN = VRP = R = Z 0 Resistor 50Ω 50Ω 50Ω 50Ω Recommended Notes: ug190_6_14_021206 1. Z 0 is the recommended PCB trace impedance. Figure 6-16: HSTL DCI Usage Examples Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 232
1. The SSTL-compatible 25 Ω or 20 Ω series resistor is accounted for in the DCI buffer, and it is not DCI controlled. 2. Z 0 is the recommended PCB trace impedance. ug190_6_15_041106 Figure 6-17: SSTL DCI Usage Examples www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Figure 6-18: Input Buffer (IBUF/IBUFG) Primitives The IBUF and IBUFG primitives are the same. IBUFGs are used when an input buffer is used as a clock input. In the Xilinx software tools, an IBUFG is automatically placed at clock input sites.
Figure 6-26: Differential Input/Output Buffer Primitive (IOBUFDS) Virtex-5 FPGA SelectIO Attributes/Constraints Access to some Virtex-5 FPGA I/O resource features (e.g., location constraints, input delay, output drive strength, and slew rate) is available through the attributes/constraints associated with these features. For more information a Constraints Guide is available on the Xilinx website with syntax examples and VHDL/Verilog reference code.
PULLDOWN • KEEPER Differential Termination Attribute The differential termination (DIFF_TERM) attribute is designed for the Virtex-5 FPGA supported differential input I/O standards. It is used to turn the built-in, 100Ω, differential termination on or off. Virtex-5 FPGA User Guide www.xilinx.com...
To specify the DIFF_TERM attribute, set the appropriate value in the generic map (VHDL) or inline parameter (Verilog) of the instantiated IBUFDS or IBUGDS component. Please refer to the ISE Language Templates or the Virtex-5 FPGA HDL Libraries Guide for the proper syntax for instantiating this component and setting the DIFF_TERM attribute.
The following subsections provide an overview of the I/O standards supported by all Virtex-5 devices. While most Virtex-5 FPGA I/O supported standards specify a range of allowed voltages, this chapter records typical voltage values only. Detailed information on each specification can be found on the Electronic Industry Alliance JEDEC web site at http://www.jedec.org.
Page 240
(mA) Note 2 – Notes: 1. V and V for lower drive currents are sample tested. 2. Supported DRIVE strengths are 2, 4, 6, 8, 12, 16, and 24 mA www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
R S = Z 0 – R D LVCMOS LVCMOS R P = Z 0 Note: V is any voltage from 0V to V CCO ug190_6_26_022806 Figure 6-29: LVCMOS Unidirectional Termination Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
R 0 = R VRN = R VRP = Z 0 R 0 = R VRN = R VRP = Z 0 ug190_6_29_022806 Figure 6-32: Controlled Impedance Driver with Bidirectional Termination Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
There are no drive strength settings for LVDCI drivers. When the driver impedance is one- half of the VRN/VRP reference resistors, it is indicated by the addition of DV2 to the attribute name. Table 6-9 lists the LVCMOS, LVDCI, and LVDCI_DV2 voltage specifications. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 245
– Notes: 1. V and V for lower drive currents are sample tested. 2. Only LVCMOS is supported at + 1.2V with valid DRIVE attributes of 2, 4, 6, 8. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
1.5V, 1.8V, 2.5V, and 3.3V. Select V to provide the optimum noise margin in specific use conditions. Table 6-10: HSLVDCI Input DC Voltage Specifications Standard – – + 0.1 – – – – – 0.1 www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
V (mA) (Note 1) – – at V (mA) (Note 1) – – Notes: 1. Tested according to the relevant specification. 2. For complete specifications, refer to the PCI-X specification. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
GTL (Gunning Transceiver Logic) The Gunning Transceiver Logic (GTL) standard is a high-speed bus standard (JESD8.3) invented by Xerox. Xilinx has implemented the terminated variation for this standard. This standard requires a differential amplifier input buffer and an open-drain output buffer.
To support clocking high-speed memory interfaces, a differential version of this standard was added. Virtex-5 FPGA I/O supports all four classes for 1.5V and 1.8V and the differential versions of classes I and II. These differential versions of the standard require a differential amplifier input buffer and a push-pull output buffer.
Differential HSTL class I pairs complimentary single-ended HSTL_I type drivers with a differential receiver, including on-chip differential split-thevenin termination. Differential HSTL class I is intended to be used in unidirectional links. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
2. Per EIA/JESD8-6, “The value of V is to be selected by the user to provide optimum noise margin in the use conditions specified by the user.” www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 258
+ 0.60 DIFF (Crossover) 0.68 – 0.90 Notes: 1. Common mode voltage: V – ((V – V )/2) 2. Crossover point: V where V – V = 0 (AC coupled) www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
2. Per EIA/JESD8-6, “The value of V is to be selected by the user to provide optimum noise margin in the use conditions specified by the user.” Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
2. Per EIA/JESD8-6, “The value of V is to be selected by the user to provide optimum noise margin in the use conditions specified by the user.” Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 269
+ 0.60 DIFF (Crossover) 0.83 – 1.08 Notes: 1. Common mode voltage: V – ((V – V )/2) 2. Crossover point: V where V – V = 0 (AC coupled) Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
2. Per EIA/JESD8-6, “The value of V is to be selected by the user to provide optimum noise margin in the use conditions specified by the user.” www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
– = 1.1V ug190_6_60_030306 Figure 6-63: HSTL Class IV (1.8V) with Unidirectional Termination Figure 6-64 shows a sample circuit illustrating a valid bidirectional termination technique for HSTL Class IV (1.8V). Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 272
= 1.8V = 1.8V = Z 0 = 50Ω = Z 0 = 50Ω HSTL_IV_DCI_18 HSTL_IV_DCI_18 – = 1.1V = 1.1V ug190_6_61_030306 Figure 6-64: HSTL Class IV (1.8V) with Bidirectional Termination www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
SSTL2 is defined by the JEDEC standard JESD8-9B and SSTL18 is defined by the JEDEC standard JESD8-15. The SSTL2 standard has two classes; Class I is for unidirectional and class II is for bidirectional signaling. Virtex-5 FPGA I/O supports both standards for single-ended signaling and differential signaling. This standard requires a differential amplifier input buffer and a push-pull output buffer.
3-stated. When not 3-stated, these two standards do not have parallel termination but when invoked they have an internal series resistor (25 Ω at 2.5V and 20 Ω at 1.8V.) Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
External Termination = 1.25V DIFF_SSTL2_I 50Ω R S = 25Ω DIFF_SSTL2_I = 1.25V – DIFF_SSTL2_I = 50Ω R S = 25Ω ug190_6_64_030506 Figure 6-68: Differential SSTL2 Class I Unidirectional Termination Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 278
(DC) specifies the input differential voltage required for switching. 3. V (AC) indicates the voltage where the differential input signals must cross. 4. V (AC) indicates the voltage where the differential output signals must cross. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
= 1.25V DIFF_SSTL2_II 50Ω 50Ω R S = 25Ω DIFF_SSTL2_II = 1.25V = 1.25V – DIFF_SSTL2_II 50Ω 50Ω R S = 25Ω ug190_6_68_030506 Figure 6-72: Differential SSTL2 Class II Unidirectional Termination Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 282
DIFF_SSTL2_II 50Ω 50Ω 25Ω 25Ω = 1.25V = 1.25V DIFF_SSTL2_II DIFF_SSTL2_II 50Ω 50Ω 25Ω 25Ω DIFF_SSTL2_II DIFF_SSTL2_II – – ug190_6_70_071707 Figure 6-74: Differential SSTL2 (2.5V) Class II with Bidirectional Termination www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 283
(DC) specifies the input differential voltage required for switching. 3. V (AC) indicates the voltage where the differential input signals must cross. 4. V (AC) indicates the voltage where the differential output signals must cross. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
= 1.8V – DIFF_SSTL18_I_DCI = 2Z 0 = 100Ω = 2Z 0 = 100Ω Ω R 0 = 20 ug190_6_74_032206 Figure 6-79: Differential SSTL (1.8V) Class I Unidirectional DCI Termination www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 287
(DC) specifies the input differential voltage required for switching. 4. V (AC) indicates the voltage where the differential input signals must cross. 5. V (AC) indicates the voltage where the differential output signals must cross. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
= 2Z 0 = 100Ω ug190_6_75_030506 Figure 6-80: SSTL18 (1.8V) Class II Unidirectional Termination Figure 6-81 shows a sample circuit illustrating a valid bidirectional termination technique for SSTL (1.8V) Class II. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 289
Ω R 0 = 20 = 2Z 0 = 100Ω = 2Z 0 = 100Ω = 0.9V Ω R 0 = 20 ug190_6_76_071707 Figure 6-81: SSTL (1.8V) Class II Termination Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 290
1. N must be greater than or equal to –0.04 and less than or equal to 0.04. 2. V maximum is V +0.3. 3. V minimum does not conform to the formula. 4. Because SSTL_I_DCI uses a controlled-impedance driver, V and V are different. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
SSTL class I driver. The SSTL18_II_T_DCI standard behaves like a normal SSTL18_II I/O in a bidirectional environment but has the advantage of lower drive strength and lower power consumption due to the optimized termination circuit. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
LVDS and Extended LVDS (Low Voltage Differential Signaling) Low Voltage Differential Signaling (LVDS) is a very popular and powerful high-speed interface in many system applications. Virtex-5 FPGA I/Os are designed to comply with the EIA/TIA electrical specifications for LVDS to make system and board design easier.
The Virtex-5 FPGA LVDS transmitter does not require any external termination. Table 6-36 lists the allowed attributes corresponding to the Virtex-5 FPGA LVDS current-mode drivers. Virtex-5 FPGA LVDS current-mode drivers are a true current source and produce the proper (EIA/TIA compliant) LVDS signal. Receiver Termination...
The HyperTransport™ protocol (HT) also known as Lightning Data Transport (LDT), is a low-voltage standard for high-speed interfaces. Its differential signaling based interface is very similar to LVDS. Virtex-5 FPGA IOBs are equipped with HT buffers. Table 6-38 summarizes all the possible HT I/O standards and attributes supported.
Differential LVPECL (Low-Voltage Positive Emitter-Coupled Logic) LVPECL is a very popular and powerful high-speed interface in many system applications. Virtex-5 FPGA I/Os are designed to comply with the EIA/TIA electrical specifications for 2.5V LVPECL to make system and board design easier.
No more than one Split Termination type (input or output) is allowed in the same bank. Incompatible example: HSTL_I_DCI input and HSTL_II_DCI input The implementation tools enforce these design rules. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 299
Rules for Combining I/O Standards in the Same Bank Table 6-39 summarizes the Virtex-5 FPGA supported I/O standards. Table 6-39: I/O Compatibility Termination Type I/O Standard Output Input Input Output Input LVTTL LVCMOS33 LVDCI_33 Series HSLVDCI_33 Series PCIX PCI33_3 PCI66_3...
Page 300
1.08 Single HSTL_IV_DCI_18 1.08 Single Single HSTL_I_DCI_18 Split HSTL_II_DCI_18 Split Split HSTL_II_T_DCI_18 Split DIFF_HSTL_I_DCI_18 Split DIFF_HSTL_II_DCI_18 Split Split SSTL18_I_DCI Split SSTL18_II_DCI Split Split SSTL18_II_T_DCI Split DIFF_SSTL18_I_DCI Split DIFF_SSTL18_II_DCI Split Split www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 301
3. N/R = no requirement. 4. RSDS_25 has the same DC specifications as LVDS_25. All information pertaining to LVDS_25 is applicable to RSDS_25. 5. I/O standard is selected using the IOSTANDARD attribute. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Clamp Diode ug190_6_85_030506 Figure 6-91: Virtex-5 FPGA I/O: 3-State Output Driver The clamp diodes offer protection against transient voltage beyond approximately + 0.5V and Ground – 0.5V. The voltage across the diode increases proportionally to the current going through it. Therefore the clamped level is not fixed and can vary www.xilinx.com...
Page 303
Figure 6-92, the OBUF_LVDCI_33 primitive is used to implement the source termination function in Virtex-5 FPGA output drivers. The pull-up resistor connected to VRN and the pull-down resistor connected to VRP determine the output impedance of all the output drivers in the same bank. The “Virtex-5 FPGA Digitally Controlled Impedance...
In addition, changing the slew rate from fast to slow and/or reducing the current drive could significantly reduce overshoot and undershoot. The Virtex-5 FPGA PCB Designer’s Guide contains additional design information to assist PCB designers and signal integrity engineers. Regulating V at 3.0V...
I/O standards. For designs in nominal PCBs mixing limited and “no limit” I/O standards, the Virtex-5 FPGA SSO calculator must be used to ensure that I/O utilization does not exceed the limit. Information on the calculator is available under the “Full Device...
Note: In cases where PCB parameters do not meet all requirements listed below, the Virtex-5 FPGA SSO Calculator must be used to determine the SSO limit, according to the physical factors of the unique PCB.
Table 6-40: Maximum Number of Simultaneously Switching Outputs per Bank Voltage IOSTANDARD Limit per 20-pin Bank Limit per 40-pin Bank 1.2V HSTL_I_12 LVCMOS12_2_slow LVCMOS12_4_slow LVCMOS12_6_slow LVCMOS12_8_slow LVCMOS12_2_fast LVCMOS12_4_fast LVCMOS12_6_fast LVCMOS12_8_fast Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
LVDCI_33 50 Ω HSLVDCI_33 50 Ω Actual SSO Limits versus Nominal SSO Limits The Virtex-5 FPGA SSO limits are defined for a set of nominal system conditions in Table 6-40. To compute the actual limits for a specific user's system, the “Parasitic Factors...
(versus the peripheral I/O architecture of previous devices), there is a separate tab at the bottom of the SSO calculator display for each Virtex-5 FPGA package. This customizing allows for the arrangement of physically adjacent banks (as...
Page 316
Chapter 6: SelectIO Resources www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
In addition, Virtex-5 FPGAs implement the following architectural features that are also supported in Virtex-4 FPGAs: • IODELAY provides users control of an adjustable, fine-resolution delay element • SAME_EDGE output DDR mode • SAME_EDGE and SAME_EDGE_PIPELINED input DDR mode Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The reset condition predominates over the set condition. Table 7-1 Table 7-2 describe the operation of SR in conjunction with REV. Table 7-1: Truth Table when SRVAL = 0 (Default Condition) Function Reset Reset www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
ILOGIC block. The following sections discuss the various resources within the ILOGIC blocks. All connections between the ILOGIC resources are managed in Xilinx software. Combinatorial Input Path The combinatorial input path is used to create a direct connection from the input driver to the FPGA fabric.
Figure 7-4 shows the timing diagram of the input DDR using the SAME_EDGE_PIPELINED mode. The output pairs Q1 and Q2 are presented to the FPGA fabric at the same time. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
DDR flip-flop. Data input (DDR) IDDR register input from IOB. Reset Synchronous/Asynchronous reset pin. Reset is asserted High. Synchronous/Asynchronous set pin. Set is asserted High. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Clock Event 1, the input signal becomes valid-High at the D IDOCK input of the input register and is reflected on the Q1 output of the input register at time T after Clock Event 1. ICKQ www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Clock Event 9, and Q2 ICKQ at time T after Clock Event 10. ICKQ Table 7-5 describes the function and control signals of the ILOGIC switching characteristics in the Virtex-5 FPGA Data Sheet. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 324
CE1 pin to Q1 using flip-flop as a latch, propagation delay ICE1Q SR/REV pin to OQ/TQ out Note: The DDLY timing diagrams and parameters are identical to the D timing diagrams and parameters. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
IODELAY allows incoming signals to be delayed on an individual basis. The tap delay resolution is varied by selecting an IDELAYCTRL reference clock from the range specified in the Virtex-5 FPGA Data Sheet. The IODELAY resource can function as IDELAY, ODELAY, or bidirectional delay.
Delayed data from one of three data input ports (IDATAIN, DATAOUT Output ODATAIN, DATAIN) IDATAIN Input Data input for IODELAY from the IOB. ODATAIN Input Data input for IODELAY from the OSERDES/OLOGIC www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
C can be locally inverted, and must be supplied by a global or regional clock buffer. This clock should be connected to the same clock in the SelectIO logic resources (when using ISERDES and OSERDES, C is connected to CLKDIV). Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 328
Table 7-9. Table 7-9: Increment/Decrement Operations Operation Reset to IDELAY_VALUE Increment tap count Decrement tap count No change Notes: 1. RST takes precedence over CE and INC. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
HIGH_PERFORMANCE_MODE Boolean: FALSE, TRUE When TRUE, this attribute reduces the output TRUE jitter. The difference in power consumption is quantified in the Xilinx Power Estimator tool. SIGNAL_PATTERN String: DATA, DATA The SIGNAL_PATTERN attribute causes the CLOCK timing analyzer to account for the appropriate amount of delay-chain jitter in the data or clock path.
Figure 7-9 shows an IDELAY timing diagram. It is assumed that IDELAY_VALUE = 0. X-Ref Target - Figure 7-9 DATAOUT Tap 0 Tap 1 UG190_7_09_100107 Figure 7-9: IDELAY Timing Diagram www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Variable Delay Mode The Libraries Guide shows how to instantiate the IODELAY module in variable delay mode. IDELAYCTRL must also be instantiated when operating in this mode. See “IDELAYCTRL Overview,” page 337. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
When using IODELAY in bidirectional mode, the turnaround time needs to be considered. Figure 7-10 shows a simplified block diagram of the IODELAY in the Virtex-5 FPGA IOB that applies to one use of the bidirectional IODELAY functionality. X-Ref Target - Figure 7-10...
Page 334
ODDR ODATAIN DATAOUT OBUF IODELAY ODATAIN IDDR Delay IDATAIN Chain IBUF MUX E ODELAY_VALUE IDELAY_VALUE MUX F IODELAY_02_082107 Figure 7-11: IODELAY and IOB in Input Mode when 3-state is Disabled www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 335
I/O is an output switching to an input using 3-state control. The switching characteristics shown in the diagram are specified in the Virtex-5 FPGA Data Sheet. X-Ref Target - Figure 7-12...
Page 336
ODDR ODATAIN DATAOUT OBUF IODELAY ODATAIN IDDR Delay IDATAIN Chain IBUF MUX E ODELAY_VALUE IDELAY_VALUE MUX F IODELAY_04_082107 Figure 7-13: IODELAY and IOB in Output Mode when 3-state is Enabled www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
I/O switches from input to an output using 3-state control. The switching characteristics shown in the diagram are specified in the Virtex-5 FPGA Data Sheet. X-Ref Target - Figure 7-14...
If RDY is deasserted Low, the IDELAYCTRL module must be reset. The implementation tools allow RDY to be unconnected/ignored. Figure 7-16 illustrates the timing relationship between RDY and RST. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
IDELAYCTRL_REF_PRECISION REFCLK precision Reset/Startup to Ready for IDELAYCTRL IDELAYCTRLCO_RDY As shown in Figure 7-16, the Virtex-5 FPGA RST is an edge-triggered signal. X-Ref Target - Figure 7-16 REFCLK IDELAYCTRLCO_RDY ug190_7_11_041206 Figure 7-16: Timing Relationship Between RST and RDY IDELAYCTRL Locations IDELAYCTRL modules exist in every I/O column in every clock region.
The VHDL and Verilog use models for instantiating an IDELAYCTRL primitive without LOC constraints leaving the RDY output port unconnected are provided in the Libraries Guide. The resulting circuitry after instantiating the IDELAYCTRL components is illustrated Figure 7-18. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 341
Instantiated by user REFCLK REFCLK IDELAYCTRL REFCLK IDELAYCTRL Replicated for all IDELAYCTRL sites REFCLK IDELAYCTRL Auto-generated by mapper tool ug190_7_14_041306 Figure 7-19: Instantiate IDELAYCTRL Without LOC Constraints - RDY Connected Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 342
ISERDES and IDELAY components using the delay element. (IDELAY_TYPE attribute set to FIXED or VARIABLE). Once completed, IDELAYCTRL sites can be chosen and LOC constraints assigned. Xilinx strongly recommends using IDELAYCTRL with a LOC constraint. When not using an IDELAY (with IDELAY_TYPE in FIXED or VARIABLE mode) do not assign a LOC constraint to the IDELAYCTRL for that clock region.
Page 343
IDELAYCTRL instance with the RDY signal connected. This discussion is also valid when the RDY signal is ignored. The circuitry that results from instantiating the IDELAYCTRL components is illustrated in Figure 7-21. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
OCE and TCE. Both have asynchronous and synchronous set and reset (SR and REV signals) controlled by an independent SRVAL attribute as described in Table 7-1 Table 7-2. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Figure 7-22: OLOGIC Block Diagram This section of the documentation discusses the various features available using the OLOGIC resources. All connections between the OLOGIC resources are managed in Xilinx software. Combinatorial Output Data and 3-State Control Path The combinatorial output paths create a direct connection from the FPGA fabric to the output driver or output driver control.
Page 346
DDR using the SAME_EDGE mode. X-Ref Target - Figure 7-24 D1A D2A D1B D2B D1C D2C D1D ug190_7_19_041206 Figure 7-24: Output DDR Timing in SAME_EDGE Mode www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
This is accomplished by tying the D1 input of the ODDR primitive High, and the D2 input Low. Xilinx recommends using this scheme to forward clocks from the FPGA fabric to the output pins.
OLOGIC Timing Models This section discusses all timing models associated with the OLOGIC block. Table 7-15 describes the function and control signals of the OLOGIC switching characteristics in the Virtex-5 FPGA Data Sheet. Table 7-15: OLOGIC Switching Characteristics Symbol Description...
Page 349
D2 input of ODDR register and is reflected on the OQ output at time after Clock Event 2 (no change at the OQ output in this case). OCKQ Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 350
IOB DDR 3-state register timing. This example is shown using DDR in opposite edge mode. For other modes add the appropriate latencies as shown in Figure 7-4, page 321. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 351
Clock Event 9 (no change at the TQ output in this case) and resetting 3-state Register, reflected at the TQ output at time T after Clock Event 10 (no change at the TQ output in this case). Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 352
Chapter 7: SelectIO Logic Resources www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
ISERDES contains dedicated circuitry (including the OCLK input pin) to handle the strobe-to-FPGA clock domain crossover entirely within the ISERDES block. This allows for higher performance and a simplified implementation. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
ISERDES_NODELAY block. When width expansion is used, D1 of the master OSERDES is the least significant input, while Q4 of the slave ISERDES_NODELAY block is the least significant output. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
ISERDES_NODELAY for the other ½. The internal clock enable signal ICE shown in Figure 8-4 is derived from the CE1 and CE2 inputs. ICE drives the clock enable inputs of www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Serial Input Data from IOB - D The serial input data port (D) is the serial (high-speed) data input port of the ISERDES_NODELAY. This port works in conjunction with all the Virtex-5 FPGA I/O resources to accommodate the desired I/O standards.
ISERDES_NODELAY attributes. A detailed description of each attribute follows the table. For more information on applying these attributes in UCF, VHDL, or Verilog code, refer to the Xilinx ISE Software Manual. Table 8-2: ISERDES_NODELAY Attributes Default...
When set to MEMORY, the Bitslip submodule is not available (BITSLIP_ENABLE must be set to FALSE), and the OCLK port can be used. Figure 8-5 illustrates the ISERDES_NODELAY internal connections when in Memory mode. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
CLK driven by BUFIO, CLKDIV driven by BUFR • CLK driven by DCM, CLKDIV driven by the CLKDV output of the same DCM • CLK driven by PLL, CLKDIV driven by CLKOUT[0:5] of same PLL www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
For a differential input, the master ISERDES must be on the positive side of the differential input pair. When the input is not differential, the input buffer associated with the slave ISERDES is not available and can not be used. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The user must connect the SHIFTIN ports of the SLAVE to the SHIFTOUT ports of the MASTER. The SLAVE only uses the ports Q3 to Q6 as an input. DATA_WIDTH applies to both MASTER and SLAVE in Figure 8-7. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
(compared to memory mode) is due to the Bitslip submodule. ISERDES Timing Model and Parameters Table 8-4 describes the function and control signals of the ISERDES switching characteristics in the Virtex-5 FPGA Data Sheet. Table 8-4: ISERDES Switching Characteristics Symbol Description Setup/Hold for Control Lines...
ISERDES receives the reset pulse in a different CLK cycle. The internal resets for both CLK and CLKDIV are reset asynchronously when the RST input is asserted. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
In VHDL, each template has a component declaration section and an architecture section. Each part of the template should be inserted within the VHDL design file. The port map of the architecture section should include the design signal names. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 367
SDR and DDR mode, the total latency from when the ISERDES captures the asserted Bitslip input to when the “bit-slipped” ISERDES outputs Q1–Q6 are sampled into the FPGA logic by CLKDIV is two CLKDIV cycles. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
On this same edge of CLKDIV, the first word sampled is presented to Q1–Q4 without any realignment. The actual bits from the input stream that appear at the Q1–Q4 outputs during this cycle are shown in A of Figure 8-13. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 369
The third word sampled is presented to Q1–Q4 with three bits shifted to the left. The actual bits from the input stream that appear at the Q1–Q4 outputs during this cycle are shown in C of Figure 8-13. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Prior to use, a reset must be applied to the OSERDES. The OSERDES contains an internal counter that controls dataflow. Failure to synchronize the reset with the CLKDIV will produce an unexpected output. Table 8-5 describes the relationship between CLK and CLKDIV in all modes. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Divided Clock Input - CLKDIV This divided high-speed clock input drives the parallel side of the parallel-to-serial converters. This clock is the divided version of the clock connected to the CLK port. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
OSERDES blocks that receive the same reset pulse come out of reset synchronized with one another. The reset timing of multiple OSERDES ports is shown in Figure 8-20, page 381. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The DATA_RATE_TQ attribute defines whether 3-state control is to be processed as single data rate (SDR) or double data rate (DDR). The allowed values for this attribute are SDR and DDR. The default value is DDR. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
(e.g., DIFF_HSTL and DIFF_SSTL) cannot be used. This is because both OLOGIC blocks in an I/O tile are used by the complementary single-ended standards to transmit both legs of the signal, leaving no OLOGIC blocks available for width expansion. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The slave inputs used for data widths requiring width expansion are listed in Table 8-9. Table 8-9: Slave Inputs Used for Data Width Expansion Data Width Slave Inputs Used D3–D4 D3–D6 www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
OSERDES Timing Model and Parameters This section discusses all timing models associated with the OSERDES primitive. Table 8-11 describes the function and control signals of the OSERDES switching characteristics in the Virtex-5 FPGA Data Sheet. Table 8-11: OSERDES Switching Characteristics Symbol Description...
The data bit A appears at OQ one CLK cycle after AB is sampled into the OSERDES. This latency is consistent with the Table 8-10 listing of a 2:1 SDR mode OSERDES latency of one CLK cycle. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
The data bit A appears at OQ four CLK cycles after ABCDEFGH is sampled into the OSERDES. This latency is consistent with the Table 8-10 listing of a 8:1 DDR mode OSERDES latency of four CLK cycles. Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Event 1 Event 2 CLKDIV A B C D E F G H I J K L OBUFT.O UG190_8_19_100307 Figure 8-19: OSERDES Data Flow and Latency in 4:1 DDR Mode www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
CLKDIV OSERDES0 Signal at SR Input OSERDES1 OSERDES0 Internal Reset (CLKDIV) OSERDES1 OSERDES0 Internal Reset (CLK) OSERDES1 UG070_c8_20_100307 Figure 8-20: Two OSERDES Coming Out of Reset Synchronously with One Another Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
The release of the reset signal at the SR input is retimed internally to CLK. OSERDES VHDL and Verilog Instantiation Templates The Libraries Guide includes instantiation templates of the OSERDES module in VHDL and Verilog. www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
RAM ports HSTL number of flip-flops timing models defined number of LUTs by device class I number of shift registers IDDR class I (1.8V) register/latch configuration delay element class II Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Page 384
READ_FIRST mode increment/decrement LVDS REFCLK primitive defined regional clock buffers switching characteristics LVDS_25_DCI regional clocks timing LVPECL clock buffers IDELAYCTRL defined clock nets instantiating LVTTL RDY port defined RSDS location www.xilinx.com Virtex-5 FPGA User Guide UG190 (v5.0) June 19, 2009...
Page 385
SRLOW SSTL Differential SSTL Class II (1.8V) Differential SSTL2 Class II (2.5V) SSTL18 Class I (1.8V) SSTL18 Class II (1.8V) SSTL2 Class I (2.5V) SSTL2 Class II (2.5V) WRITE_FIRST mode Virtex-5 FPGA User Guide www.xilinx.com UG190 (v5.0) June 19, 2009...
Need help?
Do you have a question about the Virtex-5 FPGA and is the answer not in the manual?
Questions and answers