chisel の開発環境

休日にやることなくてぼけーっとしていたところ、自宅に転がっていたおもちゃを発見した。

左側は、2~3年前に購入した Zynq-7010評価ボード。右側は、5年くらい前に購入した PSoC。なにかに遊べるかなあと思って買ったきり、生活環境が変わって放置してしまっていた。

そうとなれば比較的ひまになった今遊んでみることにする。

調べると、RISC-V を勉強するには ScalaベースのChisel [Chisel – Wikipedia] がよさそうということで、単にデジタル回路組んでも面白くないし、Verilogをごりごり書くというよりは Chisel も一緒に勉強していくことにする。


まず、FPGA用に、Windows 11 の自宅デスクトップに Vivado ML Standards 2025.1 をインストール。基本的に Xilinx開発ツールのインストール:(1) Vivado MLのインストール | ACRi Blog のサイト通りにすすめば OK。画面の指示にしたがってぽちぽちしてインストール完了。途中、デバイスとしてZynq-7000 series を選択することを忘れない。


次に、Chisel 開発環境を準備する。もともと WSL (Ubuntu 24.04) が入っているので、そこにダイレクトインストール。(ほんとは docker で仮想環境切った方がいいと思うんだけど、めんどくさい)

インストール方法については、書籍「RISC-VとChiselで学ぶ はじめてのCPU自作」[RISC-VとChiselで学ぶ はじめてのCPU自作 ――オープンソース命令セットによるカスタムCPU実装への第一歩 | ⻄⼭ 悠太朗, 井⽥健太 |本 | 通販 | Amazon]という本にならう。が、RISC-Vのライブラリ関係はいまのところ不要なので、OpenJDK と SBT (Scala のビルドツール) をいれればOK。

sudo apt install openjdk-8-jdk

echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo tee /etc/apt/trusted.gpg.d/sbt.asc
sudo apt update
sudo apt install sbt

として、apt ですべてインストールして終了。


最後に sbt の起動チェック。このまま sbt とコールしてもプロジェクトファイルがないと怒られるので、

mkdir -p ~/.config/sbt
echo "--allow-empty" > ~/.config/sbt/sbtopts

として、その場で起動できるようにする。

sbt console

とたたくと、

[info] welcome to sbt 1.11.6 (Ubuntu Java 17.0.16)
[info] loading project definition from /home/sonoday/project
[info] set current project to sonoday (in build file:/home/sonoday/)
[info] Starting scala interpreter...
Welcome to Scala 2.12.20 (OpenJDK 64-Bit Server VM, Java 17.0.16).
Type in expressions for evaluation. Or try :help.

scala>

と表示されて対話式のプロンプトが表示される。

scala> println("Hello,World!")
Hello,World!

として動作完了OK。終了は Ctrl + D で抜けましょう。


まだもろもろ足りていないとおもうけど、あとは都度がんばることにして、とりあえず進む。

電子回路Chisel

Posted by kamioka