搜索
bottom↓
回复: 1

verilog的数据接收分析 状态机?

[复制链接]

出0入0汤圆

发表于 2014-5-29 07:21:25 | 显示全部楼层 |阅读模式
本帖最后由 atom100 于 2014-5-29 07:28 编辑

请教大家,写了一个三段状态机,但状态停留在 原始状态,即:sta_idle不动
//rcv_and_analyse为数据报文接收解析模块,数据 [7:0]rcv_data来自于上一个模块(数据接收模块)的一个8位寄存器 [7:0]rcv_temp_r
module  rcv_and_analyse(      
input  clk,
input rst_n,
input  [7:0]rcv_data
                                )
parameter   
                sta_idle   = 4'd0;
                sta_head = 4'd1;
                sta_end  = 4'd5;
reg  [3:0]curr_state;
       [3:0]next_state;
always @( posedge clk or negedge rst_n)
   if(!rst_n)
        curr_state <= sta_idle ;
   else
        curr_state <= next_state;

always @(*)
    case(curr_state)
      sta_idle :       
                if(rcv_data == 8'h02)
                    next_state = 4'd1;
               else if(rcv_data == 8'h05)
                    next_state =  4'd2;
               else
                    next_state =  curr_state ;
       sta_head: next_state = 4'd2;
           。。。  。。。。 //中间报文分析
       sta_end  : next_state = 4'd2;
      default:  ;
    endcase
always @( posedge clk or negedge rst_n)
   第三段,状态输出;

clk时钟为25Mhz,
rcv_data来自于 上一个模块(串口数据接收模块,通过移位操作将串行数据转换为并行数据,存储到一个寄存器8位寄存器[7:0]rcv_temp_r里,然后从数据接收模块输出,然后送到这个数据报文接收解析模块的[7:0]rcv_data端口) ,这样 是否可以正确分析 接收到的报文?我使用signal tap查看发现 报文rcv_data数据已经北正确接收了,而且报文头是8'h02 ,但是状态机并没有进入 sta_head = 4‘d1,而是 停留在 sta_idle = 4‘d0未动,
是什么原因?
是否在 数据接收模块和数据分析模块 之间必须加一个 fifo??

还是组合逻辑的 always(*)这样写敏感变量表有问题  ??

还是哪里有问题?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-5-29 16:01:44 | 显示全部楼层
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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