Altera PLL的输入引脚的问题
加buf试试看
你在assignment editor里面找找,看有没有这方面的约束,我记得关于PLL的约束蛮多的
应该不用设置,可能是你将输入的时钟直接在多处使用了吧。
具体警告是什么 打上来看看
是不是这个时钟专用管脚对应的全局时钟资源被其它时钟抢占了
可以看一下器件手册,再看一下布线结果
警告:Warning: PLL "pllo:u_pllo|altpll:altpll_component|pllo_altpll:auto_generated|pll1" input clock inclk[0] is not fully compensated and may have reduced jitter performance because it is fed by a non-dedicated input
但是我的输入引脚明明是专用的clk脚! 在报告里,Inclk0 signal type一栏是Global Clock。
另外不是专用引脚输入到PLL,根本就编译不过,会出错!
从贴出来的告警来看,应该是这个专用管脚应该被分配的最近最优的全局资源已经被占用了,这样,只能被分配到一个远一些的全局资源上,导致时钟不能够被完全补偿,从而影响时钟性能。
这一点在芯片的器件手册中是有提到的,在时钟那一章节中,看图,从专用管脚到全局资源的连接为实线是可以被完全补偿的,如果是虚线,表明这个全局资源是可以用的,但是不能被完全补偿。
布线完成以后,看resource报告,可以看到这个时钟被分配的全局资源,再对照器件手册看一下,是不是确实被分配到了其它全局资源上。
看数据手册,里面写的很清楚,各种芯片并不是完全相同的
那我能不能添加什么约束使它分配到最优的全局资源呢?
可以手动约束全局时钟的位置,不过最好还是也确认一下到底是哪个时钟占用了这个全局资源,不然你约束了以后另一个时钟怎么办呢
约束方法示例(在qsf文件里添加):
set_location_assignment PLL_3 -to U_PLL_CLK2|altpll_component|auto_generated|pll1
对应的应该在assigment editor里面也有
