秒表跑表 FPGA 设计 VHDL Quartus

名称:秒表跑表 FPGA 设计 VHDL Quartus

软件:Quartus

语言:VHDL

开发板/平台:DE2-115

功能介绍

本项目是一个基于 FPGA 的秒表/跑表设计,采用 VHDL 编写,并使用 Quartus 工程进行开发。设计面向 DE2-115 开发板,主要实现计时、控制和数码管显示等功能,适合作为 FPGA 课程设计、数字逻辑实验、VHDL 模块化设计训练的参考工程。 系统通过板载 50MHz 时钟产生计时所需的 100Hz 时钟节拍,以 10ms 为基本计时单位进行跑表计数。用户可通过开发板按键对跑表状态进行控制,按键输入经过消抖模块处理后再参与系统控制,降低实际硬件运行时由按键抖动带来的误操作。 显示部分使用数码管输出计时结果,工程中包含分频、按键消抖、跑表控制和显示驱动等模块。整体工程已经包含 Quartus 项目文件、VHDL 源码、仿真波形相关文件、编译报告以及开发板约束文件,便于直接打开工程学习、仿真、综合和板级验证。

运行环境

开发语言:VHDL 开发软件:Quartus 适配开发板:DE2-115 工程包含 Quartus 项目文件、VHDL 源码、管脚约束文件、编译输出文件和仿真波形文件,可用于工程编译、功能仿真和开发板下载验证。

设计思路

本设计以 FPGA 实现数字秒表/跑表功能,核心思路是将开发板输入的 50MHz 系统时钟分频为适合计时的低频时钟,其中 100Hz 时钟用于形成 10ms 计时节拍。系统在该节拍基础上完成毫秒级计数累加,再通过 BCD 计数和显示译码实现数码管输出。 按键输入部分加入消抖处理,避免机械按键抖动造成启动、暂停、清零等控制信号误触发。按键经过稳定化处理后再送入跑表控制模块,使计时状态切换更加可靠,适合在真实开发板环境下运行。 显示部分负责把计时数据转换为数码管可显示的段码与位选信号。整体结构将时钟分频、按键消抖、跑表计数控制、BCD/显示驱动分开设计,模块边界清晰,便于学习 VHDL 层次化设计方法,也方便在原工程基础上扩展更多计时模式或显示格式。

模块结构

工程主要模块包括: 1. div_100:50MHz 时钟分频模块,输出 100Hz 计时时钟,用于形成 10ms 计时基准。 2. div_10:分频相关模块,用于配合系统时钟与显示扫描等时序需求。 3. key_jitter:按键消抖模块,对机械按键输入进行稳定化处理。 4. stopwatch:跑表控制与计数核心模块,负责计时状态和计数逻辑。 5. BCD:BCD 计数/转换相关模块,用于配合十进制计时显示。 6. display:数码管显示模块,完成计时数据到数码管段码和位选信号的输出。 顶层工程通过原理图/工程文件将各功能模块连接起来,形成完整的秒表系统。

开发板验证

本设计带有 DE2-115 开发板相关的管脚约束与工程配置,可用于在 DE2-115 板卡上进行跑表功能验证。工程中包含针对开发板按键、时钟和数码管显示等外设的引脚分配,便于综合编译后直接下载到板上观察运行效果。 板级验证重点包括 50MHz 时钟输入、复位/控制按键响应、按键消抖后的稳定控制,以及数码管对计时结果的动态显示。结合已生成的 sof 下载文件和 Quartus 工程配置,适合作为 FPGA 数字钟表、计时器、秒表类课程设计或实验项目参考。

演示视频

配套演示视频展示了秒表/跑表设计在开发板上的实际运行效果,可直观看到按键控制与数码管计时显示的工作状态。通过视频可以辅助确认工程下载后的显示方式、控制响应和整体功能表现。

仿真图/仿真说明/设计文档图片

设计文档内容覆盖工程文件、程序文件、程序编译、RTL 图和仿真图等部分,并包含整体仿真图、分频模块仿真、按键消抖仿真、跑表控制模块仿真和显示模块仿真等说明图片。 这些文档图片可用于理解工程结构、模块连接关系和关键模块的仿真表现,便于学习者对照源码分析分频、按键处理、计数控制以及数码管显示流程。

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image1.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image10.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image11.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image12.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image13.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image14.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image2.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image3.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image4.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image5.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image6.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image7.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image8.png

秒表跑表 FPGA 设计 VHDL Quartus 设计文档图片 image9.png

部分代码

以下展示顶层模块 div_100 的部分代码,完整源码请下载压缩包查看。

ENTITY div_100 IS
   PORT (
      clk_50M    : IN STD_LOGIC;--输入50M
      reset      : IN STD_LOGIC;--复位
      clk_100Hz  : OUT STD_LOGIC--100Hz时钟,用于记10毫秒
   );
END div_100;

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 秒表跑表 FPGA 设计 VHDL Quartus

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员