简单自动售货机VerilogHDL程序_第1页
简单自动售货机VerilogHDL程序_第2页
简单自动售货机VerilogHDL程序_第3页
简单自动售货机VerilogHDL程序_第4页
简单自动售货机VerilogHDL程序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、自动售货机VerilogHDL程序一个简单的自动售卖饮料机的程序。该机器具有投币,显示余额,购买六种饮料,退钱等功能,为了更具实用性,增添了饮料选择允许提示和投币允许提示的功能。具体形容,可 投入一元、五元、十元和二十元面值的钱币,显示出当前的余额, 并根据当前的余额提示能购买哪些饮料,选择某种饮料,则输出选定的饮料,同时余额减去相应的金钱。 若选择退钱, 机器就退出所有的钱,余额清零。下图为功能示意图:程序的状态表money(余额)state(状态)选择提示投币提示退钱提示000选择无钱可退11可选择1,22或32可选择123,4可以投币可以退钱4 而=204不可再投程序中包含了一个状态机,

2、定义了一个任务(task)和函数(function ),用该任务调用了该函数,使用若干分支语句,详见附后源程序和测试程序。附上程序编译仿真图:Word文档L i M : g LL Li B 勺* 書? t 4.M *包吃电窟丸匚鼻lfI * i礦IlM帼19璋忡即 Q iwt . 严陆电源程序如下:defi neone3b001defi nefive3b010defi neten3b011defi netwenty3b100module automart(m on ey,state,m on eyout,co in able,adrkable,bdrkable,Cdrkable,drkout1

3、,drkout2,drkout3,drkout4,drkout5, drkout6,co in, clk,reset,m on eyback,choice1,choice2, choice3,choice4,choice5,choice6);input2:0 coin; 投币输入,分为 1、5、10、20元四种输入in put clk,reset,m on eyback,choice1,choice2,choice3,choice4, choice5,choice6;/moneyback为退钱输入,choice16 是饮料选择output mon eyout,co in able,adrkab

4、le,bdrkable,cdrkable,drkout1, drkout2,drkout3,drkout4,drkout5,drkout6;/依次为退钱输出,投币许可提示,饮料选择许可,6种饮料输出output2:0 state;/ 状态记录output7:0money;/ 余额显示reg7:0 mon ey;reg2:0 state;reg mon eyout,co in able,backable,adrkable,bdrkable,cdrkable;parameter A=3b000, B=3b001, C=3b010,D=3b011, E=4b100;assig n drkout1=c

5、hoice1 &adrkable;assig ndrkout2=choice2&adrkable;assig ndrkout3=choice3&bdrkable;assig ndrkout4=choice 4&bdrkable;assig ndrkout5=choice5&cdrkable;assig ndrkout6=choice6&cdrkable;always(posedge clk)repeat(1)(posedge clk)if (!reset)beginstate=8h04&mon ey_s8h14)con diti on _s=D;else con diti on _s=E;en

6、dendfunctionen dmodule测试程序如下:timescale 100n s/1 nsdefi neclk_cycle 50module test;regmon eyback,choice1,choice2,choice3,choice4,choice5,choice6;reg 2:0coi n;regclk,reset;wire7:0 mon ey;wire2:0 state;wiremon eyout,co in able,adrkable,bdrkable,cdrkable,drkout1,drkout2,drkout3,drkout4,drkout5,drkout6;pa

7、rameter o ne=3b001,five=3b010,te n=3b011,twe nty=3b100; always #clk_cycle clk= clk;in itialbegincoin=0;mon eyback=0;clk=0;choice1=0;choice2=0;choice3=0;choice4=0;choice5=0;choice6=0;reset=1;#10 reset=0;#200 reset=1;#400coin=one;投币1元,#220coin=0;#200coin=one;投1元,余额2元#220coin=0;#200coin=five;/投5元,余额7元#

8、220coin=0;#200coin=twenty; 投 20 元,余 27#220coin=0;#200choice1=1;买1元饮料,余26#220choice1=0;#200choice3=1;买2元饮料,余24#220choice3=0;#200choice4=1;买2元饮料,余22#220choice4=0;#200choice5=1;买4元饮料,余18#220choice5=0;#200choice6=1;买4元饮料,余14#220choice6=0;#200choice6=1;买4元饮料,余10#220choice6=0;#200choice6=1;买4元饮料,余6#220cho

9、ice6=0;#200choice6=1;买4元饮料,余2#220choice6=0;#200coin=five;/投5元,余7#220coin=0;#200moneyback=1; 退钱#220mon eyback=0;endautomart m(.mon ey( mon ey),.state(state),.m on eyout(m on eyout),.co in able(co in able),.adrkable(adrkable), .bdrkable(bdrkable),.cdrkable(cdrkable),.drkout1(drkout1), .drkout2(drkout2),.drkout3(drkout3),.drkout4(drkout4), .drkout5(drkout5),.drkout6(drkout6),.co in (coi n),.clk(clk), .reset(reset

温馨提示

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

评论

0/150

提交评论