| 
        
         | 
       
      
        | 
        
         | 
       
      
         | 
       
	    
          | 
       
      
        | 
      
논리회로설계 - 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 ; 
.... | 
       
      
      
      
         | 
       
      
         | 
       
      
         | 
       
      
          | 
       
      
        | 
			  
		     | 
       
      
         | 
       
      
         | 
       
      
        | 
        
         | 
       
	
    	| 
        
         | 
           
      
         | 
       
      
         | 
       
      
         | 
       
      
        |   | 
       
      | 
     | 
    
 |