名称:Quartus自动存储箱Verilog代码远程云端平台(文末获取)
软件:Quartus
语言:Verilog
代码功能:
任务及要求:
1.设计内容和要求(包括设计内容、主要指标与技术参数)
设计内容:基于FPGA的自动存储箱的设计。
设计要求:+3
(1)设计语言为 Verilog;
(2)设计基于FPGA的自动存储箱的设计,共有5个存储箱,当按下存物按键后,系统自动分配
个存储箱并用数码管显示当前分配的序号;当满箱时,系统不再分配,并要求数码管显示“F”
当按下取物按键后,需选择存储箱序号完成取物,要求显示当前取物的存储箱序号。+
(3)采用层次化的设计。
本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真文件
7. 仿真图
远程平台电路设计,由于远程网页打不开,只好手绘电路图如下:
左侧8个按键IN0~IN7依次分别为:
右侧5个led(OUT0~OUT4)和一个数码管(OUT5~OUT12),按下图连接,按键为上升沿。
储物时:按下储物键,再按下关门键完成一次操作
取物时:按下取物键,再按下几号存储箱按键,再按下关门键完成一次操作
部分代码展示:
module locker( input clk_1KHz,//1KHz input rst,//复位 input store_key,//储物按键 input get_key,//取物按键 input num1_key,//1号存储箱 input num2_key,//2号存储箱 input num3_key,//3号存储箱 input num4_key,//4号存储箱 input num5_key,//5号存储箱 input close_key,//关门信号 output led_1,//led指示是否已存 output led_2,//led指示是否已存 output led_3,//led指示是否已存 output led_4,//led指示是否已存 output led_5,//led指示是否已存 output [7:0] HEX//数码管 ); wire [3:0] diaplay_data;// 显示数值 //存储箱控制模块 locker_ctrl i_locker_ctrl( . clk_1KHz(clk_1KHz),//1KHz . store_key(store_key),//储物按键 . get_key(get_key),//取物按键 . num1_key(num1_key),//1号存储箱 . num2_key(num2_key),//2号存储箱 . num3_key(num3_key),//3号存储箱 . num4_key(num4_key),//4号存储箱 . num5_key(num5_key),//5号存储箱 . close_key(close_key),//关门信号 . led_1(led_1),//led指示是否已存 . led_2(led_2),//led指示是否已存 . led_3(led_3),//led指示是否已存 . led_4(led_4),//led指示是否已存 . led_5(led_5),//led指示是否已存 . diaplay_data(diaplay_data)// 显示数值 ); //数码管显示模块 display i_display( . clk_1KHz(clk_1KHz),//1KHz . diaplay_data(diaplay_data),// 显示数值 . HEX(HEX)//数码管 ); endmodule
源代码
扫描文章末尾的公众号二维码