Here are some specific questions I have:
How should I insert a register in my top level, like for example for the fetch stage, in order to insert an intermediary stage registerIF_ID between the Fetch and Decode stages, do I just feed the outputs of Register File, SignExtend, and PCPlus4 into an instantiated register and output are the new signals InstructionD, SignImmD, and PCPlus4D, etc.
Do I need to run the control signals (such as RegWrite, MemWrite, ALUControl, etc...as shown in the diagram) through a register also? If so, do I feed each individual signal through a register (like a 1 input 1 output register)or shall I just make one big 7 input, 7 output register for the control unit for the decode stage, since the control signals come into play at the decode stage.