LiteXのLiteScopeではどうにも細かい信号を取得することができないので、Xilinxの純正の波形のデバッグツールであるILA(Integrated Logic Analyzer)を使って内部の信号を観察する方法を見てみる。
一応、一歩ずつ問題を特定しているが、まだまだ動いていない。 分岐命令のオペランドがReadyにならずに、命令がデッドロックしている。 一応リネーム・マップを確認すると、Readyになっているのでこれがうまく伝搬していない。
Freelistに32が2回Popされている。
0x154がDEAD状態になって物理ID=32をフリーリストに返却する。 さらに、新たなるフェッチ(ID=23)が物理ID=58を取得するが、その時に古い物理ID=32が通知されている。 これは、Rename-Mapにまだ物理ID=32が残っており、どうもそれを取得しているっぽい?