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

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

3天内不再提示

FPGA入门之原语BUFIO的理解

jf_78858299 来源:Hack电子 作者:Hack电子 2023-05-11 16:16 次阅读

我一直没搞明白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的输入输出可以接什么:

图片

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

图片

结合一下BUFIO的原语结构:

图片

可以看出:

  • 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驱动了。

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

    关注

    10

    文章

    1698

    浏览量

    131151
  • CLB
    CLB
    +关注

    关注

    0

    文章

    27

    浏览量

    5931
  • i/o
    i/o
    +关注

    关注

    0

    文章

    33

    浏览量

    4559
收藏 人收藏

    评论

    相关推荐

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

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

    Xilinx FPGA无痛入门,海量教程免费下载

    用notepad++的关联设置Lesson07 特权Xilinx FPGA SF-SP6入门指南 -- ISE与Modelsim联合仿真库编译Lesson08 特权Xilinx FPGA
    发表于 07-22 11:49

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

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

    为什么当我将错误降级为警告时, 在FPGA编辑器中就找不到BUFIO2了?

    。我阅读了用户指南,我知道BUFIO2的位置是错误的,但我不知道这个特定BUFIO2的实例名称是否在ucf文件中放置了位置约束。当我将错误降级为警告时,我在FPGA编辑器中找不到BUFIO
    发表于 06-26 08:24

    请问ISERDESE2原语支持多少位输入?

    嗨,有没有办法在7系列FPGA中读取18位串行LVDS输入,尤其是Artix-7?如果我理解正确,ISERDESE2原语仅支持最多14位输入。数据速率约为400 Mbps,采用2线DDR传输模式。先谢谢你,
    发表于 04-24 09:33

    FPGA上有哪些额外的原语

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

    FPGA双沿采样IDDR原语实现 精选资料推荐

    1.1 FPGA设计思想与技巧1.1.1 本节目录1)本节目录;2)本节引言;3)FPGA简介;4)FPGA双沿采样IDDR原语实现;5)
    发表于 07-26 06:37

    STM32入门RCC与复位

    【自我总结2】STM32入门RCC与复位【自我总结】STM32入门RCC与复位【自我总结2】STM32入门
    发表于 08-20 07:48

    Gowin FPGA原语使用手册

    Gowin FPGA原语使用指南
    发表于 09-30 06:59

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

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

    Xilinx FPGA常用原语介绍

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

    Vivado IDDR与ODDR原语的使用

    只能发生在FPGA的IOB上面,这里有特定的硬件结构可以实验上面单沿变双沿的方法,也就是使用原语进行一些列的操作。
    发表于 01-25 07:07 12次下载
    Vivado IDDR与ODDR<b class='flag-5'>原语</b>的使用

    (29)FPGA原语设计(差分时钟转单端时钟)

    (29)FPGA原语设计(差分时钟转单端时钟)1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA原语设计(差分时
    发表于 12-29 19:41 5次下载
    (29)<b class='flag-5'>FPGA</b><b class='flag-5'>原语</b>设计(差分时钟转单端时钟)

    (30)FPGA原语设计(单端时钟转差分时钟)

    (30)FPGA原语设计(单端时钟转差分时钟)1.1 目录1)目录2)FPGA简介3)Verilog HDL简介4)FPGA原语设计(单端时
    发表于 12-29 19:41 10次下载
    (30)<b class='flag-5'>FPGA</b><b class='flag-5'>原语</b>设计(单端时钟转差分时钟)

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

    我一直没搞明白BUFIO是干嘛用的。
    的头像 发表于 05-08 15:20 2672次阅读
    Xilinx <b class='flag-5'>FPGA</b>学习笔记:<b class='flag-5'>原语</b><b class='flag-5'>BUFIO</b>的<b class='flag-5'>理解</b>