vivado时序约束学习系列:xilinx u/u+系列中时钟架构

文摘   2025-01-05 09:32   江苏  


一、xilinx u/u+系列中时钟架构

二、一个PCIE的输入时钟示例

一、xilinx u/u+系列中时钟架构

在xilinx ultrascale/ultrascale+系列FPGA,基本的时钟架构是由时钟区域的块组成的。CR构建列和行,每个CR包含CLB、DSP和BRAM。CR的整体高度是60个CLB,24个DSP和12个BRAM,其中心有一个水平时钟线(HCS)。时钟缓冲区直接驱动器进入HCS。每个BANK有52个I/O和4个千兆比特收发器(GT)。CR的核心列包含配置、系统监视和PCIe。

本地BUFCE_LEAF时钟缓冲器,用于驱动叶时钟从水平分布到设备中的各个块。

与7系列相比较,ultrascale/ultrascale+系列FPGA中,一个CMT包含一个时钟管理器(MMCM)和两个锁相环(PLL)。两个PLL分布于CMT的顶端,MMCM分布于CMT的低端。还包括BUFGCE、BUFGCTRL、BUFGCE_DIV等。

在u/u+系列设备中,引入GC全局时钟输入概念。在每个I/O列中每个I/O组中共有52个I/O用户引脚,其中有4个全局时钟输入引脚对(总共8个引脚)。需要注意的是:全局时钟输入作为单端时钟输入,必须分配给GC输入引脚对的P侧。如果一个单端时钟连接到差分时钟针对的P侧,则N侧不能用作另一个单端时钟针,它只能用作用户I/O。

字节时钟(DBC和QBC)输入引脚对是专用的时钟输入,通常用于DDR专用引脚,直接驱动源同步时钟到I/O组中的位片。在内存应用程序中,也被称为DQS。

二、一个PCIE的输入时钟示例

PCIe的底层本质上也是serdes,xilinx将PCIe的硬核的位置给固定了,也就是只能使用固定区域的GT来实现PCIe的功能。ROOT端提供给FPGA一对100M的PCIe的差分时钟,必须通过IBUFDS_GTE原语或IP来实现,而且必须将IBUR_OUT端的数据输入给GT的channel通道或者common通道使用。下图是在FPGA软件侧使用IBUFDS_GTE的ip实现pcie的时钟转换。

这个是上图中为什么使用IBUFDS_GTE的出处,在GT的手册中详细说明了,必须有原语或IP来实现时钟的生成。

下图是实际布局布线中,对应时钟的输入与输出。

在IBUFDS_GTE的输出端O,一路提供给BUFG_GT,一路提供个BUFG_GT_SYNC。BUFG_GT原语,是由千兆位收发器(GT)驱动,并为GT提供了驱动时钟路由资源的唯一手段。只有GT才能驱动BUFG_GT。BUFG_GT是一个时钟缓冲区,具有一个时钟输入(I)、一个时钟输出(O)、一个带有CLR掩码输入(CLR)的清除输入(CLR)、一个具有CE掩码输入(CEMASK)的时钟启用(CE)输入和一个3位分割(DIV[2:0])输入。自动插入BUFG_GT_SYNC原语,可以直接驱动路由和分发资源,并且是一个具有单个门控输入和重置的时钟缓冲区。当CE(低)输出停止在当前状态,高或低。当CE为高时,I输入被转移到O输出。


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