8.1.1.2 执行与写回 8.1.1.2 执行与写回:当ALU的输出在时钟边沿“蒸发”——一个被忽略的寄存器堆写端口竞争问题与跨周期写回仲裁方案 你有没有遇到过这样的场景? 在FPGA上跑通了一条RISC-V整数指令流水线,取指、译码、执行三阶段稳如磐石, 单步仿真完美,波形干净利落;可一旦跑起真实微基准测试(比如 中连续五条 链),x1的值却在第3次迭代后开始错位——不是全零,不是随机毛刺,而是稳定地滞后一个周期。你反复检查控制信号: 使能没错, 地址锁存正确, 数据在写回时刻也确凿无误……可最终写入寄存器堆(Register File)的,偏偏是上一条指令的结果。 这不是仿真器bug。 这不是综合工具玄学。