前回はとりあえずLazyModuleを使った最小のモジュールを作ってみる、という話をまとめた。
その際に以下の要素があればLazyModule
を使ったモジュールを作れるということがわかった。
Parameters
から派生したモジュールのパラメータクラスLazyModule
から派生したモジュールの皮でモジュール間の最終的な接続はここっぽい?LazyModuleImp
から派生したモジュールの実装本体
上記のようにLazyModuleImp
が実装本体っぽいという当たりがついたので、実際にRocket Chipの実装の解析が少し進むかも!!ということでコードを呼んでみた内容をまとめていく。
- 例のRocketシステム (ExampleRocketSystem)
- ExampleRocketSystemのIOポートを探す
- CanHaveMasterAXI4MemPort / CanHaveMasterAXI4MemPortModuleImp
- CanHaveMasterAXI4MMIOPort / CanHaveMasterAXI4MMIOPortModuleImp
- CanHaveSlaveAXI4Port / CanHaveSlaveAXI4PortImp
- AXIを使うモジュールの一般形?