我一直没搞明白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驱动了。
什么是eSIM?SIM卡消失了_eSIM是运营商的末日?
电容器知识点总结(二)
荣耀9X内测鸿蒙OS的系统界面截图流出
一文看懂油位传感器安装方法
浅析产业园区新型基础设施发展的四个阶段
FPGA入门之原语BUFIO的理解
TPS55288升降压变换器助力实现台式电脑USB PD传输
宏景智驾完成数亿元B轮融资
屏蔽布线系统优越感源自于哪里
数字信号处理基础之时频转换和滤波器设计
高级别智能驾驶业务系列:港口作业仿真系统
电源设计到位需注意--固本问题
PCB板四层以上的布线技巧介绍
晶体管开关电路设计 TTL晶体管开关电路原理图/蜂鸣器控制电路原理图
欲跨界玩电视,华为打的什么如意算盘?
关于MG名爵全新车型MG ZS的发动机技术解析
PCB的设计指引资料详细说明
国芯科技高性能工控芯片研发项目获得江苏省科技成果转化专项资金资助
蔚来汽车纽约挂牌上市,但未来真的就一帆风顺了吗?
焊接机器人关键技术有哪些?