FPGA 时钟多路复用

server/2025/2/6 10:01:54/
时钟多路复用
您可以使用并行和级联 BUFGCTRL 的组合构建时钟多路复用器。布局器基于时钟缓存 site 位置可用性查找最佳布局。
如果可能,布局器将 BUFGCTRL 布局在相邻 site 位置中以利用专用级联路径。如无法实现,则布局器将尝试将
BUFGCTRL 从相邻时钟区域中的相同层布局。
下图显示了具有平衡级联的 4:1 MUX 。第一级 BUFGCTRL 缓存都布局在最后一个 BUFGCTRL (X0Y1) 的直接相邻 site
(X0Y2 X0Y0) 。此配置确保到达最后一个 BUFGCTRL 的所有时钟的相当的插入延迟。对于 3:1 MUX ,可以使用类似
结构。
如下图所示,当创建 5:1 或更大的时钟 MUX 结构时,通常会创建一个对称的时钟结构。然而这并不是最佳解决方案,因
为每个 BUFGCTRL 只有一个到两个相邻 BUFGCTRL 的级联路径,这无法为 BUFGCTRL 之间的所有连接提供最小延迟。
如下图所示,为了支持更大的时钟多路复用器(从 5:1 8:1 MUX ),赛灵思建议使用级联 BUFGCTRL 缓存。此图显示
了使用 7 BUFGCTRL 缓存的最佳 8:1 MUX
注释: 因为一些路径比硬件中的其它路径长,所以当使用宽的基于 BUFGCTRL 的时钟多路复用器时,时钟插入延迟无
法平衡。因此,建议仅对异步时钟进行多路复用。
PLL/MMCM 反馈路径和补偿模式
PLL 不支持延迟补偿,并且始终在内部补偿模式下工作,这意味着它们不需要反馈路径。同样,设置为 INTERNAL 补偿
模式的 MMCM 不需要反馈路径。在这两种情况下, Vivado 工具并不总是自动删除不必要的反馈时钟缓存。您必须手
动删除时钟缓存,以减少高扇出时钟资源利用率。这对于可能发生时钟争用的具有高时钟使用的设计尤其重要。
MMCM 补偿设置为 ZHOLD BUF_IN 时,布局器为由反馈缓存驱动的网络和直接连接到 CLKOUT0 引脚的所有缓存
分配相同的时钟根。这确保插入延迟匹配,使连接到 CLKOUT0 I/O 端口和顺序单元相位对齐,并且在器件接口处满
足保持时间。 Vivado 工具分析这些网络的所有负载,从而理想化定义时钟根。
Vivado 工具不会自动将插入延迟与其他 MMCM 输出匹配。要匹配由其他 MMCM 输出缓存驱动的网络的插入延迟,请
使用以下属性:
• CLOCK_DELAY_GROUP
将相同的 CLOCK_DELAY_GROUP 属性值应用于由反馈时钟缓存, CLKOUT0 缓存和其他 MMCM 输出缓存直接驱动
的网络 (如有需要)。这是首选的方法。
• USER_CLOCK_ROOT
如果需要强制特定的时钟根,请在由反馈时钟缓存, CLKOUT0 缓存和其他 MMCM 输出缓存驱动的网络上使用相同
USER_CLOCK_ROOT 属性值。
BUFG_GT 除法器
BUFG_GT 缓存可以驱动架构中的任何负载,并包括一个可选的除法器,可用于将时钟从 GT*_CHANNEL 分频。这消除
了使用额外的 MMCM BUFG_DIV 来划分时钟的需要。

http://www.ppmy.cn/server/165380.html

相关文章

C++ Primer 算术运算符

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

分析用户请求K8S里ingress-nginx提供的ingress流量路径

前言 本文是个人的小小见解,欢迎大佬指出我文章的问题,一起讨论进步~ 我个人的疑问点 进入的流量是如何自动判断进入iptables的四表?k8s nodeport模式的原理? 一 本机环境介绍 节点名节点IPK8S版本CNI插件Master192.168.44.1…

Visual Studio Code应用本地部署的deepseek

1.打开Visual Studio Code,在插件中搜索continue,安装插件。 2.添加新的大语言模型,我们选择ollama. 3.直接点connect,会链接本地下载好的deepseek模型。 参看上篇文章:deepseek本地部署-CSDN博客 4.输入需求生成可用…

从DTFT到DFT:数字信号处理中的关键过渡

摘要 在数字信号处理领域,从离散时间傅里叶变换(DTFT)过渡到离散傅里叶变换(DFT)是一个至关重要的发展阶段。本文将深入浅出地阐述这一过渡过程,详细解释为什么需要用DFT来表示实际的信号。首先介绍DTFT的…

机器学习--python基础库之Matplotlib (2) 简单易懂!!!

python基础库之Matplotlib(2) python基础库之Matplotlib0 准备1 散点图的绘制2 柱状图绘制3 其他 python基础库之Matplotlib 上篇文章机器学习–python基础库之Matplotlib (1) 超级详细!!!主要讲解了python的基础库matplotlib中绘图的流程以及折线图的…

论文阅读(九):通过概率图模型建立连锁不平衡模型和进行关联研究:最新进展访问之旅

1.论文链接:Modeling Linkage Disequilibrium and Performing Association Studies through Probabilistic Graphical Models: a Visiting Tour of Recent Advances 摘要: 本章对概率图模型(PGMs)的最新进展进行了深入的回顾&…

【NLP251】NLP RNN 系列网络

NLP251 系列主要记录从NLP基础网络结构到知识图谱的学习 1.原理及网络结构 1.1RNN 在Yoshua Bengio论文中( http://proceedings.mlr.press/v28/pascanu13.pdf )证明了梯度求导的一部分环节是一个指数模型…

PHP 中 `foreach` 循环结合引用使用时可能出现的问题

问题背景 假设你有如下 PHP 代码&#xff1a; <?php $arr array(1, 2, 3, 4);// 使用引用遍历并修改数组元素 foreach ($arr as &$value) {$value $value * 2; } // 此时 $arr 变为 array(2, 4, 6, 8)// 再使用非引用方式遍历数组 foreach ($arr as $key > $val…