Good day,
I am currently working on a RISCV32 core for a personal project in order to learn FPGA developpement.
I have fully implemented all the base instruction set instructions and each of them is executed in a single clock cycle, with some clever state machines here and there.
I have now decided that I should move to the next step which is making my CPU pipelined and came to a stall. It is not the concept and the idea that confuses me, but what does however is the way I should go about implementing it.
Since it is a 5 stage pipeline, and I have all my instructions execute in one clock cycle, will I have to extend the time it takes to execute each instruction, expanding to 5 clock cycles, or 2,5? I know that the idea is to increase the throughput, and not the speed of each individual instruction, just want to make ure that I understand that this is the way to go.
For those interested to have a look, here is the github: https://github.com/VladimirMeshcheriakov/Le-FauxrjePGA-CPU (Please dont take the README in account, it is an inside joke)
Thanks in advance!