其他分享
首页 > 其他分享> > FPGA之PLL

FPGA之PLL

作者:互联网

PLL(Phase Locked Loop)为锁相环。FPGA中的锁相环通常由PFD(鉴频鉴相器)、CP(电荷泵)、LF(滤波器)、VCO(压控振荡器)组成。一般晶体振荡器由于工艺和成本原因达不到高频信号输出。高频电子线路中,需要外部信号与内部的振荡信号同步。一路输入时钟需要生成多路时钟信号。以上几种问题就需要通过PLL来实现。
PLL的内部结构如下图所示:
在这里插入图片描述

以下通过图例来说明生成PLL IP核(所用软件为Vivado):

1、 新建工程,点击PROJECT MANAGER 界面下的 IP Catalog,如下图所示:在这里插入图片描述
2、 在 IP Catalog 界面里选择 FPGA Features and Design\Clocking 下面的 Clocking Wizard,双击打开 配置界面。如下图所示:在这里插入图片描述
3、 在第一个界面 Clocking Options 里,
我们选择 PLL 资源,输入的时钟频率为200Mhz。如下图所示:在这里插入图片描述

4、 在 Output Clocks 界面里选择 clk_out1~clk_out4 四个时钟的输出,频率分别为 200Mhz, 100Mhz, 50Mhz, 25Mhz。这里还可以设置时钟输出的相位,我们不做设置,保留默认相位, 点击 OK 完成。如下图所示:在这里插入图片描述

5、 在弹出的对话框中点击 Generate 按钮生成 PLL IP 的设计文件。如下图所示:在这里插入图片描述

6、 这时一个 clk_wiz_0.xci 的 IP 会自动添加到新建的项目中, 用户可以双击它来修改这个 IP 的配置。如下图所示:

在这里插入图片描述
7、 这样就可以编写顶层文件来例化PLL IP。如下为FPGA中的接口例化:
模块名 扩展名

.模块信号1 (连接信号1),
.模块信号1 (连接信号1),
.模块信号1 (连接信号1),
………………………………………………
.模块信号1 (连接信号1),
);
例化的目的是在上一级模块中调用已例化的模块完成代码功能。在FPGA中,模块名必须与要例化的模块名一致。

标签:模块,FPGA,IP,例化,信号,所示,PLL
来源: https://blog.csdn.net/csdnqiang/article/details/105644566