自作RISC-Vコアの実装がかなり安定してきたので、AAPGでさらなるテストを流している。
前回はFRMの問題を修正して再度ランダムテストをすべて流した。600本程度テストを流して、落ちたのは以下。25本程度。
check_all_202310200609/result.json: "error": 7, check_csr_202310200612/result.json: "error": 9, iclass_rv64imafdc_bringup_202310192349/result.json: "error": 1, iclass_rv64imafdc_hazards_202310190043/result.json: "error": 1, iclass_rv64imafdc_recursion_branch_202310200213/result.json: "error": 1, iclass_rv64imafdc_test_all2_202310190220/result.json: "error": 3, iclass_rv64imafdc_while_test_202310190811/result.json: "error": 1,
- FPUの計算結果がおかしい?
106 GPR[13](81) <= 0000000000000000
107 1104916 : 295841 : PC=[00000000800372fe] (M,03,02) c21d78d3 fcvt.wu.d a7, fs10
108 ==========================================
109 Wrong GPR[17](104): RTL = 0000000000000000, ISS = ffffffffffffffff
126 FPR[16](19) <= ffffffff4d3254f5
127 37932 : 5466 : PC=[00000000800054ea] (M,13,04) 21082e53 fsgnjx.s ft8, fa6, fa6
128 ==========================================
129 Wrong FPR[28](102): RTL = ffffffff30bfa000, ISS = ffffffff4d3254f5
- ロード命令の結果がおかしい?
6 525039 : 207070 : PC=[00000000800002e6] (M,19,08) 000072a2 c.ldsp t0, 40(sp)
7 MR8(0x000000008009d960)=>00000000800001e0
8 ==========================================
9 Wrong GPR[05](125): RTL = 0000000c800001e0, ISS = 00000000800001e0
31 43875 : 14482 : PC=[00000000800002e2] (M,50,02) 000061e2 c.ldsp gp, 24(sp)
32 MR8(0x00000000900016c0)=>0000000000000000
33 ==========================================
34 Wrong GPR[03](182): RTL = 000000000001f000, ISS = 0000000000000000
101 396086 : 101843 : PC=[0000000080000318] (M,44,02) 000073e2 c.ldsp t2, 56(sp)
102 MR8(0x0000000080095ab0)=>662d0be9aab6c673
103 ==========================================
104 Wrong GPR[07](34): RTL = 59ae1150f0eaf9f3, ISS = 662d0be9aab6c673
111 220373 : 72490 : PC=[00000000800002e2] (M,33,02) 000061e2 c.ldsp gp, 24(sp)
112 MR8(0x0000000080093a88)=>4e9ea06fd98cba15
113 ==========================================
114 Wrong GPR[03](78): RTL = 8000a1fa80093ab0, ISS = 4e9ea06fd98cba15
116 293150 : 98162 : PC=[00000000800002e8] (M,13,01) 00007342 c.ldsp t1, 48(sp)
117 MR8(0x0000000080096328)=>00000000000065d8
118 ==========================================
119 Wrong GPR[06](96): RTL = 0000000000000000, ISS = 00000000000065d8
121 392043 : 141247 : PC=[00000000800002f2] (M,35,02) 000065e6 c.ldsp a1, 88(sp)
122 MR8(0x0000000080090ae0)=>0000000000000000
123 ==========================================
124 Wrong GPR[11](15): RTL = 0000000012c47f3e, ISS = 0000000000000000
- hpmcounterの実装が適当になっている。
11 8149 : RTL(61,1) Exception Cause = CSR Update Flush(27) PC=0000800004a4, Inst=c1bad7f3, csrrwi a5, hpmcounter27, 21
12 8149 : 646 : PC=[00000000800004a4] (M,61,01) c1bad7f3 csrrwi a5, hpmcounter27, 21
13 ==========================================
14 Wrong PC: RTL = 00000000800004a4, ISS = 00000000800001e0
16 44509 : RTL(42,1) Exception Cause = CSR Update Flush(27) PC=00008000115a, Inst=c16d3c73, csrrc s8, hpmcounter22, s10
17 44509 : 14922 : PC=[000000008000115a] (M,42,01) c16d3c73 csrrc s8, hpmcounter22, s10
18 ==========================================
19 Wrong PC: RTL = 000000008000115a, ISS = 00000000800001e0
21 7607 : RTL(22,1) Exception Cause = CSR Update Flush(27) PC=000080000424, Inst=c12f17f3, csrrw a5, hpmcounter18, t5
22 7607 : 516 : PC=[0000000080000424] (U,22,01) c12f17f3 csrrw a5, hpmcounter18, t5
23 ==========================================
24 Wrong PC: RTL = 0000000080000424, ISS = 00000000800001e0
26 14840 : RTL(59,1) Exception Cause = CSR Update Flush(27) PC=0000800007e2, Inst=c059d873, csrrwi a6, hpmcounter5, 19
27 14840 : 3256 : PC=[00000000800007e2] (U,59,01) c059d873 csrrwi a6, hpmcounter5, 19
28 ==========================================
29 Wrong PC: RTL = 00000000800007e2, ISS = 00000000800001e0
36 31272 : RTL(29,1) Exception Cause = CSR Update Flush(27) PC=000080000f04, Inst=c0c6a873, csrrs a6, hpmcounter12, a3
37 31272 : 9335 : PC=[0000000080000f04] (U,29,01) c0c6a873 csrrs a6, hpmcounter12, a3
38 ==========================================
39 Wrong PC: RTL = 0000000080000f04, ISS = 00000000800001e0
46 13117 : RTL(41,1) Exception Cause = CSR Update Flush(27) PC=0000800007d4, Inst=c17a1773, csrrw a4, hpmcounter23, s4
47 13117 : 2892 : PC=[00000000800007d4] (M,41,01) c17a1773 csrrw a4, hpmcounter23, s4
48 ==========================================
49 Wrong PC: RTL = 00000000800007d4, ISS = 0000000080000298
61 34027 : RTL(18,1) Exception Cause = CSR Update Flush(27) PC=000080001446, Inst=c12a2673, csrrs a2, hpmcounter18, s4
62 34027 : 10219 : PC=[0000000080001446] (M,18,01) c12a2673 csrrs a2, hpmcounter18, s4
63 ==========================================
64 Wrong PC: RTL = 0000000080001446, ISS = 0000000080000298
61 34027 : RTL(18,1) Exception Cause = CSR Update Flush(27) PC=000080001446, Inst=c12a2673, csrrs a2, hpmcounter18, s4
62 34027 : 10219 : PC=[0000000080001446] (M,18,01) c12a2673 csrrs a2, hpmcounter18, s4
63 ==========================================
64 Wrong PC: RTL = 0000000080001446, ISS = 0000000080000298
76 8037 : RTL(40,1) Exception Cause = CSR Update Flush(27) PC=00008000050c, Inst=c086d673, csrrwi a2, hpmcounter8, 13
77 8037 : 986 : PC=[000000008000050c] (M,40,01) c086d673 csrrwi a2, hpmcounter8, 13
78 ==========================================
79 Wrong PC: RTL = 000000008000050c, ISS = 0000000080000298
- Atomic命令の動作バグ?
1358810 : 394064 : PC=[00000000800520d8] (M,50,16) 81e1382f amomin.d a6, t5, (sp) MR8(0x0000000080094338)=>0000000000000000 MW8(0x0000000080094338)=>0000000000000000 ========================================== Wrong GPR[16](45): RTL = 6ea4a50cfffffda2, ISS = 0000000000000000 ==========================================
- CSR実装の細かいところ?
41 6539 : RTL(35,1) Exception Cause = CSR Update Flush(27) PC=000080000372, Inst=044de773, csrrsi a4, uip, 27
42 6539 : 112 : PC=[0000000080000372] (U,35,01) 044de773 csrrsi a4, uip, 27
43 ==========================================
44 Wrong PC: RTL = 0000000080000372, ISS = 00000000800001e0
51 15457 : RTL(40,1) Exception Cause = CSR Update Flush(27) PC=00008000090c, Inst=5a837d73, csrrci s10, unknown_5a8, 6
52 15457 : 3523 : PC=[000000008000090c] (M,40,01) 5a837d73 csrrci s10, unknown_5a8, 6
53 ==========================================
54 Wrong PC: RTL = 000000008000090c, ISS = 0000000080000298
56 6783 : RTL(25,1) Exception Cause = CSR Update Flush(27) PC=000080000470, Inst=24332573, csrrs a0, vstval, t1
57 6783 : 559 : PC=[0000000080000470] (M,25,01) 24332573 csrrs a0, vstval, t1
58 ==========================================
59 Wrong PC: RTL = 0000000080000470, ISS = 0000000080000298
71 9754 : RTL(58,1) Exception Cause = CSR Update Flush(27) PC=0000800005c6, Inst=3806fff3, csrrci t6, unknown_380, 13
72 9754 : 1662 : PC=[00000000800005c6] (M,58,01) 3806fff3 csrrci t6, unknown_380, 13
73 ==========================================
74 Wrong PC: RTL = 00000000800005c6, ISS = 0000000080000298
81 33539 : RTL(3,1) Exception Cause = CSR Update Flush(27) PC=0000800011bc, Inst=04453073, csrc uip, a0
82 33539 : 10589 : PC=[00000000800011bc] (M,03,01) 04453073 csrc uip, a0
83 ==========================================
84 Wrong PC: RTL = 00000000800011bc, ISS = 0000000080000298
86 12025 : RTL(6,1) Exception Cause = CSR Update Flush(27) PC=00008000076c, Inst=f1329ff3, csrrw t6, mimpid, t0
87 12025 : 2316 : PC=[000000008000076c] (M,06,01) f1329ff3 csrrw t6, mimpid, t0
88 ==========================================
89 Wrong PC: RTL = 000000008000076c, ISS = 0000000080000298
