您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页工程实训报告-Modelsim实验四 有限状态机之自动售货机 (1)

工程实训报告-Modelsim实验四 有限状态机之自动售货机 (1)

来源:筏尚旅游网
实验项目名称: 有限状态机 指导教师: 实验日期:

实验概述: 【实验目的及实验设备】 实验目的: (1) 掌握有限状态机的应用方法。 (2) 掌握有限状态机的静态测试方法,能够进行程序设计。 (3) 学习测试模块的编写,综合和不同层次的仿真。 (4) 用有限状态机设计一个自动售货机(饮料价格为2.5元)。 实验设备及仪器名称: CPU型号: 英特尔 Pentium Dual-Core T4200 @ 2.00GHz 操作系统类型:Windows XP SP3 仿真软件:MAX Plus 2软件、Modelsim SE- 10.0c 实验内容及步骤: 【实验原理及电路图】 系统能够根据用户输入的硬币,判断钱币是否足够,当所投硬币达到或者超过购买者所选面值时,则根据顾客的要求自动售货,并找回剩余的硬币,然后回到初始状态,当所投硬币面值不够时,则给出提示,并通过一个复位键退回所投硬币。然后回到初始状态。 该实验输入有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,状态回到s0,当投入3元时out和w_out都输出1,状态回到s0. 【实验方案】(实验步骤,记录) 1、打开Modelsim SE- 10.0c软件。 2、建立工程及相应文件,文件名为shouhuoji.v。 3、编写程序。 module shouhuoji(y,w,out,w_out,reset,clk); parameter s0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100; input y,w,reset,clk;output y,w_out; reg out,w_out;reg [2:0] s; always @(posedge clk) begin if (reset) begin out=0;w_out=0;s=s0; end else case (s) s0: if(w) begin out=0;w_out=0;s=s1;end else if(y) begin out=0;w_out=0;s=s2;end else begin out=0;w_out=0;s=s0;end s1: if(w) begin out=0;w_out=0;s=s2;end else if(y)begin out=0;w_out=0;s=s3;end else begin out=0;w_out=0;s=s1;end s2: if (w) begin out=0;w_out=0;s=s3;end else if(y)begin out=0;w_out=0;s=s4;end else begin out=0;w_out=0;s=s2;end s3: if (w) begin out=0;w_out=0;s=s4;end else if (y) begin out=1;w_out=0;s=s0;end else begin out=0;w_out=0;s=s3;end s4: if(w)begin out=1;w_out=0;s=s0;end else if(y)begin out=1;w_out=1;s=s0;end else begin out=0;w_out=0;s=s4;end endcase end endmodule 测试程序: module shou; wire y; reg w; reg reset; reg clk; paramerer clkperiod=100; shouhuoji shou(y,w,reset,clk) initial begin w=0; clk=0; reset=1; #150 reset=0; #100 reset=1; end always#(clkperiod/2) clk=~clk; always#(clkperiod+30) $random; initial $monitor(Stime, “y=%b”,y); endmodule 3、编译并调试程序,出现错误立即修改直至无错误出现。 4、建立仿真文件,并进行波形仿真。 5、分析仿真波形图。 【实验结果】(实验波形) 二、 【解答思考题】 对本次实验进行结论,并进一步认识有限状态机: 有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,它们常被称为状态寄存器在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合逻辑又可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。 【小结】(碰到的问题,如何解决,有何体会,改进建议等) 在实验中遇到的问题是: 1、首先是在定义程序的基本框图时,比较迷糊通过上网查阅一些资料后,才有了一个比较清晰的想法。 2、弄不明白该如何定义输入输出,后来仔细研究了实验要求后,反复尝试后弄明白了。 3、不知道该如何定义s0-s4,后来也是通过问同学才解决了这一问题。 4、在连续输入四个1时,输出为1,否则输出为0,状态回到原始值。在reset_n=0,时将当前状态置为0,否则置为下个状态,使之能正常运转。 解决了以上这些问题之后,本次试验才算是完成。通过本次试验我明白了,复杂的程序要一步一步的仔细做,要不怕出错,遇到不懂的地方要仔细钻研,适当的时候请教老师和同学,才能成功。 实验成绩:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务