2017年 11月 28日 ( 1 )

チューリッヒ工科大学とボローニャ大学が共同で作っている zero-riscy の調査中です。
rv32ui と rv32um の isa-test を流してみます。
以下の修正をしました。
  • 実装の無い CSRegister へのアクセスは illegal instruction 例外を発生
  • fence/fence.i を NOP 命令として実装
  • mtvec レジスタを書き込み可能にして Direct Mode に対応
  • mstatus レジスタに USER モード追加 ← これ、かなり大規模
  • mcause レジスタに入れる Exception Code の修正 (ecall 時のモード)
この修正で fence.i 以外はパスするようになりました。
fence.i は自己書き換えコードの実行かな?プリフェッチャが付いていて良く分からないので、とりあえず後回しにしたいと思います。
次は rv32mi を試してみたいと思います。
ma_addr と ma_fetch はすぐにパスしました。
次の修正すると csr がパスしました。
  • misa レジスタ追加
  • mscratch レジスタ追加
続く??
そういえば、rv32uc も通るはずなのかな?

[PR]
by tom01h | 2017-11-28 23:17 | Trackback | Comments(0)