EDA考试设计报告电子锁码器.doc
《EDA考试设计报告电子锁码器.doc》由会员分享,可在线阅读,更多相关《EDA考试设计报告电子锁码器.doc(26页珍藏版)》请在三一办公上搜索。
1、-EDA考试设计报告调研题目:电子锁码器院系班级:小组成员:指导教师:时 间:联系方式:评阅成绩:电子锁码器Electronic lock transcoder【 abstract 】 : in response to the requirements of the test subjects teachers do design. This design can realize the eight decimal number lock code, lock within a output that can signal (high level effective).【 key words
2、】 : lock code, decimal ,make can【摘要】:为响应科目教师对考试的要求而做的设计。本设计能实现八位十进制数以内的锁码,锁定一个输出使能信号高电平有效。【关键词】:锁码 十进制 使能引言该锁码器分主状态分三个待机状态,密码状态,完毕状态,密码状态再分三个次状态输入状态,修改状态,运行状态,能够设置8位以内十进制数的任何密码,每个状态都有不同的状态灯显示,当输入密码正确可以选择改变密码或者调至运行状态输出一个使能信号。正文一、待机状态待机状态中,除输入正确状态灯外的四个状态灯显示为0001,当使用者拨动回车键enter、上升沿有效,使go信号置1,锁码器会从待机状态进
3、入密码状态,进展输码、改码等功能。二、密码状态密码状态可用的前提是go信号为高电平,且密码输入状态立即可用。1密码输入状态密码输入状态的四个状态灯显示为0010。当状态灯这样显示时使用者可以输入想要输入的八位以内的十进制数然后拨动回车键,当输入的临时数temp_password等于已存储的密码password时,正确输入状态灯亮。当输入的临时数不等于已存储的锁定密码,正确输入状态灯不亮且立即跳至主状态中的完毕状态。当正确输入状态灯亮时,有两种选择。拨动回车键调至运行状态;拨动改变键change_password、上升沿有效进入密码修改状态。2密码修改状态密码修改状态的四个状态灯显示为0100,
4、这是正确输入状态灯依然在亮。当状态灯这样显示时使用者可以输入想要的八位以内的十进制数。当输入完成时,使用者有两个选择:拨动改变键,把已输入的数存储为密码;拨动回车键,直接进入运行状态,因为正确输入状态灯依然亮,正确输入仍然有效当使用者觉得所修改的密码不适宜情况下需要用到。当使用者输入完成,并拨动改变键把想要的密码存储完后,拨动回车键就可进入运行状态。只要正确输入状态灯亮时,拨动回车键都能是锁码器进入运行状态3运行状态运行状态的四个状态灯显示为1000,这时正确输入状态灯已熄灭。当锁码器处于运行状态时,锁定的输出使能信号为1。当使用者觉得已经完成运行时拨动回车键就能使锁码器进入主状态中的完毕状态
5、,并使输出使能信号、go信号置0,且使次状态回到输入状态。三、完毕状态完毕状态没有任何操作,会有一个简单的流水灯效果,倒数一段不长的时间后自动返回待机状态。四、完毕语在设计根本完成时,还存在很多细节上的问题。例如在正确输入之后想要进入改变密码状态而未拨动改变键时,如果拨动数字选项键,会使到进入改变状态后临时数的初始值不为空全0。虽然比拟繁琐,不过经过一步步耐心的在modelsim仿真验证后,根本上已经能让使用者正常、方便的使用该锁码器了。由于de2板上的开关存在严重的抖动现象,所以该锁码器中除了电平触发的复位键外,其他全部使用到的开关都带有去抖动功能。最后,感谢郭晓云教师的悉心指导。参考文献:
6、EDA技术与应用 张建 邓桃丽 邓锐 朱旭东 编著单片机技术及系统设计 周美娟 肖来胜 编著源程序:-模块名称:程序包模块-模块功能:设置设计中使用到的两个类型。library ieee;use ieee.std_logic_1164.all;packageMy_package istype state1 is (standby_state,password_state,end_state);type state2 is (input_state,change_state,run_state);end My_package;-模块名称:待机状态、密码输入准备状态、完毕状态转换-模块功能:在待机
7、状态下按一下回车键进入密码输入准备状态,-在密码输入准备状态下发出一个complete的信号进入完毕状态,-完毕状态中自动计数一秒后回到待机状态。library ieee;use ieee.std_logic_1164.all;use work.My_package.all;entity Standby_password_end_transition is port (clk:in std_logic;-时钟输入reset:in std_logic;-复位键enter:in std_logic;-回车键complete:in std_logic;-完成运行信号lkd_state:buffer
8、state1;-模块状态信号go:out std_logic-密码输入模块准许信号);end Standby_password_end_transition;architecture behavior of Standby_password_end_transition issignal starting:std_logic:=0;-待机到密码输入准备状态的允许信号signal finishing:std_logic:=0;-密码输入准备状态到完毕状态的允许信号signal ending:std_logic:=0;-完毕状态到待机状态的的允许信号signal count:integer ran
9、ge 0 to 49999999 :=0;-计数器signal count_delay:integer range 0 to 999999 :=0;signal start:std_logic:=0;begin-进程名称:三状态转换控制进程-进程功能:在不同的准许信号下三状态转换process (reset,clk,starting,finishing,lkd_state)beginif reset=1 then lkd_state-待机状态的处理if starting=1 thenlkd_state=password_state;else lkd_state-密码准备状态的处理if fini
10、shing=1 thenlkd_state=end_state;elselkd_state-完毕状态的处理if ending=1 then lkd_state=standby_state;else lkd_state=end_state;end if;end case;end if;end process;-进程名称:starting允许信号的控制-进程功能:starting允许信号的控制,附去抖动process (enter,lkd_state,reset)beginif reset=1 thenstart=0;elsif lkd_state=standby_state thenif ris
11、ing_edge(enter) thenstart=1;end if;elsestart=0;end if;end process;process(clk,start,count_delay,enter)beginif rising_edge(clk) thenif start=1 thenif count_delay999999 thencount_delay=count_delay+1;elsif enter=1 thenstarting=1;elsestarting=0;end if;elsecount_delay=0;starting=0;end if;end if;end proce
12、ss;-进程名称:go信号的控制-进程功能:go信号的控制process (lkd_state)beginif lkd_state=password_state thengo=1;else go=0;end if;end process;-进程名称:finishing信号的控制-进程功能:finishing信号的控制process(lkd_state,complete)beginif lkd_state=password_state thenif rising_edge(complete) thenfinishing=1;end if;else finishing=0;end if;end p
13、rocess;-进程名称:ending信号的控制-进程功能:ending信号的控制process (lkd_state,clk,reset,count)beginif rising_edge(clk) thenif lkd_state=end_state then if count49999999thencount=count+1;elsecount=0;ending=1;end if;else ending=0;count=0;end if;end if;end process;end behavior;-模块名称:解码锁码-模块功能:按回车键,假设密码输入正确可选择改变密码或直接运行run
14、- 按回车键跳完毕状态end_state;- 不正确转至完毕状态。- 锁定新密码后按回车键跳到运行状态;- 按回车键调至借宿状态。library ieee;use ieee.std_logic_1164.all;use work.My_package.all;entity Unlock isport(clk:in std_logic;-时钟输入change_password:in std_logic;-改变密码键上升沿有效enter:in std_logic;-回车键上升沿有效reset:in std_logic;-复位开关高电平电平有效run:out std_logic;-运行允许信号高电平
15、有效-Standby_password_end_transition模块信号go:in std_logic;-密码输入模块准许信号complete:out std_logic;-运行完毕信号-临时密码模块用信号password_allow :out std_logic;-密码输入允许clr_t:out std_logic;-临时密码清零信号ok:buffer std_logic;-回车键信号change:buffer std_logic;-change_password信号count_pn_enable:out std_logic;-count_pn使能信号set_count_pn:out s
16、td_logic;-count_pn置数信号password:buffer std_logic_vector(31 downto 0);-设定的密码temp_password:in std_logic_vector(31 downto 0);-临时密码p_state:buffer state2;-Unlock状态信号correct_input:in std_logic;-密码输入正确信号d_complete:in std_logic-complete控制信号);end Unlock;architecture behavior2 of Unlock issignal clr_o:std_logi
17、c:=0;-ok清零信号signal clr_c:std_logic:=1;-change清零信号signal clr_cpl:std_logic:=1;-complete清零signal set_cpl:std_logic:=0;-complete置数signal pass_word:std_logic_vector(31 downto 0):=0000;-过渡密码signal count_delay1:integer range 0 to 999999 :=0;signal count_delay2:integer range 0 to 999999 :=0;signal oo:std_l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 考试 设计 报告 电子锁
链接地址:https://www.31ppt.com/p-1087597.html