组合密码锁 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 等模块的分模块仿真图,适合用于理解工程结构、验证模块功能和撰写课程设计报告。
















部分代码
以下展示顶层模块 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
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 组合密码锁 FPGA 设计 VHDL Vivado