Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
8 years ago

max 10: Alternate between two clock sources without reseting I/Os values ??

Hi

I'm using Max10M16 for my project. In the project we have two clock sources (CLK_1 and CLK_2) and we want to switch from one clock source to the other. Namely:

- First, CLK_1 will be used as global clock source for Max 10.

- After some times, the CLK_1 will be switched off. Now we want to use the CLK_2 (CLK_2 is always on) as a global clock source for for Max 10.

- The switching between two clocks should not affect to the current IOs values (IO level should remain unchanged all the time).

My question is: is it possible ? And if yes, is there any guide how to do it?

Thanks

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Most PLLs have a clock switchover function, which is where I would start. (I don't remember if M10 has this or not). This could get complicated in that when switching the PLL has to lock to the second clock, where I don't know if your system can tolerate that. Also, if the clocks are not close in frequency, the PLL would have to be reconfigured, which can be a pain.

    I believe you can also have two clocks come in and do this in logic. It's not "recommended" but certainly works. I have an Arria 10 design with 12 clock muxes in logic that then drive globals, and it's all working in hardware, so it is do-able.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Rysc

    The PLL clock switchover seems to be suitable for my problem. As for Max10 device, the datasheet says that it has the "switchover" feature, however when looking in Qsys ALTPLL-IP for this "switchover" option, I cannot select/active this option as well as "enhanced pll" option in "general" tab. As far as I understand, the "switchover" can only be used in "enhanced pll" type, but the ALTPLL Wizard automatically selects "select the pll type automatically" and does not let me to select PLL type manually.