前言
状态机在学习FPGA初期就经常遇到,有必要写一篇笔记整理一下
正文 一、什么是状态机 为啥要用状态机由于FPGA是并行执行,但当我想要处理有先后顺序
的问题,这个时候就需要用状态机来解决
Moore状态机
、Mealy状态机
(记得B站数电老师讲到过这两个词语,先挖个坑)
Moore状态机:输出只和当前状态有关,与输入无关。 Mealy状态机:输出和输入、当前状态有关(常用
) 相同点:状态的跳转只和输入有关
由于一段式状态机、两段式状态机、三段式状态机
中,三段式状态机是最常用的,我就暂时只记录三段式状态机的相关内容
首先要将状态机的所有状态进行编码,这个编码只需要保证没有重复编码即可
parameter IDLE = 3'd0;
parameter HALF_1 = 3'd1;
parameter ONE = 3'd2;
parameter HALF_3 = 3'd3;
2.2 第一段:时序逻辑
第一段是时序逻辑: 描述状态转换,格式固定
always@(posedge Clk or negedge Rst_n)begin
if(Rst_n == 1'b0)
state
关注
打赏