ALTPLL dynamic phase shift: c0/c1 shift in opposite directions; c2 does not shift (Stratix IV)
Hi friends,
I’m using the ALTPLL dynamic phase reconfiguration feature to emulate an all-digital PLL without relying on an analog VCO.
Setup: the PLL takes a 50 MHz input and generates c0, c1, and c2, all at 50 MHz. I based my state machine on Intel’s example (AN-454, https://cdrdv2-public.intel.com/653845/an454.pdf, and have attached my code. For testing, the original 50 MHz reference is routed to a GPIO pin, and the phase-shifted clock is routed to SMA_CLKOUT_p. To switch which output is phase-shifted, you can modify lines 161 and 203 in the PLL_phase_shifter.v.
Observed behavior:
With the code unchanged except for PHASECOUNTERSELECT moving from 4'b0000 to 4'b0001, the phase shift direction appears to invert between c0 and c1 with respect to the original clk. I can compensate by flipping PHASEUPDOWN, but this seems odd.
When PHASECOUNTERSELECT is set to 4'b0010 (targeting c2), the phase does not change at all, regardless of the direction.
Environment: Quartus Prime 23.1 Standard, Stratix IV, Terasic DE4-230.
If you need additional details (project files, reports, waveforms), I’m happy to provide them. Thank you!
Best regards,
Heyang
Hi,
additional problem, phasecounter_select mapping is different than expected. See Stratix IV handbook.
Regards
Frank