Moore和Moore型状态机区别:
Moore型:
1. 输出只与当前状态有关;
2. 所需状态数较多,响应速度慢
Mealy型:
1. 输出与当前状态和当前输入有关;
2. 所需状态数较少,响应速度快
用Moore型有限状态机实现序列10010的检测:
Verilog程序:
module seq_10010_Moore(
input wire clk,
input wire rst_n,
input wire data_in,
output reg out
);
reg [2:0] state, state_next;
parameter IDLE = 3'd0,
S1 = 3'd1,
S2 = 3'd2,
S3 = 3'd3,
S4 = 3'd4,
S5 = 3'd5;
always@(posedge clk or negedge rst_n)
if(!rst_n)
state <= IDLE;
else
state <= state_next;
always@(data_in or state)
case(state)
IDLE:
state_next = (data_in) ? S1:IDLE;
S1:
state_next = (data_in) ? S1: