VHDL 신호등 구현
- 최초 등록일
- 2021.11.10
- 최종 저작일
- 2021.11
- 7페이지/ MS 워드
- 가격 2,000원
소개글
"VHDL 신호등 구현"에 대한 내용입니다.
목차
1. 개요 및 설계
2. 코드 구현
3. 결과 사진
4. 힘들었던 점
본문내용
1. 개요 및 설계
-목표 : FSM을 사용하여 신호등을 구현해야 한다.
-조건
1. 신호등 1,3 과 2,4는 4초마다 녹색이 들어온다.
2. 횡단보도는 스위치가 눌려있지 않으면 적색(stop)이 들어온다.
3. 신호등 2,4가 녹색이고 스위치가 눌려있다면, 다음 신호등 1,3때 횡단보도에 녹색(go)이 들어온다.
4. 신호등 1,3가 녹색인 경우 스위치가 눌려있다면 다음 차례의 신호등 1,3이 녹색인 경우 보도에 녹색이 들어와야 한다(go 표시)
-설계
지금 목적은 신호등이므로 신호(현재 신호 상태)에 따른 동작이 구현되어야 한다.
그러므로 무어 머신(Moore Machine)을 이용해 출력이 현재 상태에만 의존함을 이용한다.
< 중 략 >
1. reset버튼의 경우 reset이 켜져 있다면 첫번째 state(신호등 1,3켜지고, stop표시)에
계속 머물기 위한 if문을 먼저 담아준다.
2. reset이 아니라면 clk가 rising_edge인 부분떄마다 count를 하나하나씩 쌓고, 1초에 50000000번 진동하니까 50000000번 진동할 때 마다 1초라고 카운트한 정보를 input1에 넣고, 신호는 4초마다 바뀌니까, 1초마다 0,1,2,3을 반복하는 정보를 switch에 담아 0과 다음 0과의 간격이 4초인 것을 이용해 switch가 0일 때 마다 state를 바꿔주도록 if문을 구성하였다.
3. 그리고 state (1) : (신호등 2,4 들어오고, stop)에서 횡단보도 스위치가 on(input=1)이라면 특수한 경우로 state(2) : (신호등 1,3들어오고, go)로 넘어가도록 if문을 구성하였다.
참고 자료
없음