1
0
mirror of https://github.com/antonblanchard/microwatt.git synced 2026-02-01 22:32:23 +00:00
Commit Graph

8 Commits

Author SHA1 Message Date
Paul Mackerras
9789d258fb loadstore2: Do data formatting after a register stage
This moves the data formatting for read data to after a register,
instead of before, in order to improve timing.  The data formatting
is now effectively combinational logic on the input side of the
writeback stage.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2019-09-30 13:54:32 +10:00
Anton Blanchard
6e442e07a5 Reformat loadstore2
Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-19 21:36:51 +10:00
Anton Blanchard
e1a71e4545 loads don't do both byte reversal and sign extension
Give the synthesis tools a clue that we don't need to do both byte reversal
and sign extension.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-19 21:31:34 +10:00
Anton Blanchard
a061924a78 Move byte reversal of stores to first cycle
We are seeing some timing issues with the second cycle of loadstore,
and  we aren't doing much in the first cycle, so move it here.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-16 11:49:44 +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
021d427d3f Stores need to wait for wishbone write ack
I wasn't waiting to get a wishbone ack back on stores before continuing.
This creates all sorts of problems when we add pipelining and send
loads and stores down the pipe faster.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
2019-09-08 16:04:40 +10:00
Michael Neuling
4d5abfb430 Remove dynamic ranges from code
Some VHDL compilers like verific [1] don't like these, so let's remove
them. Lots of random code changes, but passes make check.

Also add basic script to run verific and generate verilog.

1. https://www.verific.com/

Signed-off-by: Michael Neuling <mikey@neuling.org>
2019-08-30 16:13:48 +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