Repolode
munetomo-maruyama

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로 종료되므로 추가 개발은 계획되어 있지 않습니다.

토픽

#risc-v#cpu#fpga#systemverilog#hardware-design#linux#rtl#processor-verification

자주 묻는 질문

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 통계는 매일 갱신됩니다.

관련 프로젝트

임베디드 제어 애플리케이션을 위해 설계된, SystemVerilog로 작성한 소형 고품질 32비트 RISC-V CPU 코어입니다.

기타#risc-v#cpu-core#hardware
2.2천+17 이번 주830SystemVerilogApache-2.0업데이트 19시간 전

Verilog를 생성하는 매개변수화된 디지털 회로 생성기를 작성할 수 있도록 Scala에 내장된 오픈 소스 하드웨어 기술 언어입니다.

개발 도구#hardware-description-language#rtl#scala
4.8천+4 이번 주664ScalaApache-2.0활발히 관리됨업데이트 어제