题解 | #根据状态转移写状态机-二段式#

根据状态转移写状态机-二段式

https://www.nowcoder.com/practice/5b2ff27610d04993ae92374d51bfc2e6

`timescale 1ns/1ns

module fsm2(
	input wire clk  ,
	input wire rst  ,
	input wire data ,
	output reg flag
);

//*************code***********//
parameter s0=0;
parameter s1=1;
parameter s2=2;
parameter s3=3;
parameter s4=4;
reg[2:0]state;
reg[2:0]next_state;
//1
always@(posedge clk or negedge rst)
begin 
	if(!rst)
	state<=0;
	else state<=next_state;
end
//2

always@(*)
begin
	if(!rst)
	begin next_state=0;
	flag=0; 
	end 
	else 
	begin case(state)
	s0:if(data==1) begin next_state=s1; flag=0;end  else begin next_state=s0;flag=0;end 
	s1:if(data==1) begin next_state=s2; flag=0;end else begin next_state=s1;flag=0;end 
	s2:if(data==1)  begin next_state=s3; flag=0;end else begin next_state=s2;flag=0;end 
	s3:if(data==1) begin next_state=s4;flag=0;end  else begin next_state=s3;flag=0;end 
	s4:if(data==1) begin  next_state=s1; flag=1;end  else begin next_state=s0;flag=1;end 
	default:begin next_state=s0; flag=0;end 
	endcase
	end
end

//*************code***********//
endmodule

全部评论

相关推荐

对空六翼:你真幸运,碰见这么好的人,不像我,秋招的时候被室友骗进cx了
实习好累,可以辞职全力准...
点赞 评论 收藏
分享
牛客52071342...:不同的岗位,你得把不对口的内容删掉一些,优化一下,人家公司不管你有多少技能,他只看对他有用的技能,你得根据公司的需求简化简历
那些拿到大厂offer的...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务