1、 电子与信息工程学院电子与信息工程学院 EDA 课程设计报告 ( 2011 2012 学年 第 一 学期) 课课 程程 设设 计计 报报 告告 - 1 - 课程设计题目课程设计题目:四位密码锁 1.掌握 VHDL 语言的使用,学会用 VHDL 语言来编程解决实际问题; 2.学会使用 EDA 开发软件设计小型综合电路,掌握仿真的技巧; 3.学会应用开发系统实现硬件电路,检验电路的功能。 内容和要求内容和要求: 用 VHDL 语言设计一个密码锁,用波形仿真验证其功能后,实现到 GW48 实验系统。 功能描述:功能描述:用于模仿密码锁的工作过程。完成密码锁的核心控制功能。 功能要求:功能要求:设计一
2、个密码锁,平时处于等待状态。管理员可以设置或更改密码。如果不预置密码,密码 缺省为“1234” 。用户如果需要开锁,按相应的按键进入输入密码状态,输入 4 位密码,按下确定键后, 若密码正确,锁打开;若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信 号。报警后,只有管理员作相应的处理才能停止报警。用户输入密码时,若输入错误,在按下确定键之 前,可以通过按取消键重新输入。正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。系 统操作过程中,只要密码锁没有打开,如果 60 秒没有对系统操作,系统回到等待状态。要求密码在输 入过程中被依次显示,即先输入的为密码的第一位,总
3、是显示在最左边。用两个发光二极管模拟显示, 其中一个显示当前的工作模式,灭表示用户模式,亮表示管理员模式;另外一个指示锁的状态,灭表示 锁处于锁定,亮表示锁被开启。注意:注意:用两个按键实现密码输入,用两个按键实现密码输入,Key1Key1 选择输入的是第几位密码,选择输入的是第几位密码,KEY2KEY2 输入密码数字。输入密码数字。 功能描述:功能描述: 初始状态:初次使用密码锁时,要先用 Reset 键初始化。初始状态下,用户密码为“1234” ,管理 员密码为“0000” 。 用户开锁:默认情况下,密码锁处于用户使用状态。如果当前为管理员状态,则按下 user 键回到 用户状态。用户开锁
4、时,输入四位数用户密码,可以从 out_code6 的输出状态确定密码输入状态。如输 入错误则按下 clear 清除前一位输入。输入完毕后按 enter,如果密码正确,则开锁,否则重新输入密 码。开锁后再次按下 enter 键则关锁,回到等待状态。三次密码输入错误,警报器 alarming 为 1。要 管理员输入管理员密码解除警报。此时哪怕用户再输对密码也没用。 管理员解除警报:当用户三次密码输入错误的时候,alarming 为 1,此时,只要管理员密码输入正 确后,按下 clear 键,alarming 为 0,报警取消。 管理员修改密码:在非警报和为开锁状态下,任何时候按 admin 键进入管理员状态。按 chgcode 选择修改密码,先选择修改的是用户密码还是管理员密码。修改用户密码则按 user 键,修改管理员密 码则按 admin 键。然后分别输入旧密码,新密码,新密码要输入两次。旧密码与所要修改的密码对应。 如旧密码输入错误, 则无法修改; 当验