Chiselを使ってみる

ChiselはScalaを使ってハードウェア記述をすることができるプラットフォームのことだ。最近研究でVerilogを書いているが、限界に達している気がするので正月休みを利用してChiselの勉強をしている次第である。

ChiselはどうやらUCバークレイが開発して、RISC-Vの実装にも利用されているようだ。RISC-Vの実装に使うことができるのだから、作りたいものは恐らく作ることができるだろう。

開発環境はUbuntu 18.04。Chiselを使うためにはsbtというビルドシステムとscalaの開発環境のインストールが必要になる。sbtはバイナリをダウンロードしてインストールという人もいるがaptでも入る。(古いかもしれないが個人的にはaptがオススメ)

ディレクトリ構成はsbtによって制限される。具体的にはsbtのリファレンスを参照。ルート直下もしくはsrc/(main|test)/scala以下にファイルを置くとおぼえておけば良いだろう。src/に置いてもクラスが見つからないと言われてしまう。また、packageとしてまとめておかないとクラスを呼び出すことが出来ない(?)ので注意する必要がある

sbt compile
sbt runMain example/Hello

poke、expectについては明日