Skip to content

cong2738/FlagGame

Repository files navigation

FlagGame

2025년 HARMAN Semicon Academy 1기
개발기간: 2025.06.03 ~ 06.12

개발팀 소개

박호윤 박지수 임윤재 함영은
@cong2738 @Friday930 @immune @heyhoo46
SystemArchitecture Design And GAME LOGIC Circuit Develop ISP Develop and SIM,VGA Print module develop And SIM camera communication develop and Game font design GAME UI design, Graphic Circuit develop, GameLogic SIM

Introduce

  • ImageSerchingAndDetect
    • FPGA 기반으로 실시간 카메라 영상을 처리하고, 사용자의 깃발 동작을 인식해 반응하는 청기백기 게임을 구현한다.
    • 카메라에서 입력된 원시 영상은 직접 구현한 ISP 회로를 통해 밝기 보정과 노이즈 제거 등 전처리를 거친다.
    • 좌표 추출 알고리즘: ROI(Region of Interest) 영역에서 조건에 부합하는 픽셀의 개수를 카운트하여, 깃발의 색상과 위치를 판별한다. 극한으로 단순화시킨 투표 앙상블 알고리즘이라 볼 수 있다.
    • 전 과정은 순수 하드웨어(FPGA) 로직으로 구성되어, 외부 CPU 개입 없이 고속으로 처리된다. FSM 기반 제어 로직을 통해 게임 판정 및 화면 출력까지 실시간으로 수행한다.
    • 모듈소개
      • Cam Block : 캠 입력 처리장치, SCCB를 통해 캠을 세팅하며 VGA사이즈로 입력받음
      • Graphic Block : 그래픽 처리장치(GPU), 게임상태에 따라 캠 영상에 게임UI를 오버레이하는 블록
      • Game Block : 게임 데이터 처리장치(CPU), 의사난수발생기를 통해 발생한 난수수열을 바탕으로 청기백기 게임을 동작시킨다. 난수 시드는 사용자의 입력 타이밍, 입력길이, 센서데이터를 사용하며 캠 픽셀 HSV색공간과 픽셀타이밍을 X,Y로 이용하여 ROI카운트를 통해 깃발의 위치를 판별하고 게임을 진행시킨다.

Stacks

  • 핵심기술: ISP, ROI 기반 컬러 검출(이미지 세그멘테이션), PRNG ,VGA

Environment

Vivado Verdi VCS

Development & Simulation

Verilog SystemVerilog

Simulation Visualizing

Python

Board

Basys3

SystenArchitecture



Cam Block: 캠 입력 처리장치(ISP)

Cam_design

Module Overview

VGA




CAM
  • SCCB



Graphic Block(GPU): 게임UI 그래픽 처리장치(ISP)

GRAPHIC_design

Module Overview

  • text_show


Game Block(CPU): 게임 데이터 처리장치(ISP, PRNG)

Layout

Module Overview

  • game_state
    game_state
  • PRNG
    • xorShift
      xorShift formula
    • seed set
      rnd seed
  • user color find
    color_find
    • color range
      color_find
      color_find

Circuit

Layout, Circuit

SIM

  • PRNG: 최대표준편차(약12억)과 최대평균(약21억)에 가까운 값 --> 이상적인 난수수열로 판단
    PRNG Simulation
    PRNG RND_Histogram
    PRNG mean,SD
  • game_state
    GAME_STATE Simulation
  • SCCB
    SCCB Simulation

asset

Basys3 OV7670 MH-HMD

video

click!-->
청기백기 동작 영상

수신호 동작 영상

디렉토리 구조

project
├── FlagGame : ProjectMain
├── random_simulation_visualization : PRNG_Simulation
├── image : test_img
├── image_code : test_img_code
├── py : python_files
|   └── pyojun.py : PRNG 시뮬레이션 시각화 프로그램
├── SCCB : SCCB_module_demo
├── Text_display : Text_display_module_demo
└── Flag_cmd : cmd_gen_demo

About

FlagGame : ISP_RTL_Design(HarmanSA_June_TeamPJ)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •