这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 接触认识状态机

共1条 1/1 1 跳转至

接触认识状态机

工程师
2007-04-25 01:20:42     打赏
简单FSM示例
module fsm(I,clock,reset,out);
input I,clock,reset;
output [2:0] out;
reg [2:0] out;
reg [2:0] currentState,nextState;
parameter [2:0] A=0, // The state labels and their assignments
B=1,
C=2,
D=3,
E=4,
F=5;
always@(I or currentState) // The state labels and their logic
case (currentState)
A: begin
nextState=(I==0)?A:B;
out=(I==0)?3’b000:3’b100;
end
B: begin
nextState=(I==0)?A:C;
out=(I==0)?3’b000:3’b100;
end
C: begin
nextState=(I==0)?A:D;
out=(I==0)?3’b000:3’b101;
end
D: begin
nextState=(I==0)?D:F;
out=(I==0)?3’b010:3’b110;
end
E: begin
nextState=(I==0)?D:F;
out=(I==0)?3’b010:3’b110;
end

F:begin
nextState=D;
out=(I==0)?3’b000:3’b101;
end
default: begin // oops,undefined ststes.Go to state A
nextState=A;
out=(I==0)?3’bxxx:3’bxxx;
end
endcase
always@(posedge clock or negedge reset) // The state register
if(~reset)
currentState<=A;
else
currentState<=nextState;
endmodule
可以作为以后写的一个模板哦!![em07][em07]



关键词: 接触     认识     状态机    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]