--- Quote Start ---
Thinking about this some more, I'm concerned that your PLLs will talk correctly. For example, if you have 4 devices all fed with an 80 MHz clock that then create a 260MHz clock, the output clock will "align" with the input clock every 4th cycle(I think, please double check). But there is no guarantee this alignment will occur in sync across the 4 PLLs. For example, the period is ~3.846ns. So making up a theoretical time 0ns that the first PLL locks up with, it will have edges at 0ns, 3.846, 7.69, 11.538, etc. But another PLL may align with the input clock at time 8.5ns, so it will have edges at that are not "off" from the other PLL.
I did a sample design to fix this, but it requies the PLLs sending out the faster clock and then we divide it down in the altclkctrl block:
http://www.alteraforum.com/forum/showthread.php?t=1473&highlight=pll Naturally, we can't send out a 13*80MHz clock to do this, as the clock trees don't run that fast.
My thoughts would be to:
a) Run at 3x, or 240MHz, so the output clocks align with every edge of the input clock and the problem goes away. (Theoretically you could do a 4x too)
b) Have one device's PLL create the clock and use that to distribute that across the devices. (Or do something like a 13/8ths speed clock, which is 130MHz, distribute that and multiply it up. Again, the edges are aligned with the input clock, so it will work out.
http://www.alteraforum.com/forum/showthread.php?t=1473&highlight=pll)
--- Quote End ---
Thanks for the suggestions. I decided to use option b and also switched over to TimeQuest.
Here is the setup:
One FPGA creates three 260Mhz clocks, one is used to drive logic and the other 2 are phase shifted +/- 120 degrees. This chip also drives a divided by 2 clock that is fed to other chips.
Other chips in the system generate the same 260Mhz clocks from the 130Mhz clock.
All chips drive data out on the -120 deg. shifted clock and receive it on the +120 deg. shifted clock.
When I constrain the I/O, do I need to use virtual clocks to represent the phase shifted clocks on the other chips?