目录
一、设计状态机
如上述状态转移图,在此次程序设计中,一共设定四种状态,分别是:Idle,空闲状态;Start,开始状态;Stop,停止状态和Clear清除状态。
无论此时状态机处于任何状态,在时钟上升沿检测到复位低电平(即复位有效),状态机都将回到Idle空闲状态。
在处于空闲状态检测到A为1时,向K1赋0,并转入下一状态,否则保持原状态不变。
在处于开始状态检测到A为0时,进入下一状态,否则保持原状态不变。
在处于停止状态检测到A为1时,向K2赋1,并转入下一状态,否则保持原状态不变。
在处于清除状态检测到A为0时,向K1赋1,K2赋0,否则保持原状态不变。
二、状态机的实现
2.1 源码
module state_sur(
input Clock,Reset,A,
output K2,K1,
output[1:0] state
);
reg K