Forum Discussion

mdidomenico3's avatar
mdidomenico3
Icon for New Contributor rankNew Contributor
10 months ago

PLL Compensation Mode explanation

I have a design in which I am attempting to transfer data from clk1 to clk2, where clk1 is an output from an upstream PLL, drives core logic, and is the input ref clock to a downstream PLL, which generates clk2 at the same frequency. The generated clk2 is used to drive core logic as well.

My understanding from the documentation is that using "normal mode" compensation for the downstream PLL (I can't edit the upstream PLL in this design) should minimize the clock skew between clk1 and clk2, which should be phase aligned by default.

However, my current understanding from experimentation/other questions on this forum is that when PLL compensation is in use in any mode (other than direct) the compensation for the PLL output is relative to the clock origin (the clock input pin to the device). With normal mode compensation I'm seeing significant clock skew/hold violations in transfers from clk1 to clk2.

Are there any settings or changes I can make to minimize clock skew between clk1 and clk2? Is it possible to force the PLL IP to compensate the output clock for the clock at the PLL input, instead of the original clock at the pin?

Thanks in advance!

4 Replies

  • I'd like to add that the upstream PLL is an fPLL, so clk1 is a clock generated from an fPLL, not an IO PLL.

  • Hi mdidomenico3,


    May I know which device are you using?

    What is the mode selected for the fPLL now?


    Best Regards,

    Xiaoyan


    • mdidomenico3's avatar
      mdidomenico3
      Icon for New Contributor rankNew Contributor

      The fPLL is generated by a transceiver IP core, so I'm not sure what settings are in use, and the device family is Stratix 10.

  • lixy's avatar
    lixy
    Icon for Contributor rankContributor

    Hi mdidomenico3,


    When doing cascading, normally we need to treat these two clocks as asynchronous whichever mode you select. You may just choose Normal Mode. But timing must be ensured in RTL design, rather than simply relying on the compensation mechanism of PLL.


    Best Regards,

    Xiaoyan