[VHDL dataflow] VHDL 엘리베이터 elevator
- 최초 등록일
- 2004.06.26
- 최종 저작일
- 2004.06
- 13페이지/ 한컴오피스
- 가격 2,500원
소개글
수업도 제대로 못들어서 코딩하는데 애먹었습니다. 그렇지만 전체 구현은 미리 손으로 회로도를 그려본 다음에 한거라서 data flow방식입니다. 기존에 인터넷에 나돌아 다니는건 다 behavior더라고요..그거 이해 못해서...직접 손으로 그렸습니다. 그 다음에 VHDL코드로 옮긴거라서 강추~
-----------------------------------------------
설계하면서 가장 신경많이 쓴부분은....진행방향 결정인데...
우선순위를 이전의 진행방향으로 주었습니다... 만약 3층에서 위아래버튼이 다 눌려졌을경우 아래층에서부터 5층을 향해서 왔다면 3층에서 섰다가 5층까지 갔다가 3층에서 다시 섰다가 갑니다. 모듈별 소스도 다 포함시켰으니깐 다른거 뒤지지 마시고 이거 다운받으세요~ 몇일 동안 폐인모드로 지내며 완성한겁니다. 고생하지 마시고 돈을 투자해보아요~ ^^
--------------------------------------------------------
코드에 없는 component는 다른게 아니라 decoder랑 up/down counter를 합친것 뿐이예요... 하드를 포멧해버려서 늦게서야 발견했네요.
목차
1. 제 목
Elevator Design with VHDL
2. 개발 내용
1) 모식도
2) PORT
a)INPUT
b)OUTPUT
3) Design Specification
a)UP/DOWN COUNTER
b) 3by5 Decorder
c) 3clock delay
d)Switch IN
d) Decision UP_sig/DOWN_sig
4) Total Design
a) Block Diagram
b) Logic Digram
c)VHDL Code
d)Wave Form
3.결과 및 토의
4. 참고 문헌
본문내용
***주로 회로도나 블럭도 wave form이 많이 있음.***
스위치를 누르게 되면 펄스 한번이 생기게 되는데 이를 유지 시켜주기 위해서 D F/F을 사용하였다.
각층에서 둘이나 셋 중의 스위치가 1개라도 눌려지게 되면 그 층에선 요청신호를 출력(B1-B5=‘1’)하게 된다. 그 신호를 현재 엘리베이터 위치 정보 비트와 AND하여서 delay 블록을 동작시키게 된다.
delay가 동작하여 3클럭이 지연된 후 ‘1’ 값을 출력하게 되면 카운터가 증가/감소하게 되어 현재 위치를 벗어나게 된다.
<진행방향 결정>
현재 엘리베이터 4층에 위치.UP_sig='1'
3층의 up 스위치 on
엘리베이터 내부의 5층 스위치 on
4층을 기준으로 위/아래층에서 요청이 있음.
=> 이경우 이전의 진행방향으로 진행.
UP_sig = '1', DOWN_sig='0'
--------------
현재 엘리베이터는 5층에 위치.
5층에 도착했으므로 엘리베이터 내부 스위치 off.
3층의 외부 UP 스위치 on
5층을 기준으로 아래층에서 요청이 있음(3층).
=> 이경우 DOWN_sig=1, UP_sig='0'
참고 자료
-VHDL을 이용한 디지털 시스템 설계.사이텍미디어,<Roth>