chiselで簡単なAXI4-Liteのレジスタを書いてみました
chiselの書き方が少しわかってきたので、次にAXI4-LiteのSlaveモジュールを書こうと思いました。
まずは、chisel intefaceの書き方を以下公式ガイドを見て学ぶことにしました。 なんと、class文でかけるだけあって、parityつけることなどが継承で簡単にできそうなんです。 さらにはFlipped関数を使うと、Input/Outputをひっくり返すという仕様に感動しました。 これは、いける!!と思い、次にAXIの仕様を調べました。
Interfaces Bulk Connections · freechipsproject/chisel3 Wiki · GitHub
- AXI4 specification
- https://static.docs.arm.com/ihi0022/g/IHI0022G_amba_axi_protocol_spec.pdf
- 2019年のバージョンには、AMBA 5やらACEやらいろいろな仕様が追加されていて驚きました
仕様を読んだところで、ガイドにしたがってAXI4-Liteのレジスタを書いてみましたが、 確かに書きやすく、便利でした。
GitHub - moamoai/AXI_interface
あとがき
AXIのInterfaceがこんなにあっさり書けることに驚きます。 さすが先端のハードウェア 記述言語です。 次にFIFOや連想配列など使って、検証環境を良くしていきたいですね。