以下の内容はhttps://msyksphinz.hatenablog.com/entry/2021/02/04/040000より取得しました。


Chiselの記述されたSweRV-EL2コアQuasarを試す

f:id:msyksphinz:20210203235517p:plain
https://riscv.org/wp-content/uploads/2019/12/12.11-14.20a3-Bandic-WD_SweRV_Cores_Roadmap_v4SCR.pdf より抜粋

本日メーリスでアナウンスがあった、Chiselで記述されたSweRV-EL2コア実装Quasarを少し試してみることにした。

SweRV-EL2はWestern Digitalによって開発・管理されているコアなのだが、オープンソースで公開されている。これをLampro-MellonというチームがChiselに移植したらしい。 コアのソースコードを少し眺めてみると、なるほどSystemVerilogの実装をそのままChiselに一対一で置き換えたようで、まあChiselの勉強用といった感じだろうが。Chiselをフル活用するならばもう少しきれいな書き方がありそうな気がする。

github.com

使い方は割とそのままで、リポジトリをダウンロードしてMakeすればそのまま終わる。

$ git clone git@github.com:Lampro-Mellon/Quasar.git
$ cd Quasar
$ export RV_ROOT=$(pwd)

後になって分かったのだが、もう一つ以下の環境変数を設定しておく必要がある。これはおそらくリポジトリのミスでありそうな気がする。

export GCC_PREFIX_cpp=${RISCV}/bin/riscv64-unknown-elf

以下を実行すればRTLの生成とシミュレーションが動作した。ここまでは至極単純そうだ。

$ make GCC_PREFIX_cpp=/home/msyksphinz/riscv64/bin/riscv64-unknown-elf -f $RV_ROOT/tools/Makefile
./obj_dir/Vtb_top

VerilatorTB: Start of sim

----------------------------------
Hello World from Quasar @LM !!
----------------------------------
TEST_PASSED

Finished : minstret = 421, mcycle = 890
See "exec.log" for execution trace with register updates..

- /home/msyksphinz/work/riscv/Quasar/testbench/tb_top.sv:344: Verilog $finish



以上の内容はhttps://msyksphinz.hatenablog.com/entry/2021/02/04/040000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14