- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi,
I have a design on a EP4CE40 FPGA where I instantiated a second pll and mapped the inclk0 input to the same input clock as the first one. I get a Critical Warning (176598): PLL "pll3:inst_pll2|altpll:altpll_component|pll3_altpll:auto_generated|pll1" input clock inclk[0] is not fully compensated because it is fed by a remote clock pin "Pin_T2".
Knowing that the input clock is connected on T1/T2 differential clock pin (DIFFCLK_1p and DIFFCLK_1n). Is it not allowed to connect two pll IPs to the same input clock ?
Thank you.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
I done the below analysis from my side to debug the issue .
- Remove the pin constraints from the assignment editor , to isolate any pin mapping issue : But I found warning is present
- Analyzed the PLL logic in the design and found that same clock is been connected to to two pll by using altclkctrl
- The out put frequency from two pll, not allowing to merge together
- So the input pin for the both pll is same , that makes the quartus to assign two different pll one is near to the input pin other little bit far as there is no pll available neart to the input pin .
- This makes the reason for the warning .
- And also I am kindly requesting to check the timing of the design
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
hI
Is it possible to connect to the global clock and connect to the PLL
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi,
Do you mean such design :
inst_altclkctra : altclkctra
port map(
inclk => fpga_clk2,
outclk => gbl_clk_100
);
inst_pll : pll
port map(
inclk0 => gbl_clk_100,
c0 => clk_200,
c1 => clk_10,
c2 => clk_100,
c3 => clk_50,
c4 => clk_20,
locked => locked
);
inst_pll2 : pll2
port map(
inclk0 => gbl_clk_100,
c0 => clk_400,
locked => locked
);
Doesn't change much except the critical warning is now on pll (instead of pll2) :
Critical Warning (176598): PLL "pll:inst_pll|altpll:altpll_component|pll_altpll:auto_generated|pll1" input clock inclk[0] is not fully compensated because it is fed by a remote clock pin "Pin_T2"
But it puzzles me that the message links directly inclk[0] to the pin considering there is now a buffer between them...
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
May I know is the critical warning is violating the timing , if it is not I may suggest to take the clock from the Gclk .
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Is "take the clock from the Gclk" not what is achieved when using altclkctra such a shown in my previous answer ?
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi,
If I may resume that support, does "take the clock from the Gclk" mean "map you input clock (which in my case is fpga_clk2, pins T1 and T2 ie differential clock pin DIFFCLK_1p and DIFFCLK_1n) to the inclk port of an altclkctr IP and use the outclk port as inputs for both yout PLL IPs" ?
I that's the case, I did so and that didn't solved the issue. Am I sure that this critical warning is legitimate ?
Thank you.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
I had analyzed the warning message and I feel , this will not be a a major problem if you don't care about compensation.
The main reason for the warning message is shown below.
The specified PLL and its specified input clock are driven by a remote clock input pin. As a result, the input clock delay may not be fully compensated by the PLL.
ACTION: If you do not care about compensation of the input clock(s), use the no compensation mode instead. Otherwise, connect the input clock to a dedicated clock input pin.
Hope it clarifies
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
But my clock is connected to T1 and T2 ie differential clock pin DIFFCLK_1p and DIFFCLK_1n (my target is a EP4CE40). This is a dedicated clock input pin, isn't it ?
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
I just verified the clock pin and found it is dedicated clock pins attached screen shot for your reference , can you change the PLL location near to clock pins,
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
Kindly let me know, if you need further assistance.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Your screenshot was not more that what I have in Quartus but made me better understand your answer (sorry for your English). Your advice is to move the pll closer to clock pins. To do such thing you advise me to edit the .*sdc file, am I right ?
I will do that in the following weeks and keep your informed.
Thank you.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Thanks as per our policy, May I close the thread , if you have new query . I am kindly requesting to open an new thread.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Please don't close this thread. So far you provided a very light support which can be sum up as "move the pll closer to clock pins". You didn't even answer the related query which was "To do such thing you advise me to edit the .*sdc file, am I right ?".
This thread is still an ongoing issue. Thank you.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
Kindly let me know is there any assistance needed from my side.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi,
Yes. In case of such design :
inst_altclkctra : altclkctra
port map(
inclk => fpga_clk2,
outclk => gbl_clk_100
);
inst_pll : pll
port map(
inclk0 => gbl_clk_100,
c0 => clk_200,
c1 => clk_10,
c2 => clk_100,
c3 => clk_50,
c4 => clk_20,
locked => locked
);
inst_pll2 : pll2
port map(
inclk0 => gbl_clk_100,
c0 => clk_400,
locked => locked
);
What is your suggestion in term of *.sdc to move the pll closer to clock pins ?
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Yes, I need further support as stated on my answer 30/30/2020 08:57 (France time).
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi ,
Can you please send a sample project which i can replicate the same here, it will be easy for me to debug the issue .
