[做cpu] 第二次仿真实验

本文讲述了作者在实现MIPS指令后处理流水线数据时遇到的问题,涉及到RAW操作和数据前推。仿真错误源于顶层模块中对数据处理的误解,通过马哥的指导,发现问题是第一条指令数据读入寄存器的遗漏。这提醒作者学习新知识时要注重基础,防止时间长了遗忘。
摘要由CSDN通过智能技术生成

实现ori指令后,还得解决流水中数据相关的事,MIPS中只需要解决RAW(在写操作后读),利用数据前推解决

相隔两条指令, 通过标志位判断直接把回写的内容作为读入译码的数据。

仿真出错原因:(很重要)

  1. 在顶层模块中,忘记一个口出来的数据两个流入是不需要再重新命名线的,真的用一个线的名字就好。错误特征:变量是高阻态Z的形态。
  2. 多驱动数据,在两个always块内给一个变量赋值,所以最后是xxxxx显示。起因:一直在分析 数据赋值情况,并且被有流水线转成的圈给绕晕,于是求助马哥,马哥一语道出关键:”看出错的周期,是在第二条指令的译码阶段没有读到数据,所以要去查看第一条指令有没有正确把数据读入寄存器。然后发现我多得赋值了,,,,属于是刚学的时候肯定不会犯的错误,但是时间一久就忘记了

后话:感觉自己常常只有下意识,缺少自己的思考

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值