FPGA三段式状态机里定时任务如何处理

2020-02-02 10:56发布

我在FPGA三段式状态机SEARCH_PDH_OK状态中需要花费100MS延时才进入下一个状态,然后在LOCK_IN_PROCESS 状态中清零tim_ones,这样写我如果在LOCK_IN_PROCESS 也要用到计时器就会出问题,
因为计时器没有清零,我能从 SEARCH_PDH_OK 跳转至LOCK_IN_PROCESS时进行清零计时器的操作吗?

还是我单独写一个计时模块把所有的计时功能移至这个模块里面呢?

一般是怎样处理这一块的呢?


//第三段,产生输出 进行计时
  •                                 SEARCH_PDH_OK:                //扫描到PDH
  •                                         begin
  •                                                         time_ones <= 8'd0;
  •                                                         //stop pzt scanning
  •                                                         analog_switch_2 <= OFF;
  •                                                         //analog_switch_1 <= ON;
  •                                                         sawtooth_control <= OFF;
  •                                                         if(time_count == T100MS)        //1s
  •                                                                         begin
  •                                                                         end
  •                                                         else
  •                                                                         time_count <= time_count + 1'b1;
  •                                         end













//第二部分,状态转移,进行判断时间是否到了  然后状态跳转
  •                                 SEARCH_PDH_OK:                //扫描到PDH
  •                                         begin
  •                                                 //100MS等待
  •                                                 if(time_count == T100MS)        //100ms
  •                                                         begin
  •                                                                 nstate <= LOCK_IN_PROCESS;
  •                                                         end
  •                                         end







0条回答

一周热门 更多>