Does calibration need to be run after the initial IODELAY2 calibration?
Ifso, how often should that occur?
The delay taps in the Spartan-6 IODELAY2 can vary over PVT, so many designs need to run calibration after the initial setup is done to ensure that the best possible alignment is maintained.
During the time a calibration is being run, the output of the IODELAY2 is invalid data. If it is required that your interface cannot lose any data, then the Phase Detector setup should be used (as described in the Spartan-6 Select IO User Guide (UG381)):
The Phase Detector allows the interface to be calibrated and adjustments made without losing any data.
There is no required or recommended time for which calibrations should be done; it is design dependent.For a reference, some of the Spartan-6 FPGA Application Notes that use the IODELAY2 are calibrated every 2^10 GCLK cycles (or 1024 GCLK cycles).
If your applicationhas steady temperature and voltage, then the calibration times can be extended further to minutes. Even in the most controlled temperature and voltage applications it is recommended that calibration be done at minimum once per hour.