赞
踩
名称:基于FPGA的自动售货机设计VHDL代码ISE basys2开发板(文末获取)
软件:ISE
语言:VHDL
代码功能:
1.所有蔬菜以1斤为一份进行包装销售,其中土豆1.5元,西红柿5.5元,黄瓜3元,芹菜2元,大葱1.7元。一次购买一种蔬菜,可一次性购买一份或两份,只能插入1元或5元两种面值的钞票。功能:①选择蔬菜种类及份数。②插入钞票。当插入的钞票总金额=菜价时,输出相应蔬菜;当钞票总金额<菜价时,等待继续插入钞票;当钞票总金额>菜价时,在输出相应蔬菜的同时找零。③完成交易,等待下一次交易。用拨码开关选择蔬菜的种类及份数,用按钮代表插入5元或10元钞票,用LED灯作为输出蔬菜和找零的指示灯,用数码管显示插入的总金额和找零金额,保留小数点后一位。用有限状态机进行设计,详细描述所有可能的状态,画出状态转换关系图。熟练掌握VHDL硬件描述语言,熟悉Xilinx公司的ISE软件开发环境和Spartan 3E系列FPGA器件;用VHDL语言编程实现各功能模块,用顶层文件将各功能模块连接起来,画出模块间的连接关系图;完成软硬件设计、仿真、综合、下载、测试与实现。
本代码已在basys2开发板验证,basys2开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY auto_sell IS PORT ( clk : IN STD_LOGIC; reset_p : IN STD_LOGIC;--复位 vegetables : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--蔬菜选择 number : IN STD_LOGIC;--份数 coin_10_key : IN STD_LOGIC;--投币1元 coin_50_key : IN STD_LOGIC;--投币5元 start : IN STD_LOGIC;--启动 confirm : IN STD_LOGIC;--确认 succeed_led : OUT STD_LOGIC;--购买成功输出蔬菜 charge_led : OUT STD_LOGIC;--找零指示灯 bit_sel : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--数码管位选 seg_sel : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选 ); END auto_sell; ARCHITECTURE behave OF auto_sell IS COMPONENT control IS PORT ( clk : IN STD_LOGIC; reset_p : IN STD_LOGIC; vegetables : IN STD_LOGIC_VECTOR(2 DOWNTO 0); number : IN STD_LOGIC; coin_10 : IN STD_LOGIC; coin_50 : IN STD_LOGIC; start : IN STD_LOGIC; confirm : IN STD_LOGIC; total_money : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); charge_money : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); succeed_led : OUT STD_LOGIC; charge_led : OUT STD_LOGIC ); END COMPONENT;
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。