Chiselで複数のパッケージを組み合わせる方法を調べました

Chiselで複数のパッケージを組み合わせ方を調べてみました。 今回はChiselのSoCプロジェクトであるrocket-chipを調べてみました。

rocket-chip/src/main/scala at master · chipsalliance/rocket-chip · GitHub

モジュール種毎にディレクトリを分けることがわかりました。 というわけで、パッケージにして、importするだけでよく、非常に簡単に使えることがわかりました。 面倒なFilelistを作成するということが不要なのが、地味に嬉しいです。

で、次に統合テストですが、Tortureテストというのがありました。 そもそもTortureって何だろうと調べてみると笑いました。「拷問」らしいです笑 ランダムテストでいじめ抜くからなんでしょうが拷問とは。バグを自白させる感じですね。

GitHub - ucb-bar/riscv-torture at 77195ab12aefc373ca688e0a9c4d710c13191341

ただ、テストの内容が難しく、理解がまったくできませんでした。 残念です。

あとがき

srcパッケージの組み合わせ方は学べましたが、テスト環境については理解できませんでした。

また、Chiselでテストパタンを流用する方法についてはわからないままなので、今後の課題です。 abstclassを使えば良いのかなとは思ったのですが、、?