Spartan-6的I/O时钟缓冲器

举报
李锐博恩 发表于 2021/07/15 07:25:39 2021/07/15
【摘要】 I/O 时钟缓冲器 除了全局时钟缓冲器外,Spartan-6还包含驱动高速I/O时钟区域的时钟缓冲器。I/O 时钟缓冲器的原语如表2-9所示。 表2-9 I/O时钟缓冲器的原语 (1) BUFIO2。 BUFIO2接收来自GCLK时钟输入,产生两个时钟输出和一个驱动IOSERDES2的选通脉冲,如图2-9所示。 (2) BUFIO2_2CLK。 BUFI...

I/O 时钟缓冲器

除了全局时钟缓冲器外,Spartan-6还包含驱动高速I/O时钟区域的时钟缓冲器。
I/O 时钟缓冲器的原语如表2-9所示。

I/O时钟缓冲器的原语

表2-9 I/O时钟缓冲器的原语

(1) BUFIO2。

BUFIO2接收来自GCLK时钟输入,产生两个时钟输出和一个驱动IOSERDES2的选通脉冲,如图2-9所示。

(2) BUFIO2_2CLK。

BUFIO2_2CLK和BUFIO2功能几乎相同,不同的是BUFIO2_2CLK的输入为两个单端时钟或者一对差分时钟(IBUFDS_DIFF_OUT 的输出),如图2-10所示。

BUFIO2的原语

图2-9 BUFIO2的原语

BUFIO2_2CLK的原语

图2-10 BUFIO2_2CLK的原语

(3) BUFIO_2FB。

BUFIO2FB 是一个单输入单输出的缓冲器,有一个输出属性控制输出延时,如图2-11所示。当属性DIVIDE_BYPASS 设置为TRUE时,BUFIO_2FB等同于BUFIO2旁路延时;
当属性DIVIDE_BYPASS设置为FALSE时,BUFIO_2FB的延时与BUFIO2 的DIVCLK输出类似,保持BUFIO2的输出和BUFIO_2FB相位对齐。

BUFIO_2FB的原语

图2-11 BUFIO_2FB的原语

BUFIO_2FB缓冲器为CMT(PLL或DCM)参考输入CLKIN和反馈输入CLKFB的时钟布线延时提供了一个很好的解决方法。当使用CMT的反馈路径时,ISE会自动插入BUFIO_2FB和BUFIO2缓冲器,如图2-12所示。

BUFIO_2FB 缓冲器与时钟布线延时匹配

图2-12 BUFIO_2FB 缓冲器与时钟布线延时匹配

(4) BUFPLL。

图2-13所示为BUFPLL的原语,主要用来驱动高速I/O,为ISERDES2和OSERDES2提供时钟。
它会将PLL的LOCK输出与GCLK、SERDES选通和PLL时钟对齐。其中的IOCLK仅仅是将输入时钟通过了一级缓冲的版本。LOCK输出信号其实与PLL的LOCKED信号具有相同的功能,它们的区别在于,在PLL 锁定、BUFPLL对齐SERDES选通信号之前,LOCK不会变高。

BUFPLL的原语

图2-13 BUFPLL的原语

Spartan-6器件每个BANK有两个BUFPLL,专用于PLL,不建议将其用作逻辑时钟。

(5) BUFPLL_MCB。

BUFPLL_MCB专用于Spartan-6内集成的存储器控制器。

时钟网络

Spartan-6的时钟布线网络包括由BUFGMUX驱动的全局时钟网络和由I/O时钟缓冲器(BUFIO2)、PLL时钟缓冲器(BUFPLL)驱动的I/O区域时钟网络。

(1) 全局时钟网络。

Spartan-6的全局时钟网络由16个位于芯片中央的BUFGMUX驱动。BUFGMUX的输入信号有以下3种。

这3种资源通过芯片中央的切换模块切换。

每个BUFGMUX输出驱动一个垂直方向的时钟脊线,沿着这个方向,水平跨接行时钟HCLK。

HCLK的输入有两种,通过专用的多路选择器切换。

由于Spartan-6中有32个全局时钟输入引脚和16个全局输入缓冲器,所以有可能两个时钟输入引脚驱动一个全局时钟。当通过全局时钟引脚(IBUFG或IFUFGDS)直接驱动全局时钟缓冲器(BUFG或BUFGMUX)时,BANK0、BANK1和BANK5分享8个全局时钟缓冲器,类似地,BANK2、BANK3和BANK4分享8个全局时钟缓冲器,如图2-14所示。

Spartan-6 FPGA全局时钟结构图

图2-14 Spartan-6 FPGA全局时钟结构图

为了增加布线的灵活性,当使用第二个BUFIO2时,BUFIO2可用作第二个全局时钟缓冲器。由于系统资源按照主BUFIO2路径优化,因此对于不使用主BUFIO2资源的全局时钟,系统性能会受影响。

(2) I/O区域时钟网络。

如图2-15所示,一个I/O时钟网络能通过BUFPLL被PLL驱动,每个PLL有2个相关缓冲器,扩展到整个I/O BANK。

Spartan-6 FPGA I/O BANK内的I/O时钟结构

图2-15 Spartan-6 FPGA I/O BANK内的I/O时钟结构

每个BANK有两个分离的I/O时钟区域,每半个I/O Bank都有4个高速I/O时钟,由4个专用BUFIO2缓冲器驱动。

I/O时钟输入引脚可以通过BUFIO2扩展到整个BANK,如图2-16所示。使用两个BUFIO2资源,例如BUFIO2_0和BUFIO2_4,将时钟扩展到整个BANK。

I/O BANK内的I/O时钟

图2-16 I/O BANK内的I/O时钟

当输入延时使能的时候,一个输入引脚不可以驱动两个BUFIO2缓冲器。BUFIO2除了提供输入引脚到I/O时钟网络上,还提供了到PLL/DCM和BUFG的专用时钟路径。

点击打开链接

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/80351440

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。