Keyword: shift, counter, overflow, pro
What happens to the Phase Shifted output in a DCM when it reaches the maximum value of 255 or the end of the delay line? What does the Phase Shift counter in a DCM exhibit when it reaches 255 (the max value)?
When the DCM is incremented/decremented beyond 255 (or -255), there is no delay line change and a phase change does not occur. The phase shift value remains at +255 (-255), and the "DPS Overflow" signal (STATUS) goes High. When a change to the PS value occurs in the opposite direction, the "DPS Overflow" signal goes back to Low.
If the phase shift does not reach 255 (-255), but the phase shift has exceeded the delay line range, a phase change does not occur. The phase shift value continues to increment or decrement unless +/-255 is reached by the phase shift counter (see above). The "DPS Overflow" signal (STATUS) goes High. When a change to the PS value occurs in the opposite direction and the phase shift value is incremented or decremented back to a value that corresponds to a valid absolute delay in the delay line, the "DPS Overflow" signal goes back to Low.
When the phase shift reaches 255 (-255), the phase shift counter stays at its maximum value of 255 until it is set to decrement. Status indicates when the counter has exceeded its maximum value.
1. The delay line range is specified by the FINE_SHIFT_RANGE value described in the "Module 3: DC and Switching Characteristics" section of the Spartan-3 data sheets (see links below).
2. For more information on how the FINE_SHIFT_RANGE value limits variable and fixed phase shift, refer to the "Spartan-3 Generation FPGA User Guide" accessible at:
To access the user guide, select Spartan-3A under FPGA Device Families.
3. The actual delay line might be longer than the FINE_SHIFT_RANGE. However, only delays up to the FINE_SHIFT_RANGE (with respect to the phase shift mode selected) are guaranteed. You should design with this range in mind and use the STATUS(0) value to indicate maximum phase shift.
The Spartan-3 Data Sheet is located at: