• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

自动售货机设计Verilog代码VIVADO仿真

08/07 08:37
372
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24061Q11642248.doc

共1个文件

名称:自动售货机设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

自动售货机

一共有2元、3元、4元、6元4种商品,可以投币1元和5元。支持找零和取消购买若投币金额大于价格则找零,若投币不足或且10s内没有投币则自动取消。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

一共有2元、3元、4元、6元4种商品,可以投币1元和5元。支持找零和取消购买若投币金额大于价格则找零,若投币不足或且10s内没有投币则自动取消。

仿真图

按键检测模块

状态控制模块

数码管显示模块

部分代码展示:

module?auto_sell(
input?clk_in,//100M
input?reset_n,//复位
input?coin_1_key,//投币1元
input?coin_5_key,//投币5元
input?price_2_key,//2元商品
input?price_3_key,//3元商品
input?price_4_key,//4元商品
input?price_6_key,//6元商品
input?confirm_key,//确认
output?succeed_ledn,//购买成功指示灯
output?coin_return_ledn,//退币指示灯
output?[3:0]?DLA,//数码管位选
output?[7:0]?HEX//数码管段选
);
wire?[3:0]?input_money_BCD;//投币金额
wire?[3:0]?need_money_BCD;//价钱
wire?[3:0]?change_money_BCD;//找钱
wire?[3:0]?left_money_BCD;//还差金额
wire?coin_1_p;//投币1元
wire?coin_5_p;//投币5元
wire?price_2_p;//2元商品
wire?price_3_p;//3元商品
wire?price_4_p;//4元商品
wire?price_6_p;//6元商品
wire?confirm_p;//确认?
//按键消抖模块
key_jitter?i0_key_jitter(
.?clkin(clk_in),?????
.?key_in(coin_1_key),//输入
.?key_negedge(coin_1_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter?i1_key_jitter(
.?clkin(clk_in),?????
.?key_in(coin_5_key),//输入
.?key_negedge(coin_5_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter?i2_key_jitter(
.?clkin(clk_in),?????
.?key_in(price_2_key),//输入
.?key_negedge(price_2_p)//消抖后按键下降沿
);
//按键消抖模块
key_jitter?i3_key_jitter(
.?clkin(clk_in),?????
.?key_in(price_3_key),//输入
.?key_negedge(price_3_p)//消抖后按键下降沿
);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=876

  • 2-24061Q11642248.doc
    下载

相关推荐