cvw/wally-pipelined
Ross Thompson 8a035104ac It's a bit sloppy, but the global history predictor is working correctly now.
There were two major bugs with the predictor.
First the update mechanism was completely wrong.  The PHT is updated with the GHR that was used to lookup the prediction.  PHT[GHR] = Sat2(PHT[GHR], branch outcome).
Second the GHR needs to be updated speculatively as the branch is predicted.  This is important so that back to back branches' GHRs are not the same.  The must be different to avoid aliasing.  Speculation of the GHR update allows them to be different.  On mis prediction the GHR must be reverted.
This implementation is a bit sloppy with names and now the GHR recovery is performed.  Updates to follow.
2021-05-27 23:06:28 -05:00
..
bin Icache integrated! 2021-04-26 11:48:58 -05:00
config It's a bit sloppy, but the global history predictor is working correctly now. 2021-05-27 23:06:28 -05:00
misc Clean up MMU code 2021-05-14 07:12:32 -04:00
ppa Config file for ppa experiments 2021-03-25 10:23:21 -05:00
regression improved PLIC test organization 2021-05-21 15:13:02 -04:00
src It's a bit sloppy, but the global history predictor is working correctly now. 2021-05-27 23:06:28 -05:00
testbench Mod for DIV/REM instruction and update to div.sv unit 2021-05-24 19:29:13 -05:00
testgen Forgot to add csr permission tests to testbench 2021-05-04 20:20:22 -04:00
lint-wally slightly more path independence for using verilator 2021-05-24 18:11:56 -04:00