vivado时序约束学习系列:xilinx 7系列中时钟架构

文摘   2025-01-03 13:24   江苏  
一、xilinx 7系列中时钟架构

二、一个MMCM的布局示例

xilinx 7系列中时钟架构

在xilinx 7系列FPGA中,使用专门的全局时钟、全局I/O、区域时钟和区域I/O的资源。CMT来实现时钟频率的合成、去抖动等功能。每个CMT都包含一个时钟管理器(MMCM)和一个锁相环(PLL),它们位于I/O列旁边的CMT列中。

从下面图中中可以看出来,一个CMT包括一个MMCM和一个PLL,其位置与上述的时钟架构保持一致。

一个时钟区域,包括跨越上下50个CLB和一个I/O Bank的所有同步元素(例如:CLB、I/O、串行收发器、DSP、RAM、CMT),在其中心有一个水平时钟行(HROW)。每个时钟区域,从HROW开始向上跨越25个CLB和向下跨越25个CLB,并水平地横跨设备的每一侧。 以下是一个时钟区域的案例,从图中可以看出这个时钟区域X1Y1内的所有元素,包括CLB,IO接口,DSP资源,RAM,CMT等。此处选用的是zynq7020,故串行收发器不存在。有兴趣的可以找一找其他器件,进行比对学习,有助于底层理解。

7系列FPGA时钟输入,通过垂直时钟网络驱动全局时钟缓冲区。这32个缓冲区在设备的顶部和底部被分成两组16个缓冲区。任何直接连接到bufg的资源都有一个顶部/底部的限制。顶部的每个MMCM只能驱动位于设备顶部的16个缓冲区。底部的mmcm驱动底部的16个bufg。

一个MMCM的布局示例

此处提供了一个MMCM的布局示例,从输入的MRCC端口,到输出的两路时钟,使用了哪些时钟原语以及布局位置。下面是使用的所有的时钟原语。

MMCM允许输入的时钟源包括: IBUFG——时钟能力的输入缓冲区,MMCM将补偿该路径的延迟。IBUFG表示在同一区域内的一个能够支持时钟的时钟大头针。 BUFGCTRL或BUFG -内部全局时钟缓冲区,MMCM将不会补偿该路径的延迟。 IBUF——常规输入缓冲区,不建议使用,因为输入缓冲区可以使用常规路由。IBUF时钟输入必须在路由到MMCM/PLL之前路由到BUFG。MMCM/PLL并不补偿此路径的延迟。 BUFR——区域时钟输入缓冲区,MMCM/PLL将不会补偿该路径的延迟。 GT——千兆位收发器可以直接连接到MMCM。 下面的IP界面中可以选择适配,不同配置使用不同的时钟原语。选择哪种配置取决于资源,甚至有些硬件把IO放置在普通管脚上,需要xdc约束进行强行布线。如果单端时钟一旦放到全局时钟的N端,那就完蛋了,只能飞线。

IBUF原语

MMCM2_ADV原语

BUFG原语



小灰灰的FPGA
努力成为一名FPGA全栈工程师,分享FPGA、嵌入式、硬件及软件知识,扩充自己的知识面,比如图像处理,通信协议以及数据处理等方向。
 最新文章