핵심 요약
- RISCBoy는 RISC-V 호환 CPU, 그래픽 파이프라인, 디스플레이 컨트롤러, 메모리, 주변장치, KiCad PCB까지 처음부터 직접 설계한 오픈소스 휴대용 게임 콘솔이다.
- 프로세서는 RV32IMC 명령어 집합과 M-mode CSR, 예외, 벡터 외부 인터럽트를 지원하며 RISC-V 적합성 테스트와 riscv-formal 검증을 통과한 것으로 분석된다.
- 7,680개 논리 요소의 iCE40-HX8k FPGA에 32비트 콘솔을 구현하고, 합성에는 Yosys, nextpnr, Project Icestorm 같은 오픈소스 도구 체인이 사용된다.
RISCBoy는 FPGA 위에서 RISC-V 적합성 검증까지 마친 자가 설계 콘솔이 교육용으로도 재현 가능한 사례로 분석된다.
프로젝트 개요: RISCBoy의 목표와 위치
RISCBoy는 단일 FPGA에 게임 콘솔을 통째로 실어 올린 오픈소스 하드웨어 프로젝트다. CPU뿐 아니라 그래픽 파이프라인, 디스플레이 컨트롤러, 메모리 인프라, 주변장치, PCB까지 직접 설계한 점이 특징이며, 2001년에 RISC-V가 존재했다면 등장했을 법한 Game Boy Advance 지향의 휴대형 콘솔을 표방한다. 저장소는 github.com/Wren6991에서 공개되어 있어 HDL 소스와 PCB 자료를 함께 검토할 수 있다.
하드웨어 아키텍처
7,680개 논리 요소의 iCE40-HX8k 위 32비트 RISC-V 콘솔
타깃 FPGA는 라티스 반도체의 iCE40-HX8k로, 약 7,680개의 논리 요소를 갖춘 소형 FPGA다. 이 같은 자원 제약이 RISCBoy 설계 방향에 큰 영향을 미친 것으로 분석된다. 32비트 RISC-V 콘솔을 단일 칩에 담기 위해 CPU, 그래픽, 디스플레이, 메모리 컨트롤러가 한정된 자원 예산 안에서 공존하는 구조로 해석된다.
CPU: RV32IMC, M-mode CSR, 예외, 벡터 외부 인터럽트
CPU는 합성 가능한 Verilog 2005로 작성됐으며 명령어 집합은 RV32IMC다. M-mode CSR, 예외 처리, 벡터 외부 인터럽트가 함께 지원돼 베어메탈 환경에서도 운영체제 유사 구조까지 확장할 수 있는 토대가 마련된 것으로 보인다.
그래픽 파이프라인과 디스플레이 컨트롤러, KiCad PCB
콘솔의 성격을 결정짓는 부분은 자체 설계한 그래픽 파이프라인과 디스플레이 컨트롤러다. 메인 로직과 PCB는 KiCad로 설계된 것으로 보이며,로 작성돼 회로도부터 기판까지 자가 설계 흐름이 끊기지 않는다. HDL과 PCB가 한 저장소 안에서 함께 공개된다는 점에서 재현성과 교육용 가치 모두를 확보한 것으로 분석된다.
검증과 합성
RISC-V 적합성 테스트와 riscv-formal 결과
RISCBoy는 자가 설계 CPU가 사양에 부합한다는 사실을 두 단계의 검증으로 보여준다. 먼저 표준 RISC-V 적합성 테스트 스위트를 통과해 명령어 단위의 동작 일치를 확인하고, riscv-formal을 활용해 형식적 검증을 추가로 거친 것으로 보인다. 두 검증이 함께 수행됐다는 점에서 단순 합성 가능을 넘어 명령어 및 마이크로아키텍처 수준의 신뢰도를 추구한 설계로 분석된다.
Yosys, nextpnr, Project Icestorm 오픈소스 도구 체인
합성 단계는 상용 도구 없이도 완결된다. 합성에는 Yosys, 배치 배선에는 nextpnr, 비트스트림 생성과 디바이스 프로그래밍에는 Project Icestorm이 사용된다. 이 체인은 iCE40 계열에서 자주 사용되는 오픈소스 도구 흐름으로 분석된다.
사양 요약
- 프로세서 명령어 집합: RV32IMC RV32IMC
- 지원 기능: M-mode CSR, 예외 처리, 벡터 외부 인터럽트
- HDL: 합성 가능한 Verilog 2005
- 타깃 FPGA: iCE40-HX8k (7,680개 논리 요소)
- 구현 폭: 32비트 단일 FPGA 콘솔
- 그래픽: 자체 설계 파이프라인 및 디스플레이 컨트롤러
- PCB: KiCad 기반 자가 설계
- 검증: RISC-V 적합성 테스트, riscv-formal
- 합성 도구: Yosys, nextpnr, Project Icestorm
- 저장소: github.com/Wren6991
의미와 시사점
오픈소스 FPGA 하드웨어 교육 사례
RISCBoy의 가장 큰 의미는 학생이나 개인 학습자가 Verilog, RISC-V, FPGA 합성, PCB 설계라는 네 축을 하나의 프로젝트로 동시에 접할 수 있다는 점이다. RISC-V 적합성 테스트와 riscv-formal까지 통과한 CPU 코어가 공개되어 있어, 교육 과정에서 참고 구현으로 재사용 가능한 가능성을 보여준다.
2001년 Game Boy Advance 대체 시나리오의 의미
Game Boy Advance가 등장한 시점에는 RISC-V 자체가 존재하지 않았다. RISCBoy는 같은 32비트 임베디드 콘솔이라는 출발선에 RISC-V ISA를 뒤늦게 얹은 사례로 해석된다. 즉, 상용 콘솔의 클래식 아키텍처와 RISC-V라는 현대 ISA를 결합해 비교 연구용 플랫폼으로 쓸 여지를 만든다.
재현 가능한 자가 설계 콘솔의 가능성
HDL, PCB, 도구 체인, 검증 절차가 모두 오픈소스라는 점에서 RISCBoy는 단순한 데모가 아니라 복제 가능한 자가 설계 콘솔의 기준선으로 기능한다. 향후 동작 주파수나 소비 전력, 배터리 수명과 같은 실측 지표가 공개된다면, 오픈소스 휴대형 콘솔 설계의 비교 기준으로 활용될 여지가 있다.
참고 출처
핵심 정리
- RISCBoy는 단일 FPGA에 32비트 RISC-V 콘솔을 자가 설계한 오픈소스 프로젝트다.
- RV32IMC CPU는 RISC-V 적합성 테스트와 riscv-formal 두 단계 검증을 통과한 것으로 분석된다.
- Yosys, nextpnr, Project Icestorm 같은 오픈소스 도구 체인으로 합성이 완결된다.
- HDL과 KiCad PCB가 함께 공개되어 교육용으로 재현 가능하다.
- 오픈소스 휴대형 콘솔 설계의 비교 기준으로 활용될 가능성을 보여준다.