集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2009|回复: 2

异步FIFO 原理

[复制链接]
zxopenljx 发表于 2021-6-11 17:34:07 | 显示全部楼层 |阅读模式
原文链接:https://mp.weixin.qq.com/s/JXrqckiJM45Xzdwmap-D1Q
FIFO 是 FPGA 中作为数据流(通信数据包,视频图像的数据)最常用的缓存,异步时钟域同步处理最常用的手段,它没有地址,先写入的数据按照顺序依次存入内部存储空间中,读出数据到时候也是将先写入的数据先读出,按顺序出数据。

FIFO 利用 FPGA 内部的块 ram(嵌入到 FPGA 内部的专用存储原件)或者分布式 ram(利用LUT 或者 D 触发器构成的内部存储原件)形成存储空间,一般优先使用块 ram,在块 ram 资源不够的时候可选择分布式 ram。由于 FPGA 资源有限,所以不适合做大批量数据存储,适合作为缓存。

FIFO 的本质是 ram,数据的写入是按顺序依次写入,当写满后数据讲不能被写入,读数据也是按顺序依次读出,当内部没有数据的时候,是不能够读出数据。因此 FIFO 需要通过空满标志表示内部的空间状态。
图片
图片

1. FIFO 使用场景 1(跨时钟域同步)
图片

2. FIFO 使用场景 2(数据位宽的转换)
在有的视情况下,我们需要将数据合并或者分解处理,此时可以将数据经过一个 fifo
例如:我们需要将 8bit 的数据合为 16bit 的数据
图片

3. FIFO 应用场景 3(作为缓存)
当数据流读写不一致的时候需要加入中加缓存,此时利用 FIFO 作为缓存,使的读写达到一致。
当 FIFO 作为数据缓存的时候需要保持读写两端的带宽(Bit/s)一致,读带宽=写带宽假如写数据的时钟 wr_clk=100mhz, 读时钟 rd_clk=20mhz,俩时钟频率不一样,但是在在一秒内写入 100 个数,1s 内读出 100 个数据。
①Wr_clk<rd_clk
在这种情况下,FIFO 永远不会满,没有最小深度(FIFO 空间可存入的最小数据个数)的限制
②Wr_clk==rd_clk
这种情况下,FIFO 永远不会满,没有最小深度(FIFO 空间可存入的最小数据个数)的限制
③Wr_clk>rd_clk
在这种情况下,虽然带宽一致,但是会存在瞬时写满 FIFO,因此需要计算 FIFO 的最小深度(最坏情况下瞬时写满所需要的空间)
图片

如上图假如写一次写bl个数,则考虑背靠背的情况下,在计算最小深度的时候以BL=2*bl个数作为计算最小深度的参数。
假如:
写时钟频率为 wclk
读时钟频率为 rclk
写周期里,每 B 个时钟周期写入 A 个数据到 FIFO
读周期里,每 Y 个周期从 FIFO 读 X 个数据
写操作效率:(A/B)*wclk
读操作效率:(X/Y)*rclk
最坏情况下(考虑背靠背)写入的数据为 BL=2*bl,则所需要的时间为 BL*(1/wclk),接收方可以接收的数据=(BL*(1/wclk)) * (X/Y)*rclk
Depth=BL-(BL*(1/wclk)) * (X/Y)*rclk
Depth=BL-BL*(X/Y)*(rclk/wclk)
BL=2*A












至芯就业
至芯诸多学生已被华为,中兴,AMD,海思,航天科工集团,航天科技集团等优秀企业录取,经过11年累积,至芯与数百家公司建立了战略合作伙伴关系。往往学生还未毕业,就被用人单位抢走。
至芯提出“不就业 全面退款 不是推荐就业 而是保证就业”
具体就业详情请查阅网站:
https://www.zxopen.com/fpgajobnews.html

图片
北京和协航电科技有限公司企业HR和技术主管到访至芯现场招聘
图片
京微齐力HR主管到访至芯现场招聘FPGA工程师

至芯课程
至芯自研教材已经被国内百余所高校使用

图片
图片
至芯不断地迭代课程
在线视频地址:https://zxopenbj.ke.qq.com
  至芯通过教育部“产学合作 协同育人”项目与国内百余所高校建立合作关系,把产业界最新知识送至高校,实现“产学合作 协同育人”的目标。

图片

            
至芯获批工业和信息化部人才交流中心产业人才培训项目

图片
            
图片



北京中心:顺义区后沙峪安富街 8 号中景江山赋 1 号商业楼 330;
西安中心:西安市高新区唐延南路 11 号逸翠园 i 都会 1 栋 1 门 403;
垂询:   
支老师
(电话/微信:15529580559);
刘老师
(电话/微信:15829932662);
雷老师
(电话/微信:18901029989);
李老师
(电话/微信:15930463976);
全国统一客服  400-681-0708
2021.07.15/16报道         
2021.07.17开课

            
zxopenluyutong 发表于 2021-6-12 09:17:41 | 显示全部楼层
异步FIFO 原理
lihongkun16 发表于 2021-6-12 09:22:07 | 显示全部楼层
异步FIFO 原理
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 23:44 , Processed in 0.056713 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表