《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出来的。。。

相关推荐
隔窗听雨眠2 天前
Library Cache Lock性能故障深度解析:JDBC驱动Bug、绑定变量长度与游标激增的连环效应
bug·library
盗理者2 天前
AI Agent 工程实践|让 AI Agent 自动修 Bug:定位、修改、测试与人工审核
人工智能·bug·agent
程序员AlbertTu2 天前
Linux 系统 Bug 调试操作手册
linux·postgresql·bug
深念Y4 天前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
姚青&5 天前
Bug基本概念
bug
AI多Agent协作实战派5 天前
AI多Agent协作系统实战(三十九):AI修对了Bug,却越了权——自动化团队的第一条铁律
人工智能·自动化·bug
深念Y7 天前
AMD 芯片组驱动触发高频 SSD 写入的问题及解决方案
windows·bug·ssd·日志·芯片·驱动·amd
加油码7 天前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
鹿屿二向箔7 天前
keil5.39版本使用AC6编译器不能位域操作的BUG使用STM32U385系列MCU
stm32·单片机·bug
angryshan8 天前
goLang配置断点流程
go·bug