FPGA之PLL锁相环的使用和仿真

PLL:Phase Locked Loop(锁相环)
PLL是一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相位。
在这里插入图片描述
N:前置分频计数器,
PFD:相位频率检测器
Charge Pump:电荷泵
Loop Filter:环路滤波器
VCO:压控振荡器
M:反馈乘法器
K,V:后置分频器

Quartus II软件提供了锁相环PLL的IP核,对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频、分频、相位偏移和可编程占空比的功能
在这里插入图片描述
其中,输入的复位信号sys_rst_n可以有也可以没有,当locked信号由低电平到高电平的时候,说明锁相环的输出稳定,一个锁相环最多输出五个时钟。

PLL IP核的使用
在Quartus中创建一个空的工程
在这里插入图片描述
选择 Tools --> MegaWizard Plug-In Manager
在这里插入图片描述
选择创建新的IP核,点击Next。
在这里插入图片描述
设置好后,点击Next。
在这里插入图片描述
设置频率与开发版的频率一样
在这里插入图片描述
点击Next
在这里插入图片描述
保持默认,继续Next。
在这里插入图片描述
保持默认,继续点击Next。
在这里插入图片描述
保持默认,继续点击Next

在这里插入图片描述
不需要实时配置,点击Next
在这里插入图片描述
此步骤为配置一个时钟
在这里插入图片描述
设置好时钟频率后,点击Next。
在这里插入图片描述
配置第二个时钟同样为100Mh,偏移量为180,点击Next。

在这里插入图片描述
第三个时钟,使用默认的50Mhz,点击Next。
在这里插入图片描述
第四个时钟设置50Mhz,点击Next。
在这里插入图片描述
第五个时钟不启用,点击Next
在这里插入图片描述
添加仿真库页面,点击Next。
在这里插入图片描述
点击Finish完成。
在这里插入图片描述
点击Yes,将IP核添加到工程。
在这里插入图片描述
上图为生成的文件。

可以在相应的文件夹中找到这些文件
在这里插入图片描述
查看pll_clk.v的内容
此图为部分内容
创建一个Verilog HDL File (模块名与工程名保持一致)
内容为:

module ip_pll(
    input       sys_clk,
    input       sys_rst_n,  //输入系统时钟和复位信号
    
    output      clk_100m, //输出第一个时钟100Mhz
    output      clk_100m_180deg, //输出第二个时钟100Mhz,相位偏移180度
    output      clk_50m, //输出第三个时钟50Mhz
    output      clk_25m //输出第四个时钟25Mhz
);

wire        locked;
wire        rst_n; //定义复位信号

assign  rst_n = sys_rst_n & locked;  //系统复位信号与locked信号相与,用于其他模块的复位信号,当locked信号为低电平(锁相环还未到达稳定),其他模块处于复位状态

//例化锁相环
pll_clk  u_pll_clk(
	.areset         (~sys_rst_n), //锁相环高电平复位,系统低电平复位
	.inclk0         (sys_clk),
	.c0             (clk_100m),
	.c1             (clk_100m_180deg),
	.c2             (clk_50m),
	.c3             (clk_25m), 
	.locked         (locked)
);
endmodule 

保存。
点击分析与综合按钮,然后分配引脚。输出的时钟分配到开发版的扩展引脚。
在这里插入图片描述
编译整个工程。
使用modelsim软件仿真需要添加altera_mf.v文件。
右击桌面上Quartus II的快捷方式,–>打开文件所在位置。搜索找到altera_mf.v文件位置。
在这里插入图片描述
复制其到一下文件夹下面:
在这里插入图片描述
开始手动仿真
在modelsim下创建一个工程
File -->New -->Projiect
在这里插入图片描述
点击ok
在这里插入图片描述
添加已存在的文件
在这里插入图片描述
在这里插入图片描述
再次添加已经存在的文件,目录 ip_pll–>par -->ipcore在这里插入图片描述
添加后,点击ok。
全部编译Comple --> Comple All。开始仿真Simulate -->Start Simulation
选中Design中work下面的tb文件
在这里插入图片描述
点击ok
在这里插入图片描述
出现错误,缺少一个顶层文件。
右击tb_ip_pll.v,–>Add to Project -->Existing File,添加下图文件。
在这里插入图片描述
添加后,编译此文件。
重新开始仿真
在这里插入图片描述
右击上图u_ip_pll,Add Wave
在这里插入图片描述
运行10us.
在这里插入图片描述

  • 11
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值