0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx FPGA学习笔记:原语BUFIO的理解

FPGA之家 来源:FPGA之家 2023-05-08 15:20 次阅读

我一直没搞明白BUFIO是干嘛用的。

官方解释有这么一段话,如下:(virtex的)

“BUFIO是用来驱动I/O列内的专用时钟网络,这个专用的时钟网络独立于全局时钟资源,适合采集源同步数据。BUFIO只能由位于同一时钟区域的Clock-Capable I/O驱动。一个时钟区域有4个BURIO,其中的2个可以驱动相邻区域的I/O时钟网络。BUFIO不能驱动逻辑资源(CLB、BRAM等),因为I/O时钟网络只存在于I/O列中。”

就是如果BUFIO只能驱动IO,到达不了CLB和RAM,可是数据最终是要进逻辑的啊,为什么呢?

首先、需要明确BUFIO是输入用的。BUFIO是用来驱动输入时钟的,将外部时钟引入FPGA的!与IOBUF不同啊,但与IBUFG类似,时钟信号进FPGA也可以经过IBUFG。

其次、再来看BUFIO的输入和输出:SPARTAN6 的UG382手册里这么写的,如下:

BUFIO2 can drive ISERDES2 and OSERDES2 for either SDR or DDR clocking. BUFIO2 can
also route clock inputs from either a GCLK or a GTP_DUAL tile to a BUFG, DCM, or PLL
clock input. BUFIO2_2CLK can be used to replace one of the BUFIO2s required for DDR
clocking of the ISERDES2 and OSERDES2

(SDR:单边沿,DDR:双边沿)

就是说BUFIO2输入可以是GCLK(全局时钟)和GTP_DUAL。然后输出到BUFG或者,DCM ,PLL的时钟输入。

也就是说数据流顺序 PAD-->BUFIO-->BUFG或者PAD-->BUFIO-->DCM(PLL)--->BUFG不知道有这样用的吗。

但实际应用可以这样,BUFIO配和ISERDES2使用,ISERDES2是将串行数据转成并行数据,相当于分频了。而BUFIO具有分频的功能。

举例串行数据转成4bit并行数据:串行数据相当4分频,同样将随路时钟clk_in(就是和串行数据同步进来的时钟,,作为串行数据的采集时钟)同步BUFIO接进FPGA,

BUFIO可以将输入的随路时钟clk_in进行4分频为clk_in4。这样把clk_in4给BUFG,然后就可以同步将4bit的数据输入采集到逻辑FIFO中去了。

配个图,看看BUFIO的输入输出可以接什么:

06f7e476-ecd9-11ed-90ce-dac502259ad0.png

输出链接示意图,如下:可以看到PN-->BUFIO-->BUFG(DCM)或者PN-->BUFIO-->IO,驱动IO(PN只差分对的P和N)

070fd090-ecd9-11ed-90ce-dac502259ad0.png

结合一下BUFIO的原语结构:

07253e1c-ecd9-11ed-90ce-dac502259ad0.png

可以看出:

IOCLK就去驱动IO了或者IOSERDES2的CLK0,1;IODDR2等

DIVCLK可以去接BUFG或者PLL。

SERDESSTROB可以去驱动IOSERDES2的IOCE使能脚了。

以上是对SP6讲的,在virtex里面,有文章开头那句话:BUFIO是用来驱动I/O列内的专用时钟网络,这个专用的时钟网络独立于全局时钟资源,适合采集源同步数据。BUFIO只能由位于同一时钟区域的Clock-Capable I/O驱动。一个时钟区域有4个BURIO,其中的2个可以驱动相邻区域的I/O时钟网络。BUFIO不能驱动逻辑资源(CLB、BRAM等),因为I/O时钟网络只存在于I/O列中。”

就是说virtex里面BUFIO好像只能由Clock-Capable I/O驱动了。

在看virtex5的资料时,它有Clock Capable I/O引脚,这个引脚不是全局时钟输入引脚,bufio时钟源来自于Clock Capable I/O引脚,在源同步是非常有用,此时时钟可看做一个普通的数据引脚,所有的数据线和时钟线在fpga内部,从外部pad到触发器的D端,可以有相同延迟的布线。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603050
  • Xilinx
    +关注

    关注

    71

    文章

    2167

    浏览量

    121326
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131461
  • 引脚
    +关注

    关注

    16

    文章

    1195

    浏览量

    50422
  • 串行数据
    +关注

    关注

    0

    文章

    52

    浏览量

    16533

原文标题:Xilinx FPGA 学习笔记——原语 BUFIO 的理解

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    xilinx中的carry4原语在高云FPGA中用什么原语替代?

    xilinx中的carry4原语在高云FPGA中用什么原语替代
    发表于 05-09 16:13

    FPGA | Xilinx ISE14.7 LVDS应用

    今天给大侠带来 Xilinx ISE14.7 LVDS应用,话不多说,上货。 最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用。Xilinx FPGA中,主要通过
    发表于 06-13 16:28

    如何从Virtex原语切换到Spartan原语

    亲爱的大家,Virtex中的许多原语在Spartan 6中找不到,例如BUFIO,BUFR,IDELAY,IDDR。如何使用Spartan原语实现类似的功能?非常感谢你!箱子以上来自于谷歌翻译以下
    发表于 06-03 10:31

    FPGA上有哪些额外的原语

    用于xilinx ML507的Xilinx顶点XC5VFX70TFFG1136 FPGA如何将xilinx LUT作为移位寄存器?什么是xilinx
    发表于 06-16 16:48

    Xilinx原语的使用方法

    Xilinx原语使用方法
    发表于 02-22 06:55

    xilinx原语的使用方法

    xilinx原语的使用,建议有一定经验的参考。
    发表于 12-17 11:58 13次下载

    Xilinx 7 Series FPGA时钟网络的区别(BUFG,BUFGR,BUFIO

    Xilinx 7Series FPGA中,存在3种主要的时钟网络:BUFG,BUFR,BUFIO以及他们所衍生出的各种变种。那么他们有什么主要特点和区别呢? BUFIO是IO时钟网络
    发表于 02-08 05:31 2551次阅读
    <b class='flag-5'>Xilinx</b> 7 Series <b class='flag-5'>FPGA</b>时钟网络的区别(BUFG,BUFGR,<b class='flag-5'>BUFIO</b>)

    xilinx 原语使用方法

    xilinx 原语使用方法
    发表于 10-17 08:57 11次下载
    <b class='flag-5'>xilinx</b> <b class='flag-5'>原语</b>使用方法

    xilinx原语使用方法

    xilinx原语使用方法
    发表于 10-19 08:50 15次下载
    <b class='flag-5'>xilinx</b><b class='flag-5'>原语</b>使用方法

    Xilinx FPGA常用原语介绍

    项目中主要用到的原语与IO端口有关,所以基本在Input/Output Functions 和IO两类中。下面着重介绍实际中所用到的几个原语,芯片A7系列。
    发表于 01-06 11:23 1.6w次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>常用<b class='flag-5'>原语</b>介绍

    如何借助Xilinx FPGA和MATLAB技术加速机器学习应用

    本演讲将结合FPGA在机器学习的发展趋势、应用和需求,特别介绍在基于MATLAB®完成深度学习算法设计后,FPGA在机器学习方面的技术优势和
    的头像 发表于 12-25 07:08 2500次阅读
    如何借助<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>和MATLAB技术加速机器<b class='flag-5'>学习</b>应用

    Xilinx原语使用方法有哪些

    Xilinx公司的原语按照功能分为10类,包括:计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM组件、Slice/CLB组件以及G比特收发器组件。下面分别对其进行详细介绍。
    的头像 发表于 02-08 14:01 1436次阅读
    <b class='flag-5'>Xilinx</b><b class='flag-5'>原语</b>使用方法有哪些

    Xilinx原语使用方法

    Xilinx公司的原语按照功能分为10类,包括:计算组件、I/O端口组件、寄存器和锁存器、时钟组件、处理器组件、移位寄存器、配置和检测组件、RAM/ROM组件、Slice/CLB组件以及G比特收发器组件。下面分别对其进行详细介绍。
    发表于 03-24 06:14 3次下载
    <b class='flag-5'>Xilinx</b><b class='flag-5'>原语</b>使用方法

    Altera FPGA CPLD学习笔记

    Altera FPGA CPLD学习笔记(肇庆理士电源技术有限)-Altera FPGA CPLD学习
    发表于 09-18 10:54 82次下载
    Altera <b class='flag-5'>FPGA</b> CPLD<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>

    FPGA入门之原语BUFIO理解

    BUFIO是用来驱动I/O列内的专用时钟网络,这个专用的时钟网络独立于全局时钟资源,适合采集源同步数据。BUFIO只能由位于同一时钟区域的Clock-Capable I/O驱动。一个时钟区域有4个
    的头像 发表于 05-11 16:16 2497次阅读
    <b class='flag-5'>FPGA</b>入门之<b class='flag-5'>原语</b><b class='flag-5'>BUFIO</b>的<b class='flag-5'>理解</b>