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 |
|
Thomas Fleming
|
77b8e27205
|
Disable 'always-on' virtual memory
|
2021-03-30 22:49:47 -04:00 |
|
Thomas Fleming
|
eca2427f94
|
Merge remote-tracking branch 'origin/main' into main
Bring icache and MMU code together
Conflicts:
wally-pipelined/src/ifu/ifu.sv
wally-pipelined/testbench/testbench-imperas.sv
|
2021-03-30 22:24:47 -04:00 |
|
Thomas Fleming
|
7126ab7864
|
Complete basic page table walker
|
2021-03-30 22:19:27 -04:00 |
|
ushakya22
|
6b9ae41302
|
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
|
2021-03-30 15:25:07 -04:00 |
|
Ross Thompson
|
2a308309e4
|
fixed some bugs with the RAS.
|
2021-03-30 13:57:40 -05:00 |
|
Jarred Allen
|
631454ccf9
|
Merge branch 'cache2' into cache
Conflicts:
wally-pipelined/testbench/testbench-imperas.sv
|
2021-03-30 13:32:33 -04: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 |
|
Noah Boorstin
|
b5a1691c2b
|
Merge branch 'main' into cache
Conflicts:
wally-pipelined/testbench/testbench-busybear.sv
|
2021-03-26 12:26:30 -04:00 |
|
Shreya Sanghai
|
339bd5d3eb
|
Merge branch 'PPA' into main
Conflicts:
wally-pipelined/testbench/testbench-privileged.sv
|
2021-03-25 20:35:21 -04:00 |
|
Jarred Allen
|
39bf2347bc
|
Fix error when reading an instruction that crosses a line boundary
|
2021-03-25 18:47:23 -04:00 |
|
ShreyaSanghai
|
139c2076a1
|
Removed PCW and InstrW from ifu
|
2021-03-26 01:53:19 +05:30 |
|
Jarred Allen
|
32829bf7a1
|
Remove old icache
|
2021-03-25 15:46:35 -04:00 |
|
Jarred Allen
|
5f4feb0ff1
|
Works for misaligned instructions not on line boundaries
|
2021-03-25 15:42:17 -04:00 |
|
Jarred Allen
|
3b4f0141f4
|
Begin work on compressed instructions
|
2021-03-25 14:43:10 -04:00 |
|
Brett Mathis
|
162f2df880
|
FPU Pipeline completed - can begin integration
|
2021-03-25 13:29:03 -05:00 |
|
Jarred Allen
|
0290568a52
|
Make cache output NOP after a reset
|
2021-03-25 13:18:30 -04:00 |
|
Jarred Allen
|
ce6f102fc5
|
Clean up some stuff
|
2021-03-25 13:04:54 -04:00 |
|
Jarred Allen
|
128278ea27
|
Working for all of rv64i now, but not compressed instructions
|
2021-03-25 13:02:26 -04:00 |
|
Jarred Allen
|
602271ff7b
|
rv64i linear control flow now working
|
2021-03-25 13:02:26 -04:00 |
|
Jarred Allen
|
ba95557c44
|
More progress on icache controller
|
2021-03-25 13:01:11 -04:00 |
|
Jarred Allen
|
ad0d77e9e1
|
Begin rewrite of icache module to use a direct-mapped scheme
|
2021-03-25 13:01:10 -04:00 |
|
Jarred Allen
|
ebd6b931c6
|
Fix bug in cache line
|
2021-03-25 12:59:30 -04:00 |
|
Jarred Allen
|
b774d35c34
|
Output NOP instead of BAD when reset
|
2021-03-25 12:42:48 -04:00 |
|
Jarred Allen
|
4b92a595ab
|
Merge branch 'main' into cache
Conflicts:
wally-pipelined/src/uncore/dtim.sv
|
2021-03-25 12:10:26 -04:00 |
|
Thomas Fleming
|
e3900bd0fa
|
Finish finite state machines for page table walker
|
2021-03-25 02:48:40 -04:00 |
|
Thomas Fleming
|
b5003b093a
|
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
|
2021-03-25 02:35:21 -04:00 |
|
bbracker
|
a3788eb218
|
added 1 tick delay to dtim flops
|
2021-03-25 02:23:30 -04:00 |
|
bbracker
|
b5fa410e15
|
added 1 tick delay on tim reads
|
2021-03-25 02:15:28 -04:00 |
|
Jarred Allen
|
682050a33b
|
Merge branch 'main' into cache
Conflicts:
wally-pipelined/src/ifu/ifu.sv
|
2021-03-25 00:51:12 -04:00 |
|
bbracker
|
67b27cd2f5
|
instrfault direspecting stalls bugfix
|
2021-03-25 00:44:35 -04:00 |
|
bbracker
|
02e924e55a
|
instrfaults not respecting stalls bugfix
|
2021-03-25 00:16:26 -04:00 |
|
bbracker
|
1e3f683a9d
|
upgraded gpio bus interface
|
2021-03-25 00:15:02 -04:00 |
|
bbracker
|
e98dd420bc
|
future work comment about suspicious-looking verilog in csri.sv
|
2021-03-25 00:10:44 -04:00 |
|
Thomas Fleming
|
b1d849c822
|
Add all PMP addr registers
|
2021-03-24 21:58:33 -04:00 |
|
Katherine Parry
|
18cb1f4873
|
fixed various bugs in the FMA
|
2021-03-24 21:51:17 +00:00 |
|
Ross Thompson
|
a99c0502e5
|
Fixed bugs with the csr interacting with StallW. StallW is required to pervent updating a csr. Now have a working branch predictor and performance counters to track the number of commited branches and mispredictions.
|
2021-03-24 15:56:55 -05:00 |
|
Jarred Allen
|
c1fe16b70b
|
Give some cache mem inputs a better name
|
2021-03-24 12:31:50 -04:00 |
|
Jarred Allen
|
a51257abca
|
Fix compile errors from const not actually being constant (why does Verilog do this)
|
2021-03-24 00:58:56 -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 |
|
Katherine Parry
|
56dc8de009
|
fixed various bugs in the FMA
|
2021-03-24 01:35:32 +00: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 |
|
Jarred Allen
|
d6ecc3ede0
|
Begin work on direct-mapped cache
|
2021-03-23 17:03:02 -04:00 |
|
Teo Ene
|
ef3d2dda48
|
Added BOOTTIM to InstrAccessFaultF calculation in uncore/imem
|
2021-03-23 15:21:13 -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 |
|
Noah Boorstin
|
15474f678d
|
Merge branch 'main' into cache
|
2021-03-22 23:28:30 -04:00 |
|
bbracker
|
5efd5958e7
|
added delays to uart AHB signals
|
2021-03-22 15:40:29 -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
|
3748d03adc
|
Merge branch 'main' into cache
|
2021-03-22 13:47:48 -04:00 |
|
bbracker
|
11d4a8ab34
|
first pass at PLIC interface
|
2021-03-22 10:14:21 -04:00 |
|
Katherine Parry
|
f741ba7702
|
fixed various bugs in the FMA
|
2021-03-21 22:53:04 +00:00 |
|
Jarred Allen
|
f9cf05a7d4
|
Fix bug with PC incrementing
|
2021-03-20 18:06:03 -04:00 |
|
Jarred Allen
|
a3a646d1a9
|
Merge branch 'main' into cache
|
2021-03-20 17:56:25 -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 |
|
Katherine Parry
|
e317e7511e
|
messy FMA rewrite using section 7.5.4 in The Handbook of Floating-Point Arithmetic
|
2021-03-20 02:05:16 +00:00 |
|
Jarred Allen
|
279c09b27c
|
Merge changes from main
|
2021-03-18 18:58:10 -04:00 |
|
bbracker
|
85363e941d
|
AHB bugfixes and sim waveview refactoring
|
2021-03-18 18:25:12 -04:00 |
|
bbracker
|
98e93a63c0
|
maybe AHB works now
|
2021-03-18 17:47:00 -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
|
8d484174a7
|
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
|
2021-03-18 14:36:42 -04:00 |
|
Thomas Fleming
|
7f7597e667
|
Connect tlb, pagetablewalker, and memory
|
2021-03-18 14:35:46 -04:00 |
|
Noah Boorstin
|
bc1a0c6ee7
|
change ifndef to generate/if
|
2021-03-18 12:50:19 -04:00 |
|
Noah Boorstin
|
a2b0af460e
|
everyone gets a bootram
|
2021-03-18 12:35:37 -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
|
2d2092e8ab
|
Merge remote-tracking branch 'origin/main' into cache
|
2021-03-16 14:17:39 -04:00 |
|
Shreya Sanghai
|
08e9149e20
|
made performance counters count branch misprediction
|
2021-03-16 11:24:17 -04:00 |
|
Shreya Sanghai
|
74f1641c5a
|
Merge branch 'counters' into main
added a configurable number of performance counters
|
2021-03-16 11:01:30 -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 |
|
bbracker
|
e58d17d5b7
|
slightly smarter dtim HREADY
|
2021-03-13 07:03:33 -05:00 |
|
bbracker
|
345254b5a3
|
slightly smarter dtim HREADY
|
2021-03-13 06:55:34 -05:00 |
|
bbracker
|
c5015e5809
|
imem rd2 adrbits bugfix
|
2021-03-13 00:10:41 -05:00 |
|
bbracker
|
f4fb546969
|
clint HREADY signal update
|
2021-03-12 20:23:55 -05: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 |
|
David Harris
|
865c103599
|
64-bit AMO debugged
|
2021-03-11 23:18:33 -05: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 |
|
David Harris
|
42275e92ed
|
Initial untested implementation of AMO instructions
|
2021-03-11 00:11:31 -05:00 |
|
Noah Boorstin
|
2c25e270a2
|
change flop in ahb controller to use normal flop module
|
2021-03-10 19:14:02 +00: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 |
|
David Harris
|
17c0f9629a
|
WALLY-LRSC atomic test passing
|
2021-03-09 09:28:25 -05:00 |
|
David Harris
|
9c7da510fb
|
Created atomic test vector and directories
|
2021-03-08 09:38:55 -05:00 |
|
Ross Thompson
|
87ed6d510c
|
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
|
2021-03-05 15:27:22 -06: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
|
be6ee84d87
|
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
|
2021-03-05 15:46:51 -05:00 |
|
Noah Boorstin
|
86142e764a
|
Merge branch 'main' into busybear
|
2021-03-05 20:27:19 +00:00 |
|
bbracker
|
850a2e9329
|
added a delay to sel signals
|
2021-03-05 15:07:34 -05:00 |
|
bbracker
|
77e2e357a7
|
more merging fixes
|
2021-03-05 14:36:07 -05:00 |
|
bbracker
|
ed4ff1ecd0
|
remove deprecated mem signals
|
2021-03-05 14:27:38 -05:00 |
|
bbracker
|
0f4a231543
|
first merge of ahb fix
|
2021-03-05 14:24:22 -05:00 |
|
Thomas Fleming
|
2e2eb5839f
|
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
|
2021-03-05 13:35:44 -05:00 |
|
Thomas Fleming
|
8c97143be6
|
Place tlb parameters into constant header file
|
2021-03-05 13:35:24 -05:00 |
|
Thomas Fleming
|
7e11317a2d
|
Export SATP_REGW from csrs to MMU modules
|
2021-03-05 01:22:53 -05:00 |
|
Noah Boorstin
|
f48af209c4
|
busybear: make CSRs only weird for us
|
2021-03-05 00:46:32 +00:00 |
|
Ross Thompson
|
a662aa487c
|
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
|
2021-03-04 17:31:27 -06:00 |
|
Jarred Allen
|
41f682f848
|
Partial progress towards compressed instructions
|
2021-03-04 18:30:26 -05:00 |
|
Noah Boorstin
|
dfae278ffb
|
busybear: make imperas tests work again
|
2021-03-04 22:44:49 +00:00 |
|
Katherine Parry
|
cfac6bf0c7
|
fixed various bugs
|
2021-03-04 22:20:39 +00:00 |
|
Katherine Parry
|
09564f1c77
|
fixed various bugs
|
2021-03-04 22:20:28 +00:00 |
|
Katherine Parry
|
a6bc39b5ad
|
fixed various bugs
|
2021-03-04 22:20:23 +00:00 |
|
Katherine Parry
|
526e3f5996
|
fixed various bugs
|
2021-03-04 22:20:02 +00:00 |
|
Katherine Parry
|
1e906b36a0
|
fixed various bugs
|
2021-03-04 22:19:21 +00:00 |
|
Katherine Parry
|
3fb0f323b8
|
fixed various bugs
|
2021-03-04 22:18:47 +00:00 |
|
Katherine Parry
|
fdfc0dbf46
|
fixed various bugs
|
2021-03-04 22:18:19 +00:00 |
|
Jarred Allen
|
106718b196
|
Remove rd2, working for non-compressed
|
2021-03-04 16:46:43 -05:00 |
|
Thomas Fleming
|
3303a013ef
|
Merge branch 'walker' into main
|
2021-03-04 15:27:03 -05:00 |
|
Noah Boorstin
|
735c6789ea
|
busybear: comment out instraccessfaultf for imem for now
|
2021-03-04 20:26:41 +00:00 |
|
Noah Boorstin
|
827dfd774b
|
Merge branch 'main' into busybear
Conflicts:
wally-pipelined/src/uncore/imem.sv
|
2021-03-04 20:16:03 +00:00 |
|
Ross Thompson
|
66e84f3a2c
|
Merge branch 'bp' into main
Concerns:
1. I don't think the correct data buses are going to the multiplier.
2. I'm not sure the FlushF signal is correct.
|
2021-03-04 13:35:46 -06:00 |
|
Ross Thompson
|
4d14c714a7
|
Fixed forwarding around the 2 bit predictor.
|
2021-03-04 13:01:41 -06:00 |
|
Shreya Sanghai
|
246dbd05e7
|
fixed bugs
|
2021-03-04 12:59:45 -05:00 |
|
Shreya Sanghai
|
f0ec365117
|
added performance counters
|
2021-03-04 11:42:52 -05:00 |
|
Ross Thompson
|
52d95d415f
|
Converted to using the BTB to predict the instruction class.
|
2021-03-04 09:23:35 -06:00 |
|
Thomas Fleming
|
de3f2547f4
|
Install dtlb in dmem
|
2021-03-04 03:30:06 -05:00 |
|
Thomas Fleming
|
1df7151fb6
|
Install tlb into ifu
|
2021-03-04 03:11:34 -05:00 |
|
Thomas Fleming
|
2e409f2299
|
Merge branch 'tlb_toy' into main
|
2021-03-04 02:41:11 -05:00 |
|
Thomas Fleming
|
5f98c932bf
|
Move tlb into mmu directory
|
2021-03-04 02:39:08 -05:00 |
|
Teo Ene
|
f060f6cb9d
|
Fix to 32-bit option of commit babe6ce9db
|
2021-03-04 01:33:34 -06:00 |
|
Thomas Fleming
|
d9f396ee0e
|
Merge branch 'main' into tlb_toy
|
2021-03-04 01:18:04 -05:00 |
|
Thomas Fleming
|
347275e7ee
|
Generalize tlb module
- number of tlb entries is now parameterized
- tlb now supports rv64i
|
2021-03-04 01:13:31 -05:00 |
|
Thomas Fleming
|
394051c02f
|
Begin hardware page table walker
|
2021-03-03 17:13:45 -05:00 |
|
Noah Boorstin
|
62b441f3f5
|
busybear: probably discovered bug in ahb code
|
2021-03-01 20:56:04 +00:00 |
|
Noah Boorstin
|
4833b36535
|
busybear: more adapting to new memory system
|
2021-03-01 18:50:42 +00:00 |
|
Noah Boorstin
|
26d4024b33
|
busybear: fix bootram range
|
2021-03-01 17:45:21 +00:00 |
|
David Harris
|
9bcddfa5dd
|
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
|
2021-03-01 00:09:55 -05:00 |
|
David Harris
|
2543c29839
|
Initial (untested) implementation of lr and sc
|
2021-03-01 00:09:45 -05:00 |
|
Teo Ene
|
babe6ce9db
|
Properly implemented the fix from commit 31c07b2adc
|
2021-02-28 22:22:04 -06:00 |
|
Noah Boorstin
|
bcc0010498
|
Merge branch 'main' into busybear
|
2021-02-28 20:45:08 +00:00 |
|
Noah Boorstin
|
f306d2d2e1
|
busybear: start preloading bootmem
|
2021-02-28 20:43:57 +00:00 |
|
Noah Boorstin
|
a03796a519
|
busybear: change sstatus, mstatus reset value
|
2021-02-28 16:19:03 +00:00 |
|
Noah Boorstin
|
6e70ae8b3d
|
busybear: add 2nd dtim for bootram
|
2021-02-28 16:08:54 +00:00 |
|
Noah Boorstin
|
edd5e9106d
|
busybear: remove gpio, start adding 2nd ram
|
2021-02-28 06:02:40 +00:00 |
|
Noah Boorstin
|
e5e345d161
|
busybear: instantiate normal wallypipelinedsoc
|
2021-02-28 06:02:21 +00:00 |
|