waljj

如何指定使用片内PLL资源

0
阅读(2825)

在含有PLL的设计中,综合工具会自动的去选择片内PLL资源。一般情况下,综合工具自动选择的PLL是最优的设计。但是有时候我们可能需要手动的去选择片内PLL资源,如综合工具自动选择的PLL资源可能坏了的情况下。那么如何手动去选择片内PLL资源呢?

首先需要确定所使用的时钟管脚可以连接到哪些PLL资源上。确保硬件上连接没有问题。这个需要参考芯片手册。如Cyclone IV的时钟网络如下:

 

从图中可知,CLK[3:1]可以连接PLL1和PLL3,CLK[7:4]可以连接PLL2和PLL4,CLK[11:8]可以连接PLL2和PLL3,CLK[15:12]可以连接PLL1和PLL4。(不过在实际应用中,我却可以把CLK2连接到任何一个PLL上去,有点不明白,望高手指点下,多谢)。

这里以Cyclone IV为例,假设我们使用CLK2作为系统的时钟引脚,如果我们未指定使用片内哪个PLL资源,Quartus会默认指向PLL1。现在我们要把CLK2连接到别的PLL,从上图我们已经知道,CLK2还可以连接到PLL3上,这时需要在Quartus下做如下设置:

1.进入Assigment Editor 界面。如下图:

2.在To这列中选中PLL模块,在Assigment Name中选择Location。如下图所示:

这里urpll:smpll为PLL模块。通过MegaWizard创建的。

3.点击Value列中的选择按钮,如下图中1所示,在弹出的选择框中,Element选择PLL,如图中2所示。Location选择PLL3,如图中3所示。然后点击OK。如下图所示:

通过以上三个步骤,就选中了PLL3。然后进行全编译。编译完成后,进入Chip Planner查看。可以发现,使用的PLL已经从PLL1转换到了PLL3了。