Ross Thompson
c91436d3b7
Merge branch 'icache_bp_bug' into tests
...
Not sure this merge is right.
2021-04-06 21:46:40 -05:00
Ross Thompson
98a04abe6c
Merge remote-tracking branch 'refs/remotes/origin/tests' into tests
2021-04-06 21:20:55 -05:00
Jarred Allen
bd8f1eea3c
Fix another bug in icache
2021-04-06 17:47:00 -04:00
Jarred Allen
3afc358974
Fix another bug in icache
2021-04-06 12:48:42 -04:00
Jarred Allen
c95da7d11e
Fix bug in icache
2021-04-03 18:10:54 -04:00
Shreya Sanghai
df149d1be7
fixed minor bugs in localHistory
2021-04-01 13:40:08 -04:00
ShreyaSanghai
28a9c6ba56
added localHistoryPredictor
2021-04-01 22:22:40 +05:30
Shreya Sanghai
b544526766
fixed bugs in global history to read latest GHRE
2021-03-31 21:56:14 -04:00
Ross Thompson
9172e52286
Corrected a number of bugs in the branch predictor.
...
Added performance counters to individually track
branches; jumps, jump register, jal, and jalr; return.
jump and jump register are special cases of jal and jalr.
Similarlly return is a special case of jalr.
Also added counters to track if the branch direction was wrong,
btb target wrong, or the ras target was wrong.
Finally added one more counter to track if the BP incorrectly predicts
a non-cfi instruction.
2021-03-31 11:54:02 -05:00
Ross Thompson
a64a37d702
Merge of main with the new icache and the branch predictor. I believe there is a bug in the icache with unaligned memory access. The second part of the access is incorrectly relying on the PCF being the address of the next two bytes of the instruction. However this is not always the case as the branch predictor can get the wrong target address. The icache needs to generate the +2 address internally.
2021-03-30 23:18:20 -05:00
Ross Thompson
2a308309e4
fixed some bugs with the RAS.
2021-03-30 13:57:40 -05:00
Jarred Allen
7ca57cc4fc
Merge branch 'main' into cache
...
Conflicts:
wally-pipelined/regression/wave-dos/ahb-waves.do
wally-pipelined/src/ifu/ifu.sv
wally-pipelined/testbench/testbench-busybear.sv
wally-pipelined/testbench/testbench-imperas.sv
2021-03-30 12:55:01 -04:00
ShreyaSanghai
139c2076a1
Removed PCW and InstrW from ifu
2021-03-26 01:53:19 +05:30
Jarred Allen
b774d35c34
Output NOP instead of BAD when reset
2021-03-25 12:42:48 -04:00
bbracker
02e924e55a
instrfaults not respecting stalls bugfix
2021-03-25 00:16:26 -04:00
Ross Thompson
1c6e37120e
Fixed RAS errors. Still some room for improvement with the BTB and RAS.
2021-03-23 23:00:44 -05:00
Jarred Allen
4410944049
Merge branch 'main' into cache
2021-03-23 23:35:36 -04:00
Ross Thompson
84ad1353e4
Fixed a bunch of bugs with the RAS.
2021-03-23 21:49:16 -05:00
Ross Thompson
4fb7a1e0a6
Fixed the valid bit issue. Now the branch predictor is actually predicting instructions.
2021-03-23 20:20:23 -05:00
Ross Thompson
49348d734b
fixed issue with BTB's valid bit not updating. There is still a problem is valid not ocurring in the correct clock cycle.
2021-03-23 20:06:45 -05:00
Ross Thompson
95dbc5f1fa
fixed a whole bunch of bugs with the branch predictor. Still an issue with how PCNextF is not updated because the CPU is stalled.
2021-03-23 16:53:48 -05:00
Shreya Sanghai
1d6a2989ed
PC counts branch instructions
2021-03-23 14:25:51 -04:00
Jarred Allen
0f8fe8fb3b
Document some internal signals
2021-03-23 00:10:35 -04:00
Jarred Allen
6ffa01cc4d
Add comments explaining icache inputs
2021-03-23 00:07:39 -04:00
Jarred Allen
827993598d
Small commit to see if new hook tests non-main branch
2021-03-22 23:57:01 -04:00
Jarred Allen
6ce52f9b80
Remove DelaySideD since it isn't needed
2021-03-22 15:13:23 -04:00
Jarred Allen
b871bfe714
Update icache interface
2021-03-22 15:04:46 -04:00
Jarred Allen
f9cf05a7d4
Fix bug with PC incrementing
2021-03-20 18:06:03 -04:00
Jarred Allen
a2bf5ac202
Fix another bug in the icache (why so many of them?)
2021-03-20 17:54:40 -04:00
Jarred Allen
c5f99c4a34
Revert "Change flop to listen to StallF"
...
This reverts commit c8028710a5
.
2021-03-20 17:34:19 -04:00
Jarred Allen
c8028710a5
Change flop to listen to StallF
2021-03-20 17:04:13 -04:00
Jarred Allen
279c09b27c
Merge changes from main
2021-03-18 18:58:10 -04:00
Shreya Sanghai
bbe0957df5
Merge branch 'gshare' into main
...
Conflicts:
wally-pipelined/regression/wave.do
2021-03-18 17:25:48 -04:00
Ross Thompson
1091dd10c1
Switched to gshare from global history.
...
Fixed a few minor bugs.
2021-03-18 16:05:59 -05:00
Ross Thompson
8f4051543c
Fixed minor bug with the size of gshare.
2021-03-18 16:00:09 -05:00
Shreya Sanghai
eb86bfc084
removed unnecesary PC registers in ifu
2021-03-18 16:31:21 -04:00
Thomas Fleming
7f7597e667
Connect tlb, pagetablewalker, and memory
2021-03-18 14:35:46 -04:00
Shreya Sanghai
36f0631203
added gshare and global history predictor
2021-03-16 17:03:01 -04:00
Jarred Allen
a82aa23399
Fix icache for jumping into misaligned instructions
2021-03-16 16:57:51 -04:00
Shreya Sanghai
9eed875886
added global history branch predictor
2021-03-16 16:06:40 -04:00
Jarred Allen
ac9fd5a323
Fix BEQZ tests
2021-03-14 15:42:27 -04:00
Jarred Allen
926235b180
Merge upstream changes
2021-03-14 14:57:53 -04:00
Jarred Allen
deb13f34bb
Get non-jump case working
2021-03-14 14:46:21 -04:00
Ross Thompson
6ee97830f7
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-12 14:58:04 -06:00
Ross Thompson
7743d8edc3
Cleanup of the branch predictor flush and stall controls.
2021-03-12 14:57:53 -06:00
Thomas Fleming
1294235837
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
...
Conflicts:
wally-pipelined/src/ebu/ahblite.sv
2021-03-11 00:15:58 -05:00
Jarred Allen
ae9bcc174d
Merge upstream changes
2021-03-09 21:20:34 -05:00
Jarred Allen
3172be3039
More progress
2021-03-09 21:16:07 -05:00
Ross Thompson
301166d062
Oups. I forgot to update other do files with the commands to preload the branch predictor memories.
2021-03-05 15:23:53 -06:00
Thomas Fleming
2e2eb5839f
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-05 13:35:44 -05:00