quartus工具篇——PLL IP核的使用

news2024/12/21 18:54:30

quartus工具篇——PLL IP核的使用

1、PLL简介

PLL(Phase-Locked Loop,相位锁环)是FPGA中非常重要的时钟管理单元,其主要功能包括:

  1. 频率合成 - PLL可以生成比输入时钟频率高的时钟信号。
  2. 频率分频 - PLL也可以输出分频后的较低频率时钟。
  3. 减小时钟抖动 - PLL可以过滤输入时钟中的噪声和抖动。
  4. 锁相输出 - PLL可以使多个时钟保持一定的相位关系。
  5. 时钟复用 - 一个PLL可以驱动多个时钟域。

PLL的工作原理是通过控制环路内VCO的相位和频率实现以上功能。

在FPGA中,PLL广泛用于:

  • 生成界面、存储等需要的各种工作时钟
  • 将外部时钟处理后提供低抖动时钟
  • 实现模块间的时钟域同步

PLL提供时钟的稳定性和灵活性,是FPGA设计中必不可少的时钟管理机制

2、具体实现配置

image-20230724194339864

选中点击打开后会出现以下配置界面,配置自己芯片的时钟频率,我这里配置的是50MHZ

image-20230724194535783

取消勾选掉多余的信号

image-20230724194706063

按照下列步骤配置输出的时钟频率,我这里配置了三个时钟clk c0、clk c1、clk c2,分别是10MHZ、20MHZ、300MHZ

image-20230724194849063

生成文件,勾选生成对应的文件、我这里多勾选了bsf文件,是这个PLL ip核的波形文件、PLL_inst.v是实例化的部分,其他的文件这里不做过多的叙述

image-20230724195117287

点击finish生成,这里生成了PLL的实现文件,我们可以将之前勾选的文件添加进项目中

image-20230724195243741

生成的文件位置会在你创建项目的目录下,我们将PLL_inst初始化文件添加进来:

image-20230724195438561

PLL_inst.v文件内容,会存放实例化模块,方便我们进行调用和仿真,我们只需要将我们的信号与PLL信号进行联通就行,如下列所示,c0将生成10MHZ的时钟、c1将生成20MHZ的时钟、c2将生成300MHZ的时钟

PLL	PLL_inst (
	.inclk0 ( inclk0_sig ),
	.c0 ( c0_sig ),
	.c1 ( c1_sig ),
	.c2 ( c2_sig )
	);

3、使用配置的PLL进行仿真

仿真代码:

// Copyright (C) 2018  Intel Corporation. All rights reserved.
// Your use of Intel Corporation's design tools, logic functions 
// and other software and tools, and its AMPP partner logic 
// functions, and any output files from any of the foregoing 
// (including device programming or simulation files), and any 
// associated documentation or information are expressly subject 
// to the terms and conditions of the Intel Program License 
// Subscription Agreement, the Intel Quartus Prime License Agreement,
// the Intel FPGA IP License Agreement, or other applicable license
// agreement, including, without limitation, that your use is for
// the sole purpose of programming logic devices manufactured by
// Intel and sold by Intel or its authorized distributors.  Please
// refer to the applicable agreement for further details.

// *****************************************************************************
// This file contains a Verilog test bench template that is freely editable to  
// suit user's needs .Comments are provided in each section to help the user    
// fill out necessary details.                                                  
// *****************************************************************************
// Generated on "07/24/2023 19:18:12"
                                                                                
// Verilog Test Bench template for design : t5
// 
// Simulation tool : ModelSim-Altera (Verilog)
// 

`timescale 1 ns/ 1 ns
module t5_vlg_tst();
// constants                                           
// general purpose registers

// test vector input registers
parameter SYS_CLK = 20;
reg clk;

// wires                                               
wire c0_sig;
wire c1_sig;
wire c2_sig;

// assign statements (if any)                          


always #(SYS_CLK/2) clk = ~clk;

initial begin
	clk = 1'b0;
	#(200*SYS_CLK);
	$stop;
end
                                                                                
PLL	PLL_inst (
	.inclk0 ( clk ),
	.c0 ( c0_sig ),
	.c1 ( c1_sig ),
	.c2 ( c2_sig )
	);
                                     
endmodule


4、仿真结果

image-20230724194124544

我这里仿真了50MHZ的时钟,可以看到结果完全相符合

5、总结

在fpga开发中时钟配置十分重要,本文略讲的比较简单,可以观看下列视频加深了解

04_IP核之PLL使用讲解_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/788531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内存映射学习笔记

文章目录 内存映射原理函数定义mmap函数munmap函数 注意事项应用进程间通信文件复制 匿名映射 内存映射原理 将磁盘中的文件,映射到内存,通过内存修改文件。 函数定义 mmap函数 操作映射区必须要有 读权限 munmap函数 首地址 长度一致。 注意事项 可…

第一章:STC:一种用于弱监督语义分割的简单到复杂框架

0.摘要 近年来,由于深度卷积神经网络(DCNNs)的发展,语义目标分割取得了显著的改进。训练这样一个DCNN通常依赖于大量具有像素级分割掩码的图像,并且在财务和人力方面标记这些图像非常昂贵。在本文中,我们提…

javascript 7种继承-- 原型式继承分析(4)

文章目录 概要继承的进化史技术名词解释原型式继承原型式继承1原型式继承2对比图 原型链继承 vs 原型式继承案列分析源代码解析效果图小结优点缺点 概要 这阵子在整理JS的7种继承方式,发现很多文章跟视频,讲解后都不能让自己理解清晰,索性自…

【前端学java】JAVA中的packge与import

packge与import示例 Java中,使用package关键字来声明一个类所属的包: package myapp;public class MyClass {// 类的实现... }上述代码中,MyClass类被声明为属于myapp的包。在其他的代码中使用该类时,需要使用完整的包名来引用它…

学习DT材质基础

Lambert材质和常用颜色属性 Maya材质的发光属性 Maya材质的光线跟踪属性 看不见阴影是因为背景用错材质了 MAYA矢量渲染 各向异性材料(看高光) 渐变材质 开启光线跟踪 表面着色器材质

微服务——Docker

docker与虚拟机的区别 首先要知道三个层次 硬件层:计算机硬件 内核层:与硬件交互,提供操作硬件的指令 应用层: 系统应用封装内核指令为函数,便于程序员调用。用户程序基于系统函数库实现功能。 docker在打包的时候直接把应用层的函数库也进行打包&a…

【GeoDa实用技巧100例】015:Geoda构建箱线图

文章目录 一、箱线图介绍二、Geoda制作箱形图三、箱形图与箱形地图的链接一、箱线图介绍 箱形图,也称箱线图(Box and Whisker Diagram)、箱图、盒须图、盒式图和盒形图等,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。箱形图是由美国著名统计学家图基在…

vue3-组件中的变化

1. 路由 1. 安装指令:npm i vue-routernext 2. 创建路由:createRouter2. 异步组件(defineAsyncComponent) defineAsyncComponent 是用于定义异步组件的函数。defineAsyncComponent 接受一个工厂函数作为参数,这个工厂…

opencv-22 图像几何变换01-缩放-cv2.resize()(图像增强,图像变形,图像拼接)

什么是几何变换? 几何变换是计算机图形学中的一种图像处理技术,用于对图像进行空间上的变换,而不改变图像的内容。这些变换可以通过对图像中的像素位置进行调整来实现。 常见的几何变换包括: 平移(Translation&#x…

力扣热门100题之无重复字符的连续子串【中等】

题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子…

Java8实战-总结6

Java8实战-总结6 通过行为参数化传递代码对付啰嗦匿名类第五次尝试:使用匿名类第六次尝试:使用Lambda表达式第七次尝试:将List类型抽象化 真实的例子用Comparator来排序 通过行为参数化传递代码 对付啰嗦 人们不愿意用那些很麻烦的功能或概…

个微API,微信机器人开发

简要描述: 退出群聊 请求URL: http://域名地址/quitChatRoom 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wI…

Redis实战案例24-关注推送

1. Feed流实现方案 拉模式主要缺点,延迟问题,极端情况某个用户关注了成千上万的up主,每位up主又发布了十几条博客,此时拉模式的延迟就会很高; 推模式缺点也很明显,内存消耗太大,假设up主是千万级…

【idea工具】idea工具,build的时候提示:程序包 com.xxx.xx不存在的错误

idea工具,build的时候提示:程序包 com.xxx.xx不存在的错误,如下图,折腾了好一会, 做了如下操作还是不行,idea工具编译的时候,还是提示 程序包不存在。 a. idea中,重新导入项目,也还…

基于DNN深度学习网络的OFDM+QPSK信号检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................................. Transmitt…

区块链实验室(11) - PBFT耗时与流量特征

以前面仿真程序为例,分析PBFT的耗时与流量特征。实验如下,100个节点构成1个无标度网络,节点最小度为5,最大度为38. 从每个节点发起1次交易共识。统计每次交易的耗时以及流量。本文所述的流量见前述仿真程序的说明:区块链实验室(3)…

页面设计—FlexContainer弹性容器组件详解

一、组件介绍 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局,可以与栅格布局结合使用。 二、样式介绍 三、如何使用 (1)找到FlexCo…

实用!SD人物表情提示词合辑;秒变大神的Python速查表;开源LLM微调训练指南;LLM开发必修课 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 太实用了!Stable Diffusion 的24个表情提示词 Pensive 沉思 Smiling 微笑 Disgusted 厌恶 Laughing 大笑 Shocked 震惊 Fr…

【数据分析专栏之Python篇】全网最细Anaconda安装与配置

文章目录 [toc] 前言一、 Anaconda是什么1.1 简介1.2 特点1.3 Anaconda、conda、pip、virtualenv的区别 二、为什么使用Anaconda三、安装步骤3.1 下载安装3.2 配置conda源 四、结语五、附录六、参考 前言 大家好!本篇给大家介绍 Anaconda 安装及配置。 一、 Anaco…

【分享】揭秘BlueWillow::AI绘画工具的平替新选择

哈喽,木易巷上线啦! 今天我要给大家介绍一个全新的AI绘画工具——BlueWillow。如果你正在寻找一款能够替代Midjourney的工具,那么BlueWillow绝对值得一试! 官网链接和邀请链接都在最后哦! 首先,BlueWillo…