Forum Discussion

jesseopdenbrouw's avatar
jesseopdenbrouw
Icon for New Contributor rankNew Contributor
7 days ago

TimeQuest Question Relating PLL

I have a design on a DE23-lite board. I use the onboard 50 MHz clock to feed a PLL set to 150 MHz. All registers clock on the PLL. I_clk is the 50 MHz clock.

I use the following rule:

create_generated_clock -name clk_pll -source [get_ports {I_clk}] -multiply_by 3 [get_pins {pll0|iopll_0|tennm_ph2_iopll|out_clk[0]}]

(Yes, the PLL output has that name)

Now TimeQuest complains:

No paths exist between clock target "pll0|iopll_0|tennm_ph2_iopll|out_clk[0]" of clock "clk_pll" and its clock source. Assuming zero source clock latency.

So I looked up the PLL input clock. But if I write:

create_generated_clock -name clk_pll \
    -source [get_pins {pll0|iopll_0|tennm_ph2_iopll|ref_clk0}] \
    -multiply_by 3 \
    [get_pins {pll0|iopll_0|tennm_ph2_iopll|out_clk[0]}]
  

the setup slack on I_clk is -7 ns, but no register clocks on this clock.

So what to do?

 

3 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    This is Agilex 3 so just delete this constraint.  PLL constraints are derived automatically based on your PLL configuration.

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

      Thank you for your answer. But now TimeQuest complains that the input clock has a negative setup slack, even if no flip-flop is clocked on this clock. How do I prevent that?

      I_clk    -6.440    -150.246    30 

      Greets

      Jesse

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    Something is failing timing in the input clock domain, not the clock itself.  You need to generate timing reports and understand what is failing timing.  You should also generate an unconstrained paths report to make sure your design is considered fully constrained for timing.  You might want to check the user guide (https://www.intel.com/content/www/us/en/docs/programmable/683243/25-3/faq.html) and training (https://learn.altera.com/learn/learning-plans/17/timing-analysis-with-the-alterar-quartusr-prime-pro-software) if you're not familiar with how to perform timing analysis and closure.

    You could also try posting your .sdc file here.