LiteXでのシミュレーション環境の詳細をつかみたくて、いろいろ試しているのだが、どうしてもFSTファイルを取得したいと思っている。 ソースコードを読んでいると、どうもオプションを追加するだけでFSTが取得できる。
./sim.py --trace --trace-fst
これで./build/sim/gateware/sim.fst
に大きなFSTが生成されるので、これをGTKWaveで取得して波形を読んでみることにした。
まずは全体的な階層構成。VexRiscvの構成はかなり失われているが、とりあえずCPUのインタフェースのみ取得できればよい。
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/msyksphinz/20221225/20221225014035.png)
次にインタフェースだが、IBus / DBusというのが命令フェッチとデータバスっぽい。
これを観測していると、とりあえず命令を取得できていることは分かった。Linuxブートにむけてかなり波形が大きくなっている。
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/msyksphinz/20221225/20221225014308.png)
![](https://cdn-ak.f.st-hatena.com/images/fotolife/m/msyksphinz/20221225/20221225014346.png)
つぎは、これと同じ環境を自作CPUで用意して、何が起きているのかを波形でもって観測していきたい。