自动售货机 FPGA 设计 Verilog Quartus(2)

发布时间:2026/9/12 0:44:33

自动售货机 FPGA 设计 Verilog Quartus(2) 名称自动售货机 FPGA 设计 Verilog Quartus2软件Quartus语言Verilog功能介绍自动售货机 FPGA 设计 Verilog Quartus2实现了 auto_sell_T060 相关的 FPGA 逻辑功能包含完整 HDL 源码、工程文件、设计说明和付费下载压缩包适合作为数字逻辑课程设计、实验验证或二次开发参考。核心顶层模块为auto_sell可从顶层端口、时钟复位、子模块例化和输出控制关系入手阅读代码。正文整理了设计说明、关键结构和部分代码便于快速了解工程实现方式。运行环境源码语言Verilog开发软件Quartus交付内容HDL 源码、工程文件、设计说明和下载压缩包设计思路该工程可按自顶向下方式理解先查看顶层模块端口定义确认时钟、复位、输入输出接口再顺着子模块例化关系分析控制路径和数据路径。主要模块包括state_ctrl、display_num、auto_sell、key_jitter。调试时可先验证核心控制模块再联调顶层工程。工程中包含管脚约束/分配文件移植到其他板卡时需要重点核对时钟、复位、按键、显示或通信接口等约束。模块结构主要工程/源码文件如下auto_sell_sim/auto_sell.qsfauto_sell_sim/auto_sell.qpfauto_sell_sim/state_ctrl.vauto_sell_sim/display.vauto_sell_sim/auto_sell.vauto_sell_sim/key_jitter.v开发板验证该设计提供FPGA 开发板相关验证内容提供管脚约束/分配文件。实际使用时建议结合约束文件和板卡资源再次核对时钟、复位、按键、显示或通信接口。演示视频下方提供演示视频可直接播放查看运行效果。演示视频请关注公众号后获取对应资料查看。仿真图/仿真说明/设计文档图片设计说明工程文件 程序文件 程序编译 RTL图 Testbench 仿真图 整体仿真图 按键上升沿检测仿真 状态机控制模块 下图为选择1.5元商品依次付款0.50.51.02.0元然后1.5元商品的出货指示灯亮。并找零0.5元。 下图为选择2.0元商品依次付款0.51.01.5元然后按下退币键退币1.5元。 显示模块部分代码以下展示顶层模块auto_sell的部分代码完整代码可关注下方公众号卡片获取。module auto_sell( input clk_in,//时钟 input reset_n,//复位 input coin_10_key,//投币1.0元 input coin_50_key,//投币5.0元 input coin_05_key,//投币0.5元 input price_20_key,//2.0元商品 input price_15_key,//1.5元商品 input price_10_key,//1.0元商品 input price_05_key,//0.5元商品 input confirm_key,//确认 input return_key,//退币 output succeed_ledn_05,//0.5元商品购买成功指示灯 output succeed_ledn_10,//1.0元商品购买成功指示灯 output succeed_ledn_15,//1.5元商品购买成功指示灯 output succeed_ledn_20,//2.0元商品购买成功指示灯 output [3:0] DLA,//数码管位选低电平选择 output [7:0] HEX//数码管段选低亮 ); wire [7:0] input_money_BCD;//投币金额 wire [7:0] change_money_BCD;//找钱 wire coin_10_p;//投币1.0元 wire coin_50_p;//投币5.0元 wire coin_05_p;//投币0.5元 //按键上升沿检测模块 key_jitter i0_key_jitter( . clkin(clk_in), . key_in(coin_10_key),//输入 . key_posedge(coin_10_p)//按键上升沿检测 ); //按键上升沿检测模块 key_jitter i1_key_jitter( . clkin(clk_in), . key_in(coin_50_key),//输入 . key_posedge(coin_50_p)//按键上升沿检测 ); //按键上升沿检测模块 key_jitter i2_key_jitter( . clkin(clk_in), . key_in(coin_05_key),//输入 . key_posedge(coin_05_p)//按键上升沿检测 ); //状态控制模块 state_ctrl i_state_ctrl( . clk_in(clk_in),//时钟100Hz . reset_n(reset_n),//系统复位 . coin_10_p(coin_10_p),//投币1.0元 . coin_50_p(coin_50_p),//投币5.0元 . coin_05_p(coin_05_p),//投币0.5元 . price_20_p(price_20_key),//2.0元商品 . price_15_p(price_15_key),//1.5元商品 . price_10_p(price_10_key),//1.0元商品 . price_05_p(price_05_key),//0.5元商品 . return_p(return_key),//退币键 . confirm_p(confirm_key),//确认 . succeed_ledn_05(succeed_ledn_05),//0.5元商品购买成功指示灯 . succeed_ledn_10(succeed_ledn_10),//1.0元商品购买成功指示灯 . succeed_ledn_15(succeed_ledn_15),//1.5元商品购买成功指示灯 . succeed_ledn_20(succeed_ledn_20),//2.0元商品购买成功指示灯 . input_money_BCD(input_money_BCD),//投币金额 . change_money_BCD(change_money_BCD)//找钱 ); //数码管显示模块 display_num i_display_num( . clk_in(clk_in),//100Hz . input_money_BCD(input_money_BCD),//投币金额 . change_money_BCD(change_money_BCD),//找钱 . DLA(DLA),//数码管位选低电平选择 . HEX(HEX)//数码管段选低亮 ); endmodule代码获取下方公众号“FPGA代码设计学习资料”
延伸阅读

更多相关文章

2026/9/8 1:10:16

LLM智能体架构设计与工具链集成实践

1. 智能体架构设计思路在构建一个整合LLM(大语言模型)和工具链的智能体时,核心挑战在于如何让语言理解能力与专业工具执行形成闭环。我采用分层架构设计,将系统划分为认知层、决策层和执行层三个模块。这种架构在电商客服机器人项…

2026/9/8 15:20:13

电机控制从入门到精通:FOC算法、PID整定与硬件设计实战指南

电机控制这个领域,看似基础却暗藏玄机。很多工程师在入门时信心满满,却在项目实践中频频踩坑——从简单的直流电机调速到复杂的伺服系统,每个环节都可能成为技术路上的绊脚石。如果你正在学习电机控制,或者在实际项目中遇到转速不稳、扭矩不足、发热严重等问题,这篇文章将…

2026/9/10 0:40:42

Windows 11智能应用控制拦截问题解决方案

1. 问题现象与背景解析最近在Windows 11系统上安装软件时,不少用户遇到了"系统智能应用控件阻止安装"的弹窗提示。这个安全机制原本是为了防止恶意软件入侵,但有时也会误伤正常的安装程序。我上周帮同事处理Photoshop安装时就遇到了这个情况&a…

2026/9/12 0:44:21

基于AD5933阻抗谱的同轴电缆长度与负载检测装置设计

简介:2023年电赛B题同轴电缆长度与终端负载检测装置配套资料包,面向电子设计竞赛参赛者、通信/仪器方向学生及硬件工程师。内容围绕TDR时域反射、阻抗分析等测量原理,覆盖赛题解析、硬件设计、代码实现与调试方法等完整流程。资源共42个文件&…

2026/9/12 0:44:21

B站注册时间查询指南:从个人主页到API接口,快速获取入站日期

1. 先搞明白:注册时间在B站到底怎么记录今天这篇只聊一件事:怎么快速查出自己哔哩哔哩账号的注册时间。很多朋友想给账号过个“入站纪念日”,或者想确认自己是不是某位UP主的首批粉丝,结果在个人空间里翻半天也找不到那一行“入站…

2026/9/12 0:44:21

299元上门杀龙虾服务:需求与风险的商业启示

1. 项目概述:299元上门"杀龙虾"服务的兴起与争议去年夏天,一款名为"299元上门杀龙虾"的服务在沿海城市突然走红。这项服务主打"专业厨师上门处理活龙虾",号称能解决中产家庭"想吃龙虾却不敢杀"的痛点…

2026/9/12 0:39:21

毕业设计之django图书馆座位预约系统

题目:毕业设计之django图书馆座位预约系统一、项目介绍随着时代的发展,人们的生活方式得到巨大的改变,从而慢慢地产生了大量图书馆座位预约,图书馆座位预约需要一个现代化的系统,进行图书馆座位预约的管理。图书馆座位…

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码