QuartusII调用 PLL_IP核方法(Mega Wizard)
【基本信息】
要求:调用PLL—IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比)。
芯片型号:cyclone Ⅳ EP4CE10F17C8
平台工具:Quartus II 15.0 (64-bit)、Modelsim SE-64 10.4
【PLL_IP核简介】
IP核:ASIC或FPGA中预先设计好具有某种功能的电路模块,参数可修改,目的在于提高开发效率。
QuartusII软件下IP核调用方式:Mega Wizard插件管理器(常用)、SOPC构造器、DSP构造器、Qsys设计系统例化。

PLL(Phase Lockded Loop,锁相环)常用IP核之一,可对输入时钟信号进行任意分频、倍频、相位、占空比调整。Altera 模拟锁相环,优点:信号稳定度高,相位连续可调,延时连续可调;缺点:受温度、电磁辐射影响,可能失锁。
【PLL_IP核配置】
进入QuartusII,直接打开Mega Wizard插件管理器或者打开工具菜单栏下IP—catalog,PLL-ALTPLL。

1、配置第一步进行参数/模式设置。

注意模式区别:
源同步:使用于高速数据接口,若数据和时钟同时到达输入管脚,那么在 I/O 单元输入寄存器的数据与时钟端口,数据与时钟之间的相位关系保持不变。
无补偿:PLL 不对任何时钟网络进行补偿 (允许延迟),相对 PLL 时钟输入,PLL 内部以及外部时钟输出均有相位偏移。
标准:内部时钟是与输入时钟管脚相位对齐 ,若连接外部时钟输出管脚,则外部时钟输出管脚会产生相对于时钟输入管脚的相位延迟 ,标准模式的时钟最好作用在寄存器上。
零延迟缓冲:外部时钟输出管脚与时钟输入管脚是相位对齐的,没有延迟,作用输出不建议作用寄存器。
2、配置信号输入和锁定输出设置:

3、Bandwidth/CSS和时钟切换这些高级属性配置跳过即可。
4、PLL Reconfiguration动态/动态相位重配置跳过。
5、输出时钟信号配置(重点),共可输出五路信号,输出勾选使能,按需配置频率、占空比、相位。

配置完成,继续下一步,如果采用modelsim外部仿真软件的话,可以看到所需的仿真库。

最后确认页面,左边图可看到PLL_IP产生了四路时钟信号和一路锁定信号,时钟信号参数类型很清楚。最后需要勾选inst.v实例化文件,方便后面调用IP核。

【PLL_IP核调用】
1、IP核调用
pll_ip_inst.v文件就是PLL_IP核实例模块,这里简单写个顶层文件调用即可,可以通过引脚配置上机测试下输出。
`module ip_pll(
input sys_clk,
output clk_100Mhz ,
output clk_25Mhz ,
output clk_50Mhz_90deg ,
output clk_50Mhz_20DC ,
output locked_sig
);
pll_ip pll_ip_inst (
.inclk0 ( sys_clk ),
.c0 ( clk_100Mhz ),
.c1 ( clk_25Mhz ),
.c2 ( clk_50Mhz_90deg ),
.c3 ( clk_50Mhz_20DC ),
.locked ( locked_sig )
);
endmodule
对工程文件全编译,可以看到(下图),芯片资源的使用情况,EP4CE10F17C8有两个PLL,其他逻辑电路没有使用。

2、使用技巧
PLL_IP编辑好,后期修改有两种方式:第一种是在Quartus主页左上方Project Navigator-IP Components双击打开目标IP核,还有一种就是在Mega Wizard插件管理器,选择编辑现有IP核。

如果不小心把IP核删除了,只需重新添加目标IP核文件,后缀.qip(主文件)添加应用。需要复制现有IP核,只需打包IP核文件,后缀包括.v;inst.v;.qip;.ppf;greybox_tmp五个文件,然后添加应用到工程文件。
【PLL_IP核仿真】
在仿真结果中,首先可以观察到锁相环的锁定过程。在这个过程中,锁相环的输出信号(locked信号)会保持低电平状态,表示锁相环尚未锁定,各时钟信号输出会处于不定态,它们的值会随机变化或保持不变。稳定后,很明显看到频率、相位、占空比的调整情况。

Ps:如需要工程重要的文件,在个人博客首页Gitee仓库内可以得到。
QuartusII调用 PLL_IP核方法(Mega Wizard)的更多相关文章
- 高介分类:核方法与支持向量机(SVM)
数据模型:并不是简单地二维数据,多个维度或者对象的数据聚合起来 { persion1's attr1:value1,...,persion1's attrN:va ...
- SNF快速开发平台MVC-EasyUI3.9之-WebApi和MVC-controller层接收的json字符串的取值方法和调用后台服务方法
最近项目组很多人问我,从前台页面传到后台controller控制层或者WebApi 时如何取值和运算操作. 今天就都大家一个在框架内一个取值技巧 前台JS调用代码: 1.下面是选中一行数据后右键点击时 ...
- js调用php和php调用js的方法举例
js调用php和php调用js的方法举例1 JS方式调用PHP文件并取得php中的值 举一个简单的例子来说明: 如在页面a.html中用下面这句调用: <script type="te ...
- c# 调用c++DLL方法及注意事项
引用命名空间 using System.Runtime.InteropServices 调用方法: 一.静态加载 用DllImprot方式来加载c++DLL.如下格式: //对应c++方法 //voi ...
- JavaScript调用函数的方法
摘要:这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正 ...
- WPF中实例化Com组件,调用组件的方法时报System.Windows.Forms.AxHost+InvalidActiveXStateException的异常
WPF中实例化Com组件,调用组件的方法时报System.Windows.Forms.AxHost+InvalidActiveXStateException的异常 在wpf中封装Com组件时,调用组件 ...
- Android NDK 初探,生成so文件以及调用so文件方法
因为最近业务上涉及安全的问题 然后有一些加密解密的方法和key的存储问题 本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上 而且我这个如果从网络建立通信获取的话,又太耗时,所以 ...
- Office word 2013中直接调用MathType的方法
Office word 2013中直接调用MathType的方法 | 浏览:4403 | 更新:2014-02-20 14:45 | 标签: word 使用Office word 2013的用户肯定早 ...
- Lua 调用 Opencv 的方法
Lua 调用 Opencv 的方法 最近想用 Lua 调用 Opencv 进行相关像素级操作,如:bitwise_and 或者 bitwise_or,从而完成图像 IoU 的计算. 那么,怎么用 Lu ...
- asp.net 手工调用 WS(Get)方法:
asp.net 手工调用 WS(Get)方法: 通过手工HttpWebRequest,HttpWebResponse来模拟调用.核心代码:string strurl="http://loca ...
随机推荐
- 当年老夫手写的cookie
前言 留来来只为了回忆,旧博客迁移. 正文 /** * Created by OC on 20xx/8/27. */ function setCookie(name,value,expires,pat ...
- .NET8中的Microsoft.Extensions.Http.Resilience库
接上一篇,https://www.cnblogs.com/vipwan/p/18129361 借助Aspire中新增的Microsoft.Extensions.ServiceDiscovery库,我们 ...
- 我自己的JdbcTemplate
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import jav ...
- pytorch两种模型保存方式
只保存模型参数 # 保存 torch.save(model.state_dict(), '\parameter.pkl') # 加载 model = TheModelClass(...) model. ...
- 【2021.6.26 NOI模拟】Problem B. 简单题 another solution
Problem Description Input 从文件 b.in 中读入数据. 一个正整数 n. Output 输出到文件 b.out 中. 一个整数表示答案. Sample Data Input ...
- 力扣524(java)-通过删除字母匹配到字典里最长单词(中等)
题目: 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到. 如果答案不止一个,返回长度最长且字 ...
- dotnet Microsoft.Recognizers.Text 超强大的自然语言关键词提取库
本文和大家介绍一个使用超级简单,但是功能特别强大的自然语言关键词提取库,可以根据输入的自然语言提取出里面的信息.例如我在一句话里面说了哪些数值变量或者说了手机号码等 先看看下图的一个效果,下图是尝试识 ...
- LVGL学习资料
一.资料整理 官网:https://lvgl.io/ 使用手册: 官方的使用手册是英文版的,百问网将其翻译成中文版的文档.地址如下: 官方使用文档:https://docs.lvgl.io/maste ...
- OSI模型之网络层
一.简介 网络层是OSI参考模型中的第三层,同时也是TCP/IP模型的第二层.它介于传输层和数据链路层之间,主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务.网络层传输单位是数据 ...
- vue3 快速入门系列 —— 状态管理 pinia
其他章节请看: vue3 快速入门 系列 pinia vue3 状态管理这里选择 pinia. 虽然 vuex4 已支持 Vue 3 的 Composition API,但是 vue3 官网推荐新的应 ...