디지털도어락(digital door lock)설계-논리회로설계실험
- 최초 등록일
- 2009.10.23
- 최종 저작일
- 2009.06
- 16페이지/ 한컴오피스
- 가격 4,000원
소개글
중간고사 대체 과제로 만든 디지털 논리 회로 설계 실험 소스입니다.
디지털 도어락을 설계한 것으로 좋은 점수 받았습니다.
프로그램 작동원리, 변수들에 대한 설명, 소스 코드, 테스트벤치코드 소스, 시뮬레이션 결과 파형까지 모두 들어있습니다.
목차
1. 프로그램 설명 - 프로그램작동개요와 변수 등을 설명
2. 프로그램 개요 - 프로그램 작동 원리 설명
3. source code와 주석
4. test bench source code와 주석
5. 시뮬레이션 result
본문내용
1. 프로그램 설명
흔히 전자키로 쓰이는 digital door lock을 간단하게 설계해 보았다. 비밀번호를 변경하는 기능과 문을 여는 기능 두 가지를 수행할 수 있다.
먼저 비밀번호는 ‘*’과 ‘#’을 제외한 6가지 숫자로만 설정할 수 있다. 이 비밀번호를 올바르게 입력하면 open_door값이 ‘1’로 되어 문이 열린다고 가정하였다. 중간에 비밀번호가 틀리게 입력되면 error값이 ‘1’이 되어 처음의 상태로 돌아가도록 하였다.
비밀번호 변경은 ‘*’ 입력 -> 기존 비밀번호 입력 -> ‘*’ 입력 -> 변경할 비밀번호 입력 -> ‘#’ 입력을 하면 비밀번호가 변경되도록 하였다. 중간에 입력이 잘못되면 마찬가지로 error가 ‘1’로 되어 처음 상태로 돌아가도록 하였다.
만약 직접 이 프로그램을 가지고 도어락을 만들 때 error가 ‘1’이 되면 전자키에서 소리가 나도록 하면 좋을 것 같다.
Input
① rst : reset 신호, rst가 `0`일 때 동작하고 ‘1’이 되면 reset된다. reset 될 때, 비밀번호가 다시 초기값 000000으로 돌아가도록 할까 하였으나, 실제 도어락 모델에서 reset버튼을 누른다고 해서 비밀번호가 초기화 된다거나 하면 곤란하므로 그냥 유지되도록 하였다. std_logic형 이다.
② clk : clock 신호이다. 클럭의 상승에지에 동작하도록 설정하였다. std_logic형이다.
③ key_num : 실제 도어락에서 버튼의 역할을 하는 input값이다. 편리함을 위해 integer형으로 선언하였고 0~#까지의 12개의 버튼이 존재 하므로 범위도 0~11까지로 하였다. 여기서 *은 10, #은 11로 가정하였다.
Output
① error : 중간에 잘못된 비밀번호를 누르거나, 비밀 번호 변경 시 * 또는 # 버튼을 잘못 누른다거나 할 때 값이 ‘1’로 변하는 std_logic형 output값이다. 실제 모델 설계 시엔 error값에 따라 소리가 나거나 하게 만들면 유용할 것이라 판단되어 error값을 설정하였다.
참고 자료
없음