组合密码锁 FPGA 设计 VHDL Vivado

名称:组合密码锁 FPGA 设计 VHDL Vivado

软件:Vivado

语言:VHDL

功能介绍

本设计实现一个基于 FPGA 的组合密码锁,使用 VHDL 编写并在 Vivado 工程环境下完成综合与仿真。顶层模块 locktop_sync 提供时钟、复位、两位输入数字、两个按键控制输入,并输出 Lock、Unlock 状态信号以及 4 路七段数码管段选信号,适合用于学习同步时序电路、模块化 HDL 设计和 FPGA 基础外设显示控制。 系统通过 Digit_A、Digit_B 输入两位数字信息,结合 Button_1、Button_2 进行锁控操作。Lock 和 Unlock 输出用于表示当前门锁状态,segment_1 至 segment_4 用于驱动七段数码管显示相关数字或状态信息。整体功能围绕密码输入、状态寄存、锁状态判断和显示译码展开,结构清晰,便于二次修改为更多位密码、不同显示方式或不同按键交互流程。 该工程采用同步设计思路,核心控制逻辑在时钟驱动下运行,Reset 信号用于系统复位。相比纯组合逻辑或异步控制方式,同步结构更适合作为 FPGA 课程设计、数字系统实验和 Vivado 项目练习的参考工程。

运行环境

开发语言:VHDL 开发软件:Vivado 工程类型:FPGA 工程,包含 VHDL 源码、Vivado 工程文件、仿真 Testbench、RTL 图和仿真结果参考。

设计思路

设计采用顶层集成加功能模块划分的方式完成组合密码锁。locktop_sync 作为顶层模块,负责连接外部输入输出端口,并把数字输入、按键输入、锁控状态和数码管显示逻辑组织在同一个同步系统中。外部输入包括 clk、Reset、Digit_A、Digit_B、Button_1、Button_2,输出包括 Lock、Unlock 以及 4 组七段数码管 segment 信号。 系统内部可分为密码锁判断、寄存器同步和七段数码管译码三个主要部分。lock_sync 模块承担锁控判断逻辑,根据输入数字和按键操作产生锁定或解锁状态;reg_sync 模块用于同步保存或传递状态数据,使按键和输入变化能够在时钟边沿下稳定进入系统;hex_decoder_sync 模块负责把数字信息转换为七段数码管显示编码,用于直观显示输入或状态相关内容。 Testbench 对顶层 locktop_sync 以及 reg_sync、hex_decoder_sync、lock_sync 等模块进行了仿真验证。通过整体仿真图和分模块仿真图,可以观察输入激励、状态输出和显示译码之间的对应关系,便于理解同步电路的时序行为,也方便在修改密码规则或扩展显示位数时进行回归验证。

模块结构

主要模块包括: locktop_sync:同步密码锁顶层模块,连接时钟、复位、数字输入、按键输入、锁状态输出和数码管输出。 lock_sync:密码锁核心控制模块,用于完成锁定/解锁相关判断逻辑。 reg_sync:同步寄存模块,用于在时钟控制下保存或同步传递信号。 hex_decoder_sync:七段数码管译码模块,将输入数字转换为对应的七段显示编码。 testbed_locktop_sync:顶层仿真测试文件,用于对同步密码锁整体功能进行仿真。

演示视频

配套演示视频展示了密码锁设计的运行效果,可结合 Vivado 工程、仿真波形和源码一起查看输入按键、锁状态输出以及数码管显示之间的对应关系。

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

设计文档内容包含工程文件、程序文件、程序编译、RTL 图、Testbench 和仿真图说明。仿真部分包括 locktop_sync 整体仿真图,以及 reg_sync、hex_decoder_sync、lock_sync 等模块的分模块仿真图,适合用于理解工程结构、验证模块功能和撰写课程设计报告。

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image17.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image16.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image15.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image14.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image13.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image12.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image11.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image1.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image3.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image4.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image5.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image6.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image7.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image8.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image10.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image9.png

组合密码锁 FPGA 设计 VHDL Vivado 设计文档图片 image2.png

部分代码

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

ENTITY locktop_sync IS
   PORT (
      clk        : IN STD_LOGIC;
      Reset      : IN STD_LOGIC;
      Digit_A    : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
      Digit_B    : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
      Button_1   : IN STD_LOGIC;
      Button_2   : IN STD_LOGIC;
      
      Lock       : OUT STD_LOGIC;
      Unlock     : OUT STD_LOGIC;
      segment_1  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      segment_2  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      segment_3  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
      segment_4  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
   );
END locktop_sync;

代码文件(付费下载)

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

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

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