본 프로젝트는 FPGA(Field Programmable Gate Array) 보드를 활용하여 사용자의 기억력을 테스트하는 디지털 시스템 설계 프로젝트입니다. 2학년 과정에서 습득한 논리 회로 이론 및 실습 지식을 바탕으로 레지스터, 비교기, FSM 등을 직접 설계하고 통합하였습니다.
- 개발 기간: 2024년 11월 ~ 12월
- 주요 기술: Verilog HDL, Vivado, FPGA Board
- 무작위 패턴 제시: 보드의 LED가 무작위 순서로 점등됩니다.
- 사용자 입력 및 시각화: 사용자는 Keypad를 통해 순서를 입력하며, 입력값은 7-Segment에 표시됩니다.
- 제한 시간 시스템: 서브모터가 회전하며 물리적으로 남은 시간을 시각적으로 표현합니다.
- 단계별 난이도 상승: 총 5단계로 구성되며, 단계가 올라갈수록 점등 개수와 속도가 조절됩니다.
- 결과 피드백: LCD Display를 통해 현재 점수, 성공/실패 여부, 최종 총점 및 멘트를 출력합니다.
- FSM (Finite State Machine): 게임의 각 단계(패턴 제시, 입력 대기, 결과 확인 등)를 제어하는 핵심 엔진입니다.
- Registers: 정답 데이터와 사용자 입력 데이터를 저장하고 비교합니다.
- Control Circuits: 서보모터, LCD, LED 등의 하드웨어 컴포넌트를 제어합니다.
- cnt=1 초기화 및 게임 시작.
- 무작위 LED 점등 순서 생성 및 플레이어 입력 대기.
- 입력 데이터와 정답 레지스터 값 비교.
- 결과(성공/실패)에 따른 점수 누적 및 LCD 출력. 모든 단계 완료 시 최종 결과 출력 후 종료.