Xilinx 7系列FPGA的时钟管理

news2025/1/23 22:46:13

在7系列FPGA中,时钟管理单元(CMT)包含了混合模式时钟管理器(MMCM)和锁相环(PLL)。PLL是包含了MMCM功能的一个子集。CMT骨干网可用于链接CMT的时钟功能。CMT图(图3-1)展示了各种时钟输入源与MMCM/PLL之间连接的高级视图,时钟输入连接允许多个资源为MMCM/PLL提供参考时钟。
在这里插入图片描述

1.MMCMs和PLLs介绍

每个7系列FPGA最多支持24个时钟管理单元(CMT),而每个CMT都包含一个混合模式时钟管理器(MMCM)和一个锁相环(PLL)。
MMCMs和PLLs的主要功能包括频率综合、抖动滤波以及时钟去斜。它们能够处理广泛的频率范围,无论是作为外部还是内部时钟的抖动滤波器都能起到作用。具体来说,MMCM的功能更为强大,其时钟输出和分频能力均大于PLL。PLL则可以看作是MMCM功能的一个子集。
MMCM支持的其他功能有:
• 直接通过CLKOUT[0:3]将HPC连接到BUFR或BUFIO
• 提供反向时钟输出(CLKOUT[0:3]B)
• 提供CLKOUT6
• 提供CLKOUT4_CASCADE
• 提供CLKOUT0_DIVIDE_F的分数分频
• 提供CLKFBOUT_MULT_F的分数倍频
• 提供精细相位调整
• 提供动态相位调整
输入多路复用器可以从IBUFG、BUFG、BUFR、BUFH、GTs(仅CLKIN)中选择参考和反馈时钟。每个时钟输入都有一个可编程计数器分频器(D)。输入多路复用器从IBUFG、BUFG、BUFR、BUFH、GTs(仅CLKIN)中选择参考时钟和反馈时钟。每个时钟输入都有一个可编程的计数器分频器(D)。相位频率检测器(PFD)比较输入(参考)时钟和反馈时钟上升边缘的相位和频率。如果维持了最小的高/低脉冲,占空比就是次要的。
PFD用于生成一个与两个时钟之间的相位和频率成比例的信号。这个信号驱动电荷泵(CP)和环路滤波器(LF)来生成一个参考电压到压控振荡器(VCO)。PFD向电荷泵和环路滤波器产生一个上升或下降信号,以确定VCO应该工作在更高的频率还是更低的频率。当VCO工作在过高的频率时,PFD会激活一个下降信号,导致控制电压降低,从而降低VCO的工作频率。当VCO工作在过低的频率时,一个上升信号将增加电压。
VCO产生八个输出相位和一个可变相位用于精细相位调整。每个输出相位都可以被选择作为输出计数器的参考时钟(如图3-2和图3-3所示)。每个计数器都可以根据特定的客户设计进行独立编程。此外,还提供了一个特殊的计数器M。这个计数器控制MMCM和PLL的反馈时钟,允许进行广泛的频率合成。
除了整数分频输出计数器外,MMCMs还为CLKOUT0和CLKFBOUT添加了一个分数计数器。这增加了频率合成的灵活性,使得MMCM能够生成非整数的输出频率,从而满足更广泛的应用需求。
在这里插入图片描述
在这里插入图片描述
每个计数器都可以针对特定的客户设计进行独立编程。
此外,还提供了一个特殊的计数器M。这个计数器用于控制MMCM和PLL的反馈时钟,从而允许进行广泛的频率合成。
除了整数分频输出计数器外,MMCMs还为CLKOUT0和CLKFBOUT增加了一个分数计数器。分数计数器提供了更精细的频率控制,使得MMCMs能够生成非整数倍或分频的时钟信号,从而进一步扩展了可用的频率范围。这种灵活性使得MMCMs在需要精确控制时钟频率的应用中特别有用。通过适当编程,分数计数器可以实现高精度的频率调整,满足复杂系统中的时序要求。

2、MMCM 和 PLL 原语的应用

7系列FPGA的MMCM的原语有两种,分别是MMCME2_BASE和MMCME2_ADV。PLL原语也有两种,分别为PLLE2_BASE和PLLE2_ADV。

2.1 MMCME2_BASE

MMCME2_BASE是基本的混合模式时钟管理器,它提供了基本的时钟管理功能,如分频、倍频和相位调整等。它适用于大多数常见的时钟管理需求,并且相对简单易用。端口列在表3-1中。
在这里插入图片描述
使用MMCME2_BASE,可以轻松地实现基本的时钟管理需求。通过配置相应的端口和参数,可以实现输入时钟的相位锁定、频率转换以及占空比调整等功能。这使得MMCME2_BASE成为在FPGA设计中实现稳定可靠时钟信号的常用选择。

2.2 PLLE2_BASE

PLLE2_BASE原语提供了对独立PLL最常用功能的访问。它支持时钟去斜、频率合成、粗相位调整和占空比编程等功能。使用PLLE2_BASE,可以方便地实现基本的时钟同步和频率管理需求。通过配置相应的端口和参数,PLLE2_BASE能够实现输入时钟的相位锁定,从而生成稳定且准确的时钟信号。端口列在表3-2中,这些端口用于连接输入参考时钟、配置PLL的参数、以及输出生成的时钟信号等。通过合理地连接和配置这些端口,可以精确地控制PLL的行为,实现所需的时钟同步和频率转换功能。
在这里插入图片描述
需要注意的是,虽然PLLE2_BASE提供了基本的时钟管理功能,但在某些复杂的应用场景中,可能还需要使用更高级的原语或功能来满足特定的需求。例如,对于需要更高精度相位调整或更复杂时钟分配的应用,可以考虑使用更高级的PLL原语或结合其他时钟管理单元来实现。

2.3 MMCME2_ADV

MMCME2_ADV原语不仅提供了MMCME2_BASE的所有功能,还增加了时钟切换、动态重配置端口(DRP)访问以及动态精细相位调整等额外端口。这使得MMCME2_ADV在时钟管理方面更加灵活和强大。
在这里插入图片描述
通过时钟切换端口,MMCME2_ADV可以在多个时钟源之间进行选择,从而适应不同的应用场景和时序需求。这种灵活性使得设计师能够在FPGA设计中实现复杂的时钟分配和切换逻辑。
动态重配置端口(DRP)为MMCME2_ADV提供了在线配置的能力。通过DRP,设计师可以在系统运行过程中动态地改变MMCM的配置参数,从而实现时钟管理的实时调整和优化。这对于需要快速响应系统变化或进行时钟故障恢复的应用场景非常有用。

2.4 PLLE2_ADV

PLLE2_ADV是高级型的锁相环,PLLE2_ADV原语不仅提供了PLLE2_BASE的所有功能,还增加了时钟切换端口以及动态重配置端口(DRP)的访问功能。这使得PLLE2_ADV在时钟管理和配置方面具有更高的灵活性和可定制性。PLLE2_ADV的端口列在表3-4中。
在这里插入图片描述
通过时钟切换端口,PLLE2_ADV能够支持多个时钟源的选择,允许设计师在FPGA设计中根据应用需求灵活地切换不同的时钟源。这对于处理多种工作模式或动态调整时钟频率的场景非常有用。
动态重配置端口(DRP)的引入为PLLE2_ADV提供了在线配置的能力。通过DRP,设计师可以在系统运行过程中实时地修改PLL的配置参数,而无需重新加载整个设计。这种动态配置的能力使得PLLE2_ADV能够更好地适应系统变化,实现更高效的时钟管理。
7系列FPGA的MMCM和PLL是混合信号模块,旨在支持时钟网络去斜、频率合成和抖动减少。
压控振荡器(VCO)的工作频率可以通过以下关系确定:
在这里插入图片描述
其中M、D和O计数器如图3-2所示。M的值对应于CLKFBOUT_MULT_F设置,D的值对应于DIVCLK_DIVIDE,而O的值对应于CLKOUT_DIVIDE。
七个“O”计数器可以独立编程。例如,O0可以被编程为进行二分频,而O1被编程为三分频。唯一的限制是,由于单个VCO驱动所有计数器,因此所有输出计数器的VCO工作频率必须相同。
在实际应用中,根据设计需求,设计师可以通过配置MMCM和PLL的相应参数,来精确控制时钟信号的频率和相位。通过使用这些混合信号块,FPGA系统能够实现高性能、低抖动的时钟网络,确保数据在系统中正确、可靠地传输。此外,独立编程的O计数器为设计师提供了灵活性,可以根据不同的输出需求进行定制。

3、时钟网络去斜

在许多情况下,设计师不希望将时钟网络的延迟计入其I/O时序预算中,因此他们使用MMCM/PLL来补偿时钟网络的延迟。7系列FPGA支持这一特性。一个与参考时钟CLKIN频率相匹配的时钟输出(始终是CLKFBOUT)被连接到FPGA同一半部分的BUFG,并反馈回MMCM/PLL的CLKFBIN反馈引脚。其余的输出仍可用于将时钟分频以生成额外的合成频率。
在这种情况下,所有输出时钟与输入参考时钟之间都有明确的相位关系。MMCM或PLL的CLKOUT0至CLKOUT3可以用于级联到其他MMCMs/PLLs。然而,级联的MMCMs/PLLs之间的输出时钟存在相位偏移。

4、仅使用整数分频的频率合成

MMCMs和PLLs也可以用于独立的频率合成。在这种模式下,MMCM/PLL的反馈路径是内部的,这使得所有路由保持局部化,从而最小化了抖动。

5、分频频率合成

7系列FPGA在CLKOUT0输出路径上支持分数(非整数)分频。分数分频的分辨率为1/8或0.125,这实际上将可合成的频率数量增加了八倍。例如,如果CLKIN频率为100 MHz,并且M分频值设置为8,那么VCO频率为800 MHz。CLKOUT0可以进一步用于将800 MHz的VCO频率进行分数分频(例如,CLKOUT0_DIVIDE = 2.5,从而产生320 MHz的输出频率)。
当使用分数分频器时,用于分数模式的输出的占空比是不可编程的。

6、抖动滤波器

MMCMs和PLLs可以减少参考时钟固有的抖动。MMCM和PLL可以作为独立功能实例化,以支持在将外部时钟驱动到另一个块之前过滤其抖动。作为抖动滤波器,通常假定MMCM和PLL将作为缓冲器,并在输出上再生输入频率(例如,FIN = 100 MHz,FOUT = 100 MHz)。一般来说,通过将MMCM的BANDWIDTH属性设置为Low,可以实现更好的抖动滤波。将BANDWIDTH设置为Low可能会导致MMCM的静态偏移量增加。

7、动态相位偏移接口

MMCME2_ADV基本元件提供了三个输入和一个输出,用于动态精细相位偏移。每个CLKOUT和CLKFBOUT分频器都可以单独选择进行相位偏移。属性CLKOUT[0:6]_USE_FINE_PS和CLKFBOUT_USE_FINE_PS用于选择要进行动态相位偏移的输出时钟。所选的所有输出时钟将具有共同的动态相位偏移量。

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

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

相关文章

数字功放-改善液晶显示屏音频性能,重塑音频体验

随着液晶电视、液晶显示器以及等离子电视屏幕的尺寸不断增大,音频性能要求相应提高;数字功放芯片作为音频解决方案;不仅为音频设备带来更高的效率和更低的功耗,同时在显示屏上进一步提高了平板显示器的音质,使之具有了…

位运算概述

首先 位运算这个东西在考试中十分容易考,所以要多多看一看位运算的相关知识,多刷一刷题之类的。 位运算的概念 位运算就是二进制数据进行运算的运算符。 注意:通常我们用二进制补码来表示,补码的符号位也是要参与运算的。 通常的…

PostMan 测试

创建一个集合管理测试接口 token获取 Tests:后置脚本 Api 请求后的操作,一般写断言脚本的地方 Pre-request Script :后置脚本 请求前的操作 以下代码放进Tests 后置脚本当中。 var respObj JSON.parse(responseBody); // 获取到TOK…

C语言之旅:动态内存管理

目录 一.为什么要有动态内存分配 二.malloc和free 2.1 malloc 2.2 free 2. 3malloc和free的使用 三. calloc 四. raelloc 4.1 代码示例: 4.2 注意事项: 4.3 对动态开辟空间的越界访问 4.4 对非动态开辟内存使⽤free释放 4.5 使用free释放⼀块…

分布式系统的一致性与共识算法(四)

Etcd与Raft算法 Raft保证读请求Linearizability的方法: 1.Leader把每次读请求作为一条日志记录,以日志复制的形式提交,并应用到状态机后,读取状态机中的数据返回(一次RTT、一次磁盘写)2.使用Leader Lease,保证整个集群只有一个L…

STM32手写寄存器的方式实现点亮LED灯

这次是从头开始学习STM32,看野火的视频开始学习,感觉需要记录的时候就要记录一下学习的心得。野火视频学习的老师讲的还是很到位的,能够学习到很多的细节之处,有时会感觉很啰嗦,但是不得不说确实很详细,只有…

IT行业现状与探索未来发展趋势

​​​​​​​ 我眼中的IT行业现状与未来趋势 随着技术的不断进步,IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链,这些技术正在重塑我们的生活和工作方式。你眼中IT行业的现状及未来发展趋势是…

六西格玛绿带培训:解锁质量工程师的职场新篇章

在质量管理这条道路上,我们或许都曾有过这样的疑问:为何付出了同样的努力,却未能获得预期的回报?当我们看到身边的同行们逐渐步入高薪的行列,而自己却似乎陷入了职业的泥沼,这种对比无疑令人倍感焦虑。然而…

iRemovalPro完美解4G信号,支持A12+,支持6S~14ProMax,支持iOS17.4+

iRemovalPro是一款绕过激活锁界面的解锁工具,可以激活所有iPhone/ipad恢复信号,并且支持插卡接打电话、收发短信、4G流量上网,支持iCloud登录,有消息通知,支持iPhone6S~14ProMax的所有型号,支持iOS15-iOS17…

酷开科技的智能电视操作系统—酷开系统,带来更加舒适的观看体验

酷开科技的智能电视操作系统——酷开系统,通过大数据和人工智能技术的结合,会根据会员的观看历史和收视行为偏好,刻画出“消费者群体画像”,然后将内容进行“人工编辑智能推荐”的方式推送到消费者面前,不仅省去了消费…

僵尸网络的威胁值得关注

僵尸网络(botnet)是指一组受到恶意软件感染并遭到恶意用户控制的计算机。术语“僵尸网络”由“机器人(bot)”和“网络(network)”两个词组合而成,每台受感染设备被称为“机器人”。僵尸网络可用…

谷歌举办Gemini API开发者大赛;ChatGPT iOS版更新支持中文

🦉 AI新闻 🚀 谷歌举办Gemini API开发者大赛,大奖1981款电动DeLorean 摘要:IT之家 5 月 15 日消息,在 2024 年谷歌 I/O 开发者大会上,谷歌宣布举办 Gemini API 开发者大赛,主要面向个人开发者…

Springboot+Vue项目-基于Java+MySQL的高校专业实习管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Spring MVC(建立连接 + 请求)

文章目录 一、建立客户端和服务器的连接二、如何构造请求(传参)2.1 构造请求方式 参数通用注解2.2 传递单个参数2.3 传递多个参数2.4 传递数组/集合2.5 传递对象2.6 传递JSON 三、相关的其他请求操作3.1 获取URL中的参数 PathVariable3.2 上传文件 Requ…

Golang | Leetcode Golang题解之第92题反转链表II

题目&#xff1a; 题解&#xff1a; func reverseBetween(head *ListNode, left, right int) *ListNode {// 设置 dummyNode 是这一类问题的一般做法dummyNode : &ListNode{Val: -1}dummyNode.Next headpre : dummyNodefor i : 0; i < left-1; i {pre pre.Next}cur :…

Dubbo配置上的一些概念

对于dubbo在spring中我们可能看到有如下配置&#xff08;可参考Schema 配置参考手册 | Apache Dubbo&#xff09;&#xff1a; dubbo:application:id: dubbo-account-examplename: dubbo-account-example# 是否启用 Dubbo 的 QoS&#xff08;Quality of Service&#xff09;服…

什么是趋肤效应

很多同行来问什么是趋肤效应&#xff0c;趋肤效应应该是附在表面&#xff0c;为什么变成了附在线路横截面的底面&#xff1f;下面就和小易&#xff0c;一起具体了解下趋肤效应。 趋肤效应也称集肤效应&#xff0c;英文术语是Skin effection,它是指在电流流过导体时&#xff0c;…

DOS学习-目录与文件应用操作经典案例-cd

欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.案例 三.练习 一.前言 虽然Windows 2000/XP/2003系统已经不再使用纯DOS平台&#xff0c;但它们内建了一个功能强大的命令行界面。在这个界面中&#xff0c;用户可以像在Wind…

2024.05.15学习记录

1、完成Ts重构Axios项目中更多功能的开发 2、刷题&#xff1a;二叉树&#xff08;代码回忆录&#xff09; 3、复习diff算法源码解读

在k8s中搭建elasticsearch高可用集群,并对数据进行持久化存储

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《洞察之眼&#xff1a;ELK监控与可视化》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Elasticsearch简介 2、k8s简介 二、环境准备 …