1、 电子与信息工程学院 EDA 课程设计报告 (2011 2012 学年 第 一 学期) 课程名称: EDA课程设计与实现 班 级: 电子 0903 实实 习习 报报 告告 - 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 键则关锁, 回到等待状态。 三次密码输入错误, 实实 习习 报报 告告 - 2 - 警报器 alarming 为 1。要管理员输入管理员密码解除警报。此时哪怕用户再 输对密码也没用。 管理员解除警报:当用户三次密码输入错误的时候,alarming 为 1,此 时,只要管理员密码输入正确后,按下 clear 键,alarming 为 0,报警取消。 管理员修改密码:在非警报和为开锁状态下,任何时候按 admin 键进入 管理员状态。按 chgcode 选择修改密码,先选择修改的是用户密码还是管理 员密码。修改用户密码则按 user 键,修改管理员密码则按 admin 键。然后分 别输入旧密码,新密