Forum Discussion
Cyclone II: PLL
From the device datasheet Cyclone II has 4 PLL, and I need to generate four 250MHz clocks with 0 degree, 90 degree, 180 degree and 270 degree phase shift. The input clock is 50MHz. But the altpll function only has 3 output (c0-c2). How to access the other 3 pll ?
11 Replies
- Altera_Forum
Honored Contributor
Strictly NO !, you can't "shift 180°" with NOT gate because gates introduce a delay, so 180° is NOT guaranteed by this way.
- Altera_Forum
Honored Contributor
just instantiate others "altpll", I think.
- Altera_Forum
Honored Contributor
You can do it with two PLL output clocks as 180° = 0° inverted and 270° = 90° inverted
- Altera_Forum
Honored Contributor
What about rising_edge( clock ) and falling_edge( clock ) then? and DDR input blocks?
See page 2-9 of the Cyclone II datasheet: chapter 2. cyclone ii architecture (http://www.altera.com/literature/hb/cyc2/cyc2_cii51002.pdf) - Altera_Forum
Honored Contributor
You can do a NOT gate or rising/falling edge. There is an inversion as the clock goes into the LAB that has negligible delay. It shouldn't be a problem at all and only uses two globals.
(Now, most of the time I see people do this is to oversample some incoming signal. Ideally that external data comes in and feeds four FFs clocked by these different clocks, all in the same LAB. The LAB-wide clock signal will hurt you here, in that you can't get four clocks into a single LAB, so the FFs get spread out and you get more skew. This is true whether you invert the clocks or had four separate clocks. Of course, it depends on your rates if that's a problem or not) - Altera_Forum
Honored Contributor
--- Quote Start --- You can do a NOT gate or rising/falling edge. There is an inversion as the clock goes into the LAB that has negligible delay. --- Quote End --- Being (a bit) pedantic: as shown on page 2-9 (http://www.altera.com/literature/hb/cyc2/cyc2_cii51002.pdf) there is a mux that selects between the 'true' and the 'inverted' global(s) to feed the LAB. If there is any difference in the delay I expect TimeQuest will take that into account. --- Quote Start --- Strictly NO !, you can't "shift 180°" with NOT gate because gates introduce a delay, so 180° is NOT guaranteed by this way. --- Quote End --- 'Definitely YES' I'd say ... - Altera_Forum
Honored Contributor
--- Quote Start --- just instantiate others "altpll", I think. --- Quote End --- Hi everybody, I am thinking to instantiate other altpll as mmTsuchi had suggested, but I am unable to find any information regarding the other 3 pll in cyclone II other than what is available from the megawizard. For instance input port name "inclk0" (for the first pll) but no information for the second pll. - Altera_Forum
Honored Contributor
Did you miss the table pll clock input pin connections in the Cyclone II Device Handbook?
The problem with Cyclone II is that PLLs can be only driven by specific input pins, to use multiple PLLs, the clock source must be wired to different sides of the FPGA. - Altera_Forum
Honored Contributor
--- Quote Start --- Did you miss the table pll clock input pin connections in the Cyclone II Device Handbook? The problem with Cyclone II is that PLLs can be only driven by specific input pins, to use multiple PLLs, the clock source must be wired to different sides of the FPGA. --- Quote End --- Ok..i will recheck again in the device handbook. Just one more question, can two pll be driven by the same source clock at the same time ? - Altera_Forum
Honored Contributor
Once again: you don't need two PLLs to generate the 4 clocks: 0°, 90°, 180°, 270°. As Rysc confirmed you can use just one PLL with two clocks 0° and 90° and either use a 'not' operator or use falling_edge() in VHDL or negedge in Verilog to get the 180° and 270°.
As FvM indicates: using 2 PLLs wil necessitate connecting the external clock reference to 2 pins on the FPGA which in Cyclone II are located on the opposite sides. This will add about 150 to 200 ps skew between the outputs of the two PLLs. Also the two PLLs are located on different sides of the FPGA, adding more skew.