FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages

AWSで動作するRISC-VデザインFireSimのカスタマイズ : Firechipを試す

f:id:msyksphinz:20180617195844p:plain

FireSimについてある程度動かしたので、今度はカスタマイズをしてみたい。

というわけで、Firesimの実際のデザイン部分であるFireChipを使ってみることにした。

Tutorial: Developing New Devices — FireSim documentation

まずはデザインをForkしてダウンロードしてみる。とりあえずriscv-toolsはインストールしなくても良いらしい。

$ git clone https://github.com/msyksphinz/firechip.git
$ cd firechip/
$ git submodule update --init
$ cd rocket-chip/
$ git submodule update --init
$ cd ..

私はVCSは持っていないので、Veritalorでシミュレーションを行う。

$ cd verisim/
$ make

これで、DefaultExampleConfig という構成でFireSimの構成が作られる。

これで次に進もうとしたのだが、run-regression-testsが動作しなくて途中で止めてしまった。これ、定義されてるのかなあ?

$ make run-regression-tests

その代わり、普通にビルドしたベンチマークプログラムは動作するらしい。試しに何本か流してみた。

msyksphinz@msyksphinz-VirtualBox:~/work/firechip/verisim$ ./simulator-example-DefaultExampleConfig /home/msyksphinz/riscv64/riscv64-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv
Microseconds for one run through Dhrystone: 540
Dhrystones per Second:                      1850
mcycle = 270271
minstret = 196530

msyksphinz@msyksphinz-VirtualBox:~/work/firechip/verisim$ ./simulator-example-DefaultExampleConfig /home/msyksphinz/riscv64/riscv64-unknown-elf/share/riscv-tests/benchmarks/rsort.riscv
mcycle = 238440
minstret = 171171