ハードウェアの気になるあれこれ

技術的に興味のあることを調べて書いてくブログ。主にハードウェアがネタ。

Rocket Chip

Rocket ChipのGeneratorのソースの解析メモ(7) - サンプルに沿ってPWMモジュールをTileLinkバスに追加してみる(1)

なんとなく内部構造も見えてきたので、ここらでRocket Chipにモジュールを追加する例題を追っていった際のメモ書き。 長くなりそうなので、適宜分割予定(Maxで5回、、かな)。最初にお断りしておきますが、まだ理解があやふやなのです。 ご承知おきください…

Rocket ChipのGeneratorのソースの解析メモ(6) - ExampleRocketSystemのIOポート

前回はとりあえずLazyModuleを使った最小のモジュールを作ってみる、という話をまとめた。 その際に以下の要素があればLazyModuleを使ったモジュールを作れるということがわかった。 Parametersから派生したモジュールのパラメータクラス LazyModuleから派生…

Rocket ChipのGeneratorのソースの解析メモ(5) - LazyModuleを使った最小??のモジュールを作る

Rocket Chipの解析の話の5回目。 今日はソースコードの解析の傍らで行っていたLazyModuleの使い方を探っていた結果についてを少し。 LazyModule LazyModuleを使った最小??のモジュール

Rocket ChipのGeneratorのソースの解析メモ(4) - Config、Parameters、Field

Rocket Chipの解析の話の4回目。 今回は"make"に渡す引数の一つDefaultConfigの中身でああるConfigやParametersについて。 この辺の話はすでにmsyksphinzさんのFPGA開発日記で解説してくれているけど、解析の関係上で扱っておくべきだと思うのでざっと見てい…

Rocket ChipのGeneratorのソースの解析メモ(3) - TestHarnessの中身

Rocket Chip環境の仕組み解析メモの垂れ流し記事。前回のgenerateFirrtlで実際にChiselのモジュールとして回路化されるTestHarnessを見ていく。 TestHarness dontTouchPorts tieOffInterrupts connectSimAXIMem connectSimAXIMMIO dut.l2_frontend_bus_axi4.…

Rocket ChipのGeneratorのソースの解析メモ(2) - generateFirrtlを追ってみる

Rocket Chip環境の仕組み解析メモの垂れ流し記事。前回見ていったGeneratorの中のgenerateFirrtlを見ていくのが良さそうだったので、今回からはそれを少しずつ見ていく。 generateFirrtl トレイト"GeneratorApp"の挙動 elaborateの処理

Rocket ChipのGeneratorのソースの解析メモ(1)

Rocket Chip環境の仕組み解析メモの垂れ流し記事。とりあえずRTL生成時のざっくりした流れを追ったメモを元に少しだけ手直し。 Rocket ChipのRTL生成フロー(全体の流れ) src/main/system/Generator.scala オブジェクトの宣言 テストスイートの構築メソッド…

IntelliJ IDEA上でRocket Chipのエミュレータをビルドする

前回に引き続きRocket Chipについて。 通常の手順だとソース追いづらいので、InteliJ IDAE上に環境を構築してデバッガ使ってトレースをするための環境を整えていきます。

Rocket Chipの環境構築

最近Chiselもそれなりに扱えるようになってきたので、もう少し深く突っ込むべくRocket Chipの解析を進めています。 なので、これからしばらくはRocket Chipのコード読み進めた際のメモを垂れ流しにしていくつもりです。 今回はその前段階の準備としてRocket …