FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

RISC-Vのランダムテストジェネレータ AAPGを試す (8. AAPGを使ったデバッグ)

自作RISC-Vコアの実装がかなり安定してきたので、AAPGでさらなるテストを流している。

gitlab.com

もともとshakti向けに提供されている例を使って検証を拡充してみることにした。

atomicアクセス系の命令がFAILとなるのは要因がわかった。LSUパイプライン中のミスだ。仮想アドレスから物理アドレスの変換が完了すると、それから先はTLBの結果を使用してはならない。

あとは、AAPGのテストパタン・生成ツールを整備して、無駄にjsonファイルが生成されることを防ぐ。

for config in `ls -1 ../tests/aapg/configs/core_configs/`
do
../scripts/run_aapg.py -y ../tests/aapg/configs/core_configs/${config} -j$(nproc) -n 5
done

とりあえず、800本流して、落ちたのは208本、1/4がFailとなった。ここから大きく区分けしてデバッグしていくことになる。

$ ls -1 */*.rv64imafdc.standard.log | wc -l
800
$ tail -n20 */*.rv64imafdc.standard.log | grep -c Wrong
208