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

修bug之路

1. debug_wb_pc

一个信号一个信号找下去,发现ID_stage.v中load_op未赋值
在这里插入图片描述

assign load_op = inst_lw;

  • 代码解释
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. 模块实例化错误

在这里插入图片描述在这里插入图片描述

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指令格式
在这里插入图片描述
暂停,学习汇编程序去。
**问题出在SLL指令中。**

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

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

5.

在这里插入图片描述
应该还是某个转移指令出错。
在这里插入图片描述
有可能是bne。
对rtl代码和如何调试还是不熟悉。剩下的都是参考别人的弄出来的。待补。。。

在这里插入图片描述
这就算成功了,可是不是自己debug出来的。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的码泰君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值