Virtex-5 FPGA User Guide
325
UG190 (v5.0) June 19, 2009
Input/Output Delay Element (IODELAY)
Input/Output Delay Element (IODELAY)
Every I/O block contains a programmable absolute delay element called IODELAY. The
IODELAY can be connected to an ILOGIC/ISERDES or OLOGIC/OSERDES block or both.
IODELAY is a 64-tap, wraparound, delay element with a calibrated tap resolution. See the
Virtex-5 FPGA Data Sheet
. It can be applied to the combinatorial input path, registered
input path, combinatorial output path, or registered output path. It can also be accessed
directly in the fabric. 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.
When used as IDELAY, the data input comes from either IBUF or the fabric and the output
goes to ILOGIC/ISERDES. There are three modes of operation available:
•
Zero-hold time delay mode (IDELAY_TYPE = DEFAULT)
This mode of operation allows backward compatibility for designs using the zero-hold
time delay feature in Virtex-II, Virtex-II Pro and Virtex-4 devices. This delay element is
used to provide non-positive hold times when global clocks are used without DCMs to
capture data (pin-to-pin parameters). When used in this mode, the IDELAYCTRL
primitive does not need to be instantiated. See
for more details.
•
Fixed delay mode (IDELAY_TYPE = FIXED)
In the fixed delay mode, the delay value is preset at configuration to the tap number
determined by the attribute IDELAY_VALUE. Once configured, this value cannot be
changed. When used in this mode, the IDELAYCTRL primitive must be instantiated.
See
IDELAYCTRL Usage and Design Guidelines
for more details.
•
Variable delay mode (IDELAY_TYPE = VARIABLE)
In the variable delay mode, the delay value can be changed after configuration by
manipulating the control signals CE and INC. When used in this mode, the
IDELAYCTRL primitive must be instantiated. See
for more details.
When used as ODELAY, the data input comes from OLOGIC/OSERDES and the data
output goes to OBUF. There is a single mode of operation:
•
Fixed delay output mode
In the fixed delay output mode, the delay value is preset at configuration to the tap
number determined by the attribute ODELAY_VALUE. Once configured, this value
cannot be changed. When used in this mode, the IDELAYCTRL primitive must be
instantiated. See
IDELAYCTRL Usage and Design Guidelines
for more details.
When used as bidirectional delay, the IOB is configured in bidirectional mode. IODELAY
alternately delays the data on the input path and output path. There are two modes of
operation:
•
Fixed IDELAY (IDELAY_TYPE = FIXED) and fixed ODELAY mode
In this mode, both the values for IDELAY and ODELAY are preset at configuration and
are determined by the IDELAY_VALUE and ODELAY_VALUE attributes. Once
configured, this value cannot be changed. When used in this mode, the IDELAYCTRL
primitive must be instantiated. See
IDELAYCTRL Usage and Design Guidelines
for
more details.
Summary of Contents for Virtex-5 FPGA ML561
Page 1: ...Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 ...
Page 8: ...Virtex 5 FPGA User Guide www xilinx com UG190 v5 0 June 19 2009 ...
Page 20: ...20 www xilinx com Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 ...
Page 24: ...24 www xilinx com Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 Preface About This Guide ...
Page 172: ...172 www xilinx com Virtex 5 FPGA User Guide UG190 v5 0 June 19 2009 Chapter 4 Block RAM ...