在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: cleocss

[求助] FIFO读写的问题?

[复制链接]
发表于 2010-12-16 19:23:27 | 显示全部楼层
这跟堆栈是有区别的,
发表于 2010-12-17 13:50:40 | 显示全部楼层
根据我的设计经验,其实FIFO的核心还是一片RAM。只不过把RAM的操作封装了一下,添加了两个指针,也就是两个地址寄存器,一个写地址寄存器,一个读地址寄存器。
当FIFO初始化时,读地址寄存器和写地址寄存器皆为零;
当FIFO写一个数据时,把数据写入当前地址寄存器指向的RAM地址,然后写地址寄存器加1;如果加到RAM的底部了,就再次变为零;
当FIFO读数据时,把读地址寄存器的数据读出来,然后读地址寄存器加1;如果读到RAM的底部了,就再次变为零;
如果读地址寄存器追上写地址寄存器,就说明读空了,没数据可读了;
如果写地址寄存器的值又追上了读地址寄存器,就说明写满了,没法写了;
大概就是这样了。
发表于 2010-12-17 17:44:16 | 显示全部楼层
不错不错
发表于 2010-12-17 17:46:00 | 显示全部楼层
不错不错
发表于 2010-12-17 18:53:23 | 显示全部楼层
FIFO只有读写指针,不是你想写那个地址就可以写得
发表于 2010-12-17 20:10:21 | 显示全部楼层




    硬件上并不需要释放空间之类的,只要设计能够保证不覆盖有用的数据就行,三楼的资料很好,呵呵!
发表于 2011-5-12 10:25:07 | 显示全部楼层
楼主,你的问题解决了吗?
我想从FIFO中获取字符并对其依次处理,这个该怎么获取字符啊?
发表于 2011-5-14 18:41:48 | 显示全部楼层
FIFO就是一个双口BRAM,外部加上一些控制电路构成的,要想充分理解FIFO,最好先了解一下双口BRAM
发表于 2011-5-14 18:43:32 | 显示全部楼层
FIFO就是一个双口BRAM,外部加上一些控制电路构成的,要想充分理解FIFO,最好先了解一下双口BRAM
发表于 2011-5-14 23:12:24 | 显示全部楼层
fifo读的时候,读出一个数据,读指针就自动加一,指向下一个待读的数据,但前提是fifo非空。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-20 15:38 , Processed in 0.034287 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表