首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教关于FIFO的问题

请教关于FIFO的问题

我在书上看到了一个简单的同步FIFO的VHDL描述,其中有一段关于写指针修改的描述如下:

write_pointer:process(aclr, clock) --aclr是异步复位信号; clock是工作时钟

begin

if (aclr='0') then

wadd<=(others=>'0'); --wadd是写地址信号

elsif (clock'event and clock='1') then

if (we='1') then --we是写使能信号

if (wadd=7) then --FIFO深度为8

wadd<=(others=>'0');

else

wadd<=wadd+'1';

end if;

end if;

end if;

............

请问关于红色部分代码,难道是写满(写地址为7)以后又要从头开始写吗???这样不是把之前地址为0的地方存储的数据覆盖了吗? 谢谢高手解答

应该有个是否读出的标志。

真诚让沟通更简单! QQ:767914192
应该有个写满,写不满的标志。
真诚让沟通更简单! QQ:767914192

我是菜鸟,刚开始是学的是VHDL,现在在看VERILOG,正好也在学FIFO,以我的看法,你红色代码的指令只是让指针回到0地址并没有动作,所有不会有覆盖一说吧,只有读出后地址内容才会为空啊。内容满后会发出OVERFLOW信号阻止再写。仅供参考

我能做什么,我只剩下努力..........
返回列表