集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 5829|回复: 12

关于状态机的写法问题

[复制链接]
interige 发表于 2010-6-26 01:41:50 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-11-18 16:15 编辑

状态机要写成3段式的(这是最标准的写法),即
   ...
   always @(posedge clk or negedge rst_n)
   ...
     current_state <= next_state;
   ...
   always @ (current_state ...)
   ...
   case(current_state)
     ...
     s1:
      if ...
      next_state = s2;
     ...
   ...
   always @(posedge clk or negedge rst_n)
   ...
     else
      a <= 1'b0;
      c <= 1'b0;
      c <= 1'b0;    //赋默认值
     case(current_state)
       s1:
         a <= 1'b0; //由于上面赋了默认值,这里就不用再对b
、c赋值了(b、c在该状态为0,不会产生锁存器,下同)
       s2:
         b <= 1'b1;
       s3:
         c <= 1'b1;
       default:
       ...
  ...
小弟我看不太明白,哪位大侠可以写得再详细一点啊。
interi 发表于 2010-6-26 03:16:30 | 显示全部楼层
楼主可以说出来什么地方不明白吗,这个确实是最标准的状态机的写法。<br>
btw:好像论坛的搜索不大好用的说
UFP 发表于 2010-6-26 05:01:59 | 显示全部楼层
我觉得没什么标准不标准的,只要区分好MOORE 和MEELY, 然后根据情况 写就行了
usb 发表于 2010-6-26 05:46:47 | 显示全部楼层
偶现在还不了解状态机,可以自己写程序吗?我发现很多都是用哪个状态机输入各种情况,然后生成程序。
usd 发表于 2010-6-26 07:01:40 | 显示全部楼层
状态机还是得好好学学得说
HANG 发表于 2010-6-26 09:00:37 | 显示全部楼层
怎么区分moore和mealy型的状态机呢?不明白啊
ICE 发表于 2010-6-26 09:11:26 | 显示全部楼层
有VHDL写的吗
 楼主| interige 发表于 2010-6-26 11:08:06 | 显示全部楼层
我的blog里面有VHDL写的
longtim 发表于 2010-6-26 12:10:42 | 显示全部楼层
状态机还是很有用的
VVC 发表于 2010-6-26 12:39:07 | 显示全部楼层
moore型状态机的输出只和当前的状态有关,而mealy型状态机的输出不仅和当前状态有关系,还和输入有关,见图
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 17:49 , Processed in 0.070074 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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