首页 » 互联网 » Xilinx 7系列FPGA架构之时钟本钱(三)_时钟_缓冲器

Xilinx 7系列FPGA架构之时钟本钱(三)_时钟_缓冲器

南宫静远 2025-01-23 19:21:27 0

扫一扫用手机浏览

文章目录 [+]

理解全局时钟的旗子暗记路径可以扩展对各种全局时钟资源的理解。
全局时钟资源和网络由以下路径和组件组成:

时钟树和网络:GCLK时钟区域全局时钟缓冲器1. 时钟树和网络:GCLK

7系列FPGA时钟树设计用于低偏差和低功耗操作,任何未利用时钟的分支都会被断开。
时钟树还可用于驱动逻辑资源,如复位或时钟启用,这紧张用于高扇出/负载网络。

Xilinx 7系列FPGA架构之时钟本钱(三)_时钟_缓冲器 Xilinx 7系列FPGA架构之时钟本钱(三)_时钟_缓冲器 互联网

在7系列FPGA构造中,全局时钟线的引脚访问不限于逻辑资源时钟引脚。
全局时钟线可以驱动CLB中除CLK引脚以外的引脚(例如:掌握引脚SR和CE)。
须要非常快速的旗子暗记连接和大负载/扇出的运用程序可以从该架构中获益。

Xilinx 7系列FPGA架构之时钟本钱(三)_时钟_缓冲器 Xilinx 7系列FPGA架构之时钟本钱(三)_时钟_缓冲器 互联网
(图片来自网络侵删)
2. 时钟域

7系列器件通过利用时钟区域改进时钟分布。
每个时钟区域最多可以有12个全局时钟域。
这12个全局时钟可以由单片器件或SLR中的32个全局时钟缓冲器的任意组合驱动。
时钟区域的尺寸固定为50个CLB高(50个IOB),超过die的左侧或右侧。
在7系列器件中,时钟主干线将器件分成左侧或右侧。
通过固定时钟区域的尺寸,较大的7系列器件可以有更多的时钟区域。
7系列FPGA供应1到24个时钟区域。

3. 全局时钟缓冲器

在7系列器件中有多达32个全局时钟缓冲器。
CCIO输入可以直接连接到器件同一半的任何全局时钟缓冲器。
每个差分时钟管脚对可以连接到PCB上的差分时钟或单端时钟。
当用作差分时钟输入时,直接连接来自差分输入管脚对的P侧。
当用作单端时钟输入时,必须利用管脚对的P侧,由于直接连接只存在于该管脚上。
有关管脚命名约定,请参阅UG475:7系列FPGA封装和引脚输出规范
如果单端时钟连接到差分管脚对的P侧,则N端不能用作另一个单端时钟管脚。
但是,它可以用浸染户I/O。

器件上半部分的CMT只能驱动器件上半部分的BUFG,下半部分的CMT只能驱动下半部分的BUFG。
类似地,只有器件的同一半中的BUFG可以用为难刁难器件同一半中的CMT反馈。
当CMT列扩展到同时包含GT和I/O列的区域时,千兆收发器(GTs)只能直接连接到MMCMs/PLL。
Virtex-7T和Virtex-7XT器件有这些完全的列。
Spartan-7、Artix-7、Kintex-7和Zynq-7000器件中的GT和CMT只能利用BUFHs(首选)或BUFGs进行连接。

全局时钟缓冲器许可各种时钟/旗子暗记源访问全局时钟树和网络。
输入到全局时钟缓冲器的可能来源包括:

时钟输入在器件同一半区域的时钟管理块(CMT)驱动BUFG相邻全局时钟缓冲器输出(BUFGs)通用互连区域时钟缓冲器(BUFRs)收发器

7系列FPGA时钟输入可以通过时钟主干列中的垂直时钟网络间接地驱动全局时钟缓冲器。
32个BUFG被分成两组,每组16个BUFGs,分别位于器件的顶部和底部。
直接连接到BUFGs的任何资源(例如,GTX收发器)都有一个顶部/底部限定。
例如,顶部的每个MMCM只能驱动设备顶部的16个BUFGs。
同样,底部的MMCMs驱动底部的16个BUFGs。

所有全局时钟缓冲器可以驱动7系列设备中的所有时钟区域。
然而,在一个时钟区域内只能驱动12个不同的时钟。

时钟缓冲器被设计成具有两个时钟输入的同步或异步glitch-free2:1多路复用器。
BUFG级联有一个专用路径(路由资源),许可两个以上的时钟输入选择。
7系列FPGA掌握引脚供应广泛的功能和强大的输入切换。

在7系列FPGA时钟构造中,BUFGCTRL多路复用器和所有派生器可以级联到器件上半部分和下半部分16个BUFGMUX组内的相邻时钟缓冲器,有效地在上半部分创建一个16个BUFGMUX(BUFGCTRL多路复用器)环,不才半部分形成另一个16个环。
图1显示了级联BUFG的简化图。

图1、级联BUFGs

以下小节详细先容了7系列FPGA时钟缓冲器的各种配置、原语和利用模型。

3.1 全局时钟缓冲器原句

表1中的原句是全局时钟缓冲器的不同配置。
ISE®或Vivado®设计工具管理所有这些原语的配置,约束指南描述了LOC约束。

表1、全局时钟缓冲器原句

BUFGCTRL

BUFGCTRL原句框图如图2所示,它可以实现两路异步时钟切换。
所有其他全局缓冲语句都可以由BUFGCTRL的某种配置得到。
BUFGCTRL有四个选择端口:S0、S1、CE0和CE1,其余还有两个附件的掌握线,IGNORE0和IGNORE1。
这六个旗子暗记用于掌握输入I0和I1。

图2、 BFUGCTRL原句

BUFGCTRL用于在两路时钟输入之间切换,而不会产生毛刺。
当当前选择的时钟在S0和S1改变后从高电平转换到低电平时,输出保持在低电平,直到另一个(待选择的)时钟从高电平转换到低电平。
然后新的时钟开始驱动输出,BUFGCTRL的默认配置是低落沿敏感型,在输入切换之前保持在低位。
BUFGCTRL还可以对上升沿敏感,并在输入切换之前利用INIT_OUT属性保持在高极性。

在某些运用中,上述条件是不可取的。
断言IGNORE引脚将绕过BUFGCTRL来检测在两个时钟输入之间切换的条件。
换句话说,断言IGNORE会导致MUX在选择管脚变动时切换输入。
当选择引脚改变时,IGNORE0使输出立即从I0输入切换,而当选择引脚改变时,IGNORE1使输出立即从I1输入切换。

选择一个输入时钟须要一个“选择”对(S0和CE0,或S1和CE1)被断言为高。
如果S或CE没有被断言为高,则所需的输入将不会被激活选定。
在正常运行时,S和CE对(所有四条选择线)都不应同时断言高。
常日,“选择”对中只有一个管脚用作选择线,而另一个管脚系在高处。
真值表如表2所示。

表2、时钟资源真值表

虽然S和CE都用于选择所需的输出,但建议只有S用于无端障切换。
这是由于当利用CE切换时钟时,时钟选择的变革可能比利用S快。
CE引脚的建立/保持韶光会导致时钟输出涌现毛刺。
另一方面,利用S引脚可以在两个时钟输入之间切换,而不考虑设置/保持韶光。
因此,利用S来切换时钟不会导致毛刺。
请拜会BUFGMUX_ CTRL。

图3中的时序图解释了利用BUFGCTRL原语的各种时钟切换条件。

图3、BUFGCTRL原语的时序图

在事宜1之前,输出O利用输入I0;BUFGCTRL的其他功能包括:

I0和I1输入的预选在配置之后但在设备运行之提高行。
配置后的初始输出可选择为高或低。
仅利用CE0和CE1的时钟选择(S0和S1绑定高)可以变动时钟选择,而无需等待先前选择的时钟从高到低的转换。

表3概括了BUFGCTRL原句的属性

表3 BUFGCTRL属性

BUFG

BUFG是一个时钟缓冲器,具有一个时钟输入和一个时钟输出。
这个原语基于BUFGCTRL,有些管脚连接到逻辑高或低。
图2-5解释了BUFG和BUFGCTRL的关系。
可以手动放置约束的位置。

图4、BUFG和BUFGCTRL

BUFG时序图如图5所示。
图中显示了BUFG引入的时钟延迟TBCCKO_O

图5、 BUFG时序图

BUFGCE和BUFGCE_1

与BUFG不同,BUFGCE是一个具有一个时钟输入、一个时钟输出和一条时钟使能线的时钟缓冲器。
这个原语基于BUFGCTRL,有些管脚连接到逻辑高或低。
图6解释了BUFGCE和BUFGCTRL的关系。
LOC约束可用于手动放置BUFGCE和BUFGCE_ 1位置。

图6、 BUFGCE和BUFGCTRL

BUFGCE的切换条件类似于BUFGCTRL。
如果CE输入在进入上升时钟边缘之前为低电平,则随后的时钟脉冲不会通过时钟缓冲器,并且输出保持低电平。
在进入时钟高脉冲期间,CE的任何电平变革在时钟转换为低之前都没有影响。
当时钟被禁用时,输出保持低。
但是,当时钟被禁用时,它将完成时钟高脉冲。

由于时钟使能线路利用BUFGCTRL的CE引脚,因此选择旗子暗记必须知足建立韶光哀求。
违反此建立韶光可能会导致毛刺。
图7解释了BUFGCE的时序图。

图7、 BUFGCE的时序图

BUFGCE_1与BUFGCE类似,只是其开关条件不同。
如果CE输入在进入低落时钟边缘之前是低的,则随后的时钟脉冲不通过期钟缓冲器,并且输出保持高。
在进入时钟低脉冲期间,CE的任何电平变革在时钟变高之前都没有影响。
当时钟被禁用时,输出保持高电平。
但是,当时钟被禁用时,它将完成时钟低脉冲。

图8、BUFGCE_1的时序图

BUFGMUX和BUFGMUX_1

BUFGMUX是一个具有两个时钟输入、一个时钟输出和一条选择线的时钟缓冲器。
这个原语基于BUFGCTRL,有些管脚连接到逻辑高位或高位低。
图9解释了BUFGMUX和BUFGCTRL的关系。
LOC约束可用于手动放置BUFGMUX和BUFGCTRL位置。

图9、 BUFGMUX和BUFGCTRL

由于BUFGMUX利用CE管脚作为选择管脚,因此在利用选择管脚时,必须知足建立韶光哀求。
违反此建立韶光可能会导致毛刺。

BUFGMUX的开关条件与上的CE引脚相同BUFGCTRL.图图10显示了BUFGMUX的时序图。

图10、BUFGMUX时序图

BUFGMUX_1对上升沿敏感,在输入开关之前保持在高电平。
图11显示了BUFGMUX_ 1的时序图。
LOC约束可用于手动放置BUFGMUX和BUFGMUX_1位置。

图10、BUFGMUX_1时序图

表3、 BUFGMUX属性

BUFGMUX_CTRL

BUFGMUX_CTRL更换了BUFGMUX_VIRTEX4遗留版本基元.BUFGMUX_CTRL是一个具有两个时钟输入、一个时钟输出和一条选择线的时钟缓冲区。
这个原语基于BUFGCTRL,有些管脚连接到逻辑高或低。
图12显示了BUFGMUX_CTRL和BUFGCTRL的关系。

图12、BUFGMUX_CTRL和BUFGCTRL

CTRL和MUX选择管脚。
S可以随时切换而不会引起故障。
S上的建立/保持韶光用于确定在切换到新时钟之前,输出是否将通过先前选择的时钟的额外脉冲。
如果S如图2-14所示在设置韶光TBCCCK_S之前和I0从高变低之前发生变革,则输出将不会通报额外的I0脉冲。
如果S在S的保持韶光后发生变革,则输出将通报一个额外的脉冲。
如果S违反建立/保持哀求,输出可能会通报额外的脉冲,但不会涌现故障。
在任何情形下,输出将在慢时钟的三个时钟周期内变动为新时钟。

S0和S1的建立/保持哀求与时钟低落沿有关,而不是与CE0和CE1的上升沿有关。

BUFGMUX_CTRL的切换条件与BUFGCTRL.图13显示了BUFGMUX_CTRL的时序图。

图13、BUFGMUX_CTRL时序图

BUFGMUX_CTRL原语的其他功能包括:

配置后预选I0和I1输入。
初始输出可在配置后选择为高或低

欢迎关注“FPGA技能实战”"大众号,持续更新原创!

相关文章

RPC2107 PLC控制模块_电流_暗记

高压真空配电装置,移动变电站合闸闭锁分闸采取数字化技能DSP的双CP U处理器,高精度的A/D转换及前辈的保护运算,30A移变头测...

互联网 2025-01-24 阅读3 评论0