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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 7234|回复: 12

[求助] 请问一个关于生成格雷码的问题

[复制链接]
发表于 2014-3-14 08:19:10 | 显示全部楼层 |阅读模式

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

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

×
昨天跑去一个公司面试别人问了我格雷码和异步FIFO的问题,我以为答得很好,顺便多说了一句:异步FIFO的深度最好是2的N次方,不然不好编译格雷码。人家就问了我一个比较难的的问题:怎么设计不是2的N次方,而是一个深度12的异步FIFO的格雷码,即从0-11循环的格雷码,我想了半天觉得只要一次只要1bit变就行了,于是写出如下答案:0000(0)->0001(1)->0011(2)->0111(3)->0110(4)->1110(5)->1111(6)->1110(7)-1100(8)->1101(9)->1001(10)->1000(11)->0000(12,0)写完以后对方摇摇头说这个可能会有些问题,我知道这个打错了,请问对的0-11循环格雷码应该是怎样的?我这样写有何错误,我一次只变了一个bit呀?
 楼主| 发表于 2014-3-14 23:16:06 | 显示全部楼层
回复 2# rvnistelrooy
这个是我真的写错了,不是笔误,谢谢你帮我发现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-15 22:35:06 | 显示全部楼层


谢谢大牛的回答,让我茅塞顿开,那么我再追问一个问题:如您所说,这样的格雷码翻译成二进制码就会是0010(2)->1101(13),在这个2-13区间上变化。但是,往往我们产生将空(Aempty)和将满(Afull)信号的时候,我们是直接用减法就可以了,比如在深度是2的N次方的时候,直接减这种做法很方便。如果改成上面的情况,如何做个逻辑来产生将空将满信号呢?比如我要留3个冗余,即还有3个位置就要空或者满的时候就出将空将满信号,如果写才能尽量省面积?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-9-22 20:40 , Processed in 0.015916 second(s), 6 queries , Gzip On, Redis On.

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