DE10-Lite锁相环使用教程

目标:本文讲述如何在Quartus里设置和例化一个锁相环.

引言

锁相环(PLL)是一种闭环频率控制电路,用于比较压控振荡器的输入信号和输出信号之间的相位差. 负反馈回路迫使锁相环的输出信号与输入信号同相。

几乎所有的FPGA都含有用于时钟产生和分配的片内锁相环.锁相环最大的优点是能产生不同于输入时钟的输出时钟信号. 例如,完全可以使用锁相环从DE10‐LITE板上的50 MHz外部时钟在MAX10 fpga上生成100 MHz内部时钟。

本教程将演示如何使用Quartus中的IP(知识产权)核来实例化设计中的PLL,以生成不同的时钟频率。关于锁相环和Altera/Intel设计组件的更深入的讨论可以在https://www.altera.com/en_US/pdfs/literature/ug/ug_altpll.pdf查看.

生成PLL IP组件

  1. 打开工程.
  2. 在Quartus里打开IP目录窗口Tools > IP Catalog,在目录窗口的库里浏览,找到ALTPLL。

3. 双击ALTPLL。弹出的对话框询问存储IP组件的位置。通常我会建议在工程目录下建立一个IP子目录用来保存IP组件,这里指定保存路径,并以pll命名这个IP组件。

4. 单击OK。出现插件功能管理器窗口。为了匹配DE10-Lite上的外部时钟,把输入时钟inclk0的频率改为50MHz。

5. 单击Next。删除areset和locked,这里我们一般不需要这两个信号。

6. 一路单击Next直到设置时钟c0窗口。这里把c0的频率设为100MHz,Quartus将尽力生成这个频率的时钟信号。

7. 如果你需要更多的时钟信号,同样可以很容易的添加设置c1-c4。如果不需要,就一路单击Next,直到最后一个窗口。勾选例化模板项。这样在顶层设计里例化pll模块时将会很方便。然后单击Finish。

8. 会弹出对话框,询问你是否要把刚生成的pll组件添加到工程里,这里选Yes。

9. 在工程管理窗口的文件页,你会发现pll.qip文件。这样说明已经成功地生成PLL IP组件。

使用生成的IP组件

现在,我们将要在顶层模块里例化之前生成的PLL IP组件。

1.  打开存储PLL组件的目录,会发现pll_inst.v例化模板文件。

2.  打开pll_inst.v文件,把例化模板复制到剪切板。

3.  在顶层模块里(需要例化的地方)粘贴复制的例化模板,然后修改匹配端口名。必须注意输入/出的时钟信号要和实验板上的时钟名,电路里使用的时钟名匹配。比如输入时钟用MAX10_CLK1_50 或 MAX10_CLK2_50,输出时钟用clk(你顶层代码里的时钟信号的名称)。

4.  完成。

修改PLL IP组件

如果需要修改PLL组件,不用重复上面的步骤去生成一个新的组件,只需要在工程管理窗口打开IP Components页。双击要修改的IP组件,就会打开设置窗口,更改即可。

References:

  1. Tutorial: Instantiating and Using a PLL on the DE10‐LITE

https://www.ece.ucdavis.edu/~bbaas/180/tutorials/using.a.PLL.pdf

Written by YongfengXie

2022/05/26    Written

DE10-Lite锁相环使用教程的更多相关文章

  1. [PLL][PM]锁相环模拟相位解调

    %锁相环测试 %模拟相位解调 clear close all clc fs=1000; %采样率 tend=100; t=0:1/fs:tend; t(end)=[]; fc=1; %载波频偏 fb= ...

  2. ‘初始化锁相环INIT_PLL()’

    在XS128的SCI学习的过程中,INIT_PLL()显得很重要,初始化锁相环几乎在每个程序中都有,今天看的程序-初始化锁相环的相关代码如下: /*************************** ...

  3. 全数字锁相环(DPLL)的原理简介以及verilog设计代码

    随着数字电路技术的发展,数字锁相环在调制解调.频率合成.FM 立体声解码.彩色副载波同步.图象处理等各个方面得到了广泛的应用.数字锁相环不仅吸收了数字电路可靠性高.体积小.价格低等优点,还解决了模拟锁 ...

  4. 第十四届智能车培训 PLL锁相环

    什么是锁相环? PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使高频器件正常工作,如内存的存取资料等.PLL用于振荡器中的反馈技术. 许多电子设备要正常工作 ...

  5. 【iCore4 双核心板_FPGA】例程九:锁相环实验——锁相环使用

    实验现象: 利用Quartus内部组件生成锁相环,用SignalTap II进行校验. 核心代码: module pll( input clk_25m, output clk_100m, output ...

  6. 【iCore1S 双核心板_FPGA】例程九:锁相环实验——锁相环的使用

    实验现象: 利用Quartus内部组件生成锁相环,用SignalTap II进行校验. 核心代码: //--------------------Module_PLL------------------ ...

  7. 数字锁相环Octave仿真

    clc; clear all; % 仿真数据长度 SimLens = 1000; % 载波信号 Fs = 2400; Ts = 1 / Fs; Fsig = 60; % 随机初相 Delta_Phas ...

  8. simulink pi的方法产生锁相环

    pi方法就是比例积分方法,关于pi方法介绍参考http://www.elecfans.com/dianzichangshi/20120909287851.html 锁相环pi方法原理参考http:// ...

  9. 【iCore3 双核心板_FPGA】例程十:锁相环实验——锁相环使用

    实验指导书及代码包下载: http://pan.baidu.com/s/1boeODjx iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  10. 基于模k可逆计数的数字锁相环fpga实现

    参考http://wenku.baidu.com/view/59420cb069dc5022aaea00bd.html 实现结构是参考的上边的实例,我用的全同步实现,实现过程中发现一些现象,做下记录. ...

随机推荐

  1. Docker 中使用 scratch 镜像构建 Go 应用镜像,容器报错:X509: Certificate Signed by Unknown Authority

    本文首发于 Ficow Shen's Blog,原文地址: Docker 中使用 scratch 镜像构建 Go 应用镜像,容器报错:X509: Certificate Signed by Unkno ...

  2. 鸿蒙HarmonyOS实战-ArkUI组件(Flex)

    一.Flex 1.概述 Flex布局它可以让容器中的子元素具有弹性伸缩性.Flex布局是一种二维布局模型,它可以在任意方向上对元素进行排列,并且可以动态地调整元素的大小和位置,以适应不同的屏幕尺寸和设 ...

  3. Oracle 获取月初、月末时间,获取上一月月初、月末时间

    select trunc(sysdate, 'mm'), last_day(trunc(sysdate)), trunc(add_months(trunc(sysdate), -1), 'mm'), ...

  4. verilog之锁存器和触发器

    verilog锁存器和触发器 1.基本概念 锁存,就是输入信号变化时,输出不发生变化时,就是触发器或者锁存器.触发器的敏感信号是clk,即触发器是知道被延时了多少.对于锁存器来说,延时是不确定的.一般 ...

  5. UE4中的C++编程简介

    对官方文档的学习链接 利用UE创建一个C++基类 在编辑器中可以选择父类,根据这个父类我们可以创建一个基类用于后续的蓝图类制作. 以Actor父类为例创建基类,其头文件会包含一个构造函数,一个Tick ...

  6. MVC架构设计浅析(WEB网页开发)

    MVC架构设计浅析 杨传伟 (石家庄铁道大学信息科学与技术学院,河北省,石家庄市,050043) 摘 要:本文以图书管理系统为案例(当前主流框架SpringMVC的原理来分析MVC的设计理念等),深入 ...

  7. 最大堆(MaxHeap)

    性质 二叉堆是一颗完全二叉树,而完全二叉树是把元素排列成树的形状. 堆中某个节点的值总不大于其父节点的值最大堆(相应的可以定于最小堆) // 返回完全二叉树的数组表示中,一个索引所表示的元素的父亲节点 ...

  8. #轻重链剖分,交互#LOJ 6669 Nauuo and Binary Tree

    题目 有一棵大小为\(n\)只知道根节点为1的二叉树, 可以不超过\(3*10^4\)询问两点之间距离, 最后输出除了点1以外其余点的祖先 \(n\leq 3000\) 分析 \(O(n^2)\)的时 ...

  9. react native 0.73 配置 react-native-fs

    安装react-native-fs npm npm install react-native-fs --save yarn yarn add react-native-fs 安卓配置 android/ ...

  10. L1 L2正则化

    范数 0范数 \(L_0\)范数表示为向量中非0元素的个数 \[L_0-||x||_0 = x_i, (x_i \not= 0) \] 1范数 向量中元素绝对值的和,也就是\(x\)与0之间的曼哈顿距 ...