CPUを自作する際に、もっとも重要なのは一歩一歩テスト駆動開発していくことだ。なぜなら非常にデバッグが辛いから。バグを早期にあぶり出すのが結果的にリードタイム向上につながるのである。(自論)
既存リポジトリ
(私はいまMIPS Release 1を自作しているので)このへんがめちゃいいのである。車輪の再発明、ダメ。
https://github.com/YurongYou/MIPS-CPU-Test-Cases
自分でテストケースを作る場合は
mipsel-sde-elf-gcc -c foo.c
mipsel-sde-elf-objcopy -j .text -O binary foo.o foo.bin
とすればRAWバイナリが生成される。勿論、gccに食わせるのはasmファイルでも構わない。結果は od -x foo.bin
等で確認できる。modelsimなどシミュレータで使用するなら、4バイト毎に改行してほしいので
od -An -tx4 -w4 foo.bin | tr -d ' '
でOK(唐突なシェル芸)
20020004
20030004
10430002
20040004
.....
こんな感じで機械語が良い感じに出力される。