自作CPUのSpikeシミュレータをかなり久しぶりにアップデートすると、いろんな関数が変わっていてかなり戸惑ってしまった。
前回、モデルシミュレータが途中でハングしてしまっていたのだが、一度全部Cleanしてやり直すと多分ちゃんと動いている。
LiteXとSpikの設定を変更できるようにして、とりあえずLiteXモードで動作するようにした。
いきなりエラーとなってはいるが、一応正しいELFが読めているようなので、まずは第1段階クリアかな。
==========================================
Wrong INSN: RTL = 0b00006f, ISS = 00000297
RTL = j pc + 0xb0
ISS = auipc t0, 0x0
==========================================
===============================
SIMULATION FINISH : FAIL (CODE=100)
RUNNING TIME : 6191
===============================
正しいのはRTLっぽい。ISSの設定が何か間違えているな。
0000000000000000 <_ftext>:
0: 0b00006f j b0 <crt_init>
4: 00000013 nop
8: 00000013 nop
c: 00000013 nop
10: 00000013 nop
14: 00000013 nop
18: 00000013 nop
1c: 00000013 nop
0000000000000020 <trap_entry>:
20: fe113c23 sd ra,-8(sp)
24: fe513823 sd t0,-16(sp)
28: fe613423 sd t1,-24(sp)
2c: fe713023 sd t2,-32(sp)
30: fca13c23 sd a0,-40(sp)