FPGA 时钟多路复用

时钟多路复用
您可以使用并行和级联 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 来划分时钟的需要。

相关推荐
hahaha601621 分钟前
Flash烧录速度和加载配置速度(纯FPGA & ZYNQ)
fpga开发
hahaha601622 分钟前
ARINC818编解码设计FPGA实现
fpga开发
XMAIPC_Robot1 小时前
基于RK3568的多网多串电力能源1U机箱解决方案,支持B码,4G等
linux·fpga开发·能源·边缘计算
广药门徒4 小时前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
hahaha60166 小时前
XDMA pcie环路测试
fpga开发
XMAIPC_Robot1 天前
基于FPGA + JESD204B协议+高速ADC数据采集系统设计
fpga开发
XMAIPC_Robot1 天前
基于RK3576+FPGA+AI工业控制器的工地防护检测装备解决方案
人工智能·fpga开发
XMAIPC_Robot2 天前
基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
linux·数码相机·fpga开发·架构·边缘计算
读书点滴2 天前
关于FPGA软核的仿真(一)
fpga开发
XMAIPC_Robot2 天前
基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
运维·人工智能·fpga开发·debian·边缘计算