工程实训报告-Modelsim实验四-有限状态机之自动售货机-(1).doc_第1页
工程实训报告-Modelsim实验四-有限状态机之自动售货机-(1).doc_第2页
工程实训报告-Modelsim实验四-有限状态机之自动售货机-(1).doc_第3页
工程实训报告-Modelsim实验四-有限状态机之自动售货机-(1).doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验项目名称: 有限状态机 指导教师: 实验日期: 实验概述:【实验目的及实验设备】 实验目的:(1) 掌握有限状态机的应用方法。(2) 掌握有限状态机的静态测试方法,能够进行程序设计。(3) 学习测试模块的编写,综合和不同层次的仿真。(4) 用有限状态机设计一个自动售货机(饮料价格为2.5元)。实验设备及仪器名称:CPU型号: 英特尔 Pentium Dual-Core T4200 2.00GHz 操作系统类型:Windows XP SP3 仿真软件:MAX Plus 2软件、Modelsim SE-64 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-64 10.0c软件。2、 建立工程及相应文件,文件名为shouhuoji.v。3、 编写程序。 module shouhuoji(y,w,out,w_out,reset,clk);parameter s0=3b000,s1=3b001,s2=3b010,s3=3b011,s4=3b100;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; endelse case (s) s0: if(w) begin out=0;w_out=0;s=s1;endelse if(y) begin out=0;w_out=0;s=s2;endelse begin out=0;w_out=0;s=s0;ends1: if(w) begin out=0;w_out=0;s=s2;end else if(y)begin out=0;w_out=0;s=s3;end else beginout=0;w_out=0;s=s1;ends2: if (w) begin out=0;w_out=0;s=s3;end else if(y)begin out=0;w_out=0;s=s4;end else beginout=0;w_out=0;s=s2;ends3: if (w) begin out=0;w_out=0;s=s4;end else if (y) begin out=1;w_out=0;s=s0;end else beginout=0;w_out=0;s=s3;ends4: if(w)begin out=1;w_out=0;s=s0;end else if(y)begin out=1;w_out=1;s=s0;end else beginout=0;w_out=0;s=s4;endendcaseendendmodule测试程序: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;endalways#(clkperiod/2) clk=clk;always#(clkperiod+30) $random;initial $monitor(Stime, “y=%b”,y);endmodule3、编译并调试程序,出现错误立即修改直至无错误出现。4、建立仿真文件,并进行波形仿真。5、分析仿真波形图。 【实验结果】(实验波形)2、【解答思考题】对本次实验进行结论,并进一步认识有限状态机:有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,它们常被称为状态寄存器在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合逻辑又可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。【小结】(碰到的问题,如何解决,有何体会,改进建议等)在实验中遇到的问题是:1、首先是在定义程序的基本框图时,比较迷糊通过上网查阅一些资料后,才有了一个比较清晰的想法。2、弄不明白该如何定义输入输出,后来仔细研究了实验要求后,反复尝试后弄明白了。3、不知道该如何定义s0-s4,后来也是通过问同学才解决了这一问题。4、在连续输入四个1时,输出为1,否则输出为0,状态回到原始值。在reset_n=0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论