炼狱传奇-锁相环之战

梦翼师兄   2015-3-21 10:23 楼主
经过前面的学习,相信大家已经掌握了软件的基本操作和设计的基本流程,接下来我们开始学习FPGA片内时钟管理单元PLL,该单元可以实现系统时钟的分频、倍频,是FPGA设计开发必备组件之一。
首先新建工程如下:
1.png

点击Tools-> 2.png

3.png
弹出如下窗口:
4.png

我们要新建一个新的IP,所以直接默认选择第一个就可以,点击"NEXT"
5.png
6.png 中选择 7.png
8.png

9.png 一列填写IP核名称,如下所示:

10.png
点击“NEXT”
11.png
Areset为PLL的复位信号,高电平有效;locked为PLL输出有效标志,高电平有效,平时也可以选择不使用。接下来我们需要设置PLL输入时钟的频率(50MHZ外部晶振)
12.png
点击“NEXT”
13.png
我们可以把这两个选项去掉
14.png
点击“NEXT”
15.png
点击“NEXT”
16.png
点击“NEXT”
17.png
点击“NEXT”
18.png

选择 19.png 并输入想要输出的频率(200MHZ)
20.png
点击“NEXT”
21.png

通过选择 22.png ,可以选择是否多设置一路输出时钟,PLL可以设置多路不同频率的输出时钟,这里我们只选择一路输出,所以可以直接点击“Finish”
23.png
继续点击“Finish”,退出即可

通过以上过程,我们已经成功的建立了一个输出时钟为200MHZ的PLL,接下来我们需要通过仿真来查看PLL输出的频率是否和咱们预期的一致。

新建一个顶层文件并保存
24.png
在该顶层文件中实例化刚才生成的PLL,代码如下:
25.png
26.png
接下来需要编写测试文件
27.png
28.png
在setting里面设置testbench以后,调用modelsim仿真,查看频率是否正确
29.png
由仿真波形可以看出,时钟输出端C0的频率为时钟输入端inclk0的四倍,满足设计要求,说明锁相环设置正确。

回复评论 (1)

赞一个
>>EE大学堂,精彩视频汇聚的地方
点赞  2015-3-31 17:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复