서강대학교 21년도 디지털논리회로실험 프로젝트 3단계 보고서 (A+자료)
- 최초 등록일
- 2022.09.18
- 최종 저작일
- 2021.11
- 26페이지/ MS 워드
- 가격 3,000원
소개글
서강대학교 전자공학과 4점대 학점 공돌이입니다.
A+를 받은 양질의 자료를 올립니다.
목차
1. Block Diagram
2. 각 모듈 설명
3. 동작 결과 및 설명
4. Pin Mapping
5. FPGA 사용량 확인을 위한 Design Summary
본문내용
1. Block Diagram
일단 모듈들의 enable이나 clear 신호를 출력하여 각 모듈을 제어하고, 모듈들로부터 정보를 받아 전체적인 동작을 control하는 ControlUnit이 있다. 그리고 각 모듈들은 ControlUnit의 제어 하에, state에 따라 특정한 동작을 수행하게 된다.
이 회로 안에서 다루어야 할 데이터는 가위(S), 바위(R), 보(P), 안 눌림(no_press), 다른 키 눌림(other_key), 이김(win), 비김(draw), 짐(lose) 이렇게 8개가 있는데, 이를 아래와 같이 3bit수로 변형하여 처리하였다.
데이터3bit의 수로 표현
가위(S)010
바위(R)001
보(P)011
안 눌림(no_press)000
다른 키 눌림(other_key)100
이김(win)111
비김(draw)101
짐(lose)110
2. 각 모듈 설명
2-1. ControlUnit 모듈
ControlUnit_RPS의 입출력 모듈
ControlUnit_RPS 모듈은 lab7에서 state machine을 설계한 것과 마찬가지로 RPS_sm과 RPS_Irdec 모듈으로 나눠서 작동하게끔 하였다. 우선 아래는 state machine을 설계하기 위해 그린 state diagram이다.
가위바위보 게임의 동작은 4가지로 나눌 수 있는데, IDLE, up_rolling, flash, WAIT가 그 동작이다. IDLE은 RESET 버튼이 눌리면 구현되는 동작으로, 4digit-7segement display에 가로줄 4개가 display되며 모든 동작이 중단되는 상태이다. 이 때 Idle_state = 1이 되고, score_CLR, up_CLR, flast_CLR, round_CLR을 1로 만들며 진행되고 있던 동작을 중단시키며 DotMatrix의 display를 중단시킨다.
Up_rolling상태는 IDLE 상태에서 Start를 누르면 시작되는데, 이 상태에서는 랜덤 패턴 X를 생성하고, round에 따라 점점 더 빨라지는 정해진 주기로 DotMatrix에서 scrollup display를 한다. 그동안 Keyscan하며 가위바위보 게임의 input을 받는다. 이 때 uprolling하는 모듈인 up_enable, keyscan 모듈의 key_enable, 랜덤 생성 신호를 1로 만든다.
참고 자료
없음