Chisel-Bootcampの続き。第4章はFIRRTLについて学習した。
Chiselで記述したハードウェアデザインは、FIRRTLのモジュールを組み込むことでVerilogに変換できる。 また、ASTの情報を作り上げて出力することができる。
Chiselを使ったこれらの処理の利点として、Verilogの情報をAST経由で集めることができる。 例えば、Chiselの中間表現のツリーを利用してレジスタの数を数えたり、回路構造の解析を行うことができるというのがメリットだ。
チュートリアルでは、stringifyAST
とか、compileFIRRTL
などが出てくるが、これらはsource/load-ivy.sc
に出ているので写経する。
compileFIRRTL
なんてのも、最終的にはcompiler.compile
を呼び出しているのであまり中身をしっかり見る意味はないけれども...
という訳で一通り読み切った(と思うけど結構読み飛ばしながらやってるから復習しなきゃ...)。
次に見るべきは、
などを読み込んで、Chiselの高度な使い方について見ていこうと思う。