Forum Discussion

OrF's avatar
OrF
Icon for Occasional Contributor rankOccasional Contributor
1 year ago

CLK-30028 - Invalid Generated Clock

Hi

I'm trying to define generated clock out of the pll.

and I get the following violation notification "CLK-30028: Invalid Generated Clock"

https://www.intel.la/content/www/xl/es/programmable/quartushelp/current/index.htm#da_rules/clk_30028.htm

since I'm sure the source clock and the target are coming to and out of the pll ( I don't get an error notification about the pin location )

my guess is that the issue is that " I need specify clock latency between clock and target."

I see the PLL IP sdc is loaded , any way I can debug it and understand what is the root cause ?

I'm not using derive_pll_clocks command (and I dont want to use it )

Status:		FAIL
Severity:		High
Number of violations: 	1
Rule Parameters:      	max_violations = 5000
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
; CLK-30028 - Invalid Generated Clock                                                                                                                                                                        ;
+---------+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+--------+
; Clock   ; Target                                                                             ; Reason                                                                                             ; Waived ;
+---------+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+--------+
; pll_clk ; step_ana_pll_i|iopll_0|stratix10_altera_iopll_i|s10_iopll.fourteennm_pll|outclk[0] ; No paths exist between the clock target and its clock source.  Assuming zero source clock latency. ;        ;
+---------+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+--------+

27 Replies

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

    hi

    I repeat my original Q,

    I have violation notification "CLK-30028: Invalid Generated Clock" . the reason as I understand :No paths exist between the clock target and its clock source

    but this is a clock coming out of the PLL and it seems all is define correctly .

    the critical warning

    Status: FAIL
    Severity: High
    Number of violations: 1
    Rule Parameters: max_violations = 5000
    +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    ; CLK-30028 - Invalid Generated Clock ;
    +---------+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+--------+
    ; Clock ; Target ; Reason ; Waived ;
    +---------+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+--------+
    ; pll_clk ; step_ana_pll_i|iopll_0|stratix10_altera_iopll_i|s10_iopll.fourteennm_pll|outclk[0] ; No paths exist between the clock target and its clock source. Assuming zero source clock latency. ; ;
    +---------+------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------+--------+

    the output of the report_clocks

    ; pll_clk ; Generated ; 50.000 ; 20.0 MHz ; 0.000 ; 25.000 ; ; 5 ; 1 ; ; ; ; ; false ; gclk_3_in ; step_ana_pll_i|iopll_0|stratix10_altera_iopll_i|s10_iopll.fourteennm_pll|refclk[0] ; { step_ana_pll_i|iopll_0|stratix10_altera_iopll_i|s10_iopll.fourteennm_pll|outclk[0] } ;

    the clock definition :

    create_generated_clock -name {pll_clk} -source [get_pins {step_ana_pll_i|iopll_0|stratix10_altera_iopll_i|s10_iopll.fourteennm_pll|refclk[0]}] [get_pins {step_ana_pll_i|iopll_0|stratix10_altera_iopll_i|s10_iopll.fourteennm_pll|outclk[0]}] -multiply_by {1} -divide_by {5}
  • Hi there, I have checked and the Timing Analyzer shows that all PLL clocks are automatically generated by the SDC files generated alongside the PLL IP. No user action is required.

    So why you want to apply the generated clock contraints? BTW as constraint applied by 'derive_pll_clocks' will follow your setting in IP setting your custom contraint will overwrite this. I think this warning may related to the 3rd party tools, which cause the overwiting failed.

    I think you may try to apply the contraint you want refering to the following link.

    https://www.intel.com/content/www/us/en/docs/programmable/683122/23-4/clock-frequencies.html


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

    1. "So why you want to apply the generated clock constraints?" , I don't want to generated clock constantans , I just want to understand the warning which is pasted 2 times in this post .

    2. "derive_pll_clocks" how come , this constraint is working on Stx10 ? see previous responses about "derive_pll_clocks"

  • Hi there, for the reason I ask why you want to apply the constraint is that we are not sure if it's suitable to apply this to the pll clock. We can't figure out what the software will do, as it isn't a recommended practice and may cause some strange warning which won't show the root cause.

    Like here, I can also see the path between the nodes in the constraint, so it might be a warning which doesn't show the true reason.


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

    Hi ,

    so what is the bottom line , what can I provide in order to understand the root cause of the warning ?

  • Hi there, I think the pll wasn't generated completely. When directly using Quartus for synthesis, all the constraints for pll will be generated automatically. As you are using 3rd party synthesis tool, some constraint may be missing. The path exists, this warning just shows the software assumes there are no latency between these two nodes.


  • If you have a new question, Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.