Data Path Control Fsm example essay topic
Special instruction codes will be defined as "stall" and "stop execution" to work in conjunction with the FSM. The global reset will set all memory and registers to 0, and put the FSM in "load instructions mode". We would like to use one memory module to store both instructions and data (with instructions starting at 0 and going up, and memory starting at the highest address and going down), however this design would present some addressing headaches so we will most likely use separate memory modules for instructions and data. The main part of the pipe lining implementation will be the hazard detection unit.
We plan to have this work independent of the data path control FSM as so to simplify FSM design. The hazard detection unit will control mules to drive register forwarding and will issue stall instructions directly to the instruction register when needed". Jump and link" will make use of a specially designated register (most likely one of the upper registers, since those aren't used in the provided test function). Mules will be used to feed the PC+4 into the reg file and the reg file output into the PC register.
The data path control FSM will control these mules. Please see attached sheet for breakdown of tasks, task assignments, and schedule. We will assign the later tasks in the project based on who finishes their tasks first and is ready to take on more work. Two changes to the schedule as it's attached: Daniel, not Jon, will be responsible for register file creation.
Also, design of the hazard detection unit was left off the schedule. It will be designed in parallel with the data path control FSM.