数字时钟 FPGA 设计 VHDL Quartus(2)

名称:数字时钟 FPGA 设计 VHDL Quartus(2)

软件:Quartus

语言:VHDL

功能介绍

本设计实现一个基于 FPGA 的数字时钟系统,采用 VHDL 编写,工程环境为 Quartus。系统支持正常计时显示、时间设置、闹钟时间设置、闹钟提示输出以及 1Hz 指示 LED 等功能,适合用于 FPGA 数字系统课程设计、时序逻辑综合实验和数码管显示控制学习。 数字钟通过六位数码管显示秒、分、时信息,HEX0 到 HEX5 分别承担秒个位、秒十位、分钟个位、分钟十位、小时个位、小时十位显示。外部开关和按键用于切换计时/设置模式、进入闹钟设置状态,并对小时和分钟进行调整,功能划分清晰,便于理解状态控制与计数逻辑之间的配合。 工程包含完整 Quartus 工程文件、VHDL 源码、仿真相关文件和设计说明图片内容,可用于编译、RTL 结构查看、波形仿真以及后续硬件引脚约束参考。对于需要学习 VHDL 模块化设计、分频计时、按键控制、闹钟比较和数码管译码显示的用户,该设计具有较好的参考价值。

运行环境

开发语言:VHDL 开发软件:Quartus 工程类型:FPGA 数字钟设计与仿真工程 顶层模块:Digital_clock 主要文件包括 Digital_clock.vhd、fenping.vhd、set_mode.vhd、jishi.vhd、display.vhd、Bell.vhd、alarm_clock.vhd、div_10.vhd 以及 Quartus 工程文件 Digital_clock.qpf、Digital_clock.qsf。

设计思路

设计以 Digital_clock 作为顶层模块,围绕“计时、设置、闹钟、显示”几个功能块展开。50MHz 输入时钟先经过分频处理,生成适合秒计数和显示控制使用的节拍信号,再由计时模块完成秒、分、时的递增逻辑,形成完整的数字时钟基础功能。 模式控制部分通过 alarm_SW、MODE_SW 以及小时/分钟调整按键实现不同工作状态切换。正常计时时,数码管显示当前时间;进入时间设置或闹钟设置状态后,按键用于修改小时、分钟等参数,led_mode 输出当前模式状态,便于观察系统处于计时、设置时间或闹钟相关状态。 闹钟功能单独划分为 alarm_clock 与 Bell 等相关模块,计时时间与设定闹钟时间匹配时产生响铃/提示输出。显示部分将计数结果转换为六位数码管段码,分别对应秒个位、秒十位、分个位、分十位、时个位、时十位,形成清晰的 HH:MM:SS 数字钟显示结构。

模块结构

主要模块包括: fenping:分频模块,用于从 50MHz 时钟产生计时所需节拍。 set_mode:模式设置模块,用于处理计时模式、时间设置模式等状态控制。 jishi:计时模块,完成秒、分、时计数逻辑。 alarm_clock:闹钟模块,用于闹钟时间相关控制与比较。 Bell:响铃提示模块,用于产生闹钟提示输出。 display:显示模块,用于将时间数据转换为数码管显示段码。 BCD/div_10:辅助转换或分解模块,用于配合数码管显示数据处理。 Digital_clock:顶层模块,连接时钟、开关、按键、LED、闹钟输出和六位数码管接口。

开发板验证

工程包含 Quartus 管脚约束/分配文件,可用于对应硬件工程的引脚绑定与综合实现参考。顶层端口覆盖 50MHz 时钟、模式切换开关、闹钟设置开关、小时/分钟调整按键、1Hz LED、闹钟输出 LED 以及 HEX0 到 HEX5 六位数码管显示接口,便于将数字钟功能映射到开发板外设资源。

演示视频

配套演示视频展示数字钟工程的运行效果,可直观看到计时显示、模式切换以及相关输出状态,适合在下载前了解工程功能表现。

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

设计文档图片包含工程文件、程序文件、程序编译、RTL 图以及多组仿真图说明,覆盖整体仿真图、分频模块、设置模式模块、计时模块、闹钟模块、响铃模块和显示模块。仿真文件包含整体波形与各功能模块波形,可用于观察分频、计时、模式切换、闹钟判断和数码管显示输出等关键逻辑。

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image15.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image14.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image13.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image12.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image11.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image1.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image3.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image4.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image5.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image6.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image7.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image8.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image10.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image9.png

数字时钟 FPGA 设计 VHDL Quartus(2) 设计文档图片 image2.png

部分代码

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

ENTITY Digital_clock IS
   PORT (
      clk_50M    : IN STD_LOGIC;
      
      alarm_SW   : IN STD_LOGIC;--SW0-闹钟时间设置键,0--显示正常计时;1--显示设置闹钟时间
      MODE_SW    : IN STD_LOGIC;--SW1-MODE 模式设置按键--0:计时,1:设置时间
      
      AH_key_in  : IN STD_LOGIC;--AH 修改小时--按下低电平
      AM_key_in  : IN STD_LOGIC;--AM 修改分钟--按下低电平
      
      led_1Hz    : OUT STD_LOGIC;--1S--led
      bell_out   : OUT STD_LOGIC;--闹钟led
      led_mode   : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--led显示当前模式
		
      HEX0       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管-低亮--秒钟个位
      HEX1       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --数码管-低亮--秒钟十位      
      HEX2       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管-低亮--分钟个位
      HEX3       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --数码管-低亮--分钟十位
      HEX4       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管-低亮--小时个位
      HEX5       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管-低亮--小时十位
   );
END Digital_clock;

代码文件(付费下载)

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

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

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