欢迎来到天天文库
浏览记录
ID:39615652
大小:186.50 KB
页数:5页
时间:2019-07-07
《实验八有限状态机》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验八有限状态机一、实验目的1、进一步掌握时序仿真序列的时序条件设置;2、通过实验掌握有限状态机的要点和特点及其设计。二、VHDL仿真实验(1)建立文件夹D:alteralEDAzuouyeche7-1,启动QuartusII软件工作平台,打开并建立新工程管理窗口,完成创建工程。图1利用NewProjectWizard创建工程FSM_EXP(2)打开文本编辑。NEW→VHDLFile→相应的输入源程序代码→存盘为FSM_EXP.vhd.。图2选择编辑文件类型源程序代码如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164
2、.ALL;ENTITYFSM_EXPISPORT(clk,reset:INSTD_LOGIC;state_inputs:INSTD_LOGIC_VECTOR(0TO1);comb_outputs:OUTINTEGERRANGE0TO15);ENDFSM_EXP;ARCHITECTUREbehvOFFSM_EXPISTYPEFSM_STIS(s0,s1,s2,s3,s4);SIGNALc_st,next_state:FSM_ST;BEGINREG:PROCESS(reset,clk)BEGINIFreset='0'THENc_st<=s0;ELSI
3、Fclk='1'ANDclk'EVENTTHENc_st<=next_state;ENDIF;ENDPROCESSREG;COM:PROCESS(c_st,state_inputs)BEGINCASEc_stISWHENs0=>comb_outputs<=5;IFstate_inputs="00"THENnext_state<=s0;ELSEnext_state<=s1;ENDIF;WHENs1=>comb_outputs<=8;IFstate_inputs="01"THENnext_state<=s1;ELSEnext_state<=s2;EN
4、DIF;WHENs2=>comb_outputs<=12;IFstate_inputs="10"THENnext_state<=s0;ELSEnext_state<=s3;ENDIF;WHENs3=>comb_outputs<=14;IFstate_inputs="11"THENnext_state<=s3;ELSEnext_state<=s4;ENDIF;WHENs4=>comb_outputs<=9;next_state<=s0;WHENOTHERS=>next_state<=s0;ENDCASE;ENDPROCESSCOM;ENDbehv;
5、(3)综合运行,检查设计是否正确。图3全程编译无错后的报告信息(4)生成symbol。图4生成symbol(5)建立波形编辑文件进行功能仿真,仿真结果如下图所示。图5设置时钟CLK的周期图6状态机的工作时序(6)查看RTL电路。选择Tools->NetlistViewers->RTLViewers命令,即HDL的RTL级图形观测器,选择好后即自动弹出计数器设计的RTL电路,如下图:图7RTL电路图(7)状态图观察。图8状态机的状态图
此文档下载收益归作者所有