munetomo-maruyama/mmRISC-2
RTL, 검증 환경, 문서를 모두 Claude Code로 작성한 SystemVerilog 기반 64비트 RISC-V CPU 코어로, Arty A7 FPGA 보드에서 Linux를 부팅합니다.
- 스타
- 168
- 포크
- 32
- 열린 이슈
- 0
- 마지막 커밋
- 17일 전
어떤 프로젝트인가요?
mmRISC-2는 Digilent Arty A7-100T FPGA 보드를 대상으로 하는 SystemVerilog 기반의 자체 제작 64비트 RISC-V 프로세서(RV64GC)입니다. 8단계 순차 파이프라인, PMP를 포함한 Sv39 MMU, 분기 예측, 단정밀도 및 배정밀도 FPU, 16 KB L1 명령어·데이터 캐시, 256 KB L2 캐시를 갖추고 있습니다. 주변 장치는 LiteX에서 제공하며, 온칩 JTAG/cJTAG 디버그 기능도 지원합니다.
보드에서 50 MHz로 동작하며, SD 카드에서 LiteX BIOS, OpenSBI, Linux 7.2를 부팅해 BusyBox 셸을 실행할 수 있습니다. Debian 13(riscv64)도 부팅할 수 있으며, 보드 자체에서 gcc, make, gdb를 실행할 수 있습니다. 베어메탈 C 프로그램을 빌드하고 JTAG를 통해 Eclipse IDE에서 디버깅할 수도 있습니다. 코어는 Linux perf에서 사용할 수 있는 성능 카운터 이벤트 29개를 제공합니다.
저장소에는 자체 제작 테스트, riscv-tests, 참조 모델, 버그 주입을 포함한 검증 환경과 설계 이력 및 사양에 관한 문서도 들어 있으며, 문서는 영어와 일본어로 제공됩니다.
핵심 기능
- 01M, S, U 모드, Sv39 MMU, 8개 엔트리의 PMP를 지원하는 RV64GC 코어.
- 02분기 예측(BTB, gshare, return address stack)을 갖춘 8단계 순차 파이프라인.
- 03파이프라인 데이터패스를 사용하는 단정밀도·배정밀도 FPU.
- 0416 KB L1 명령어·데이터 캐시와 256 KB L2 캐시.
- 05Arty A7-100T에서 SD 카드로 Linux 7.2와 Debian 13을 부팅합니다.
- 06하드웨어 트리거를 지원하는 온칩 JTAG/cJTAG 디버그 기능으로 OpenOCD 및 gdb에서 사용할 수 있습니다.
활용 사례
- SystemVerilog로 RISC-V CPU 코어, 캐시, MMU를 구현하는 방법을 학습합니다.
- 저렴한 FPGA 보드에서 맞춤형 RISC-V 코어로 Linux를 실행합니다.
- Eclipse를 통해 FPGA에서 동작하는 RISC-V 코어용 베어메탈 C 프로그램을 개발하고 디버깅합니다.
- 참조 모델과 버그 주입을 활용한 프로세서 검증의 참고 자료로 사용합니다.
사용 전 알아둘 점
- 특정 FPGA 보드인 Digilent Arty A7-100T에서 실행되므로, 포팅하지 않으면 다른 하드웨어에서는 실행할 수 없습니다.
- 프로젝트는 Rev.02로 종료되므로 추가 개발은 계획되어 있지 않습니다.
토픽
자주 묻는 질문
- mmRISC-2은(는) 무엇인가요?
- RTL, 검증 환경, 문서를 모두 Claude Code로 작성한 SystemVerilog 기반 64비트 RISC-V CPU 코어로, Arty A7 FPGA 보드에서 Linux를 부팅합니다. mmRISC-2는 Digilent Arty A7-100T FPGA 보드를 대상으로 하는 SystemVerilog 기반의 자체 제작 64비트 RISC-V 프로세서(RV64GC)입니다. 8단계 순차 파이프라인, PMP를 포함한 Sv39 MMU, 분기 예측, 단정밀도 및 배정밀도 FPU, 16 KB L1 명령어·데이터 캐시, 256 KB L2 캐시를 갖추고 있습니다. 주변 장치는 LiteX에서 제공하며, 온칩 JTAG/cJTAG 디버그 기능도 지원합니다.
- mmRISC-2은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- mmRISC-2은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- mmRISC-2은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. mmRISC-2의 마지막 커밋은 2026년 10월 20일입니다.
- mmRISC-2은(는) 어디에 사용할 수 있나요?
- SystemVerilog로 RISC-V CPU 코어, 캐시, MMU를 구현하는 방법을 학습합니다. 저렴한 FPGA 보드에서 맞춤형 RISC-V 코어로 Linux를 실행합니다. Eclipse를 통해 FPGA에서 동작하는 RISC-V 코어용 베어메탈 C 프로그램을 개발하고 디버깅합니다. 참조 모델과 버그 주입을 활용한 프로세서 검증의 참고 자료로 사용합니다.
- mmRISC-2은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/munetomo-maruyama/mmRISC-2
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
컴퓨터가 부팅되고 프로그램이 실제로 실행되는 과정을 CPU부터 syscall과 프로세스까지 여러 장에 걸쳐 설명하는 기술 가이드입니다.
CPU 온도, 주파수, 전력, 사용률을 그래프로 보여 주고 CPU 스트레스 테스트를 내장한 터미널 UI입니다.
AI 에이전트가 EasyEDA Pro에서 데이터시트를 읽고 회로도를 그리고 PCB를 배치하며 설계를 검사하도록 지원하는 자동화 계층입니다.