1
0
mirror of https://github.com/antonblanchard/microwatt.git synced 2026-01-24 11:11:47 +00:00

8 Commits

Author SHA1 Message Date
Anton Blanchard
e69e79d8af Reformat writeback.vhdl
Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-15 09:07:34 +10:00
Anton Blanchard
50a361a5dc Exit if we try to write more than one GPR or CR in a cycle
Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-15 09:04:47 +10:00
Anton Blanchard
9fe8d211eb Register outputs on writeback
Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-11 13:23:45 +10:00
Anton Blanchard
fa04936c92 Add some assertions to writeback
We want to make sure we never complete more than one
instruction per cycle, or write back more than one GPR
or CR per cycle.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-09 15:54:09 +10:00
Anton Blanchard
fb4cad6eaf Remove second write port
We only need two write ports for load with update instructions.
Having two write ports just for this instruction is expensive.

For now we will force them to be the only instruction in the
pipeline, and take two cycles of writeback.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-09 15:18:09 +10:00
Anton Blanchard
9fbaea6f08 Rework CR file and add forwarding
Handle the CR as a single field with per nibble enables. Forward any
writes in the same cycle.

If this proves to be an issue for timing, we may want to revisit
this in the future. For now, it keeps things simple.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-09 10:18:10 +10:00
Anton Blanchard
147b259691 Use a better input signal in writeback
w_in comes from the execution unit, it makes more sense to call
it e_in.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-06 09:48:24 +10:00
Anton Blanchard
5a29cb4699 Initial import of microwatt
Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-08-22 16:46:13 +10:00