基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板

这篇具有很好参考价值的文章主要介绍了基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

名称:基于FPGA的3位十进制密码锁VHDL代码Quartus  DE2-115开发板(文末获取)

软件:Quartus

语言:VHDL

代码功能:

借助EDA工具和设计方法,学习硬件描述语言VHDL用编程的方法来设计电路,在QUARTUSⅡ软件环境中,基于EDA实验室的开发装置DE2-115,其FPGA芯片型号为EP4CE115F29C7,进行电路的测试和仿真分析。系统功能要求:采用3位十进制数字作为内置密码,修改密码必须重置逻辑;系统通电后必须关上密码锁门,如果输入密码正确,密码器将启动开启装置,用绿色LED灯表示;如果密码错误,则红色LED灯报警;如果按错号码,可在开锁前按启动键消除输入而重新输入密码;等事务处理完毕后,按上锁键使系统进入安锁等待状态。系统分为控制器和受控电路两部分,受控电路由消抖电路、编码器、比较器、数据选择器(密码预置)、触发器等模块组成

本代码已在DE2-115开发板验证,DE2-115开发板如下,其他开发板可以修改管脚适配:

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

1. 工程文件

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

2. 程序文件

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

3. 程序编译

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

4. RTL图

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

5. 管脚分配

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

6. Testbench

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

7. 仿真图

整体仿真图

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

显示模块

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

密码输入模块

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

密码锁控制模块

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

密码修改模块

基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板,fpga开发

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--顶层模块
ENTITY mimasuo IS
   PORT (
      clk_in       : IN STD_LOGIC;--50MHz
      
      key_0     : IN STD_LOGIC;--按键输入0
      key_1     : IN STD_LOGIC;--按键输入1
      key_2     : IN STD_LOGIC;--按键输入2
      key_3     : IN STD_LOGIC;--按键输入3
      key_4     : IN STD_LOGIC;--按键输入4
      key_5     : IN STD_LOGIC;--按键输入5
      key_6     : IN STD_LOGIC;--按键输入6
      key_7     : IN STD_LOGIC;--按键输入7
      key_8     : IN STD_LOGIC;--按键输入8
      key_9     : IN STD_LOGIC;--按键输入9
      
      confirm   : IN STD_LOGIC;--确认键(开锁)
      modify    : IN STD_LOGIC;--修改键(更改)
      lock_up   : IN STD_LOGIC;--锁住键(上锁)
   delect    : IN STD_LOGIC;--删除键(清除)
      led_open  : OUT STD_LOGIC;--绿灯,开锁指示信号,高电平表示开锁,低电平表示锁住
led_red  : OUT STD_LOGIC;--红灯
      
      HEX0      : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管显示密码
      HEX1      : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管显示密码
      HEX2      : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)--数码管显示密码
   );
END mimasuo;
ARCHITECTURE trans OF mimasuo IS
--分频模块
COMPONENT CLOCK IS-- Divide 50MHz to 100Hz
--GENERIC(D : INTEGER := 50);--仿真时改小为50加快仿真速度,实际上板验证时改为500000
GENERIC(D : INTEGER := 500000);--仿真时改小为50加快仿真速度,实际上板验证时改为500000
   PORT(CLK: IN STD_LOGIC;
         DAV: OUT STD_LOGIC);
   END COMPONENT;
   --例化重置模块
   COMPONENT reset_password IS
      PORT (
         clk       : IN STD_LOGIC;
         password  : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
         correct_password : OUT STD_LOGIC_VECTOR(11 DOWNTO 0);
         confirm   : IN STD_LOGIC;
         current_state : IN STD_LOGIC_VECTOR(2 DOWNTO 0)
      );
   END COMPONENT;
   --例化显示模块
   COMPONENT display IS
      PORT (
         clk       : IN STD_LOGIC;
         password  : IN STD_LOGIC_VECTOR(11 DOWNTO 0);--当前输入密码
HEX0      : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管显示密码
HEX1      : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管显示密码
HEX2      : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)--数码管显示密码
      );
   END COMPONENT;
   --例化密码输入模块
   COMPONENT mima_input IS
      PORT (
         clk       : IN STD_LOGIC;
         key_0     : IN STD_LOGIC;
         key_1     : IN STD_LOGIC;
         key_2     : IN STD_LOGIC;
         key_3     : IN STD_LOGIC;
         key_4     : IN STD_LOGIC;
         key_5     : IN STD_LOGIC;
         key_6     : IN STD_LOGIC;
         key_7     : IN STD_LOGIC;
         key_8     : IN STD_LOGIC;
         key_9     : IN STD_LOGIC;
   delect    : IN STD_LOGIC;--删除键
         current_state : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
         password  : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)
      );
   END COMPONENT;
   --例化密码锁控制模块
   COMPONENT mimasuo_ctrl IS
      PORT (
         clk       : IN STD_LOGIC;
         password  : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
         correct_password : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
         confirm   : IN STD_LOGIC;
         modify    : IN STD_LOGIC;
         lock_up   : IN STD_LOGIC;
         led_open  : OUT STD_LOGIC;
         current_state : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)
      );
   END COMPONENT;
源代码

 扫描文章末尾的公众号二维码文章来源地址https://www.toymoban.com/news/detail-839446.html

到了这里,关于基于FPGA的3位十进制密码锁VHDL代码Quartus DE2-115开发板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FPGA的通用电子密码锁VHDL代码Quartus仿真

    名称:基于FPGA的通用电子密码锁VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: 电子密码锁要求 (1)如果按下数字键,第-个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。 (2)假如要更

    2024年03月22日
    浏览(36)
  • 基于FPGA的电子密码锁的设计VHDL代码Quartus仿真

    名称:基于FPGA的电子密码锁的设计VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: 电子密码锁的设计 设计任务:     1.密码输入:每按下一个数字键,就输入一个数值,并在显示器上显示该数值,同时将先前输入的数据依次左移一位;     2.密码清除:按

    2024年03月14日
    浏览(41)
  • 实现十进制计数器EDA|FPGA

    实验内容 有限状态机设计:实现十进制计数器 实验目的 有限状态机设计:实现十进制计数器 软件流程(硬件连接) ①新建工程 ②创建半加器原理图 ③将设计项目设置成可调用的元件 ④尝试运行代码 ⑤新建文件输出代码的波形  四、代码  五、实验结果及分析  

    2024年02月03日
    浏览(38)
  • 密码锁设计Verilog代码Quartus 睿智FPGA开发板

    名称:密码锁设计Verilog代码Quartus  睿智FPGA开发板(文末获取) 软件:Quartus 语言:Verilog 代码功能: 1、设计一个密码锁的控制电路,当输入正确代码时,输岀开锁信号用红灯亮、绿灯 熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁 2、在锁的控制电路中储存一个可以修改的4位代

    2024年01月18日
    浏览(36)
  • 【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

    目录 Ⅰ. 实践说明 0x00 计数器(Counter) 0x01 异步计数器(Asynchronous Counter)

    2024年02月05日
    浏览(46)
  • 编程基于栈的操作实现将任意一个非负十进制数,打印输出与其等值的八进制数

    提示:数据结构进制转化: 编程基于栈的操作实现将任意一个非负十进制数,打印输出与其等值的八进制数 代码如下(示例): 运行效果展示: 运行效果展示: 数据结构中编程基于栈的操作实现将任意一个非负十进制数,打印输出与其等值的八进制数

    2024年02月06日
    浏览(38)
  • 基于单片机的电子密码锁设计

    1.设计任务 利用AT89C51单片机为核心控制元件,设计一个简易的电子密码锁,可设置四位密码,输入错误三次,报警灯亮起(红灯亮起),输入正确,绿灯闪烁三次。可通过LCD显示屏查看密码,并可通过特殊键位清除密码。 本系统由AT89C51单片机系统(主要是AT89C51单片机最小系

    2024年02月02日
    浏览(35)
  • 基于51单片机的电子密码锁

    主要功能: 1、6位密码开锁 可以修改用户密码和管理员密码 断电记忆 3次错误报警锁住键盘

    2024年02月11日
    浏览(35)
  • 基于51单片机的密码锁设计

    电子密码锁设计,以AT89C51为主控,晶振电路和复位电路共同组成最小系统,使得单片机可以正常运行。矩阵按键作为输入模块,输入密码,LCD1602作为显示设备,显示输入的密码和提示语句,AT24C02作为EEPROM存储器,使用LED模拟“锁”,表示锁的开启和关闭状态。系统掉电后,

    2024年02月11日
    浏览(48)
  • 基于单片机智能电子密码锁设计

    ** 单片机设计介绍,基于单片机智能电子密码锁设计   基于单片机的智能电子密码锁设计是一种利用单片机(如Arduino、Raspberry Pi等)和相关电子元件来实现的电子密码锁系统。下面是一个基本设计的介绍: 系统组成: 单片机模块:负责控制和处理密码输入、验证和锁控制

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包