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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1268|回复: 3

[求助] 关于FIFO的一段设计代码问题,有点看不懂,,求解答

[复制链接]
发表于 2015-11-23 16:33:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
alway@(posedge wclk or posedge reset)if(reset)
full<=1'b0;
else if(waddr_gray_next==wclk_raddr_reg2&&wen=1'b0)
full<=1'b1;
elseif(waddr_gray!=wclk_raddr_reg2)
full<=1'b0;
else
full<=full

wclk是是写时钟,full高有效,waddr_gray格雷码的写地址,wclk_raddr_reg2是读地址,wen是读使能,低有效,
问题有以下几点
1,waddr_gray_next==wclk_raddr_reg这个判决条件,,为啥不是waddr_gray==wclk_raddr_reg??


2,elseif(waddr_gray!=wclk_raddr_reg2)这句话是否多余,,有什么作用,,我自己看不出有什么作用


跪求知道的大神解释哈,,
发表于 2015-11-24 21:56:33 | 显示全部楼层
如果waddr_gray==wclk_raddr_reg,同时写的话,就有可能FIFO溢出了
elseif(waddr_gray!=wclk_raddr_reg2)是在full置高后清零的
 楼主| 发表于 2015-11-25 16:26:57 | 显示全部楼层
回复 2# zhaichunhua168

哦,那个next意思是如果深度为N,那么数据写入为N-1个的时候就判定为满,这样留了一个空地址,也就是所谓的几乎满判定吗?
发表于 2015-11-25 20:17:40 | 显示全部楼层
wclk_raddr_reg2是读地址,full是用于写的,因此并不能认为写到n-1就不写了,这得看你的读写时钟关系以及wclk_raddr_reg值的设定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-8 15:48 , Processed in 0.032175 second(s), 6 queries , Gzip On, Redis On.

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