实验四:状态机实现序列检测器的设计一、实验目的1、了解和学习QuartusII7.2软件设计平台。2、了解EDA的设计过程。3、通过实例,学习和掌握QuartusII7.2平台下的文本输入法。4、学习和掌握状态机的工作和设计原理。5、掌握用VHDL实现状态机的方法6、利用状态机设计一个序列检测器二、实验仪器PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),QuartusII7.2设计平台。三、实验步骤1、创建工程,在File菜单中选择NewProjectWizard,弹出对话框如下图所示在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。2、新建设计文本文件,在file中选择new,出现如下对话框:选择VHDLFile点击OK。3、文本输入,在文本中输入如下程序代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfsmISport(clk,x:INSTD_LOGIC;z:OUTSTD_LOGIC);ENDfsm;ARCHITECTUREbhvOFfsmISTYPESTATEIS(S0,S1,S2,S3);SIGNALpresent_state:state;BEGINPROCESS(clk)BEGINIF(clk'EVENTANDclk='1')THENCASEpresent_stateISWHENS0=IFx='1'THENpresent_state=S1;ELSEpresent_state=S0;ENDIF;WHENS1=IFx='0'THENpresent_state=S2;ELSEpresent_state=S0;ENDIF;WHENS2=IFx='1'THENpresent_state=S3;ELSEpresent_state=S0;ENDIF;WHENS3=IFx='1'THENpresent_state=S0;ENDIF;ENDCASE;ENDIF;ENDPROCESS;z='1'WHENpresent_state=S3ELSE'0';ENDbhv;然后保存到工程中,结果如下图所示:4、编译,如果有多个文件要把这个文件设为当前顶层实体,这样软件编译时就只编译这个文件。点击projet-SetasTop-levelEntityCtrl+Shift+J接下来进行编译,点击processing-StartCompilation,见下图5、选择菜单“Tools”→“NetlistViewers”→“RTLviewer”得到如下电路图:6、选择菜单“Tools”→“NetlistViewers”→“StateMachineViewer”得到如下状态转移图小结通过这次上机,我们了解了关于状态机实现序列检测机的设计与应用,对VDHL语言有更深刻的了解学习和运用。