题解 | #序列检测器(Moore型)#

序列检测器(Moore型)

https://www.nowcoder.com/practice/d5c5b853b892402ea80d27879b8fbfd6

`timescale 1ns/1ns

module det_moore(
   input                clk   ,
   input                rst_n ,
   input                din   ,
 
   output	reg         Y   
);
parameter s0=0;
parameter s1=1;
parameter s2=2;
parameter s3=3;
parameter s4=4; 
reg[3:0]state;
reg [3:0]next_state;
always@(posedge clk or negedge rst_n)
begin if(!rst_n)
  state<=0;
else state<=next_state;
end
always@(*)
begin if(!rst_n)
next_state=0;
else case(state)
   s0:if(din) next_state=s1; else next_state=s0;
   s1:if(din) next_state=s2; else next_state=s0;
   s2:if(din==0) next_state=s3; else next_state=s2;
   s3:if(din) next_state=s4; else next_state=s0;
   s4:if(din) next_state=s1; else next_state=s0;
   default:next_state=0;
endcase
end
always@(posedge clk or negedge rst_n)
begin if(!rst_n)
Y<=0;
else if(state==s4)
Y<=1;
else 
Y<=0;
end 
endmodule

全部评论

相关推荐

吴offer选手:学到了,下次面试也放张纸在电脑上,不然老是忘记要说哪几个点
点赞 评论 收藏
分享
迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
当初高考报计算机真是造大孽了啊!卷的飞起!哪都是计算机的人,考研,考公,找工作全他奶的计算机的人,太难了。国企也是。关键一届比一届卷,造大孽了!
_Lyrics_:因为计算机,没有体验到快乐的大学研究生时光,好不容易修完课程就要出去实习,看着别人专业可以一起搓麻将,游山玩水,而我却要自己一个人住在北上不到十平米的出租屋,每天两点一线
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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