OpenXiangShan/XiangShan
XiangShan 프로젝트에서 개발한 Scala와 Chisel 기반의 오픈소스 고성능 RISC-V 프로세서 코어입니다.
- 스타
- 7,368
- 포크
- 977
- 열린 이슈
- 336
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
XiangShan은 오픈소스 고성능 RISC-V 프로세서 프로젝트입니다. 설계는 Scala에 임베드된 하드웨어 구성 언어인 Chisel로 작성되며, 칩 개발에 사용할 수 있는 Verilog를 생성합니다.
저장소에는 Yanqihu, Nanhu, Kunminghu를 비롯한 여러 세대의 마이크로아키텍처가 각기 별도의 브랜치로 관리됩니다. 현재 개발 중인 계열은 Kunminghu-V2와 V3이며, V3는 활발히 개발되고 있습니다. 프로젝트에는 주변 툴체인도 포함됩니다. Verilator 기반 C++ 에뮬레이터, difftest 공동 시뮬레이션 프레임워크, 캐시 서브시스템, Python 기반 디버거(xspdb)를 제공합니다.
설계 문서와 사용자 가이드는 프로젝트 문서 사이트에 별도로 공개되어 있으며, 성능 대시보드에서 커밋별 결과와 SPEC 회귀 테스트 결과를 확인할 수 있습니다.
핵심 기능
- 01고성능 비순차 실행 마이크로아키텍처로 RISC-V 명령어 집합을 구현합니다.
- 02Chisel로 작성되며 make verilog를 통해 Verilog를 생성합니다.
- 03RISC-V 바이너리를 실행하는 Verilator 기반 C++ 시뮬레이터를 포함합니다.
- 04NEMU 참조 모델과의 difftest 공동 시뮬레이션을 제공합니다.
- 05실행 과정을 단계별로 진행하고 검사할 수 있는 Python 기반 디버거 xspdb를 제공합니다.
활용 사례
- 기능이 풍부한 오픈소스 RISC-V 코어를 활용해 프로세서 마이크로아키텍처를 연구합니다.
- 하드웨어 검증 및 공동 시뮬레이션 워크플로를 살펴봅니다.
- 공개된 Verilog를 기반으로 후속 RISC-V 칩 설계를 구축합니다.
- Verilator 시뮬레이터에서 RISC-V 워크로드의 벤치마크를 수행합니다.
빠른 시작
- 1
NEMU_HOME, NOOP_HOME, AM_HOME 환경 변수를 설정하고 mill을 설치합니다
- 2
프로젝트를 클론하고 서브모듈을 초기화합니다
make init - 3
Verilator를 설치한 다음 C++ 시뮬레이터를 빌드합니다
make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 - 4
시뮬레이터에서 프로그램을 실행합니다
./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
사용 전 알아둘 점
- 빌드에 여러 외부 프로젝트(NEMU, nexus-am, mill, Verilator)가 필요하므로 설정 과정이 복잡합니다.
- kunminghu-v3 브랜치는 아직 개발 중이라 안정적이지 않을 수 있습니다. 연구에는 kunminghu-v2를 권장합니다.
토픽
자주 묻는 질문
- XiangShan은(는) 무엇인가요?
- XiangShan 프로젝트에서 개발한 Scala와 Chisel 기반의 오픈소스 고성능 RISC-V 프로세서 코어입니다. XiangShan은 오픈소스 고성능 RISC-V 프로세서 프로젝트입니다. 설계는 Scala에 임베드된 하드웨어 구성 언어인 Chisel로 작성되며, 칩 개발에 사용할 수 있는 Verilog를 생성합니다.
- XiangShan은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- XiangShan은(는) MulanPSL-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- XiangShan은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. XiangShan의 마지막 커밋은 2026년 11월 6일입니다.
- XiangShan은(는) 어디에 사용할 수 있나요?
- 기능이 풍부한 오픈소스 RISC-V 코어를 활용해 프로세서 마이크로아키텍처를 연구합니다. 하드웨어 검증 및 공동 시뮬레이션 워크플로를 살펴봅니다. 공개된 Verilog를 기반으로 후속 RISC-V 칩 설계를 구축합니다. Verilator 시뮬레이터에서 RISC-V 워크로드의 벤치마크를 수행합니다.
- XiangShan는 어떻게 설치하나요?
- NEMU_HOME, NOOP_HOME, AM_HOME 환경 변수를 설정하고 mill을 설치합니다 프로젝트를 클론하고 서브모듈을 초기화합니다: make init Verilator를 설치한 다음 C++ 시뮬레이터를 빌드합니다: make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 시뮬레이터에서 프로그램을 실행합니다: ./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
- XiangShan은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/OpenXiangShan/XiangShan
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
LeRobot 라이브러리와 함께 사용할 수 있는 저가형 SO-100/SO-101 로봇 팔의 오픈소스 3D 프린팅 설계와 부품 목록입니다.
ESP32 기반의 오픈소스 3D 프린팅 미니 사족보행 로봇으로, OLED 얼굴과 서보 모터 구동 보행 기능을 갖췄습니다.