논리회로설계 - vhdl을 이용한 도어락(door lock) 설계

1. 논리회로설계 - vhdl을 이용한 도어락(.hwp
2. 논리회로설계 - vhdl을 이용한 도어락(.pdf
논리회로설계 - vhdl을 이용한 도어락(door lock) 설계
논리회로설계 - vhdl을 이용한 도어락(door lock) 설계

1. 도어락의 개요

도어락은 번호를 입력받아서 그 번호가 일치할 경우 문이 열리고 일정 횟수 이상을 틀릴 경우 알람이 작동한다.

2. 입력, 출력 및 상태

① 입력
- 클럭 : clk
- 리셋 : rst
- 입력버튼 : ps_start
- 종료버튼 : ps_end
- 수정버튼 : ps_mod
- 비밀번호 : ps_num

② 출력
- 문 열림 : door_open
- 알람 : alarm

③ 상태
-ready
-in_start
-in_end
-door_con
-end_state
-mod_state

3. 동작원리

digital door rock 입력모드
- door rock의 키패드에서 암호를 입력받아 문을 열게 하는 모드
- 입력버튼을 누르면 입력모드로 설정됨
- 암호를 입력받아 수정모드에서 설정된 암호와 틀리면 다시 입력버튼을 눌러서
암호를 입력해야 함

digital door rock 수정모드
- door rock의 비밀번호를 수정하는 모드
- 수정버튼을 누르면 수정모드로 설정됨
- 처음에 4개의 비밀번호를 입력
그 뒤 4개의 새로운 비밀번호를 입력

알람 작동
- 입력이 일정횟수가 틀리면 알람이 작동함

문이 열리고 일정시간이 흐를 경우
- 문이 열리고 일정 시간이 흐르면 문이 닫힘

4. 다이어그램

5 소스 코드

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;

entity door_lock is
port ( clk : in std_logic;
rst : in std_logic;
ps_start : in std_logic := 0 ;
....