AI唐氏行为合集(SCPU版)
在本次Project中,你将欣赏到包括但不限于:
没有人知道它为什么在这里
1 | %Error: /mnt/e/Projects/sys1-sp25-master/src/project/submit/RegFile.sv:18:11: syntax error, unexpected '[', expecting IDENTIFIER or randomize |
AI对enum的内容进行了原创性指导
1 | %Error: /mnt/e/Projects/sys1-sp25-master/src/project/submit/MaskGen.sv:14:13: Can't find definition of variable: 'MEM_SB' |
AI把我的pin定义吃掉了
1 | %Error-PINNOTFOUND: /mnt/e/Projects/sys1-sp25-master/src/project/../../sys-project-main/general/SCPU.sv:29:10: Pin not found: 'cosim_valid' |
32位和64位左右脑互博
1 | %Warning-WIDTHTRUNC: /mnt/e/Projects/sys1-sp25-master/src/project/submit/Core.sv:56:10: Input port connection 'inst' expects 32 bits on the pin connection, but pin connection's VARREF 'inst' generates 64 bits. |
你说算哪个就算哪个吧
1 | // 从指令存储器读取指令 |
AI:
修正方法:
直接取 64 位存储器数据的低 32 位作为指令:
1 inst = imem_ift.r_reply_bits.rdata[31:0]; // 移除pc[1]的判断
实际:
1 | inst = pc[2 ] ? imem_ift.r_reply_bits.rdata[63:32] : imem_ift.r_reply_bits.rdata[31:0]; |
瞎jb乱跳
AI的代码——没有人知道他想怎么跳
1 | assign branch_target = pc + {{32{imm[31]}}, imm}; // PC + 偏移量 |
但我们有
1 | register data full: '{'h1f0, 'hab, 'h1, 'h0, 'h0, 'h0, 'hab, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'hab, 'h24, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0, 'h0} |
欸 我们Read Data 1 == Read Data 2但我们偏要跳 就是玩
莫名其妙的变量
1 | %Error: /home/sys/sys1-sp25/src/project/submit/Controller.sv:42:60: Can't find definition of variable: 'cmp_res' |
1 | assign npc_sel = inst_jal | inst_jalr | (inst_branch & cmp_res); |