前回のテストプログラムでも、どうもmemset()
とmemcpy()
の速度が遅すぎると思い、一応波形で確認を取ってみたのだった。
$ litex_sim --cpu-type=scariv --output scariv_build --trace --trace-fst --trace-end 100000000000 --integrated-rom-init=./litex/litex/soc/software/scariv_test/demo.bin
波形としては、AXIのインタフェースがやはり遅すぎる。AXIのWrite Validに対して、ReadyがAssertされるまでに10サイクル程度かかっており、さらにAXIのRead Validが入ってからRead Readyが戻ってくるまでに14サイクル、さらにRead Responseまで24サイクルかかっており、かなり遅い結果となっている。
LiteXのAXIを構成をもっと改造して何とかなるのならばいろいろ考えるが、そうでもないのならば、とりあえずこのまま放置してデバッグの方に集中しようかな。