RISC-Vプロセッサシミュレータ作成試行

RISC-Vについて、仕様理解を深めるために試しにプロセッサシミュレータ(RV32UI)を作ってみている。理解は進められているが、思ったより、難しく、技術を学ぶ必要があるということが結論。

  • 妥当性確認方法
    riscv-tests/isaが流れることとして確認を進めている。
    CSRの妥当性確認方法はどうするか確認が必要

  • ソースコード作成方法
    言語: Python
    好き勝手記載していて、非常に品質悪い
    git: GitHub - moamoai/riscv_stimulus

  • 現状の結果: 14/39 (2019/2/10)
    現状の結果は以下となっていて、完成度は低い。Failとなる命令を逐一潰して進めていく必要がある。

  • 感想
    シミュレータ作成はなかなかに面倒だ。もっと楽にシミュレータを作成できる方法がないか調べる必要がある。

TEST: 39
PASS: 14
log/rv32ui-p-add.log          : Pass
log/rv32ui-p-addi.log         : Pass
log/rv32ui-p-and.log          : Pass
log/rv32ui-p-andi.log         : Pass
log/rv32ui-p-auipc.log        : Fail
log/rv32ui-p-beq.log          : Pass
log/rv32ui-p-bge.log          : Fail
log/rv32ui-p-bgeu.log         : Fail
log/rv32ui-p-blt.log          : Fail
log/rv32ui-p-bltu.log         : Pass
log/rv32ui-p-bne.log          : Pass
=============
log/rv32ui-p-sra.log          : Fail
log/rv32ui-p-srai.log         : Fail
log/rv32ui-p-srl.log          : Fail
log/rv32ui-p-srli.log         : Pass
log/rv32ui-p-sub.log          : Fail
log/rv32ui-p-sw.log           : 
log/rv32ui-p-xor.log          : Pass
log/rv32ui-p-xori.log         : Pass