I'm working on a project where I need to create my own CPU for a specific instruction subset of MIPS. I will admit I thought I understood the single-cycle datapath until this project. So excuse my confusion.
My issue is with my ALU. The ALU Opcode
is a 4-bit number, and the SubOp
is a single-bit value. When I try to test my ALU, all of my lines to the output are red. I'm not sure why exactly. If I delete the NOR
Gate's output, all other lines go black. And then when I change my Opcode
(lower left of the image) from the AND
gate (0x00) to another value, the output lines go red again.
While this ALU isn't completed yet, I'd like to ask for some input as to why this is happening? The inputs are 8-bits long. I've gone and broken this down to just a simple AND
gate taking the 8-bit inputs and I still receive the red lines. No matter the selection of the Opcode
, the ALUresult
(bottom middle) produces errors.
I know there is a much easier way to lay this out. But I am trying to break down the ALU 'Opcode' into something that is easier for me to understand until testing has be completed. This is something I plan to work on once I understand this redline issue.