资源描述:
《工程实训报告-Modelsim实验四-有限状态机之自动售货机-(1).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验项目名称:有限状态机指导教师:实验日期:实验概述:【实验目的及实验设备】实验目的:(1)掌握有限状态机的应用方法。(2)掌握有限状态机的静态测试方法,能够进行程序设计。(3)学习测试模块的编写,综合和不同层次的仿真。(4)用有限状态机设计一个自动售货机(饮料价格为2.5元)。实验设备及仪器名称:CPU型号:英特尔PentiumDual-CoreT4200@2.00GHz操作系统类型:WindowsXPSP3仿真软件:MAXPlus2软件、ModelsimSE-6410.0c实验内容及步骤:【实验原理及电路图】系
2、统能够根据用户输入的硬币,判断钱币是否足够,当所投硬币达到或者超过购买者所选面值时,则根据顾客的要求自动售货,并找回剩余的硬币,然后回到初始状态,当所投硬币面值不够时,则给出提示,并通过一个复位键退回所投硬币。然后回到初始状态。该实验输入有4个clk,reset,表示投一元币y,表示投五角币w。输出有2个,表示饮料出现的out和找五角钱的w_out.该实验共5个状态,s0:表示投币为0的状态,s1:表示投入5角的,s2:表示投入1元,s3:表示投入1.5元,s4:表示投入2元。当投入2.5时out输出1,状态回到s
3、0,当投入3元时out和w_out都输出1,状态回到s0.【实验方案】(实验步骤,记录)1、打开ModelsimSE-6410.0c软件。1、建立工程及相应文件,文件名为shouhuoji.v。2、编写程序。moduleshouhuoji(y,w,out,w_out,reset,clk);parameters0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100;inputy,w,reset,clk;outputy,w_out;regout,w_out;reg[2:0]s;
4、always@(posedgeclk)beginif(reset)beginout=0;w_out=0;s=s0;endelsecase(s)s0:if(w)beginout=0;w_out=0;s=s1;endelseif(y)beginout=0;w_out=0;s=s2;endelsebeginout=0;w_out=0;s=s0;ends1:if(w)beginout=0;w_out=0;s=s2;endelseif(y)beginout=0;w_out=0;s=s3;endelsebeginout=0;w
5、_out=0;s=s1;ends2:if(w)beginout=0;w_out=0;s=s3;endelseif(y)beginout=0;w_out=0;s=s4;endelsebeginout=0;w_out=0;s=s2;ends3:if(w)beginout=0;w_out=0;s=s4;endelseif(y)beginout=1;w_out=0;s=s0;endelsebeginout=0;w_out=0;s=s3;ends4:if(w)beginout=1;w_out=0;s=s0;endelseif
6、(y)beginout=1;w_out=1;s=s0;endelsebeginout=0;w_out=0;s=s4;endendcaseendendmodule测试程序:moduleshou;wirey;regw;regreset;regclk;paramererclkperiod=100;shouhuojishou(y,w,reset,clk)initialbeginw=0;clk=0;reset=1;#150reset=0;#100reset=1;endalways#(clkperiod/2)clk=~clk;
7、always#(clkperiod+30)$random;initial$monitor(Stime,“y=%b”,y);endmodule3、编译并调试程序,出现错误立即修改直至无错误出现。4、建立仿真文件,并进行波形仿真。5、分析仿真波形图。【实验结果】(实验波形)二、【解答思考题】对本次实验进行结论,并进一步认识有限状态机:有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状
8、态,它们常被称为状态寄存器在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合逻辑又可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。【小结