Forum Discussion

Jens's avatar
Jens
Icon for Occasional Contributor rankOccasional Contributor
5 years ago

Is it not possible to use all clock outputs of an Arria 10 IOPLL

I'm using the 10AX048H4F34E3SG device with 130 LVDS data pairs connected. The LVDS pins are distributed over 6 IO-banks.
All pins feed to a GPIO primitive (ddr mode). The clock for the GPIO comes from the PLL in the same IO-bank. For a group of signals I want use 8 clock outputs of that PLL for a dynamic phase shift.
To realize phase shift for all 130 pins I want to use 34 different clocks which feeds the full rate clock input of the GPIO.

During fit Quartus produce some errors:
The Fitter cannot place 1 auto-promoted clock driver, which is within IOPLL Intel FPGA IP sen_pll_altera_iopll_181_qprrpya
Error (177032): Section clock (SCLK) network in spine clock region bounded by (109,0) and (148,31) is congested due to limited connectivity

Info (18630): This congestion may be avoided by moving or disabling promotion of any of the following competing signals:
Info (175030): Unroutable signal:
Info (175026): Source: auto-promoted clock driver deserializer:DESER|sen_pll:SENPLL_3|sen_pll_altera_iopll_181_qprrpya:iopll_0|altera_iopll:altera_iopll_i|twentynm_iopll_ip:twentynm_pll|outclk[2]~CLKENA0

I have done a second run with that constraint:
set_instance_assignment -name GLOBAL_SIGNAL OFF -to "deserializer:DESER|sen_pll:SENPLL_3|sen_pll_altera_iopll_181_qprrpya:iopll_0|altera_iopll:altera_iopll_i|twentynm_iopll_ip:twentynm_pll|outclk[2]~CLKENA0

But there is no effect. The error remains. I also tried to switch off the Auto Global Clock option in the dvanced Fitter Settings but the error remains.

Why is it not possible to use all clock outputs of a PLL? When I reduce the number of clocks than fitting is successfully.

Jens

23 Replies

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

    The tool is only showing you the clock that could not be routed. You probably need to take more clocks off of the global routing channels to free up resource usage. Check the Compilation Report to see which clocks (or potentially high fanout control signals) are using the global clocks and see if you can remove more of them.

    I'm not sure why turning off the Auto Global setting causes the same issue, but turning that off means that you would need to manually specify which clocks should use the global routing channels.

    • Jens's avatar
      Jens
      Icon for Occasional Contributor rankOccasional Contributor

      I checked the report (congestion summary in Fitter report) and tried to remove all clocks.
      But the error remains. It seems the fitter do not recognize my assignments.

      assignment:
      -name GLOBAL_SIGNAL OFF -to "deserializer:DESER|sen_pll:SENPLL_6|sen_pll_altera_iopll_181_qprrpya:iopll_0|altera_iopll:altera_iopll_i|twentynm_iopll_ip:twentynm_pll|outclk[3]~CLKENA0"

      fitter:
      Info (175026): Source: auto-promoted clock driver deserializer:DESER|sen_pll:SENPLL_6|sen_pll_altera_iopll_181_qprrpya:iopll_0|altera_iopll:altera_iopll_i|twentynm_iopll_ip:twentynm_pll|outclk[3]~CLKENA0

      What can I do more?

      • EngWei_O_Intel's avatar
        EngWei_O_Intel
        Icon for Frequent Contributor rankFrequent Contributor

        Hi Jen

        Are you able to share you sample design?

        Thanks.

        Eng Wei