久しぶりに自作CPUのコアをLiteXに接続して、シミュレーション作業をしている。 FPGAの環境はどうにかなりつつあるので、シミュレーションでBIOSが動作するのを確認すれば、まずはなんとかなるんじゃないかなと思い作業中。
一応かろうじてLiteXのキーボード入力が動作するようになっているのだが、まだ不安定だ。 キーボードを叩いていると、勝手にリブートしてしまうことがある。これについては割り込みを入れていることが要因なのは明らかなのだが、どこが問題なのかは波形を取って確認する必要があるな。
Uncachedの領域に対する書き込みに関しては、Uncached Loadの待ち合わせをかなり遅らせる必要がある。 これについては、これまではStore Bufferが空になるまで待ち合わせをさせていたのだが、Uncached Bufferについても同様に待ち合わせをする必要があるようだ。
これを入れても、本当に正しく動いているかどうかはやはり波形を解析してみないとわからない。