FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

M1 Mac上でChipyardの環境を構築する試行

M1 MacOS上でChipyardの環境を構築したくて、いろいろ調査しているとすでに試行されているのを発見した。

qiita.com

Chipyardのバージョンは1.6.2を使用した。

M1 Mac上ではOpenJDKは別にダウンロードしなければならない。

curl -L https://cdn.azul.com/zulu/bin/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64.tar.gz | tar xz
export PATH=${HOME}/work/java/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64/bin:${PATH}
export LD_LIBRARY_PATH=${HOME}/work/java/zulu11.56.19-ca-jdk11.0.15-macosx_aarch64/lib:${LD_LIBRARY_PATH}

ツールチェインのビルドは例によって失敗するので、既にインストール済みのものを使用する。

$ which riscv64-unknown-elf-gcc
/opt/homebrew//bin/riscv64-unknown-elf-gcc

これで一応、ChiselからVerilogの生成まで行って、バイナリを作るところまで確認した。

$ cd sims/verilator
$ make CONFIG=RocketConfig debug

あれ、そこから先はSegmentation Faultで落ちた。

$ ./simulator-chipyard-RocketConfig-debug -v rv64ui-p-add.vcd $RISCV/riscv64-unknown-elf/share/riscv-tests/isa/rv64ui-p-add
This emulator compiled with JTAG Remote Bitbang client. To enable, use +jtag_rbb_enable=1.
Listening on port 58492
[UART] UART0 is here (stdin/stdout).
zsh: segmentation fault  ./simulator-chipyard-RocketConfig-debug -v rv64ui-p-add.vcd

上記のリンクでも書いてあったが、まだまだM1 Macはハードウェア屋さんにとっては使い物にならないな...