Forum Discussion
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"
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
Occasional 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} - TingJiangT_Intel
Contributor
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
Occasional 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"
- TingJiangT_Intel
Contributor
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
Occasional Contributor
Hi ,
so what is the bottom line , what can I provide in order to understand the root cause of the warning ?
- TingJiangT_Intel
Contributor
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.
- TingJiangT_Intel
Contributor
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.