FPGA笔记(七)-配置PLL

来源:互联网 发布:网络支付安全技术论文 编辑:程序博客网 时间:2024/06/07 07:40

FPGA笔记(七)

荒废了有些日子了,终于到了实习的地方,开始认真的学习,之前学得不够快,现在要拍马赶上去了,不然要跟不上进度了。学习笔记还是要做到,好记性不如烂笔头,做笔记也是一种思考的过程,用来捋清楚怎么个流程是很有用的。由于马上要用到PLL和ROM的配置,所以学习了下如何去配置锁相环模块。这个比较简单,基本由图示吧。(相隔好久才把这个补回去,比较尴尬~)
一年前的东西,pll配置就是调用一下quartus ii自带的IP Core,只需要简单设置即可.
1、首次是tool->IP Catalog,在里面搜索pll,即可得到如下:
2、其中,pll有俩种选择,一种是ALTPLL,另一种是ALTPLL_RECONFIG。ALTPLL_RECONFIG是可重配置宏PLL,是一种可以实时的重新配置参数,适应变化的输入时钟,从而在新的输入时钟下可以重新锁定和正常工作。
一般情况下,我们用静态的pll就行,即ALTPLL,选择后点进去设置。
很多情况下,我们是要通过pll倍频系统时钟,然后用作AD的采样时钟,所以我取名为CLK_AD。
3、设置如下,设置一下输入时钟即可,其他的默认。(其它模式也没用过..)
4、设置pll模块的端口,可以选择要不要,比如areset复位接口,可以选择不要,以及Locked(锁定标志位)锁相环锁定之后的时钟才是稳定的,为了简单,我也把这个扔了。
5、默认设置即可。
6、之后一直是默认设置,直到设置输出时钟output clk的界面。即可以设置实际要输出的时钟频率,也可以设置倍频和分频参数达到相应的输出频率
7、只设置一路输出只需要配置c0即可,如果还要多路输出就需要配置其他的输出端口如c1、c2、c3等等。然后一直next到最后的界面,其实直接finish应该就可以,我随手选了几项,但是具体用处不知。
至此,配置就算是完成了。相当于这个模块已经有啦,只需要在顶层文件里面调用就行了!
以下既是顶层文件的编写和testbench的编写。
得到的仿真波形如下:
可以看到pll_clk不是在clk输入之后就马上出来波形的,所以有时候可能会出现问题,我们用这pll_clk是在稳定之后才能用它。故打算把locked这个锁定标志位给加上看看效果!
所以需要重新配置pll,点进去再设置一下即可。如图:
更改顶层调用代码,以及testbench。
就可以看到加了locked之后的这个locked标志信号的作用了,就是标志这个pll_clk时钟已经锁定,可以正常使用了。故这个Locked标志位有时候是关键!


0 0