饮料自动售货机设计Verilog代码VIVADO仿真
名称:饮料自动售货机设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
饮料自动售货机
你将参与为部门休息室设计一个苏打汽水自动售货机。IEEE的学生会将给予不菲的奖学金,价格仅为25美分。机器接收5美分、一角硬币和二角五分硬币。当投入足够的硬币,苏打汽水自动售货机就会分配汽水和找零钱。为这个苏打汽水自动售货机设计一个有限状态机控制器。有限状态机的输入是Nickel(5美分)、Dime(一角)和Quarter(两角五分),表示硬币已经投入机器。假设在一个周期投一个硬币。输出是Dispense ReturnNickel、ReturnDime、ReturnTwoDime。当有限状态机到达25美分时,它将给出Dispense和相应的Return输出,需要传递合适的找零。接着它将准备开始接收硬币以售卖下一瓶苏打汽水
本资源赠送简易交通灯状态机代码
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1.工程文件

2.程序文件

3.程序编译


4.管脚分配

5.RTL图

6.Testbench

7.仿真图


部分代码展示:
//苏打水自动售货机 module Vending_machine( input clk,//时钟 input Nickel,//投币5美分 input Dime,//投币10美分 input Quartue,//投币25美分 output Dispense,//出货 output ReturnNickel,//找零5美分 output ReturnDime,//找零10美分 output ReturnTwoDime//找零20美分 ); reg [2:0] state=3'd0; parameter S0=3'd0;//起始状态 parameter S1=3'd1;//投币5美分 parameter S2=3'd2;//投币10美分 parameter S3=3'd3;//投币25美分 parameter S4=3'd4;//找零 parameter S5=3'd5;//出货 reg [5:0] total_money=0;//总投币金额 reg [5:0] charge=6'd0;//找零 reg ReturnNickel_reg=0;//找零5美分 reg ReturnDime_reg=0;//找零10美分 reg ReturnTwoDime_reg=0;//找零20美分 always@(posedge clk) case(state) S0: if(total_money>=25)//投币大于等于25 state<=S4;//找零 else if(Nickel)//5美分 state<=S1; else if(Dime)//10美分 state<=S2; else if(Quartue)//25美分 state<=S3; else state<=S0; S1://投币5美分 state<=S0; S2://投币10美分 state<=S0; S3://投币25美分 state<=S0; S4://找零 state<=S5; S5://出货 state<=S0; default:state<=S0; endcase
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 饮料自动售货机设计Verilog代码VIVADO仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 饮料自动售货机设计Verilog代码VIVADO仿真