【发布时间】:2017-04-19 02:07:30
【问题描述】:
我正在进行一个项目,我需要为 MIPS 的特定指令子集创建自己的 CPU。我承认在这个项目之前我认为我理解单周期数据路径。所以请原谅我的困惑。
我的问题在于我的 ALU。 ALU Opcode 是一个 4 位数字,SubOp 是一个单位值。当我尝试测试我的 ALU 时,输出的所有行都是红色的。我不确定为什么。如果我删除NOR Gate 的输出,所有其他行都会变黑。然后,当我将Opcode(图像的左下角)从AND 门(0x00)更改为另一个值时,输出线再次变红。
虽然此 ALU 尚未完成,但我想请教一下为什么会发生这种情况?输入为 8 位长。我已经将其分解为一个简单的AND 门,采用 8 位输入,但我仍然收到红线。无论选择Opcode,ALUresult(中下)都会产生错误。
我知道有一种更简单的方法可以解决这个问题。但我正试图将 ALU 的“操作码”分解成更容易理解的东西,直到测试完成。一旦我了解了这个红线问题,我就打算做这件事。
【问题讨论】: