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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3975|回复: 4

[求助] 想了解一下LIFO的设计思想,求大神指点

[复制链接]
发表于 2013-4-27 10:46:06 | 显示全部楼层 |阅读模式

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

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

x
夏宇闻老师的《Verilog 数字系统设计教程》中的一个任务。
首先我想问的是,LIFO和FIFO应该差别就在于读写指针的移动和判断规则不同吧?

其次就是,LIFO应该是如何判断堆栈是否满了呢?

例题中将FIFO抽象成了环形数组,给出的FIFO的规则是,有四个指针:读 w,写 r, 下一个读 wn,下一个写 rn。每当写(或读)了一个数据时,r=rn(或w=wn),并且rn=rn+1(或wn=wn+1)。当wn==r(或rn==w)时,队列就即将满(或空)了。

如果我想写LIFO,是否也可以抽象成环形数组呢?如果抽象成环形数组了,那除了读w和写r两个指针外,还要有哪些指针来帮助我判断堆栈状态呢?具体如何判断呢?
发表于 2013-4-28 11:42:55 | 显示全部楼层
本帖最后由 changan1216 于 2013-4-28 11:46 编辑

简单lifo,读写共用指针,写+1,读-1,避免同时读写
指针=0,空,指针=存储深度,满,貌似环形缓冲器不能做lifo
发表于 2013-4-30 23:49:29 | 显示全部楼层
?从逻辑做堆栈?有这种场景吗?
发表于 2013-5-1 14:02:07 | 显示全部楼层
LIFO, 就是stack。
处理器里面都要这个东东,不同的是有些是专用的return stack, 有些直接用RAM
和FIFO控制一样的,LIFO还要简单写,只要一个SP指针(栈顶指针)就够了
处理器里面的stack, 大部分是不做空满检查的,这个由编译器来检测。
如果要做,通过判断sp指针就可以了
发表于 2013-5-1 17:31:46 | 显示全部楼层
谁给举个具体的例子吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-5-16 03:46 , Processed in 0.025386 second(s), 10 queries , Gzip On, MemCached On.

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