ET创芯网论坛(EETOP)

找回密码

  登录   注册  

搜帖子
汽车电子资料大全(下载奖励300信元)
楼主: KevinIC

[原创] “10010”序列检测器的状态是7个还是5个?

[复制链接]
发表于 2012-3-1 13:47:24 | 显示全部楼层
我以前也研究过,5个状态确实够了,夏老师搞的多余了,那本书上的代码还有不少错误呢....
回复 支持 反对

使用道具 举报

发表于 2012-3-8 00:42:21 | 显示全部楼层
我看这个例子的时候也觉得应该不需要那么多状态 还是该学习楼主的发问的精神 我想如果用五个状态功能性和仿真应该是没有问题的 例子中的f和a g和b完全是等价的状态 例子中这么写可能只是为了方便看或者是考虑到可移植性吧
回复 支持 反对

使用道具 举报

发表于 2012-3-10 21:56:36 | 显示全部楼层
输入序列的bit数量>=状态机的状态数量,否则肯定有冗余.
回复 支持 反对

使用道具 举报

发表于 2012-3-10 22:01:28 | 显示全部楼层
这个例子里,a和f重复,c和e重复.
回复 支持 反对

使用道具 举报

发表于 2012-3-10 23:09:24 | 显示全部楼层
写7种状态防止数字逻辑受干扰出错跳入死循环,是有意义的
回复 支持 反对

使用道具 举报

发表于 2012-3-11 00:07:28 | 显示全部楼层
回复 45# zengjia1106
我认为意义不大,假如真有这种"干扰",就是写更多状态也会出问题.
回复 支持 反对

使用道具 举报

发表于 2012-3-11 00:25:42 | 显示全部楼层
觉得用5个完全可以了
回复 支持 反对

使用道具 举报

发表于 2012-3-11 11:32:35 | 显示全部楼层
回复 46# digitalimage

这你错了,状态寄存器是用三位二进制表示的,一共才8种状态
idle = 3'd0,
        a = 3'd1,
        b = 3'd2,
        c = 3'd3,
        d = 3'd4,
        e = 3'd5,
        f = 3'd6,
        g = 3'd7;

如果f和g不给他规定走向,那么一旦一个干扰把寄存器变成f或g,那么必死循环的,你要知道不完整的case语句就是一级buffer,就一直在buffer里面循环。多研究一下EMC ,理想和实际是有差距的。
回复 支持 反对

使用道具 举报

发表于 2012-3-11 14:10:25 | 显示全部楼层
回复 48# zengjia1106

这个我不懂了,写verilog的都知道写case而且分支不全的话,不写default是一个大大的错误.所以不需要多于状态的表述.
回复 支持 反对

使用道具 举报

发表于 2012-3-11 14:13:21 | 显示全部楼层
回复 48# zengjia1106

另外,你写的这个状态是从0到7,一共8个,用3位表示的,没有多余状态,还用default的话反而不好.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

小黑屋|关于我们|联系我们|ET创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2019-11-13 05:51 , Processed in 0.099565 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表