基于FPGA的数字锁控制电路VHDL代码Quartus仿真

名称:基于FPGA的数字锁控制电路VHDL代码Quartus仿真(文末获取)

软件:Quartus

语言:VHDL

代码功能:

任务及要求

硬件描述语言VHDL是一种用形式化方法描述数字电路和系统的语言。利用这种语

,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思

想,用一系列分层次的模块来表示复杂的数字系统。然后,利用电子设计自动化(ED

A)工具,逐层进行仿真验证。设计一个用于数字锁的控制电路,功能要求如下

1.开锁代码为二位十进制数(BCD码表示),当输入代码的位数和位值与锁内给定

的密码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯(用输出高电平表示)。否则,系统进入“错误”状态,发出报警信号。

2.开锁程序由设计者确定,并要求锁内给定的密码是可调的。

3.报警方式是点亮指示灯(输出高电平),直到输入复位信号,报警才停止。

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

仿真图为:先输入初始密码12,开锁,开锁指示灯亮。按下修改密码按键,输入25,确认后将密码修改为25。再输入12,此时无法开锁,密码错误,报警。按下报警复位按键,清除报警。再输入25,确认,开锁,开锁指示灯亮。

部分代码展示:

--2位的电子密码锁
LIBRARY ieee;USE ieee.std_logic_1164.all;
--顶层模块
ENTITY mimasuo ISPORT (clk       : IN STD_LOGIC;--时钟key_0     : IN STD_LOGIC;--按键输入0key_1     : IN STD_LOGIC;--按键输入1key_2     : IN STD_LOGIC;--按键输入2key_3     : IN STD_LOGIC;--按键输入3key_4     : IN STD_LOGIC;--按键输入4key_5     : IN STD_LOGIC;--按键输入5key_6     : IN STD_LOGIC;--按键输入6key_7     : IN STD_LOGIC;--按键输入7key_8     : IN STD_LOGIC;--按键输入8key_9     : IN STD_LOGIC;--按键输入9confirm   : IN STD_LOGIC;--确认键reset     : IN STD_LOGIC;--重置键modify    : IN STD_LOGIC;--修改键lock_up   : IN STD_LOGIC;--锁住键alarm     : OUT STD_LOGIC;--报警led_open  : OUT STD_LOGIC;--开锁指示信号,高电平表示开锁,低电平表示锁住HEX0      : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示HEX1      : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管显示);
END mimasuo;
ARCHITECTURE trans OF mimasuo IS--修改密码模块(寄存器模块,存储正确密码)COMPONENT reset_password ISPORT (clk       : IN STD_LOGIC;password  : IN STD_LOGIC_VECTOR(7 DOWNTO 0);correct_password : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);confirm   : IN STD_LOGIC;current_state : IN STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;--例化显示模块COMPONENT display ISPORT (clk       : IN STD_LOGIC;password  : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--当前输入密码HEX0      : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);HEX1      : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT;--例化密码输入模块COMPONENT mima_input ISPORT (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;current_state : IN STD_LOGIC_VECTOR(2 DOWNTO 0);password  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT;--例化密码锁控制模块COMPONENT mimasuo_ctrl ISPORT (clk       : IN STD_LOGIC;password  : IN STD_LOGIC_VECTOR(7 DOWNTO 0);correct_password : IN STD_LOGIC_VECTOR(7 DOWNTO 0);confirm   : IN STD_LOGIC;reset     : IN STD_LOGIC;modify    : IN STD_LOGIC;
alarm     : OUT STD_LOGIC;--报警lock_up   : IN STD_LOGIC;led_open  : OUT STD_LOGIC;current_state : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;--定义信号SIGNAL current_state    : STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL password         : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL correct_password : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL led_open_signal   : STD_LOGIC;SIGNAL HEX0_signal       : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL HEX1_signal       : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
源代码

 扫描文章末尾的公众号二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3016123.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

揭秘前端开发的“薪”机遇

众所周知,华为开发者大会2023,宣布不再兼容安卓,同时宣布了“鸿飞计划”,欲与iOS、安卓在市场三分天下,这对中国国产操作系统而言,具有划时代的意义。 最近有不少前端的开发者来咨询鸿蒙开发,今…

通过 Java 操作 redis -- 连接 redis

如果我们想在本地主机上访问 Linux 服务器上的 redis ,我们就需要通过 ssh 进行端口转发,推荐看 本地主机访问服务器的Redis -- 配置 ssh 端口转发 通过 Java 操作 redis 已经有大佬创建了很多第三方库,这里我们使用 jedis ,因为它…

28-代码随想录18四数之和

18. 四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复)&#xff…

618挑选家用洗地机,需要注意哪些事项?有哪些家用洗地机值得买?

近年来,智能清洁家电越来越受到消费者的欢迎,洗地机作为清洁家电的新宠,凭借其集扫地、拖地、杀菌清洗于一体的强大功能,成为市场上的热销产品。那么,这类洗地机真的好用吗?怎么挑选到好用的家用的洗地机呢…

python中如何遍历字典

1. 遍历字典的键key ① >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6)} >>> for key in d:print(str(key):str(d[key])) list:[1, 2, 3] 1:123 111:python3 tuple:(4, 5, 6) ② >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6…

不上班,我靠这5份赚钱副业养活了自己

在这个快节奏的社会里,很多人都在为生活奔波忙碌。今天,就让我来跟大家分享一下我的“躺平”秘籍吧! 这一个月来,我没有上班,但好在有副业养活自己。有时候,我真的觉得有一份自己喜欢的自媒体副业挺好的。…

卸载系统自带APP

Firefly RK3588 android 12自动多个系统软件,无法从UI界面进行手动删除。因此,考虑使用shell指令进行处理。 系统自动APP大多都安装在system/app目录下,且该目录多为只读。因此采用如下步骤, //Shell su adb shell su //重新挂载…

字节跳动最新力作:最先进的AI绘画加速技术(之一)

在今天的高速发展的AI领域中,字节跳动的Lightning团队再次引领科技前沿,他们发布了一种革命性的图像处理技术——Hyper-SD图像模型蒸馏算法,甚至能做到实时快速生成图片。这不仅是一次技术的飞跃,更是智能图像处理领域的一次大革新…

Golang Map类型

文章目录 Map介绍Map的定义方式Map的增删查改新增和修改Map元素查找Map元素删除Map元素遍历Map元素 Map元素排序Map切片 Map介绍 Map介绍 在Go中,map是哈希表的引用,是一种key-value数据结构。map类型写作map[K]V,其中K和V分别对应key和value…

vue管理系统导航中添加新的iconfont的图标

1.在官网上将需要的图标,加入项目中,下载 2.下载的压缩包中,可以选择这两个,复制到项目目录中 3.如果和之前的iconfont有重复,那么就重新命名 4.将这里的.ttf文件,也重命名为自己的 5.在main文件中导入 6.在…

精酿啤酒的魅力:啤酒的与众不同风味

啤酒,作为世界上古老的酒精饮品之一,一直以来都以其与众不同的魅力吸引着无数人的味蕾。而精酿啤酒,作为啤酒中的佼佼者之一,更是以其丰富的口感和多样的风格,成为了啤酒爱好者的心头好。在这其中,Fendi cl…

C++ Primer 总结索引 | 第十四章:重载运算与类型转换

1、C语言定义了 大量运算符 以及 内置类型的自动转换规则 当运算符 被用于 类类型的对象时&#xff0c;C语言允许我们 为其指定新的含义&#xff1b;也能自定义类类型之间的转换规则 例&#xff1a;可以通过下述形式输出两个Sales item的和&#xff1a; cout << item1 …

如果insightface/instantID安装失败怎么办(关于InsightFaceLoader_Zho节点的报错)

可能性有很多&#xff0c;但是今天帮朋友解决问题的时候又收集了一种新的思路。 首先&#xff0c;可以先按照这篇文章里边提到的方法去安装&#xff1a; 【全网最详细】ComfyUI下&#xff0c;Insightface安装指南-聚梦小课堂_insightface如何安装-CSDN博客 其次&#xff0c;…

Flutter分模块开发、模块可单独启动、包含Provider

前言 当前案例 Flutter SDK版本&#xff1a;3.13.2 目前Flutter都是在一个项目中&#xff0c;创建不同目录进行模块开发&#xff0c;我进行Android原生开发时&#xff0c;发现原生端&#xff0c;是可以将每个模块独立运行起来的&#xff0c;灵感来自这&#xff1b; 折腾了几…

vue脚手架和vite创建的项目的环境配置

开发环境文件 .env.development NODE_ENV"development" # // 开发接口域名 本地测试就用这个 # vue脚手架创建的 VUE_APP_MODE"开发环境" VUE_APP_API_URL http://19527 # vite创建的 # VITE_MODE"开发环境" # VITE_BASE_URL http://1920:9527…

纯血鸿蒙APP实战开发——折叠屏扫描二维码方案

折叠屏扫描二维码方案 介绍 本示例介绍使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。自定义界面扫码使用系统能力customScan&#xff0c;其提供相机流的初始化、启动扫码、识别、停止扫码、释放相机流资源等能力。折叠屏折叠状态通过监听display的foldStatusCha…

中通快递批量查询解决方案,为您的批量物流需求量身定制

在物流行业&#xff0c;随着电子商务的飞速发展和订单量的不断增长&#xff0c;批量查询物流信息已成为许多企业和个人的迫切需求。中通快递作为国内领先的快递服务提供商&#xff0c;深知这一需求的重要性&#xff0c;并为此推出了定制化的中通快递批量查询解决方案&#xff0…

【极速前进】20240423-20240428:Phi-3、fDPO、TextSquare多模态合成数据、遵循准则而不是偏好标签、混合LoRA专家

一、Phi-3技术报告 论文地址&#xff1a;https://arxiv.org/pdf/2404.14219 ​ 发布了phi-3-mini&#xff0c;一个在3.3T token上训练的3.8B模型。在学术基准和内部测试中的效果都优于Mixtral 8*7B和GPT-3.5。此外&#xff0c;还发布了7B和14B模型phi-3-small和phi-3-medium。…

订单超时自动取消的实践方案

1、定时任务方案 方案流程&#xff1a; 每隔 30 秒查询数据库&#xff0c;取出最近的 N 条未支付的订单。 遍历查询出来的订单列表&#xff0c;判断当前时间减去订单的创建时间是否超过了支付超时时间&#xff0c;如果超时则对该订单执行取消操作。 定时任务方案工程实现相…

纯血鸿蒙APP实战开发——手写绘制及保存图片

介绍 本示例使用drawing库的Pen和Path结合NodeContainer组件实现手写绘制功能。手写板上完成绘制后&#xff0c;通过调用image库的packToFile和packing接口将手写板的绘制内容保存为图片&#xff0c;并将图片文件保存在应用沙箱路径中。 效果图预览 使用说明 在虚线区域手写…