EDA课程设计数字密码锁
- 格式:doc
- 大小:101.72 KB
- 文档页数:9
数字密码锁课程设计eda一、课程目标知识目标:1. 学生理解数字密码锁的基本原理,掌握其组成部分及功能。
2. 学生掌握二进制数与十进制数的转换方法,并能应用于数字密码锁的设计与破解。
3. 学生了解数字密码锁的安全性评估标准,能分析常见密码锁的优缺点。
技能目标:1. 学生能运用所学知识设计简单的数字密码锁,具备实际操作能力。
2. 学生能通过小组合作,进行数字密码锁的破解,提高问题解决能力。
3. 学生能运用所学知识,对数字密码锁的安全性进行评估,提升分析能力。
情感态度价值观目标:1. 学生对数字密码锁产生兴趣,培养对电子技术的热爱。
2. 学生在小组合作中,学会沟通、协作,培养团队精神。
3. 学生认识到数字密码锁在生活中的应用,增强学以致用的意识。
本课程针对五年级学生,结合其年龄特点,注重培养学生的学习兴趣和动手能力。
课程性质为实践性较强的信息技术课程,要求学生在掌握基本原理的基础上,能将所学知识应用于实际操作。
通过本课程的学习,旨在提高学生的信息技术素养,培养创新精神和实践能力。
教学要求以学生为主体,注重启发式教学,引导学生主动探索、合作交流,实现课程目标的达成。
后续教学设计和评估将围绕以上具体学习成果展开。
二、教学内容1. 数字密码锁基本原理:介绍密码锁的起源、发展及分类,重点讲解数字密码锁的工作原理和组成部分。
2. 二进制与十进制转换:回顾二进制与十进制的概念,讲解转换方法,并通过实例进行操作演示。
3. 数字密码锁设计与制作:讲解数字密码锁的设计方法,引导学生动手制作简单的数字密码锁,并分析其安全性。
4. 数字密码锁破解:介绍常见的密码破解方法,组织学生进行小组合作,尝试破解数字密码锁,提高问题解决能力。
5. 数字密码锁安全性评估:讲解安全性评估标准,分析各类数字密码锁的优缺点,提升学生的分析能力。
教学内容安排和进度:第一课时:数字密码锁基本原理、二进制与十进制转换;第二课时:数字密码锁设计与制作;第三课时:数字密码锁破解;第四课时:数字密码锁安全性评估。
EDA课程设计报告书题目:电子密码锁成绩:设计题目:电子密码锁设计要求:1.用10个按键代表0~9,输入后应转换为8421BCD码,如按“6”后转换为“0110”;2.密码位数为6位,具有密码设置和修改功能;3.开锁和报警均有LED灯指示,且报警有声音提示,报警音频率为750Hz,每鸣叫1秒停1秒,共鸣叫5响;4.用6个数码管显示输入的密码。
设计步骤:1.电路模块化。
将要实现的功能电路分成若干小的功能模块,各自实现自己的功能。
2.设计具体化。
具体设计各个模块,然后将模块组合起来,完成课程设计的要求。
3.设计实现。
将电路下载到实验箱上,实现设计的电路。
设计过程及内容总体设计文字描述:总体设计共分为4个模块,分别为密码输入模块,密码校验模块,报警模块,输出显示模块。
主要模块描述:i.密码输入模块:密码输入模块电路图如图所示:初始密码保存仿真图如图所示:密码输入检验时仿真图如图所示:输入模块主要采用优先编码器,优先编码器允许输入信号多路同时有效,对多路信号的优先级别预先进行排队,同一时刻只对优先级别最高的进行编码,即优先级别低的输入信号只有在优先级别高的信号都为无效信号时,才能编码。
因此采用74148优先编码器,把从键盘的十进制输入转化成电路系统内部的二进制输入。
由D触发器构成的寄存器用来存储密码。
仿真时,当输入端bu3给低电频时,电路进行保存。
当输入端bu2给低电频时,电路进行检验。
ii.密码校验模块:校验模块电路图如图所示:校验模块比较相等时仿真图:校验模块比较不相等时仿真图:校验模块上部分连向输入检验模块,下部分连向输入的保存模块,用74194双向移位寄存器进行输入,输入后按下确定键,检验部分与保存部分开始比较,当保存部分与检验部分结果相等时,输出结果为1,此时报警模块中绿灯亮,当保存部分与检验部分结果不相等时,输出结果为0,此时红灯亮,蜂鸣器间歇报警。
iii.报警模块:报警模块电路图如图所示:分频模块与蜂鸣模块如下图所示:实验箱可提供732hz的频率,因此通过3个计数器74161进行分频得到1hz频率,作为蜂鸣模块的时钟。
EDA综合课程设计----电子密码锁一.EDA综合设计的任务和要求1 EDA综合设计的任务:利用Verilog HDL语言来设计一个8位的电子密码锁,并用FPGA 实现。
2 EDA综合设计的要求:(1)设计一个简单的数字密码锁,密码为8位,其功能:开锁代码为8位二进制数,串行输入,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时方可开锁,并点亮开锁指示灯。
否则,系统进入“错误”状态,并发出报警信号。
(2)串行电子密码锁的报警方式是点亮指示灯,并使喇叭鸣叫报警,直到按下复位开关,报警才停止。
此时,电子密码锁又进入等待下一次开锁的状态。
(3)扩展功能:锁内给定的密码可调,且预置方便,保密性好。
3 verilog HDL与FPGA简介Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
前者由Gateway Design Automation公司(该公司于1989年被Cadence 公司收购)开发。
两种HDL均为IEEE标准。
[1]Verilog HDL是一种优秀的硬件描述语言,它与C语言有许多相似之处,并继承和借鉴了C 语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。
电子设计中,系统开发平台为QuartusⅡ。
QuartusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Quartus Ⅱ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
EDA课程实习报告课程名称:EDA课程实习报告课程号:专业:班级:学号:学生姓名:指导教师:日期:课程设计任务书姓名学号班级学院课程EDA课程设计任务书题目简易14位数字密码锁控制电路设计目的1、14数字密码分成高7位(DH6-DH0)和低7位(DL6-DH0),用数字逻辑开关预置,输出信号out表示开锁,否则关闭。
2、14位数字密码分时操作,先预置高7位,然后再置入低7位。
3、要求电路工作可靠,保密性强,开锁出错立即报警,用声光两种形式同时报警。
4、利用maxplus2软件进行设计、编译、并在FPGA芯片上实现。
5、14位密码自己设定,比如:“10001010100010”。
本次设计采用本人学号后三位二进制8421码+两位:一班是01,二班10,三班11,四班00.设计要求1. 设计简易14位数字密码模块IC9A模块,模块IC9A采用VHDL实现。
2. 设计一个报警信号电路,方法不限。
3. 在IC9A模块基础上设计14位数字密码锁的顶层电路。
目录一、摘要--------------------------------------1二、课程设计目的-----------------------------2三、课程设计要求-----------------------------2四、设计与分析-------------------------------3五、译码电路设计-----------------------------6六、报警电路信号产生器----------------------12七、muxplusⅡ仿真----------------------------17八、试验箱下载测试---------------------------19九、课设心得----------------------------------22十、附件一:顶层原理图---------------------- 24 十一、附件二:管脚列表-------------------25一、摘要十四位数字密码锁是一个比较实用且实现目的明确效果明显的实验。
实验报告实验项目名称:密码锁的设计实验项目性质:普通实验所属课程名称:VHDL程序设计实验实验计划学时:4一、实验目的掌握VHDL程序设计方法二、实验内容和要求(1) 密码器的工作时钟由外部晶振来提供时钟频率,默认为1Hz(2) 密码的设置和输入由外接键盘完成;(3) 密码可以由锁的所有者随意设置并可更改,这里采用3位十进制数字作为密码(4) 不小心输错1位密码可以重新输入;(5) 对输入的密码数字进行显示;(6) 密码输入正确后密码锁将开启并且出现输入有效指示,如绿灯亮;(7) 密码输错后会出现错误指示,如红灯亮。
连续输错3次则扬声器发出报警信号,只有锁的所有者才能解除报警。
(8)在触动第一个按钮后的5秒内若未将锁打开,则电路自动进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号,30分钟后自动解锁。
在软件工具平台上,进行VHDL语言的各模块编程输入、编译实现和仿真验证。
三、实验主要仪器设备和材料计算机四、实验方法、步骤及结构测试1系统设计与方案论证2系统功能描述3设计4用VHDL文本输入方式,进行各个模块的设计输入、编译和仿真分块单独调试仿真5总结一.设计1系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。
顶层设计采用原理图的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成。
即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。
2模块功能系统主要由3个模块组成,分别是控制模块、寄存器模块、比较器模块。
2.1 控制模块控制模块采用有限状态机设计,将系统分为7个状态,即开锁状态(outlock)、安锁状态(inlock)、输入密码状态(input)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change)。
状态转移图如图2-2-1。
图2-2-1 状态转移图系统上电时,处于开锁状态,当输入修改密码xiu信号时,系统进入修改密码状态;若输入安锁lock信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码start 信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态,在开锁状态kai信号等于‘1’;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态。
eda电子密码锁课程设计一、课程目标知识目标:1. 理解EDA(电子设计自动化)的基本概念,掌握其在电子密码锁设计中的应用。
2. 学习并掌握电子密码锁的基本原理,包括密码设置、存储、识别和验证过程。
3. 掌握电子密码锁设计中涉及的电子元件、电路图绘制及电路功能。
技能目标:1. 能够运用EDA软件完成电子密码锁的电路设计,具备基本的电路仿真能力。
2. 能够运用编程语言(如C语言)编写简单的密码验证程序,实现电子密码锁的功能。
3. 学会使用常见的电子测量工具,对电子密码锁进行调试和故障排查。
情感态度价值观目标:1. 培养学生对EDA技术及其在电子设计中的应用产生兴趣,激发学生的创新意识和探索精神。
2. 培养学生团队协作意识,提高沟通与协作能力,学会共同解决问题。
3. 增强学生的安全意识,了解电子密码锁在实际应用中的重要性,培养学生的责任心。
课程性质:本课程为实践性较强的课程,注重理论知识与实际操作相结合,旨在提高学生的实际动手能力和创新能力。
学生特点:学生具备一定的电子基础知识,对EDA技术有一定了解,但对电子密码锁的设计和制作相对陌生。
教学要求:结合课程性质、学生特点,将课程目标分解为具体的学习成果,通过理论教学、实践操作、团队协作等多种教学方式,确保学生能够达到课程目标。
同时,注重过程评估和成果评估,以提高教学效果。
二、教学内容根据课程目标,教学内容分为以下三个部分:1. 理论知识学习- 电子设计自动化(EDA)基本概念与原理- 电子密码锁的工作原理及其电路组成- 密码学基础,包括密码设置、存储和验证方法教学大纲:参照教材相关章节,安排2个课时进行理论知识学习。
2. 实践操作与技能培养- EDA软件使用,包括电路图绘制、仿真与调试- 编程语言(C语言)基础,编写密码验证程序- 电子元件识别与使用,完成电子密码锁的搭建教学大纲:实践操作部分安排4个课时,分为两次课程完成。
3. 团队协作与创新能力培养- 分组讨论,共同设计电子密码锁方案- 成果展示,组间交流与评价- 故障排查与优化,提高电子密码锁的安全性与稳定性教学大纲:团队协作部分安排2个课时,在实践操作过程中穿插进行。
数字锁eda课程设计一、课程目标知识目标:1. 理解数字锁的基本概念,掌握EDA工具的使用方法;2. 学会运用数字电路知识设计简单的数字锁,并理解其工作原理;3. 了解数字锁在实际生活中的应用,认识到数字电路技术在日常生活中的重要性。
技能目标:1. 能够运用所学知识,使用EDA工具进行数字电路设计;2. 培养学生的动手实践能力,提高他们分析问题、解决问题的能力;3. 学会团队合作,提高沟通与协作能力。
情感态度价值观目标:1. 培养学生对数字电路技术的兴趣,激发他们探索未知、勇于创新的热情;2. 增强学生的信息安全意识,让他们认识到数字锁在保护个人隐私和财产方面的重要性;3. 培养学生严谨的科学态度,让他们在学习过程中养成良好的学习习惯。
分析课程性质、学生特点和教学要求:本课程为数字电路设计与实践课程,旨在让学生掌握数字电路设计的基本方法,提高他们的实践能力。
学生为初中生,具备一定的电子技术基础和计算机操作能力。
在教学过程中,需注重理论与实践相结合,充分调动学生的积极性,引导他们主动探究、解决问题。
将目标分解为具体的学习成果:1. 学生能够独立使用EDA工具完成数字锁的设计;2. 学生能够通过实验验证数字锁的设计原理;3. 学生能够撰写实验报告,总结学习收获,并进行展示交流。
二、教学内容1. 数字锁基本概念:介绍数字锁的定义、分类及工作原理,结合课本第二章第三节内容,让学生理解数字锁在实际应用中的作用。
2. EDA工具使用:讲解EDA工具的基本操作和使用方法,结合课本第三章内容,让学生掌握运用EDA工具进行数字电路设计的方法。
3. 数字锁设计原理:分析数字锁电路的组成、功能及设计方法,以课本第四章为例,让学生学会设计简单的数字锁。
4. 实践操作:安排学生进行数字锁的电路设计、仿真和实验操作,结合课本第五章内容,提高学生的动手实践能力。
5. 数字锁应用案例分析:通过分析现实生活中数字锁的应用案例,让学生了解数字锁在信息安全、智能家居等领域的应用,结合课本第六章内容,拓宽学生的知识视野。
目录前言 (1)1 设计内容与目的 (1)1.1 设计内容 (1)1.2 设计目的 (1)2 方案设计 (2)2.1 设计总体框图 (2)2.2 电路原理图 (2)2.3 键盘接口电路 (2)2.4 电锁控制电路 (2)2.5 输出显示电路 (3)3 功能电路的设计 (3)3.1 键盘接口电路 (3)3.2 时序产生电路 (4)3.3 键盘扫描电路 (5)3.4 键盘消抖电路 (8)3.5 键盘译码电路 (9)3.6 按键存储电路 (11)3.7 电锁控制电路设计 (15)4 系统仿真 (16)5 程序清单 (16)6 参考文献 (25)电子密码锁前言电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
目前设计密码锁的方法很多,例如用传统的PCB 板设计、用PLC设计或者用单片机设计等等。
而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。
VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程廷到高度自动化。
1 设计内容与目的:1.1 设计内容:设计一个简单的数字电子密码锁,密码为 4 位。
要求具备如下功能:(1)如果输入数字键,第一个数字会从显示器的最右端开始显示,此后每按下一个数字键,显示器上的数字必须往左移动一格,以便将新的数字显示出来。
(2)本密码锁为四位密码锁,当输入的数字超过4个时,不会显示第四个以后的数字。
(3)按下清零键,清除所有输入的数字,即做归零动作。
(4)按下密码确认键,检查输入的密码是否正确,密码正确即开锁。
(5)按下密码变更键,将当前输入的数字设置成新密码。
(6)设计一个万能密码,只要输入万能密码即开锁。
1.2 设计目的:随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲昵,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
电子锁eda课程设计一、课程目标知识目标:1. 学生能理解电子锁的基本工作原理,掌握EDA(电子设计自动化)软件的基本操作。
2. 学生能描述电子锁设计中的电路组成、元件功能及其相互关系。
3. 学生能运用数字电路知识,分析并设计简单的电子锁电路。
技能目标:1. 学生能够独立使用EDA软件完成电子锁电路的设计、仿真和布线。
2. 学生能够通过小组合作,解决电子锁设计过程中遇到的问题,进行有效沟通与协作。
3. 学生能够运用所学知识,对电子锁进行调试和优化,提高电路性能。
情感态度价值观目标:1. 培养学生对电子设计的兴趣和热情,激发创新意识。
2. 培养学生严谨的科学态度,养成良好的实验操作习惯。
3. 培养学生团队合作精神,提升沟通与交流能力,形成尊重他人、共同进步的价值观念。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生通过实践操作,掌握电子锁设计的基本知识和技能,培养创新意识和团队协作能力,为后续学习打下坚实基础。
课程目标具体、可衡量,便于教师进行教学设计和评估。
二、教学内容本课程教学内容主要包括以下三个方面:1. 电子锁原理及其电路组成- 了解电子锁的基本工作原理,如密码锁、指纹锁等。
- 学习电子锁电路的组成,包括微控制器、键盘、显示、传感器等元件。
- 引导学生阅读教材中相关章节,理解各元件的功能及相互关系。
2. EDA软件操作与应用- 学习EDA软件的基本操作,如原理图绘制、仿真、布线等。
- 教学大纲中明确各操作步骤,安排实践操作课时,确保学生熟练掌握。
- 结合教材实例,指导学生运用EDA软件进行电子锁电路设计。
3. 电子锁设计与实践- 学习电子锁设计流程,包括需求分析、电路设计、仿真、调试等。
- 制定详细的教学进度,安排小组合作设计任务,明确各阶段目标和时间节点。
- 引导学生结合所学知识,完成电子锁设计与制作,并进行性能评估和优化。
教学内容科学系统,与教材紧密关联,注重理论与实践相结合,旨在帮助学生掌握电子锁设计和EDA软件应用技能,培养实际操作能力。
实验报告实验项目名称:密码锁的设计实验项目性质:普通实验所属课程名称:VHDL程序设计实验实验计划学时:4一、实验目的掌握VHDL程序设计方法二、实验内容和要求(1) 密码器的工作时钟由外部晶振来提供时钟频率,默认为1Hz(2) 密码的设置和输入由外接键盘完成;(3) 密码可以由锁的所有者随意设置并可更改,这里采用3位十进制数字作为密码(4) 不小心输错1位密码可以重新输入;(5) 对输入的密码数字进行显示;(6) 密码输入正确后密码锁将开启并且出现输入有效指示,如绿灯亮;(7) 密码输错后会出现错误指示,如红灯亮。
连续输错3次则扬声器发出报警信号,只有锁的所有者才能解除报警。
(8)在触动第一个按钮后的5秒内若未将锁打开,则电路自动进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号,30分钟后自动解锁。
在软件工具平台上,进行VHDL语言的各模块编程输入、编译实现和仿真验证。
三、实验主要仪器设备和材料计算机四、实验方法、步骤及结构测试1系统设计与方案论证2系统功能描述3设计4用VHDL文本输入方式,进行各个模块的设计输入、编译和仿真分块单独调试仿真5总结一.设计1系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。
顶层设计采用原理图的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成。
即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。
2模块功能系统主要由3个模块组成,分别是控制模块、寄存器模块、比较器模块。
2.1 控制模块控制模块采用有限状态机设计,将系统分为7个状态,即开锁状态(outlock)、安锁状态(inlock)、输入密码状态(input)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change)。
状态转移图如图2-2-1。
系统上电时,处于开锁状态,当输入修改密码xiu信号时,系统进入修改密码状态;若输入安锁lock信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码start 信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态,在开锁状态kai信号等于…1‟;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态。
warn信号等于…1‟。
VHDL代码如下:library ieee;use ieee.std_logic_1164.all;entity mima isport(clk,lock,start,xiu,enter,yes:in std_logic;warn,kai,wr,en:out std_logic);end;architecture bhv of mima istype state is(inlock,input,rightx,wrong,unlock,change,alarm);signal ps,ns:state;beginprocess(clk)beginif clk'event and clk='1'thenps<=ns;end if;end process;process(ps,lock,start,xiu,enter,yes)begincase ps iswhen inlock=>kai<='0';en<='0';warn<='0'; wr<='0';if(start='1')then ns<=input;else ns<=inlock;end if;when input=>en<='1';kai<='0';warn<='0'; wr<='0';if(yes='1')then ns<=rightx;else ns<=wrong;end if;when rightx=>en<='0';kai<='0';warn<='0'; wr<='0';if enter='1' then ns<=unlock;else ns<=rightx;end if;when wrong =>en<='0';kai<='0';warn<='0'; wr<='0';if enter='1'then ns<=alarm;else ns<=wrong;end if;when unlock =>kai<='1';warn<='0';en<='0'; wr<='0';if lock='1'then ns<=inlock;elsif xiu='1'then ns<=change;else ns<=unlock;end if;when alarm =>warn<='1';kai<='0';en<='0'; wr<='0';if enter='1'then ns<=inlock;else ns<=alarm;end if;when change =>en<='1';warn<='0';kai<='1'; wr<='1';if enter='1'then ns<=unlock;else ns<=change;end if;end case;end process;end;2.2 比较模块在数字密码器中,比较器模块的功能是对按键输入和寄存器模块的输出进行比较,然后将比较的结果送入到控制器模块。
比较器的具体工作原理是:当比较结果相等时,c输出为1;当比较结果不相等时,c的输出为0。
VHDL代码如下:library ieee;use ieee.std_logic_1164.all;entity bi isport(a,b:in std_logic_vector(3 downto 0);c:out std_logic);end;architecture bhv of bi isbeginc<='1'when a=b else '0';end;2.3 寄存模块寄存器模块用于存放预设和修改后的密码,并在开锁时将所存密码输出到比较器与按键输入的密码进行比较,判断由按键输入密码是否正确的结果。
VHDL代码如下:library ieee;use ieee.std_logic_1164.all;entity ji isport(clk,wr,en:in std_logic;data_in:in std_logic_vector(3 downto 0);data_out:out std_logic_vector(3 downto 0));end;architecture bhv of ji issignal m:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif (en='1'and wr='1') thendata_out<=data_in;m<=data_in;else data_out<=m;end if;end if;end process;end;3 仿真分析3.1 控制模块的仿真控制模块是系统的核心,其仿真波形如图3-1所示。
各端口功能如下:输入信号:clk 输入时钟, lock 安锁信号,start 开始输入密码,xiu 修改密码,enter 密码确认,Yes 密码比较。
输出信号:warn 警告信号,kai 密码正误显示信号,wr 寄存器读写信号,en 密码输入使能。
图3-1 控制器仿真波形波形仿真分析:起始初始密码为“0000”,安锁后锁关闭kai 信号为…0‟;开锁时,按下start 开锁键,密码比较yes 信号为…1‟有效,输入密码正确,按下enter 确认键,锁开,锁开标志信号kai 为‟1‟;开锁状态下,按下xiu 修改密码键,输入新密码后按确认键start ,密码修改成功,再按下lock 安锁,此时密码为新输入密码;按下输入密码键start 输入密码键若输入密码错误,按下确认键enter 后,报警warm 信号有效。
3.2 比较模块的仿真比较器模块的工作原理是:当比较结果相等时,输出为1;当比较结果不相等时,输出为0。
其仿真波形如图3-2。
各端口功能如下:输入信号:a 按键输入的密码,b 寄存器储存的密码。
输出信号:c 按键输入与寄存器的密码是否相等。
波形仿真分析:起始寄存器输出密码为“0001”,键盘输入为“0101”时不相等,所以输出c 为0;当寄存器输出密码为“0011”,键盘输入为“0011”时相等,所以输出c 为1,其他图3-1 控制模块仿真波图3-2 比较器仿真波形与此相同。
3.3 寄存模块的仿真开锁时将所存密码输出到比较器与按键输入的密码进行比较,达到判断由按键输入密码是否正确的结果。
图4是寄存器模块的仿真波形。
图3-3寄存器仿真波形波形仿真分析:当使能信号en和wr都有效时,将data_in输入的信号存储到寄存器中,无论输入信号data_in为多少,输出信号data_out都为寄存器所存内容。
其他情况下,输出data_out信号,不随data_in输入改变。
3.4系统的仿真波形图3-4系统仿真波形波形分析:上电后,系统的初始密码为“0000”,按下start键由键盘key输入密码“0000”,输入密码正确按确认键enter键锁开按,锁关闭开锁输出标志信号kai无效为1,显示开锁;在开锁状态下按xiu修改密码键后,由键盘key输入新密码0001后按确认键enter 密码修改成功,按lock键密码锁上锁,此时密码锁密码为新密码;若按下start键后输入的密码错误如图“1111”与密码锁密码“0000”不同,warm报警信号有效,锁不开且报警。