[논문 리뷰] A portable and Linux capable RISC-V computer system in Verilog HDL
이 논문은 저비용 FPGA를 대상으로 하여 이식 가능하고 Linux를 지원하는 RISC-V 컴퓨터 시스템인 RVSoC를 제안한다. Verilog HDL로 구현되었으며, RV32IMAC을 지원하고, 원자 명령어를 처리하기 위해 이중 메모리 액세스를 갖춘 12단계 다중 사이클 프로세서를 사용한다. 최소한의 하드웨어 자원으로 6분 이내에 Linux를 부팅할 수 있어 교육 및 임베디드 가속기 개발에 매우 적합하다.
RISC-V is an open and royalty free instruction set architecture which has been developed at the University of California, Berkeley. The processors using RISC-V can be designed and released freely. Because of this, various processor cores and system on chips (SoCs) have been released so far. However, there are a few public RISC-V computer systems that are portable and can boot Linux operating systems. In this paper, we describe a portable and Linux capable RISC-V computer system targeting FPGAs in Verilog HDL. This system can be implemented on an FPGA with fewer hardware resources, and can be implemented on low cost FPGAs or customized by introducing an accelerator. This paper also describes the knowledge obtained through the development of this RISC-V computer system.
연구 동기 및 목표
- 저비용 FPGA에서 동작하는 이식 가능하고 Linux 호환 RISC-V 컴퓨터 시스템을 설계하는 것.
- 최소한의 하드웨어 자원으로 전체 RISC-V 특권 레벨, CSR 명령어, 원자성 메모리 연산(LR/SC 및 AMO)을 지원하는 것.
- 시뮬레이션 재시작 및 아키텍처 상태 로깅을 통해 빠른 개발 및 디버깅을 가능하게 하는 것.
- 컴퓨터 시스템 및 커스텀 인struction 세트 확장 교육에 적합한 오픈소스, 교육용 RTL 설계(~5,000줄)를 제공하는 것.
제안 방법
- 원자 명령어 처리를 위해 이중 메모리 액세스 단계를 갖춘 12단계 다중 사이클 RISC-V 프로세서(RVCoreM) 설계. RV32IMAC을 지원한다.
- WB 단계에서 제어 및 상태 레지스터에 원자적 읽기-수정-쓰기 연산을 사용하여 CSR 명령어를 구현한다.
- 소프트웨어 시뮬레이터와 동일한 방식으로 콘솔 및 디스크 I/O를 모방하기 위해 마이크로컨트롤러(RVuc)를 사용하여 아키텍처 일관성을 확보한다.
- 고속 소프트웨어 시뮬레이션을 위해 SimRV를 활용하고, 상태 로깅 및 재시작 기능을 갖춘 Verilog HDL 기반 시뮬레이션을 통해 효율적인 디버깅을 실현한다.
- 소형 FPGA에서 최소한의 FPGA 자원 사용을 최적화: 대략 5% 레지스터, 16% LUT, 28% BRAM.
- Verilog에서 아키텍처 상태를 출력하여 소프트웨어 시뮬레이터와 직접 비교할 수 있도록 시스템 수준의 검증을 가능하게 한다.
실험 결과
연구 질문
- RQ1최소한의 하드웨어 자원으로 저비용 FPGA에서 전체 Linux 부팅을 지원하는 이식 가능한 RISC-V 시스템을 Verilog HDL로 구현할 수 있는가?
- RQ2제한된 메모리 액세스 단계를 가진 단순한 다중 사이클 프로세서에서 원자 명령어(LR/SC 및 AMO)를 어떻게 효율적으로 지원할 수 있는가?
- RQ3Linux 호환 하드웨어 시스템의 빠른 개발 및 효율적 디버깅을 가능하게 하는 설계 기법은 무엇인가?
- RQ4소형 오픈소스 RISC-V 시스템이 컴퓨터 아키텍처 및 커스텀 인struction 세트 설계 교육 플랫폼으로 얼마나 효과적으로 활용될 수 있는가?
주요 결과
- RVSoC 시스템은 Vivado 합성 후 6분 이내에 Linux를 성공적으로 부팅하여 높은 실용성과 빠른 부팅 속도를 입증했다.
- 대상 FPGA에서 레지스터 약 5%, LUT 약 16%, BRAM 약 28%만을 사용하여 매우 작은 하드웨어 자원 소비를 확인했다.
- 이중 메모리 액세스 설계 패턴은 단순한 프로세서에서 AMO를 포함한 원자 명령어를 정확하고 효율적으로 구현할 수 있도록 했다.
- 소프트웨어 시뮬레이터의 I/O 동작을 그대로 모방하는 마이크로컨트롤러의 사용은 아키텍처 일관성을 확보하고 디버깅을 단순화했다.
- SimRV 시뮬레이션과 Verilog HDL 기반 시뮬레이션의 통합, 상태 로깅 및 재시작 기능을 통해 핵심 단계의 타겟된 재시뮬레이션을 가능하게 하여 개발 시간을 줄였다.
- 오픈소스 RTL 코드(~5,000줄)는 RISC-V 시스템의 교육 및 확장에 매우 명확하고 이해하기 쉬운 참고 자료를 제공한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.