Rocket Chip
「Rocket Chipに自分のモジュールを追加してみる」の4回目&一旦ここまででお終い。 firesimのデータをそのままRocket Chipに持って行ってもエラーが出てビルドできなかったので、Rocket Chip上でビルドするにあたって行った修正についてをまとめておく。
随分間が空いたけど「Rocket Chipに自分のモジュールを追加してみる」の3回目。 残りの2つは短いので今回でまとめて扱う。
随分間が空いたけど「Rocket Chipに自分のモジュールを追加してみる」の2回目。 今回は前回作成したPWMモジュールを組み込むRocket Chipとしてのシステムのトップモジュール部分を見ていく。
なんとなく内部構造も見えてきたので、ここらでRocket Chipにモジュールを追加する例題を追っていった際のメモ書き。 長くなりそうなので、適宜分割予定(Maxで5回、、かな)。最初にお断りしておきますが、まだ理解があやふやなのです。 ご承知おきください…
前回はとりあえずLazyModuleを使った最小のモジュールを作ってみる、という話をまとめた。 その際に以下の要素があればLazyModuleを使ったモジュールを作れるということがわかった。 Parametersから派生したモジュールのパラメータクラス LazyModuleから派生…
Rocket Chipの解析の話の5回目。 今日はソースコードの解析の傍らで行っていたLazyModuleの使い方を探っていた結果についてを少し。 LazyModule LazyModuleを使った最小??のモジュール
Rocket Chipの解析の話の4回目。 今回は"make"に渡す引数の一つDefaultConfigの中身でああるConfigやParametersについて。 この辺の話はすでにmsyksphinzさんのFPGA開発日記で解説してくれているけど、解析の関係上で扱っておくべきだと思うのでざっと見てい…
Rocket Chip環境の仕組み解析メモの垂れ流し記事。前回のgenerateFirrtlで実際にChiselのモジュールとして回路化されるTestHarnessを見ていく。 TestHarness dontTouchPorts tieOffInterrupts connectSimAXIMem connectSimAXIMMIO dut.l2_frontend_bus_axi4.…
Rocket Chip環境の仕組み解析メモの垂れ流し記事。前回見ていったGeneratorの中のgenerateFirrtlを見ていくのが良さそうだったので、今回からはそれを少しずつ見ていく。 generateFirrtl トレイト"GeneratorApp"の挙動 elaborateの処理
Rocket Chip環境の仕組み解析メモの垂れ流し記事。とりあえずRTL生成時のざっくりした流れを追ったメモを元に少しだけ手直し。 Rocket ChipのRTL生成フロー(全体の流れ) src/main/system/Generator.scala オブジェクトの宣言 テストスイートの構築メソッド…
前回に引き続きRocket Chipについて。 通常の手順だとソース追いづらいので、InteliJ IDAE上に環境を構築してデバッガ使ってトレースをするための環境を整えていきます。
最近Chiselもそれなりに扱えるようになってきたので、もう少し深く突っ込むべくRocket Chipの解析を進めています。 なので、これからしばらくはRocket Chipのコード読み進めた際のメモを垂れ流しにしていくつもりです。 今回はその前段階の準備としてRocket …