2026年,自学FPGA一年能写简单SoC,但做‘基于FPGA的RISC-V CPU’项目时,在乱序执行和分支预测上总出逻辑错误,如何调试?
我自学FPGA一年了,能写一些简单的SoC(比如带UART和GPIO的),最近挑战做一个完整支持RV32I的RISC-V CPU核。但在实现乱序执行(如Tomasulo算法)和分支预测(如Gshare)时,仿真波形里指令结果总出错,比如写回阶段数据被覆盖或者跳转地址错误。我用了Vivado的ILA抓内部信号,但状态太多看不过来。请问有没有系统的调试方法论?比如先验证单周期CPU,再逐步增加流水线和预测器?