打印

这样写的状态机时都有不妥?

[复制链接]
1674|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wswh2o|  楼主 | 2007-11-20 12:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if clk'event and clk='1' then
            case currentSta is
                --平时状态, 00
                when st0 =>            
                    sta<="0000";
                    t1En<='0';            
                    t2En<='0';
                    
                    if(t4Out>=49825) then
                        currentSta<=st7;
                    else
                        if (sig='1') then 
                            currentSta<=st0;
                        else
                            currentSta<=st1;
                        end if;    
                    end if;        

                --检测低电平宽度, 01    
                when st1 =>        
                    sta<="0001";
                    t1En<='1';
                    t2En<='0';
                    
                    if(t4Out>=49825) then   --17.5us
                        currentSta<=st7;
                    else
                        if sig='1' then                     --低电平结束,检查计数值
                            if t1Out<500 and t1Out>300 then    --检测到合适的低脉冲
                                currentSta<=st2;    
                            else
                                currentSta<=st5;    ---退回空闲状态    
                            end if;        
                        else--if sig='0' then 
                            currentSta<=st1;    --还是低电平, 继续
                        end if;
                    end if;    
                --检测高电平宽度, 11

相关帖子

沙发
wswh2o|  楼主 | 2007-11-20 12:26 | 只看该作者

和书上的写法不太一样

少了一个nextSta的信号

使用特权

评论回复
板凳
wswh2o|  楼主 | 2007-11-20 12:28 | 只看该作者

对细节理解不深

使用特权

评论回复
地板
young_Zyj| | 2007-11-20 13:49 | 只看该作者

分清是有限状态机还是无限的,建议先参考状态机模板

使用特权

评论回复
5
HWM| | 2007-11-20 14:07 | 只看该作者

在这里讨论的只能是有限的,呵呵

使用特权

评论回复
6
wswh2o|  楼主 | 2007-11-22 16:51 | 只看该作者

同步数字电路

如果是上升沿有效,那么上升沿后的状态取决于上升沿前一刻的状态,是这样吗??
这可能是理想的情况,实际中有没有可能因为时钟上升沿到来的时间不一致,而造成错误。

特别是这种情况:

A(逻辑)B(输出到)A

使用特权

评论回复
7
sassos| | 2007-11-23 08:36 | 只看该作者

状态机列出条件.

状态机列出条件时格式如下:
 case  A  is
       when ...

       when ...

       when others       !!!

LZ可以搜下状态机的详细说明.

使用特权

评论回复
8
wswh2o|  楼主 | 2007-11-23 08:44 | 只看该作者

我的代码没全贴,只是一部分

使用特权

评论回复
9
八零后| | 2007-11-24 18:14 | 只看该作者

这样写的状态机时都有不妥?

when others=>  必须加上

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

925

帖子

1

粉丝