可编程逻辑器件大作业说明书可编程逻辑器件大作业(二)2012年12月可编程逻辑器件大作业说明书一、题目利用VerilogHDL设计一个电路,对输入的一串二进制数,用于检测序列中连续3个或者3个以上的1,状态转换图如图所示。要求:1、编写源程序;2、给出仿真电路图、状态转换图和仿真波形图二、程序代码modulemoore(clk,din,op,reset);inputclk,din,reset;outputop;reg[1:0]current_state,next_state;regop;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;always@(posedgeclk)beginif(!reset)current_state=S0;elsecurrent_state=next_state;endalways@(dinorcurrent_state)begincase(current_state)S0:beginop=0;if(din==0)next_state=S0;elsenext_state=S1;endS1:beginop=0;可编程逻辑器件大作业说明书if(din==0)next_state=S0;elsenext_state=S2;endS2:beginop=0;if(din==0)next_state=S0;elsenext_state=S3;endS3:beginop=1;if(din==0)next_state=S0;elsenext_state=S3;enddefault:beginnext_state=S0;op=0;endendcaseendendmodule三、仿真波形图可知仿真波形图与状态转换图的相符可编程逻辑器件大作业说明书四、仿真电路图五、状态转换图六、心得体会通过设计过程对状态机的概念有了更深的理解,认识到了其在现实生活中的重要应用。更熟练地掌握了VerilogHDL硬件描述语言,提高了编程能力;对利用quartus软件设计过程有了大致的了解。dinresetclkS3clkopresetcurrent_statedinS3resetS2S1S0