Moore状态机

状态机:

        状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。有限状态机简写为FSM(Finite State Machine),主要分为2大类:

第一类,若输出只和状态有关而与输入无关,则称为Moore状态机

第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机

基本信息:

        状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心。状态机分为摩尔(Moore)型状态机和米莉(Mealy)型状态机。

        状态机就是状态转移图。举个最简单的例子,人有三个状态:健康,感冒,康复中。触发的条件有淋雨(t1),吃药(t2),打针(t3),休息(t4)。所以状态机就是健康-(t4)->健康;健康-(t1)->感冒;感冒-(t3)->健康;感冒-(t2)->康复中;康复中-(t4)->健康,等等。就是这样状态在不同的条件下跳转到自己或不同状态的图。


 

Moore有限状态机:

 

        Moore状态机的输出只与有限状态自动机的当前状态有关,与输入信号的当前值无关。

        Moore状态机的输出只与有限状态自动机的当前状态有关,与输入信号的当前值无关。 Moore有限状态机在时钟CLOCK脉冲的有效边沿后的有限个门延后,输出达到稳定值。即使在一个时钟周期内输入信号发生变化,输出也会在一个完整的时钟周期内保持稳定值而不变。输入对输出的影响要到下一个时钟周期才能反映出来。 

        Moore有限状态机最重要的特点就是将输入与输出信号隔离开来。


Verilog实现代码:

//Moore型状态机
module Moore1a(clk,din,op);
	input clk,din;
	output op;
	reg [1:0]current_state,next_state;
	reg op;
	parameter S0 = 2'b00,S1 = 2'b01,S2 = 2'b10,S3 = 2'b11;
	//第一个always进程--时序逻辑电路
	always@(posedge clk)begin
		current_state <= next_state;
	end
	
	//第二个always进程--组合逻辑电路
	always@(current_state or din)begin
		case(current_state)
			//状态S0
			S0:
			begin
				op = 0;
				if(din == 0)
					next_state = S0;
				else
					next_state = S1;
			end
			
			//状态S1
			S1:
			begin
				op = 1;
				if(din == 1)
					next_state = S1;
				else
					next_state =S2;
			end
			
			//状态S2
			S2:
			begin
				op = 0;
				if(din == 1)
					next_state = S2;
				else
					next_state = S3;
			end
			
			//状态S3
			S3:
			begin
				op = 0;
				if(din == 0)
					next_state = S3;
				else
					next_state = S0;
			end
			
			default:
			begin
				op = 0;
				next_state = S0;
			end
		endcase
	end
endmodule	

运行结果分析:

状态的变化决定输出的变化 


tips:

1.欢迎您在评论区留下您宝贵的意见。

2.希望此篇文章有帮助到您。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨露02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值