Building an Octa-core 32-bit RISC-V PC on an FPGA board

x11-usb-litex-vexriscv

Luffcaでは、X Window System(X11)が動作する8コアの32-bit RISC-V PCを、Qmtech社のFPGAボードのWukongボード上に構築しました。
USB接続のキーボードとマウスは、ロジクール社のワイヤレスコンボMK245 NANOを使用しています。
このPCは、https://github.com/litex-hub/linux-on-litex-vexriscv等をベースにしています。

Linux on LiteX-VexRiscv

litex-vexriscv-console

Linux on LiteX-VexRiscvは、ソフトプロセッサとして32-bit RISC-VのVexRiscvを使用しています。
VexRiscvの周辺には、LiteXのIPコアが使用され、SoCビルダーのLiteXを使用して、SoCが構築されます。

RISC-V PC

Luffcaでは、以下の構成でRISC-V PCを構築しました。

  • RISC-V PC本体
    • Qmtech Wukongボード
    • Pmod usb_host_x4の代替品
  • USBワイヤレス・キーボード・マウス・コンボ
  • HDMIディスプレイ
  • MicroSD
  • USBケーブル (USB-UART)

WukongボードベースのRISC-V PCの主要仕様は、以下の通りです。

  • CPU: オクタコア 32-bit RISC-V
    • ISA: RV32IMAFDC + AESカスタム拡張
    • 動作周波数: 100 MHz
  • DRAM: 256 MB
  • Ethernet: 100/1000 Mbps
  • USB: 2ポート (最大4ポートまで増設可)
  • ディスプレイ解像度: 1024×600
  • ストレージ
    • MicroSD: OpenSBI、Linux及びrootfs

まとめ

Luffcaでは、モディファイしたLiteX/VexRiscv等を使用して、X Window System(X11)が動作する8コアの32-bit RISC-V PCをQmtech社のWukongボード上に構築しました。
このPCの特徴は、モディファイしたLiteX/VexRiscvによってUSBホスト機能を実現した点です。
また、このCPUのISAをSaxonSocのCPUのISAと同じにすることで、多くのアプリケーションを流用できるのは良い点だと思います。