Skip to main content
QUICK REVIEW

[論文レビュー] A portable and Linux capable RISC-V computer system in Verilog HDL

Junya Miura, Hiromu Miyazaki|arXiv (Cornell University)|Feb 10, 2020
Parallel Computing and Optimization Techniques参考文献 4被引用数 6
ひとこと要約

本稿では、低価格のFPGAを対象に実装された、ポータブルでLinux対応のRISC-VコンピュータシステムRVSoCを提示する。RV32IMACをサポートし、原子的命令を処理するための二重メモリアクセスを備えた12段階のマルチサイクルプロセッサを採用しており、最小限のハードウェアリソースで6分未満でLinuxを起動可能であり、教育および組み込みアクセラレータ開発に最適である。

ABSTRACT

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)をサポートすること。
  • シミュレーションの再起動とアーキテクチャステートのログ記録により、迅速な開発とデバッグを可能にすること。
  • 約5,000行のオープンソースで教育用途に適したRTL設計を提供し、コンピュータシステムおよびカスタム命令セット拡張の教育に用いること。

提案手法

  • RV32IMACをサポートする12段階のマルチサイクルRISC-Vプロセッサ(RVCoreM)を設計し、原子的命令を処理するための二重メモリアクセスステップを備える。
  • WB段階で制御および状態レジスタに対するアトミックな読込・変更・書き戻し操作を用いてCSR命令を実装する。
  • コンsoleおよびディスクI/Oをソフトウェアシミュレータと同一にエミュレートするマイコンロジック(RVuc)を用い、アーキテクチャ的一致性を確保する。
  • 高速なソフトウェアシミュレーションのためのSimRVを活用し、ステートログ記録および再起動機能を備えたVerilog HDLベースのシミュレーションにより、効率的なデバッグを実現する。
  • 小型FPGA上での最小限のFPGAリソース使用を最適化:レジスタ約5%、LUT約16%、BRAM約28%。
  • Verilogからアーキテクチャステートを出力することで、ソフトウェアシミュレータとの直接比較が可能となり、システムレベルの検証を可能にする。

実験結果

リサーチクエスチョン

  • RQ1最小限のリソースで、低価格のFPGA上で完全なLinux起動を実現できるポータブルなRISC-VシステムをVerilog HDLで実装可能か?
  • RQ2制限されたメモリアクセス段階を持つ単純なマルチサイクルプロセッサにおいて、原子的命令(LR/SCおよびAMO)を効率的にサポートする方法は何か?
  • RQ3Linux対応のハードウェアシステムの開発と効率的なデバッグを可能にする設計技法は何か?
  • RQ4コンパクトでオープンソースのRISC-Vシステムが、コンピュータアーキテクチャおよびカスタム命令セット設計の教育的プラットフォームとしてどの程度活用可能か?

主な発見

  • RVSoCシステムは、Vivado合成後6分未満でLinuxを起動することに成功し、実用性と高速性を実証した。
  • ターゲットFPGA上ではレジスタ約5%、LUT約16%、BRAM約28%のリソースしか使用せず、最小限のハードウェアフットプリントであることが確認された。
  • 二重メモリアクセスの設計パターンにより、単純なプロセッサ上でもアトミック命令(AMOを含む)の正しく効率的な実装が可能となった。
  • ソフトウェアシミュレータのI/O動作を再現するマイコンロジックの使用により、アーキテクチャ的一致性が保たれ、デバッグが簡素化された。
  • SimRVシミュレーションとVerilog HDLシミュレーションの統合に加え、ステートログ記録および再起動機能を活用することで、重要なフェーズの再シミュレーションが的確に可能となり、開発時間が短縮された。
  • オープンソースのRTLコード(約5,000行)は、RISC-Vシステムの教育的活用および拡張のための明確で理解しやすいリファレンスを提供している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。