《CPU设计实战》第四章lab3记录找bug

修bug之路

1. debug_wb_pc

一个信号一个信号找下去,发现ID_stage.v中load_op未赋值

assign load_op = inst_lw;

  • 代码解释
c 复制代码
module decoder_5_32(
    input  [ 4:0] in,
    output [31:0] out
);
//这个循环被命名为 gen_for_dec_5_32。
genvar i;
generate for (i=0; i<32; i=i+1) begin : gen_for_dec_5_32
    assign out[i] = (in == i);
end endgenerate
2. ds_valid未赋值

这里没有:

3. 模块实例化错误

c 复制代码
alu u_alu(
    .alu_op     (es_alu_op    ),
    .alu_src1   (es_alu_src1  ),
    .alu_src2   (es_alu_src2  ),
    .alu_result (es_alu_result)
    );
4.

借鉴

mips指令格式

暂停,学习汇编程序去。

应该跳转到bfc0038c,但是顺序执行了

该bug自己没有解决,借鉴了上面大佬的。

5.

应该还是某个转移指令出错。

有可能是bne。

对rtl代码和如何调试还是不熟悉。剩下的都是参考别人的弄出来的。待补。。。

这就算成功了,可是不是自己debug出来的。。。

相关推荐
深念Y1 天前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
姚青&2 天前
Bug基本概念
bug
AI多Agent协作实战派2 天前
AI多Agent协作系统实战(三十九):AI修对了Bug,却越了权——自动化团队的第一条铁律
人工智能·自动化·bug
深念Y4 天前
AMD 芯片组驱动触发高频 SSD 写入的问题及解决方案
windows·bug·ssd·日志·芯片·驱动·amd
加油码4 天前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
鹿屿二向箔4 天前
keil5.39版本使用AC6编译器不能位域操作的BUG使用STM32U385系列MCU
stm32·单片机·bug
angryshan5 天前
goLang配置断点流程
go·bug
吨吨ai6 天前
# ChatGPT Plus / Pro + Codex Debug 实战:如何让 AI 从日志、Trace、异常堆栈自动定位线上 Bug
人工智能·chatgpt·bug
灰暗世界%7 天前
飞牛bug修复
bug
凌云拓界9 天前
NodeVerdict | 性能门禁:把追踪数据变成 CI 规则
ci/cd·信息可视化·开源·node.js·bug·数据可视化·安全架构