Xilinx 7系列MMCM/PLL 编程时参数值的确定

MMCM/PLL 的编程必须遵循一套流程,以确保配置的稳定性和性能。本文将描述了如何根据特定的设计要求来编程 MMCM/PLL。设计可以通过两种方式实现:直接通过图形用户界面(Clocking Wizard 时钟向导)或通过实例化来实现 MMCM/PLL。无论选择哪种方法,编程 MMCM/PLL 都需要以下信息:
• 参考时钟周期
• 输出时钟频率(最多七个)
• 输出时钟占空比(默认为 50%)
• 输出时钟相位偏移量(以度数为单位,相对于时钟的原始 0 相位)
• MMCM/PLL 期望的带宽(默认为 OPTIMIZED,软件将选择带宽)
• 补偿模式(由软件自动确定)
• 参考时钟抖动(以 UI 为单位,即参考时钟周期的百分比)
在获得上述信息后,可以按照以下步骤进行编程:

1、确定输入频率

通过使用最小和最大输入频率来确定D计数器的范围,通过VCO工作范围来确定M计数器的范围,以及输出计数器的范围,从而可以计算出所有可能的输出频率。
以 FIN = 100 MHz、FVCO = 600 MHz 到 1600 MHz 以及 FPFD = 10 MHz 到 550 MHz 为例。
对于 FPFDMIN = 10 MHz,D 的值只能在 1 到 10 之间。
DMIN(参见公式 3-6)= 1
DMAX(参见公式 3-7)= 10
• 当 D = 1 时,M 的值只能在 6 到 16 之间。
• 当 D = 2 时,M 的值只能在 12 到 32 之间。
• 当 D = 3 时,M 的值只能在 24 到 64 之间。
此外,D = 1 M = 4 是 D = 2 M = 8、D = 4 M = 16 和 D = 8 M = 32 的子集,因此这些情况可以被忽略。在本例中,只考虑 D = 1, 3, 5, 6, 7, 和 9,因为其他 D 值都是这些情况的子集。这大大减少了可能的输出频率数量。
输出频率是依次选择的。应将所需的输出频率与生成的可能输出频率进行比较。一旦确定了第一个输出频率,就可以对 M 和 D 的值施加额外的约束。这可以进一步限制第二个输出频率的可能值。继续这个过程,直到选择所有输出频率。
确定允许的 M 和 D 值的约束条件如下公式所示:
(此处应列出相关公式,但由于文本输入的限制,我无法直接显示数学公式。这些公式通常涉及 FVCO 的范围、输入频率 FIN、输出频率 FPFD,以及 M 和 D 的关系。这些公式用于确保选择的 M 和 D 值能够在满足 VCO 工作范围、输入和输出频率要求的同时,生成所需的输出频率。)
在实际应用中,这些公式和约束条件将用于编程 MMCM/PLL,以生成精确且稳定的输出频率。通过迭代尝试不同的 M 和 D 值组合,并验证它们是否满足所有条件,可以找到满足设计要求的最佳配置。

2、确定M和D的值

确定输入频率后,可能会得到多个M和D的候选值。下一步是确定最佳的M和D值。首先确定起始的M值。这基于VCO的目标频率,即VCO的理想工作频率。
在这里插入图片描述
目标是找到最接近VCO理想工作点的M值。
通常从最小的D值开始这个过程。目标是使D和M的值尽可能小,同时保持ƒVCO(VCO输出频率)尽可能高。
为了找到最佳的M和D值,可以遵循以下步骤:
①确定VCO的理想工作点:查阅VCO的规格文档,了解它的最佳工作频率范围。这个范围通常是VCO性能最优、稳定性最好且功耗较低的频率区间。
②设置初始D值:从最小的D值开始,通常是1。较小的D值有助于保持较高的输出频率,同时减少相位噪声和抖动。
③计算初始M值:使用公式 FVCO = FIN * M / D,将已知的输入频率FIN和初始D值代入,解出M值,使得计算出的FVCO尽可能接近VCO的理想工作点。
④验证M值:确保计算出的M值在允许的范围内,并且不会导致VCO频率超出其规格范围。
⑤检查输出频率:使用相同的公式计算输出频率FPFD,验证它是否满足系统的要求。如果不满足,需要调整M和D的值。
⑥迭代优化:如果初始的M和D值不满足所有要求,尝试增加D的值(同时相应地调整M值以保持FVCO接近理想工作点),然后重新计算输出频率FPFD。重复这个过程,直到找到满足所有约束条件的M和D值组合。

3、MMCM时钟输入信号

MMCM的可能时钟源包括:

• IBUFG - 时钟功能输入缓冲器,MMCM将补偿此路径的延迟。IBUFG代表同一区域内的时钟功能时钟引脚。

• BUFGCTRL 或 BUFG - 内部全局时钟缓冲器,MMCM不会补偿此路径的延迟。

• IBUF - 常规输入缓冲器,不推荐使用,因为输入缓冲器可以使用通用路由。IBUF时钟输入必须在路由到MMCM/PLL之前先路由到BUFG。MMCM/PLL不会补偿此路径的延迟。

• BUFR - 区域时钟输入缓冲器,MMCM/PLL不会补偿此路径的延迟。

• GT - 千兆收发器可以直接连接到MMCM。

这些时钟源提供了多种方式来将外部或内部生成的时钟信号连接到MMCM。在选择时钟源时需要考虑延迟、抖动、功耗和其他相关因素。
值得注意的是,对于某些时钟源(如IBUF),可能需要先通过BUFG进行缓冲,然后再连接到MMCM/PLL。这是因为MMCM/PLL可能不会补偿通过某些路径引入的延迟。

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

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

相关文章

LabVIEW与Modbus协议的多点温度监控系统

LabVIEW与Modbus协议的多点温度监控系统 随着工业自动化和智能化水平的不断提升,对于现场监控技术的需求日益增长。开发了一种基于LabVIEW与Modbus协议的多点温度监控系统,实现高效、准确的温度数据采集、处理和显示,以及数据存储功能&#…

python爬虫学习第二十八天-------了解scrapy(二十八天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

related_name和related_query_name属性

在Django模型继承中,假如在外键或多对多字段中使用了related_name属性或related_query_name属性,则必须为该字段提供一个独一无二的反向名字和查询名字。但是,这样在抽象基类中一般会引发问题,因为基类中的字段都被子类继承并且保…

Photoshop 2024 25.4蓝猫版_支持参数滤波器和Ai神经滤镜

网盘下载 Photoshop 2024 (Beta) 蓝猫版v25.4.0(2426)全新功能:支持参数滤波器和AI神经滤镜。 最新的PS 25.4 Beta版新增了参数滤波器(Parametric Filters)功能,而正式版的PS 2024还没有这个功能,只有Beta版才有&…

数据可视化———Tableau

基本认识: 维度:定性—字符串文本,日期和日期时间等等 度量:定量—连续值,一般属于数值 数据类型: 数值 日期/日期时间 字符串 布尔值 地理值 运算符 算数运算符:加减乘除,%取余,…

vue: vscode安装扩展Volar失败(保姆级教程+图文结合)

1 vscode插件离线下载vsix文件 2.1 打开vscode插件市场地址 ​​​​​​https://marketplace.visualstudio.com/search?termvue&targetVSCode&categoryAll%20categories&sortByRelevance 2.2 搜索插件,Vue.volar 1 2.3 下载vsix文件 打开 vetur插件地址&…

GUI测试首推!TestComplete 帮助有效缩短 40-50% 测试时长!

TestComplete 是一款自动化UI测试工具,这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的自动化测试。 TestComplete 集成了一种精心设计的自动化引擎,可以自动记录和回放用户的操作,方便用户进行UI(用户界面&…

蓝桥杯:日期问题(我的绝望题)

🎁个人主页:我们的五年 🔍系列专栏:每日一练 🌷追光的人,终会万丈光芒 目录 前言: 🌷1.问题描述: 1.问题描述: 2.输入格式: 3.输出格式&#…

常见大厂面试题(SQL)01

知乎问答最大连续回答问题天数大于等于3天的用户及其对应等级 1.描述 现有某乎问答创作者信息表author_tb如下(其中author_id表示创作者编号、author_level表示创作者级别,共1-6六个级别、sex表示创作者性别): author_id author_level sex 101 …

Linux下怎么快速部署MySQL服务,并使用

下载镜像 [zrylocalhost ~]$ docker pull mysql Using default tag: latest latest: Pulling from library/mysql bce031bc522d: Pull complete cf7e9f463619: Pull complete 105f403783c7: Pull complete 878e53a613d8: Pull complete 2a362044e79f: Pull complete 6e4d…

文件包含漏洞基础

php 中的文件包含函数: incude : require incude_once require_once 为了减少重复性代码的编写; 任意后缀的文件当中只要存在 php 代码就会被当作 php 执行; 本质:由于包含的文件不可控,导致文件包含…

定制自己的 AI 角色CustomChar;AI知识点和面试题;提高llama 3 的微调速度Unsloth

✨ 1: CustomChar 允许你创建和定制自己的 AI 角色 CustomChar 是一个开源项目,它允许你创建和定制自己的 AI 角色。无论是游戏中的角色,还是个人的虚拟助手(比如电脑上的 JARVIS),甚至是在线教育体验中的虚拟朋友或…

SpringBoot xxl-job 任务调度

首先官网下载xxl-job的源代码,然后切换到jdk8,等Maven下载依赖 执行mysql的脚本,修改连接配置,启动admin站点 默认地址 http://localhost:8080/xxl-job-admin/ 先新增一个任务执行器,指向未来任务代码的站点 然后在…

隋总分享:Temu选品师算不算是蓝海项目?

在当今日新月异的互联网经济浪潮中,跨境电商正成为一股不可忽视的力量。最近,网红隋总对Temu选品师这一职业进行了深入介绍,引发了广泛关注。那么,Temu选品师是否真的可以视为一个蓝海项目呢?本文将对此进行一番细致的探讨。 首先…

HCIP大型综合案例

HCIP大型综合案例,含视频讲解,需要的请私信我获取。 1.Eth-trunk链路聚合 2.VLAN与端口类型 3.MSTP生成树多实例 4.VRRP网关冗余 5.广域网WAN-PPP、IP-Trunk 6.PPPoE拨号 7.OSPF多区域、网络类型、认证、Vlink 8.ISIS多区域、认证、网络类型 9.路由策略与…

深入理解Linux文件系统于日志分析

目录 一.Inode 和 block 概述 ​编辑 1.inode 的内容 (1)Inode 包含文件的元信息 (2)用 stat 命令可以查看某个文件的 inode 信息 (3) Linux系统文件三个主要的时间属性 (4)目…

TI_DSP_F2808学习笔记1: GPIO

1. 初始化设置 1.1 控制寄存器 GPxMUX功能选择寄存器/多功能复用选择 GPxDIR 方向选择寄存器/输入输出选择 0 输入 1 输出GPxPUD 上拉功能选择寄存器/是否启用内部上拉 0 有上拉,1禁止上拉GPxQSeln输入限定选择寄存器 输入n次为0或1才有效,滤波 1.2 数…

聊聊go语言中的GMP模型

写在文章开头 我们都知道go语言通过轻量级线程协程解决并发问题,按照go语言的思想这些协程运行完成后即焚,那么go语言如何保证并发线程有序获取协程呢? 带着这个问题我们从go语言底层的源码来阐述这个问题: Hi,我是 s…

gitee / github 配置git, 实现免密码登录

文章目录 怎么配置公钥和私钥验证配置成功问题 怎么配置公钥和私钥 以下内容参考自 github ssh 配置,gitee的配置也是一样的; 粘贴以下文本,将示例中使用的电子邮件替换为 GitHub 电子邮件地址。 ssh-keygen -t ed25519 -C "your_emai…

【C语言__指针02__复习篇12】

目录 前言 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 前言 本篇主要讨论以下问题: 1. 数组名通常表示什么,有哪两种例外情况,在例外情况中…