Domenico Ottolia
1556cc5b9f
Use correct begin_signature for rv64p/MCAUSE and rv64p/SCAUSE
2021-05-04 01:04:12 -04:00
Domenico Ottolia
84911e6345
Fix 32 bit privileged tests!!!
2021-05-04 00:16:19 -04:00
Thomas Fleming
4f5ef65aeb
Restore original order of tests
2021-05-03 23:50:21 -04:00
Thomas Fleming
d53afc8510
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-05-03 23:15:39 -04:00
Thomas Fleming
1f6db293fa
Enable mmu tests in testbench
2021-05-03 23:15:23 -04:00
Domenico Ottolia
a7e89f43c1
Fix bug with IllegalInstrFaultM not getting correct value
2021-05-03 22:48:03 -04:00
Domenico Ottolia
12d8ff617b
Run all tests
2021-05-03 22:38:59 -04:00
Domenico Ottolia
353d4e9238
Update cause tests to be longer
2021-05-03 22:38:26 -04:00
Domenico Ottolia
db4e447a25
Add mtvec and stvec tests to testbench
2021-05-03 22:19:50 -04:00
Shriya Nadgauda
c10d332c6e
working testbench-imperas
2021-05-03 22:16:58 -04:00
Shriya Nadgauda
0be6b81df9
finishing merge conflict changes
2021-05-03 22:15:05 -04:00
Shriya Nadgauda
52e0b703b7
merge conflict fixes
2021-05-03 22:12:30 -04:00
Shriya Nadgauda
0282aebec7
updated pipeline tests
2021-05-03 22:07:36 -04:00
Thomas Fleming
f78f2b3b5d
Adjust attributes in PMA checker
2021-05-03 21:58:32 -04:00
David Harris
96e90402c5
Rolled back fflush on uart. Use -syncio in Modelsim command line instead.
2021-05-03 20:04:44 -04:00
David Harris
062120f944
Flush uart print statements on \n
2021-05-03 19:51:51 -04:00
David Harris
743011194b
Flush uart print statements on \n
2021-05-03 19:41:37 -04:00
David Harris
4285d60041
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-05-03 19:37:56 -04:00
David Harris
8758b6efa1
Flush uart print statements on \n
2021-05-03 19:37:45 -04:00
Elizabeth Hedenberg
08bfaeffe3
coremark print statment
2021-05-03 19:35:08 -04:00
Elizabeth Hedenberg
800f799b7c
coremark updates
2021-05-03 19:35:07 -04:00
Elizabeth Hedenberg
81ed9b5d06
coremark directory changes
2021-05-03 19:35:06 -04:00
David Harris
2f5649832a
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-05-03 19:29:01 -04:00
David Harris
1f2da4c457
Flush uart print statements on \n
2021-05-03 19:25:28 -04:00
Ross Thompson
6a01ea9f2d
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-05-03 16:57:36 -05:00
Domenico Ottolia
e59f8037be
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-05-03 17:56:05 -04:00
Ross Thompson
21c0ee0cf2
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-05-03 16:56:00 -05:00
Ross Thompson
ed4f2ecb24
fixed subtle typo in icache fsm. Was messing up hit spill hit.
...
I believe the mibench qsort benchmark runs after this icache fix.
2021-05-03 16:55:36 -05:00
Domenico Ottolia
ab68933466
Fix bug that caused stvec to get the wrong value
2021-05-03 17:54:57 -04:00
Thomas Fleming
3f7061d557
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-05-03 17:38:13 -04:00
Thomas Fleming
86a93d77b4
Implement PMP checker and revise PMA checker
2021-05-03 17:37:42 -04:00
Thomas Fleming
00c3b5a033
Remove remnants of InstrReadC
2021-05-03 17:36:25 -04:00
Jarred Allen
a21b84e2ad
Add lint to regression
2021-05-03 17:32:05 -04:00
Ross Thompson
0a44d4dd4e
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-05-03 14:53:54 -05:00
Ross Thompson
e09ac73eaf
Removed combinational loops between icache and PMA checker.
2021-05-03 14:51:25 -05:00
Ross Thompson
7185905f7b
Reduced icache to 1 port memory.
2021-05-03 14:47:49 -05:00
David Harris
699a8f3ac3
Extended maximum signature length to 1M
2021-05-03 15:29:20 -04:00
Katherine Parry
3f05e31954
fpu warnings fixed/commented
2021-05-03 19:17:09 +00:00
Thomas Fleming
94d734cca9
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
...
Conflicts:
wally-pipelined/src/ebu/ahblite.sv
2021-05-03 14:02:19 -04:00
Ross Thompson
12b978fec2
Eliminated extra register and fixed ports to icache.
...
Still need to support physical tag check and write in icache memory.
Still need to reduce to 1 port SRAM in icache.
I would like to refactor the icache code.
2021-05-03 12:04:54 -05:00
bbracker
8ec0d18444
merge conflict resolved -- Ross and I made the same fix
2021-05-03 10:10:42 -04:00
bbracker
1db608fbc6
small rv64 plic test bugfix
2021-05-03 10:06:44 -04:00
Ross Thompson
fdf4954a20
Added back in function name to wave.do
2021-05-03 09:04:48 -05:00
Ross Thompson
b57c187208
Fixed typo in ifu for bypassing branch predictor.
...
Fixed missing signal name in local history predictor.
2021-05-03 08:56:45 -05:00
David Harris
c9806fb472
Fixed lint error in div
2021-05-03 09:26:12 -04:00
bbracker
fb0910d9c0
ifu lint fixes
2021-05-03 09:25:22 -04:00
bbracker
acd99be7f8
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-05-03 09:23:52 -04:00
Noah Boorstin
8d417558ae
busybear: remove now unneeded hack for fixed CSR issue
2021-05-01 15:17:04 -04:00
Katherine Parry
9252d08b41
fpu imperas tests run
2021-05-01 02:18:01 +00:00
bbracker
0d62440f60
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-30 06:26:35 -04:00
bbracker
9c08ce5359
rv32 plic test and lint fixes
2021-04-30 06:26:31 -04:00
Noah Boorstin
c9fcd3405d
rollback regression to 400k instrs for busybear
2021-04-29 20:59:30 -04:00
Domenico Ottolia
830787e3e1
Make vectored interrupt trap handling work, and add tests for mtvec with vectored interrupts
2021-04-29 20:42:14 -04:00
Ross Thompson
893e03d55b
Fixed memory size in configs for rv32ic and rv64ic.
...
Removed warning on call to $fscanf.
2021-04-29 17:36:46 -05:00
Domenico Ottolia
750d276feb
Minor improvements to scause test
2021-04-29 16:48:07 -04:00
Domenico Ottolia
fdbd238a87
Add machine-mode timer interrupts to mcause tests
2021-04-29 16:39:18 -04:00
Thomas Fleming
10c7260980
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-29 16:30:00 -04:00
Domenico Ottolia
c9cb2f51d1
Same but don't break sim-wally this time
2021-04-29 15:33:27 -04:00
Domenico Ottolia
fdd4deec2f
Add more exceptions to medeleg tests
2021-04-29 15:32:13 -04:00
ushakya22
de23edcfb9
fix to pcm bug
2021-04-29 15:21:08 -04:00
ushakya22
f139f248dc
Working MIE timer tests
2021-04-29 15:19:43 -04:00
Domenico Ottolia
99a927be47
Add medeleg tests
2021-04-29 15:02:36 -04:00
Jarred Allen
246b41e604
Enhance lint-wally functionality
2021-04-29 14:48:41 -04:00
Jarred Allen
c6996ce39d
Remove signal which no longer exists from default waves, so sim-wally works
2021-04-29 14:41:10 -04:00
Jarred Allen
000f48cd75
Fix compile error in branch predictor
2021-04-29 14:36:56 -04:00
Shreya Sanghai
b554dc8e72
fixed bug in gshare, global and local history BP
2021-04-29 06:14:32 -04:00
Thomas Fleming
e091f430e0
Clean up PMA checker and begin PMP checker
2021-04-29 02:20:39 -04:00
Thomas Fleming
d29ddddc3f
Remove unused waves from .do files
2021-04-29 02:19:46 -04:00
Thomas Fleming
6515c0b9ed
Add mmu waves (commented) to busybear
2021-04-28 20:01:05 -04:00
Noah Boorstin
9275f141f9
same but do that right this time
2021-04-28 14:27:28 -04:00
Domenico Ottolia
1c30625382
Modify make file to make privileged tests always pass Imperas (for testing interrupts) & Add mtvec/stvec tests
2021-04-27 21:47:38 -04:00
Noah Boorstin
fce3d6a8b1
busybear: respect branch predictor disable config
2021-04-27 15:52:18 -04:00
Ross Thompson
d191bc6cc1
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-26 14:28:09 -05:00
Ross Thompson
14a69c1d06
Added the ability to exclude branch predictor.
2021-04-26 14:27:42 -05:00
Noah Boorstin
922c8e450f
ok but do that better
2021-04-26 14:38:05 -04:00
Noah Boorstin
24bbb674d3
linux: start using internal branch predictor signal
2021-04-26 14:34:38 -04:00
Ross Thompson
a7e4d39ea1
Fixed issue with not saving the first cache block read on a miss spill.
2021-04-26 12:57:34 -05:00
Noah Boorstin
9cbc769083
minor busybear fixes
2021-04-26 13:24:39 -04:00
Ross Thompson
44d28dbd1c
Icache integrated!
...
Merge branch 'icache-almost-working' into main
2021-04-26 11:48:58 -05:00
Ross Thompson
615831f588
Reverted back the exe2memfile.pl script changes. Something I changed broke the load tests.
2021-04-26 10:44:27 -05:00
bbracker
f921886451
merge cleanup; mem init is broken
2021-04-26 08:00:17 -04:00
bbracker
7947858481
it says I need to merge in order to pull
2021-04-26 07:46:24 -04:00
bbracker
8d77012995
progress on bus and lrsc
2021-04-26 07:43:16 -04:00
Ross Thompson
9e40fb072c
Merge branch 'tests' into icache-almost-working
2021-04-25 21:25:36 -05:00
bbracker
46a1616079
thomas fixed it before I did
2021-04-24 09:38:52 -04:00
bbracker
5687ab1c96
do script refactor
2021-04-24 09:32:09 -04:00
Thomas Fleming
ff675a5647
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-23 20:12:27 -04:00
Thomas Fleming
dc3ffc9244
Add address translation to busybear testbench
2021-04-23 20:12:20 -04:00
Thomas Fleming
6f23858609
Fix HSIZE and HBURST signal widths in PMA checker
2021-04-23 20:11:43 -04:00
David Harris
9c9fe56292
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-23 19:04:29 -04:00
David Harris
e3b28db969
Fixed exe2memfile.pl to handle large files
2021-04-23 19:04:16 -04:00
Ross Thompson
d7fea1ba3c
almost working icache.
2021-04-23 16:47:23 -05:00
Noah Boorstin
50df9d11e1
busybear
2021-04-23 17:32:37 -04:00
Shriya Nadgauda
2a5c243b0b
adding pipeline testing
2021-04-23 14:19:17 -04:00
Jarred Allen
9a88d83851
Remind people to run make allclean
when a regression fails
2021-04-22 19:21:00 -04:00
Ross Thompson
c9bdaceddb
Fixed icache for 32 bit.
...
Merge branch 'cache' into main
2021-04-22 16:45:29 -05:00
Ross Thompson
04eb302925
Yes. The hack to not repeat the d memory operation fixed this issue.
2021-04-22 15:22:56 -05:00
Thomas Fleming
5bff582608
Write PCM to TVAL registers
2021-04-22 16:17:57 -04:00
Thomas Fleming
07770a46d8
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-22 15:37:19 -04:00
Thomas Fleming
74fb1dccad
Prepare to squash bad ahb accesses
2021-04-22 15:36:45 -04:00
Thomas Fleming
c055ab272d
Clean up lint errors in fpu and muldiv
...
booth.sv had an actual error where a signal was being assigned to too
many bits. muldiv has a lot of non blocking assignments, so I suppressed
those warnings so the linter output was readable.
2021-04-22 15:36:03 -04:00
Domenico Ottolia
787ae978d7
Fix misa synthesis bug (for real now)
2021-04-22 15:35:20 -04:00
Thomas Fleming
e7822ce20c
Implement first pass at the PMA checker
2021-04-22 15:34:02 -04:00
Thomas Fleming
848508530c
Pass lint-wally arguments to verilator
2021-04-22 13:39:20 -04:00
Jarred Allen
8baa2a350d
Add buildroot to regression test
2021-04-22 13:34:56 -04:00
Thomas Fleming
805ac5dbd7
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-22 13:20:12 -04:00
Thomas Fleming
f9e071baf8
Temporarily disable rv64 mmu test
...
Will restore once cache revamp is pushed
2021-04-22 13:19:18 -04:00
bbracker
c796547156
greatly improved PLIC register interface
2021-04-22 11:22:01 -04:00
Ross Thompson
7c8d2e9b78
Partially working icache.
...
The current issue is a StallF is required to halt the icache from getting an updated PCF. However
if the dmemory is the reason for a stall it is possible for the icache stall to hold the d memory request continuously causing d memory to repeatedly read from memory. This keeps StallF high and
the icache FSM is never allowed to complete.
2021-04-22 10:20:36 -05:00
Thomas Fleming
d22f0f9d63
Refactor tlb_ram to use flop primitives
2021-04-22 01:52:43 -04:00
Thomas Fleming
4d4ca24640
Extend stall on leaf page lookups
2021-04-22 01:51:38 -04:00
Domenico Ottolia
939e36a151
Fix misa bug
2021-04-22 00:59:07 -04:00
Thomas Fleming
88bd151d55
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
...
Conflicts:
wally-pipelined/src/ifu/ifu.sv
2021-04-21 20:01:08 -04:00
Thomas Fleming
70c801331a
Implement virtual memory protection
2021-04-21 19:58:36 -04:00
Ross Thompson
50e893eec9
Fixed for the instruction spills.
2021-04-21 16:47:05 -05:00
Teo Ene
6da8530104
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-21 16:06:33 -05:00
Teo Ene
008b308b79
Fixed most relevant remaining synthesis compilation warnings with Ben
2021-04-21 16:06:27 -05:00
Noah Boorstin
0afd5ae5f6
buildroot: add workaround for weird initial MSTATUS state
2021-04-21 16:03:42 -04:00
Ross Thompson
269ea7997c
major progress.
...
It's running the icache is imperas tests now.
Compressed does not work yet.
2021-04-21 08:39:54 -05:00
Domenico Ottolia
82320033d5
Add tests for stval and mtval
2021-04-21 02:31:32 -04:00
Domenico Ottolia
fed42ffe19
Add tests for scause, and improve tests for sepc. Also make improvements to privileged test generator run.sh file
2021-04-21 01:12:55 -04:00
Domenico Ottolia
d5f86fadac
Add tests for sepc register
2021-04-20 23:50:53 -04:00
Ross Thompson
a861a37b72
Why was the linter messed up?
...
There are a number of combo loops which need fixing outside the icache. They may be fixed in main.
We get to instruction address 50 now!
2021-04-20 22:06:12 -05:00
Ross Thompson
daa1ab9261
Progress on icache. Fixed some issues aligning the PC with instruction. Still broken.
2021-04-20 21:19:53 -05:00
Ross Thompson
649589ee2c
Broken icache. Design is done. Time to debug.
2021-04-20 19:55:49 -05:00
Domenico Ottolia
e02ff60b07
Fix synthesis warnings for privileged unit (replace 'initial' settings)
2021-04-20 17:57:56 -04:00
Noah Boorstin
c7a09d2359
yay buildroot passes a decent amount of tests now
...
gets through the first 15k instructions, that's good enough for now
also slight change to string parsing in busybear testbench
2021-04-19 03:26:08 -04:00
Jarred Allen
59b340dac9
Merge branch 'main' into cache
2021-04-19 00:05:23 -04:00
Katherine Parry
204e5cb018
fixed synth bugs in fpu
2021-04-19 00:39:16 +00:00
Noah Boorstin
10c7ac7f73
slowly more buildroot progress
2021-04-18 18:18:07 -04:00
Noah Boorstin
d0a137ce0c
neat verilog thing
2021-04-18 17:48:51 -04:00
Noah Boorstin
5902637632
buildroot: sim is now running!
...
yes it only gets through 5 instructions right now. Yes that's my fault.
2021-04-17 14:44:32 -04:00
Noah Boorstin
541fb22dc9
start to add buildroot testbench
...
This still uses testbench-busybear.sv
I think it might be time to finally rename nearly 'busybear' thing to 'linux'
2021-04-16 23:27:29 -04:00
Jarred Allen
3868a82932
dcache lints
2021-04-15 21:13:56 -04:00
Jarred Allen
32cfbc6926
Enable linting of blocks not yet in the hierarchy
2021-04-15 21:13:40 -04:00
bbracker
11cf251378
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-15 21:09:27 -04:00
bbracker
195cead01c
working GPIO interrupt demo
2021-04-15 21:09:15 -04:00
Domenico Ottolia
b1cd107a00
Add tests for scause and ucause
2021-04-15 19:41:25 -04:00
Domenico Ottolia
a149f2f3d8
Add support for vectored interrupts
2021-04-15 19:13:42 -04:00
Domenico Ottolia
70b79ca301
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-15 16:57:27 -04:00
Domenico Ottolia
8c4cfa5f69
Add 32 bit privileged tests
2021-04-15 16:55:39 -04:00
Teo Ene
a9c6d357d8
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-15 15:29:09 -05:00
Teo Ene
7a40c27b59
Quick fix to ahblite missing default statement done in class :)
2021-04-15 15:29:04 -05:00
Thomas Fleming
e8770e3eac
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
...
Conflicts:
wally-pipelined/src/mmu/priority_encoder.sv
2021-04-15 16:20:43 -04:00
Thomas Fleming
e838f0bb3d
Change priority encoder to avoid extra assignment
2021-04-15 16:17:35 -04:00
Thomas Fleming
2c4682c4be
Connect tlb and icache properly
2021-04-15 14:48:39 -04:00
Teo Ene
cefc8ea22b
Temporary change to mmu/priority_encoder.sv
...
Necessary to get synth working
Original HDL is still there, just commented out
2021-04-15 13:37:12 -05:00
Katherine Parry
0bdd3efdd5
integraded the FMA into the FPU
2021-04-15 18:28:00 +00:00
Jarred Allen
7b4b1a31ef
Merge branch 'main' into cache
2021-04-15 13:47:19 -04:00
Ross Thompson
534e3eaac8
Merge branch 'bpfixes' into main
2021-04-15 09:06:21 -05:00
Shreya Sanghai
75caa65df1
Cherry Pick merge of Shreya's localhistory predictor changes into main.
...
fixed minor bugs in localHistory
2021-04-15 09:04:36 -05:00
ShreyaSanghai
80fbd66113
added localHistoryPredictor
2021-04-15 08:58:22 -05:00
Shreya Sanghai
3696bf4f2c
fixed bugs in global history to read latest GHRE
...
Cherry pick Shreya's commits into main branch.
2021-04-15 08:55:22 -05:00
bbracker
76f50d7a69
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-15 09:06:03 -04:00
bbracker
da22308e60
csri lint improvement
2021-04-15 09:05:53 -04:00
Jarred Allen
4d58f673b2
Add a comment to explain a detail
2021-04-14 23:14:59 -04:00
Thomas Fleming
d281ecd067
Remove imem from testbenches
2021-04-14 20:20:34 -04:00
Jarred Allen
c32fe09056
More icache bugfixes
2021-04-14 19:03:33 -04:00
Jarred Allen
757b64e487
Merge branch 'main' into cache
...
Conflicts:
wally-pipelined/src/cache/dmapped.sv
wally-pipelined/src/cache/line.sv
wally-pipelined/src/ifu/icache.sv
2021-04-14 18:24:32 -04:00
bbracker
ccff1e6c99
rv64 interrupt servicing
2021-04-14 10:19:42 -04:00
Noah Boorstin
3e0ed5a2b1
busybear: use (slightly) less terrible verilog
2021-04-14 00:18:44 -04:00
Noah Boorstin
18a4d5fc8d
busybear testbench updates
...
start speculative checking on CSR* satp, *
add some slight delays in some CSR checkings to make them deterministic
I realize this verilog is incredibly un-idiomatic. But I still don't
know of anything better. If you figure it out, please let me know
2021-04-14 00:00:27 -04:00
Thomas Fleming
bb2d433971
Fix mmu lint errors
2021-04-13 19:19:58 -04:00
Thomas Fleming
a545dcb9ae
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-13 17:15:10 -04:00
Katherine Parry
e075dc2d13
Various bugs fixed in FMA
2021-04-13 18:27:13 +00:00
Thomas Fleming
ae888b5705
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
...
Conflicts:
wally-pipelined/src/ebu/pagetablewalker.sv
2021-04-13 13:42:03 -04:00
Thomas Fleming
f0c926cf68
Move InstrPageFault to fetch stage
2021-04-13 13:39:22 -04:00
Thomas Fleming
08a84048b6
Add lru algorithm to TLB
2021-04-13 13:37:24 -04:00
Teo Ene
0bffac2c74
Various code syntax changes to bring HDL to a synthesizable level
2021-04-13 11:27:12 -05:00
Jarred Allen
95ad9a93a4
Merge branch 'main' into cache
2021-04-13 01:10:03 -04:00
Jarred Allen
357aed75ee
A few more cache fixes
2021-04-13 01:07:40 -04:00
Ross Thompson
cb52820249
Fixed minor bug in muldiv which corrects the lint error.
2021-04-09 10:56:31 -05:00
ushakya22
c8c2d63163
Latest IE tests with timer interupts
2021-04-08 17:53:39 -04:00
Jarred Allen
6ce4d44ae1
Merge from branch 'main'
2021-04-08 17:19:34 -04:00
Ross Thompson
75b97f1422
Created special test for driving the instruction spill error.
...
The extact problem occurs when a 4 byte instruction startles two cache blocks (or without a cache two ahbi words) and the code jumps to a cache block other than the next cache block. Consider the following sample of code.
0000000000000080 <test_spill>:
80: 42a9 li t0,10
82: 0001 nop
84: 0001 nop
86: 0001 nop
88: 02bd addi t0,t0,15
8a: 00628e33 add t3,t0,t1
8e: 01ce8963 beq t4,t3,a0 <match>
0000000000000092 <failure>:
92: 557d li a0,-1
94: 8082 ret
96: 00000013 nop
9a: 00000013 nop
9e: 0001 nop
00000000000000a0 <match>:
a0: 1ffd addi t6,t6,-1
a2: fc0f9fe3 bnez t6,80 <test_spill>
a6: 4501 li a0,0
a8: 8082 ret
Instructions 0x88, 0x8a and 0x8e are read incorrectly. However once the branch predictor begins to correctly predict the beq at 0x8e the instrution at 0xa0 is loaded incorrectly as the 2 upper bytes of 0x8e and the two bytes of 0x92. This amalgamation causes c.addi at 0xa0 to do something else and the loop never terminates.
The button of wavefile wave.do shows the exact problem in the 'icache'.
2021-04-08 15:05:08 -05:00
bbracker
0c85b1c201
integrated peripheral testing into existing workflow
2021-04-08 15:31:39 -04:00
bbracker
37bca569ff
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-08 14:28:25 -04:00
bbracker
c8c87bd0d8
merge testbench
2021-04-08 14:28:01 -04:00
Katherine Parry
6e4a22ec4b
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-08 18:06:51 +00:00
David Harris
5b262159cd
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-08 14:04:09 -04:00
David Harris
2a7dd37441
restored testbench-imperas.sv
2021-04-08 14:04:01 -04:00
Katherine Parry
21efd0cad9
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-08 18:03:57 +00:00
Katherine Parry
08f45eb076
fixed FPU lint warnings
2021-04-08 18:03:21 +00:00
Katherine Parry
ebf4915440
fixed FPU lint warnings
2021-04-08 17:55:25 +00:00
ushakya22
6dc982285c
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-04-08 13:55:23 -04:00
ushakya22
0dfeb76f10
Updates to WALLY-IE tests
2021-04-08 13:54:42 -04:00
David Harris
2203e64b65
merge conflict resolution
2021-04-08 13:53:56 -04:00
David Harris
aabebdb59f
fixed sim-wally-32ic
2021-04-08 13:40:16 -04:00
Noah Boorstin
5f1cd43033
try to remove git-lfs stuff
2021-04-08 13:23:11 -04:00
Domenico Ottolia
d6949b5b81
Update privileged testgen & helper script
2021-04-08 05:14:07 -04:00
Domenico Ottolia
1bdfac6a77
Cause an Illegal Instruction Exception when attempting to write readonly CSRs
2021-04-08 05:12:54 -04:00
Thomas Fleming
bd310a55af
Refactor TLB into multiple files
2021-04-08 03:24:10 -04:00
Thomas Fleming
b3795cef2e
Provide attribution link for priority encoder
2021-04-08 03:05:06 -04:00
Thomas Fleming
e807f5d771
Implement support for superpages
2021-04-08 02:44:59 -04:00
Ross Thompson
7f12c7af90
Switch to use RV64IC for the benchmarks.
...
Still not working correctly with the icache.
instr
addr correct got
2021-04-07 19:12:43 -05:00
ushakya22
7888eacc3f
MIE privilege tests with working timer interupt
2021-04-07 04:09:09 -04:00
Domenico Ottolia
9b82fbff5a
Add privileged tests to testbench
2021-04-07 02:22:08 -04:00
Domenico Ottolia
bbdd4e1467
Add passing mtval and mepc tests
2021-04-07 02:21:05 -04:00
Ross Thompson
d901cfc848
Merge branch 'icache_bp_bug' into tests
...
Not sure this merge is right.
2021-04-06 21:46:40 -05:00
Ross Thompson
a5dc175ab2
Merge remote-tracking branch 'refs/remotes/origin/tests' into tests
2021-04-06 21:20:55 -05:00
Ross Thompson
0a20e33971
Steps to getting branch predictor benchmarks running.
2021-04-06 21:20:51 -05:00
Jarred Allen
4da2688c40
Fix another bug in icache
2021-04-06 17:47:00 -04:00
Jarred Allen
ecb2bc8163
Fix another bug in icache
2021-04-06 12:48:42 -04:00
Noah Boorstin
c820910b29
add busybear boot files with git-lfs
2021-04-05 19:38:43 -04:00
Noah Boorstin
ce22a1de04
busybear: reenable 'ruthless' CSR checking
2021-04-05 12:53:30 -04:00
bbracker
80a67dc906
declare memread signal
2021-04-05 08:13:01 -04:00
bbracker
eca92041e9
PLIC claim reg side effects now check for memread signal
2021-04-05 08:03:14 -04:00
bbracker
8f4da826fb
plic subword access compliance
2021-04-04 23:10:33 -04:00
Katherine Parry
f41b5a2d38
Added missing files in FPU
2021-04-04 18:09:13 +00:00
bbracker
ce7b2314ef
Yee hoo first draft of PLIC plus self-checking tests
2021-04-04 06:40:53 -04:00
Thomas Fleming
5946b860ca
Comment out fpu from hart until module exists
2021-04-03 22:34:11 -04:00
Thomas Fleming
8f31e00f6a
Merge branch 'mmu' into main
...
Conflicts:
wally-pipelined/src/wally/wallypipelinedhart.sv
2021-04-03 22:12:52 -04:00
Thomas Fleming
ac89947e98
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-03 22:09:50 -04:00
Noah Boorstin
2f503ee6b9
busybear: temporary stop after 800k instrs
2021-04-03 21:37:57 -04:00
Thomas Fleming
e04ad8f304
Fix extraneous page fault stall
2021-04-03 21:28:24 -04:00
Jarred Allen
4ebc991a65
Fix bug in icache
2021-04-03 18:10:54 -04:00
Katherine Parry
08b31f7b2a
Integrated FPU
2021-04-03 20:52:26 +00:00
Ross Thompson
a743acd1fd
Partial fix to the integer divide stall issue.
2021-04-02 15:32:15 -05:00
James E. Stine
e38e7aff8e
Minor cleanup
2021-04-02 08:20:44 -05:00
James E. Stine
82cd900b65
Put back imperas testbench until figure out why m_supported is running for rv64ic
2021-04-02 08:19:25 -05:00
James E. Stine
9026357350
Added some updates to divider - still not working all the time. Still a bug with signals within muldiv - specificaly MultDivE being modified during Execute stage. Seems to be triggered by ahblite signal.
2021-04-02 06:27:37 -05:00
Thomas Fleming
14cf331265
Merge branch 'main' into mmu
2021-04-01 16:29:39 -04:00
Thomas Fleming
06032936bd
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-04-01 16:24:06 -04:00
Thomas Fleming
3f3d8f414d
Merge branch 'mmu' of github.com:davidharrishmc/riscv-wally into mmu
2021-04-01 16:23:19 -04:00
Thomas Fleming
f9bf2fbc01
Implement sfence.vma and fix tlb writing
2021-04-01 15:55:05 -04:00
Jarred Allen
8dc57a7706
Begin changes to direct-mapped cache
2021-04-01 13:55:21 -04:00
Shreya Sanghai
bf3f4ff5b2
fixed minor bugs in localHistory
2021-04-01 13:40:08 -04:00
James E. Stine
59dee5580c
Fixed some divide -still bug in AHB causing InstStall to deassert and next instruction to get into divide unit. Hope to fix soon. Divide seems to work if given enough time.
2021-04-01 12:30:37 -05:00
ShreyaSanghai
e33007e30e
added localHistoryPredictor
2021-04-01 22:22:40 +05:30
Shreya Sanghai
65e9747752
fixed bugs in global history to read latest GHRE
2021-03-31 21:56:14 -04:00
Teo Ene
6aed8eaea1
Updated MISA in coremark_bare config file
2021-03-31 20:39:02 -05:00
Noah Boorstin
4e62c7d5f5
busybear: temporarially stop checking CSRs
2021-03-31 14:14:32 -04:00
Noah Boorstin
679daeedf5
busybear: clean up questa warnings
2021-03-31 14:04:57 -04:00
Noah Boorstin
ddc56d8cd7
busybear: clean up questa warnings
2021-03-31 14:02:15 -04:00
Ross Thompson
f1107c5d7b
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
1e83810450
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
9388a9f28a
Disable 'always-on' virtual memory
2021-03-30 22:49:47 -04:00
Thomas Fleming
e35020b7dc
Extend lint-wally to lint both rv32 and rv64
2021-03-30 22:42:28 -04:00
Thomas Fleming
e3d548d452
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
4b2765f8e2
Complete basic page table walker
2021-03-30 22:19:27 -04:00
Thomas Fleming
7f7cc73dd3
Update virtual memory tests and move to separate folder
2021-03-30 22:18:29 -04:00
Domenico Ottolia
d0a78b15b7
Add one more test to WALLY-CAUSE, and update privileged testgen
2021-03-30 19:44:58 -04:00
Domenico Ottolia
8c7e247b58
Add mcause tests to testbench
2021-03-30 17:17:59 -04:00
Domenico Ottolia
ae7868b166
Update privileged tests generator
2021-03-30 16:58:46 -04:00
Domenico Ottolia
47648dc721
Add all working mcause tests
2021-03-30 16:55:12 -04:00
ushakya22
ba01d57767
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-30 15:25:07 -04:00
ushakya22
2b99a7657a
privilege tests
2021-03-30 15:23:47 -04:00
Ross Thompson
a3925505bf
fixed some bugs with the RAS.
2021-03-30 13:57:40 -05:00
Jarred Allen
6cda818f09
Merge branch 'cache2' into cache
...
Conflicts:
wally-pipelined/testbench/testbench-imperas.sv
2021-03-30 13:32:33 -04:00
Jarred Allen
dd0b3fde59
Comment out failing tests
2021-03-30 13:07:26 -04:00
Jarred Allen
335178a1d3
Merge branch 'cache' into main
2021-03-30 12:56:19 -04:00
Jarred Allen
85164c7a87
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
David Harris
9f0a58e193
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-26 13:04:52 -04:00
David Harris
aa0d0d50d8
Added fp test to testbench
2021-03-26 13:03:23 -04:00
Noah Boorstin
606295db2f
Merge branch 'main' into cache
...
Conflicts:
wally-pipelined/testbench/testbench-busybear.sv
2021-03-26 12:26:30 -04:00
Shreya Sanghai
edaf89e3d1
Merge branch 'PPA' into main
...
Conflicts:
wally-pipelined/testbench/testbench-privileged.sv
2021-03-25 20:35:21 -04:00
Shreya Sanghai
d3e914f64b
removed minor bugs
2021-03-25 20:29:50 -04:00
Jarred Allen
c8a88757ab
Fix error when reading an instruction that crosses a line boundary
2021-03-25 18:47:23 -04:00
ShreyaSanghai
da4086db79
Removed PCW and InstrW from ifu
2021-03-26 01:53:19 +05:30
Jarred Allen
7338ddf853
Remove old icache
2021-03-25 15:46:35 -04:00
Jarred Allen
fa6e6f1724
Works for misaligned instructions not on line boundaries
2021-03-25 15:42:17 -04:00
Noah Boorstin
ee3a53de7a
regression: use busybear batch instead
2021-03-25 15:34:10 -04:00
Domenico Ottolia
9e9fe5e9d3
More bug fixes for privileged tests
2021-03-25 15:05:55 -04:00
Jarred Allen
73d4dd8c15
Begin work on compressed instructions
2021-03-25 14:43:10 -04:00
Noah Boorstin
9eb1786fb1
busybear: quick fix to mem reading
...
also stop ignoring mcause at the start
2021-03-25 14:29:11 -04:00
Brett Mathis
aedc96cd04
FPU Pipeline completed - can begin integration
2021-03-25 13:29:03 -05:00
Domenico Ottolia
fb00d0f209
Fix bugs with privileged tests
2021-03-25 14:06:05 -04:00
Noah Boorstin
ed37e933e5
busybear: stop NOPing out atomics
...
and bump regression to check for 800k instrs, up from 200k
2021-03-25 13:29:56 -04:00
Jarred Allen
feabcf2d50
Make cache output NOP after a reset
2021-03-25 13:18:30 -04:00
David Harris
dea2ec280e
testgen-PIPELINE python startup
2021-03-25 13:12:18 -04:00
Shriya Nadgauda
e55a245948
adding PIPELINE tests
2021-03-25 13:07:25 -04:00
Jarred Allen
fdecd6c56c
Clean up some stuff
2021-03-25 13:04:54 -04:00
Jarred Allen
15e786da0b
Working for all of rv64i now, but not compressed instructions
2021-03-25 13:02:26 -04:00
Jarred Allen
e8e4e1bee2
rv64i linear control flow now working
2021-03-25 13:02:26 -04:00
Jarred Allen
08f4ce4438
More progress on icache controller
2021-03-25 13:01:11 -04:00
Jarred Allen
fff70bccbc
Begin rewrite of icache module to use a direct-mapped scheme
2021-03-25 13:01:10 -04:00
Jarred Allen
5a86225e1c
Fix bug in cache line
2021-03-25 12:59:30 -04:00
Jarred Allen
abedaf62a8
Output NOP instead of BAD when reset
2021-03-25 12:42:48 -04:00
Jarred Allen
2f5d854f87
Merge branch 'main' into cache
...
Conflicts:
wally-pipelined/src/uncore/dtim.sv
2021-03-25 12:10:26 -04:00
Teo Ene
7c3963547d
Config file for ppa experiments
2021-03-25 10:23:21 -05:00
David Harris
1158b3aa73
Added PPA README
2021-03-25 11:21:31 -04:00
Thomas Fleming
89a2fe5741
Finish finite state machines for page table walker
2021-03-25 02:48:40 -04:00
Thomas Fleming
4f01aae844
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-25 02:35:21 -04:00
bbracker
d52c71086a
added 1 tick delay to dtim flops
2021-03-25 02:23:30 -04:00
bbracker
ca392225df
added 1 tick delay on tim reads
2021-03-25 02:15:28 -04:00
Jarred Allen
9cbdb44728
Merge branch 'main' into cache
...
Conflicts:
wally-pipelined/src/ifu/ifu.sv
2021-03-25 00:51:12 -04:00
bbracker
6edb055f26
instrfault direspecting stalls bugfix
2021-03-25 00:44:35 -04:00
bbracker
5327dcfcc8
instrfaults not respecting stalls bugfix
2021-03-25 00:16:26 -04:00
bbracker
a8b7d7a248
upgraded gpio bus interface
2021-03-25 00:15:02 -04:00
bbracker
3e656fc035
future work comment about suspicious-looking verilog in csri.sv
2021-03-25 00:10:44 -04:00
Thomas Fleming
f2604797fb
Add all PMP addr registers
2021-03-24 21:58:33 -04:00
Teo Ene
1e691e120b
Fix typo from last commit
2021-03-24 17:09:58 -05:00
Teo Ene
9f44eb36ef
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-24 17:04:48 -05:00
Teo Ene
6a7b69ff2d
Updated coremark_bare testbench for IM
2021-03-24 17:04:43 -05:00
Katherine Parry
123e63b440
fixed various bugs in the FMA
2021-03-24 21:51:17 +00:00
Teo Ene
07f7df82e3
Added BPTYPE to coremark_bare config
2021-03-24 16:38:29 -05:00
Ross Thompson
cdb7d15709
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
Ross Thompson
a768c0406c
Updated the function radix to have a new name FunctionName and it now pervents false transisions from the current function name when the PCD is flushed.
2021-03-24 13:03:43 -05:00
Domenico Ottolia
3909158619
re-organize privileged tests to be in rv64p to rv32p folders
2021-03-24 13:51:25 -04:00
Jarred Allen
0776127c75
Give some cache mem inputs a better name
2021-03-24 12:31:50 -04:00
Jarred Allen
abf9f3b3cb
Fix compile errors from const not actually being constant (why does Verilog do this)
2021-03-24 00:58:56 -04:00
Ross Thompson
ace39940b4
Fixed RAS errors. Still some room for improvement with the BTB and RAS.
2021-03-23 23:00:44 -05:00
Jarred Allen
1f01a12be9
Merge branch 'main' into cache
2021-03-23 23:35:36 -04:00
Ross Thompson
72d25d4443
Fixed a bunch of bugs with the RAS.
2021-03-23 21:49:16 -05:00
Katherine Parry
fb78dedae2
fixed various bugs in the FMA
2021-03-24 01:35:32 +00:00
Ross Thompson
c318606f05
Fixed the valid bit issue. Now the branch predictor is actually predicting instructions.
2021-03-23 20:20:23 -05:00
Ross Thompson
9d5c351340
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
dee5d16850
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
ebd2c60b74
Begin work on direct-mapped cache
2021-03-23 17:03:02 -04:00
Teo Ene
8556c07261
Added BOOTTIM to InstrAccessFaultF calculation in uncore/imem
2021-03-23 15:21:13 -05:00
Ross Thompson
4836e8fe2c
Simulation definitely shows the branch predictor counters and branch predictor don't work. :(
2021-03-23 14:04:58 -05:00
Ross Thompson
c7e34bd4a0
added a whole bunch of interseting test code for branches which does not work.
2021-03-23 13:54:59 -05:00
Ross Thompson
c4f7c65210
updated the branch predictor config.
2021-03-23 13:54:59 -05:00
Ross Thompson
9909bdd4d5
Added first benchmark.
2021-03-23 13:54:59 -05:00
Ross Thompson
cebb2bc44d
Temporary exe2memfile0.pl script to support starting addresses of 0.
2021-03-23 13:54:59 -05:00
Ross Thompson
e6aef66853
Broken commit. Trying to get exe2memfile.pl to work correctly with non 0x8000_0000 starting addresses.
2021-03-23 13:54:59 -05:00
Noah Boorstin
355961f834
busybear: more progress
2021-03-23 14:49:30 -04:00
Shreya Sanghai
09b90557f7
PC counts branch instructions
2021-03-23 14:25:51 -04:00
Jarred Allen
c16605a105
Remove deleted signal from waves
2021-03-23 14:17:17 -04:00
Noah Boorstin
0dae5401f3
busybear: more progress moving from instrf to instrrawd
2021-03-23 14:06:21 -04:00
Noah Boorstin
7fb2ebec50
busybear: ignore illegal instruction when starting
2021-03-23 13:28:56 -04:00
Jarred Allen
789c189260
Another tweak to regression-wally.py comments
2021-03-23 00:18:38 -04:00
Jarred Allen
34cc9b4aeb
Document some internal signals
2021-03-23 00:10:35 -04:00
Jarred Allen
e4ebb4e31e
Add comments explaining icache inputs
2021-03-23 00:07:39 -04:00
Jarred Allen
2c4eda2ba3
Slight change to regression-wally.py comments
2021-03-23 00:02:40 -04:00
Jarred Allen
c47a80213e
Small commit to see if new hook tests non-main branch
2021-03-22 23:57:01 -04:00
Noah Boorstin
3c131bb2bd
start migrating busybear over to InstrRawD/PCD
...
this breaks busybear for now
2021-03-22 23:45:04 -04:00
Noah Boorstin
1592332d41
Merge branch 'main' into cache
2021-03-22 23:28:30 -04:00
Noah Boorstin
43d23e3d9b
busybear: add better warning on illegal instruction
...
...also it seems that mret is being picked up as an illegal instruction??
2021-03-22 18:24:35 -04:00
Noah Boorstin
4160bf50b0
busybear: temporarially force rf[5] correct after failure to read CSR
2021-03-22 18:12:41 -04:00
Noah Boorstin
4be19421c4
busybear: allow overwriting read values
2021-03-22 17:28:44 -04:00
Noah Boorstin
b4166e9fd0
busybear: finally get the right error
2021-03-22 16:52:22 -04:00
bbracker
c3a6d6bf42
added delays to uart AHB signals
2021-03-22 15:40:29 -04:00
Jarred Allen
307e33bc7e
Remove DelaySideD since it isn't needed
2021-03-22 15:13:23 -04:00
Jarred Allen
99fa8beef3
Update icache interface
2021-03-22 15:04:46 -04:00
Noah Boorstin
7350b9f18f
busybear: comment out some debug printing
2021-03-22 14:54:05 -04:00
Jarred Allen
507d8ed120
Merge branch 'main' into cache
2021-03-22 14:50:22 -04:00
Noah Boorstin
c4fb51fad1
regression: expect 200k instead of 100k busybear instrs
...
and a minor busybear bugfix
2021-03-22 14:47:52 -04:00
Jarred Allen
2269879459
Merge branch 'main' into cache
2021-03-22 13:47:48 -04:00
bbracker
eea7e2e47e
first pass at PLIC interface
2021-03-22 10:14:21 -04:00
Katherine Parry
9af0ad815c
fixed various bugs in the FMA
2021-03-21 22:53:04 +00:00
Jarred Allen
bab0e3b90f
Change busybear testbench to reflect new location of InstrF
2021-03-20 18:20:27 -04:00
Jarred Allen
e32291bcc2
Put Imperas testbench back
2021-03-20 18:19:51 -04:00
Jarred Allen
066dc2caac
Fix bug with PC incrementing
2021-03-20 18:06:03 -04:00
Jarred Allen
e531a1b5ee
Merge branch 'main' into cache
2021-03-20 17:56:25 -04:00
Jarred Allen
665c244ba1
Fix another bug in the icache (why so many of them?)
2021-03-20 17:54:40 -04:00
Jarred Allen
43a8cb0354
Revert "Change flop to listen to StallF"
...
This reverts commit f069b759be
.
2021-03-20 17:34:19 -04:00
Jarred Allen
639a718312
Fix conflicts in ahb-waves that snuck through manual merging
2021-03-20 17:16:50 -04:00
Jarred Allen
f069b759be
Change flop to listen to StallF
2021-03-20 17:04:13 -04:00
Katherine Parry
fd381e60d7
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
50c961bbe4
Merge changes from main
2021-03-18 18:58:10 -04:00
Jarred Allen
bf2fbf49ee
Add icache's read request to ahb wavs
2021-03-18 18:52:03 -04:00
bbracker
df51d9908d
AHB bugfixes and sim waveview refactoring
2021-03-18 18:25:12 -04:00
bbracker
11ba96f2e3
maybe AHB works now
2021-03-18 17:47:00 -04:00
Shreya Sanghai
804407eab7
fixed minor bugs in testbench
2021-03-18 17:37:10 -04:00
Shreya Sanghai
dfc86539cc
Merge branch 'gshare' into main
...
Conflicts:
wally-pipelined/regression/wave.do
2021-03-18 17:25:48 -04:00
Ross Thompson
9386e6a524
Switched to gshare from global history.
...
Fixed a few minor bugs.
2021-03-18 16:05:59 -05:00
Ross Thompson
181a28e875
Fixed minor bug with the size of gshare.
2021-03-18 16:00:09 -05:00
Shreya Sanghai
f35d3b39c8
removed unnecesary PC registers in ifu
2021-03-18 16:31:21 -04:00
Thomas Fleming
859d242d81
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-18 14:36:42 -04:00
Thomas Fleming
062c4d40da
Connect tlb, pagetablewalker, and memory
2021-03-18 14:35:46 -04:00
Thomas Fleming
f04e554e35
Improve page table creation in python file
2021-03-18 14:27:09 -04:00
Noah Boorstin
847bf0b9a6
change ifndef to generate/if
2021-03-18 12:50:19 -04:00
Noah Boorstin
fa1407f6e3
everyone gets a bootram
2021-03-18 12:35:37 -04:00
Noah Boorstin
a226e24ed3
busybear: update memory map, add GPIO
2021-03-18 12:17:35 -04:00
Teo Ene
0ff785549e
Switched coremark to RV64IM
2021-03-17 22:39:56 -05:00
Teo Ene
db164462ed
adapted coremark bare testbench to new dtim RAM HDL
2021-03-17 16:59:02 -05:00
Jarred Allen
e39ead0460
Merge branch 'main' into cache
...
Conflicts:
wally-pipelined/testbench/testbench-imperas.sv
2021-03-17 16:40:52 -04:00
Teo Ene
29634f1475
Temporarily reverted my last few commits
2021-03-17 15:16:01 -05:00
Teo Ene
e6661ea26a
fix to last commit
2021-03-17 15:07:02 -05:00
Teo Ene
90946d61c5
fix to last commit
2021-03-17 15:02:15 -05:00
Teo Ene
083a24c06b
addition to last commit
2021-03-17 14:52:31 -05:00
Teo Ene
ca901513c8
Added Ross's addr lab stuff to coremark stuff
2021-03-17 14:50:54 -05:00
Elizabeth Hedenberg
bccd37d778
fixing coremark branch prediction
2021-03-17 15:15:55 -04:00
Elizabeth Hedenberg
74ebe0bef2
replicating coremark changes into coremark bare
2021-03-17 14:36:34 -04:00
Elizabeth Hedenberg
a3b2ffb2c9
Merge branch '3_3_2021' into main
...
Making sure coremark works with spring break changes
2021-03-17 14:11:37 -04:00
Ross Thompson
7bc95ba073
Fixed issue with sim-wally-batch. Are people still using this script?
2021-03-17 11:17:52 -05:00
Ross Thompson
0e2352a6de
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-17 11:07:57 -05:00
Ross Thompson
31ad619a21
Added possibly working OSU test bench as a precursor to running a bp benchmark.
...
Fixed a few bugs with the function radix.
2021-03-17 11:06:32 -05:00
Domenico Ottolia
150faf8dd8
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-16 23:27:09 -04:00
Domenico Ottolia
0b880110c9
Add test runner for privileged
2021-03-16 23:26:59 -04:00
Noah Boorstin
45ed2742cf
busybear: add seperate message on bad memory access becasue its confusing
2021-03-16 21:42:26 -04:00
Noah Boorstin
162955de69
busybear: add COUNTERS define
2021-03-16 21:08:47 -04:00
Domenico Ottolia
c9d70a1778
Add privileged testbench
2021-03-16 20:28:38 -04:00
Domenico Ottolia
a40b0c6392
Add privileged tests for mcause
2021-03-16 19:22:36 -04:00
Domenico Ottolia
e44a265b9e
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-16 19:12:21 -04:00
Jarred Allen
ed68d8240b
Undo accidental change
2021-03-16 18:16:00 -04:00
Jarred Allen
ba7bfa9056
Condense the parallel and non-parallel wally-pipelined-batch.do files into one
2021-03-16 18:15:13 -04:00
Jarred Allen
6e7fc07fcf
Change busybear to only check that first 100k instructions load
2021-03-16 17:43:39 -04:00
Shreya Sanghai
d9b1e7d67f
added gshare and global history predictor
2021-03-16 17:03:01 -04:00
Jarred Allen
3fc36b978d
Fix icache for jumping into misaligned instructions
2021-03-16 16:57:51 -04:00
Domenico Ottolia
4330e6614b
Add privileged tests folder
2021-03-16 16:11:20 -04:00
Shreya Sanghai
a79e26f9d8
added global history branch predictor
2021-03-16 16:06:40 -04:00
Jarred Allen
98db312574
Merge remote-tracking branch 'origin/main' into cache
2021-03-16 14:17:39 -04:00
Shreya Sanghai
23a7c8cd92
made performance counters count branch misprediction
2021-03-16 11:24:17 -04:00
Shreya Sanghai
518618ad38
Merge branch 'counters' into main
...
added a configurable number of performance counters
2021-03-16 11:01:30 -04:00
Jarred Allen
662ab53746
Merge remote-tracking branch 'origin/main' into cache
2021-03-15 19:08:25 -04:00
Noah Boorstin
cd58f8a12d
remove regression-wally.sh
2021-03-15 19:03:57 -04:00
Noah Boorstin
6d8bcfe6bf
copy Ross's branch predictor preload change into busybear
2021-03-15 18:27:27 -04:00
Ross Thompson
8e51935082
Converted branch predictor preloads to use system verilog rather than modelsim's load command.
2021-03-15 12:39:44 -05:00
Ross Thompson
69aacbad4f
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
...
The last commit message about rv32ic having issues is now invalid. Looks like the issue was resolved.
2021-03-15 12:06:18 -05:00
Ross Thompson
d341e2d5cb
Fixed the parallel script so the rv64ic passes.
...
rv32ic and busybear still have issues.
2021-03-15 12:04:59 -05:00
Jarred Allen
5b174adc2a
Fix BEQZ tests
2021-03-14 15:42:27 -04:00
Jarred Allen
003242ae8a
Merge upstream changes
2021-03-14 14:57:53 -04:00
Jarred Allen
c2f2caa3f6
Get non-jump case working
2021-03-14 14:46:21 -04:00
bbracker
b30ea396b8
slightly smarter dtim HREADY
2021-03-13 07:03:33 -05:00
bbracker
63bfd79009
slightly smarter dtim HREADY
2021-03-13 06:55:34 -05:00
bbracker
12721837f0
imem rd2 adrbits bugfix
2021-03-13 00:10:41 -05:00
Ross Thompson
1f37d9d2db
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-12 20:18:35 -06:00
Ross Thompson
0edaa625e3
Fixed the issue with the batch mode not working after adding the function radix.
2021-03-12 20:16:03 -06:00
bbracker
0f49108ee6
clint HREADY signal update
2021-03-12 20:23:55 -05:00
Ross Thompson
2b9044b9aa
Cleaned up the function radix exractFunctionRadix script. I should change the name as this is no longer a modelsim radix.
2021-03-12 15:29:02 -06:00
Ross Thompson
ccaaa829ce
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-12 14:58:04 -06:00
Ross Thompson
0637874cac
Cleanup of the branch predictor flush and stall controls.
2021-03-12 14:57:53 -06:00
David Harris
4465854423
Drafted rv32a tests
2021-03-12 00:06:23 -05:00
David Harris
d4e84c58ed
64-bit AMO debugged
2021-03-11 23:18:33 -05:00
Ross Thompson
b1d1f3995c
Improve version of the function radix which does not cause the wave file rendering to slow down.
2021-03-11 17:12:21 -06:00
Noah Boorstin
be0bd317e9
test regression script: add commented out rv32ic tests
2021-03-11 12:57:54 -05:00
Noah Boorstin
641a320894
add rv32ic regression test
2021-03-11 12:40:29 -05:00
Noah Boorstin
2dfb944d15
test regression script: parallalize better
2021-03-11 12:25:20 -05:00
Noah Boorstin
b13365365b
test regression script: try adding verilator checking also
2021-03-11 07:32:31 +00:00
Noah Boorstin
8717f3604b
try adding delays to test regression script
2021-03-11 06:59:50 +00:00
Noah Boorstin
c5b6ca4cc6
this is just a test for now, try to reimplement regression-wally in bash
2021-03-11 06:45:45 +00:00
Noah Boorstin
f31d7a7f5c
busybear: account for CSR moving
2021-03-11 06:45:14 +00:00
Thomas Fleming
e57b6cf18c
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
fe4d288589
Initial untested implementation of AMO instructions
2021-03-11 00:11:31 -05:00
Jarred Allen
ff48a9e992
Return testbench to normal
2021-03-10 22:58:41 -05:00
Ross Thompson
f1f7884e10
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-10 15:37:02 -06:00
Ross Thompson
149c9aa0f2
Added debug option to disable the function radix if not needed.
...
Function radix slows the simulation by 70 to 76 s (8.5%) for the rv64i tests.
2021-03-10 15:17:02 -06:00
Ross Thompson
4d7e926dbb
I finally think I got the function radix debugger working across both 32 and 64 bit applications.
2021-03-10 14:43:44 -06:00
Noah Boorstin
2d1f63b590
change flop in ahb controller to use normal flop module
2021-03-10 19:14:02 +00:00
Ross Thompson
7b7cacbaf0
Finally I think I have the function radix mapping across all applications correctly. I still need to clean up the code a bit so it is easier to understand.
2021-03-10 11:00:51 -06:00
Jarred Allen
c0ee17b6ac
Merge upstream changes
2021-03-09 21:20:34 -05:00
Jarred Allen
81b29a3891
More progress
2021-03-09 21:16:07 -05:00
David Harris
0baa004bb4
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-09 09:28:32 -05:00
David Harris
bea8ac6d59
WALLY-LRSC atomic test passing
2021-03-09 09:28:25 -05:00
Noah Boorstin
87e2a9b920
busybear: better NOPing out of float instructions
2021-03-08 21:24:19 +00:00
Noah Boorstin
9274d09ae2
busybear: better instrF checking
...
So this now checks instrF only when StallD is low. @kaveh I'd love your
opinion on this. I don't know if this is a good idea or not. Ideally we
should probably be checking InstrRawD instead, but I kind of want to stay
checking the instr in the F stage instead of D for now. Idk if this is worth
staying in F, I can't really see any big downsides to checking the instruction in
D except that PCD isn't an external signal, but neither is StallD, so.....
Anyway I'd love others' thoughts on this
2021-03-08 19:48:12 +00:00
Noah Boorstin
08e3691e59
busybear: make a second .do file with better optimization for command line mode
2021-03-08 19:35:00 +00:00
Noah Boorstin
1fc00d41c2
busybear: load mem files from verilog instead of .do
2021-03-08 19:26:26 +00:00
David Harris
52d4a04eb0
Created atomic test vector and directories
2021-03-08 09:38:55 -05:00
Ross Thompson
a3759f585d
Updated the paths to the branch predictor memory preloads for busy bear.
2021-03-05 15:36:00 -06:00
Ross Thompson
d6bc34121f
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-05 15:27:22 -06:00
Ross Thompson
9a93193d6a
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
718bfecf46
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-05 16:20:53 -05:00
Noah Boorstin
d3bf36b15f
busybear: add branch preditor loading to do file
...
(sorry to add more loading to the do instead of less)
2021-03-05 21:01:41 +00:00
Thomas Fleming
ca2a65770c
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-05 15:46:51 -05:00
Noah Boorstin
f0a103687e
Merge branch 'main' into busybear
2021-03-05 20:27:19 +00:00
Noah Boorstin
6981907521
fix wally-pipelined-batch.do to match wally-pipelined.do
2021-03-05 20:27:01 +00:00
bbracker
612f7a9ee4
added a delay to sel signals
2021-03-05 15:07:34 -05:00
bbracker
a1223ee13b
more merging fixes
2021-03-05 14:36:07 -05:00
bbracker
2cd0f19129
remove deprecated mem signals
2021-03-05 14:27:38 -05:00
bbracker
420c9a11c2
refactored sim file
2021-03-05 14:25:16 -05:00
bbracker
62dd9e3075
first merge of ahb fix
2021-03-05 14:24:22 -05:00
Noah Boorstin
464c1de03d
busybear: slight testbench update
2021-03-05 19:00:40 +00:00
Thomas Fleming
97e9baa316
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-05 13:35:44 -05:00
Thomas Fleming
85dcbee86b
Place tlb parameters into constant header file
2021-03-05 13:35:24 -05:00
Thomas Fleming
e48dc38869
Export SATP_REGW from csrs to MMU modules
2021-03-05 01:22:53 -05:00
Noah Boorstin
0af002eb2f
busybear: make CSRs only weird for us
2021-03-05 00:46:32 +00:00
Noah Boorstin
7208b9bcf2
busybear: better implenetation of sim-busybear-batch
2021-03-05 00:39:03 +00:00
Ross Thompson
a982ad7a9a
Merge branch 'main' of https://github.com/davidharrishmc/riscv-wally into main
2021-03-04 17:31:27 -06:00
Ross Thompson
7902c3fdb6
updated the function radix to look at wally signals.
2021-03-04 17:31:12 -06:00
Jarred Allen
5da98b5381
Partial progress towards compressed instructions
2021-03-04 18:30:26 -05:00
Noah Boorstin
cfcd7d1518
busybear: make imperas tests work again
2021-03-04 22:44:49 +00:00
Katherine Parry
5374dca1b9
fixed various bugs
2021-03-04 22:20:39 +00:00
Katherine Parry
4591b25c86
fixed various bugs
2021-03-04 22:20:28 +00:00
Katherine Parry
6fa2bc8efe
fixed various bugs
2021-03-04 22:20:23 +00:00
Katherine Parry
10b179399c
fixed various bugs
2021-03-04 22:20:02 +00:00
Katherine Parry
8e3b74c772
fixed various bugs
2021-03-04 22:19:21 +00:00
Katherine Parry
4e6b35c8b2
fixed various bugs
2021-03-04 22:18:47 +00:00
Katherine Parry
3c86d0912a
fixed various bugs
2021-03-04 22:18:19 +00:00
Jarred Allen
b0f4d8e8d4
Remove rd2, working for non-compressed
2021-03-04 16:46:43 -05:00
Thomas Fleming
38bd683f2d
Merge branch 'walker' into main
2021-03-04 15:27:03 -05:00
Noah Boorstin
5c456e2d7f
busybear: comment out instraccessfaultf for imem for now
2021-03-04 20:26:41 +00:00
Noah Boorstin
fde94f9057
Merge branch 'main' into busybear
...
Conflicts:
wally-pipelined/src/uncore/imem.sv
2021-03-04 20:16:03 +00:00
Ross Thompson
619bbd9d83
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
a8cd4f2b2e
Fixed forwarding around the 2 bit predictor.
2021-03-04 13:01:41 -06:00
Shreya Sanghai
f95a1eadd9
fixed bugs
2021-03-04 12:59:45 -05:00
Shreya Sanghai
7cd8f1a592
added performance counters
2021-03-04 11:42:52 -05:00
bbracker
7852d866ef
JALR testing
2021-03-04 10:37:30 -05:00
Ross Thompson
d0223da2f7
Converted to using the BTB to predict the instruction class.
2021-03-04 09:23:35 -06:00
Teo Ene
27a807db95
Added stop to coremark_bare testbench
2021-03-04 07:47:07 -06:00
Teo Ene
95ce4b7daa
Edited assemby of bare-metal coremark to make it run
2021-03-04 07:45:40 -06:00
Teo Ene
2723b21988
Linux CoreMark and baremetal CoreMark split into two separate tests/configs
2021-03-04 07:44:33 -06:00
Teo Ene
80f6d6c944
Linux CoreMark is operational
2021-03-04 05:58:18 -06:00
Thomas Fleming
8c410b6fbe
Install dtlb in dmem
2021-03-04 03:30:06 -05:00
Thomas Fleming
1a2db17ee5
Install tlb into ifu
2021-03-04 03:11:34 -05:00
Thomas Fleming
ab6ae6d3f1
Merge branch 'tlb_toy' into main
2021-03-04 02:41:11 -05:00
Thomas Fleming
7a9f866120
Move tlb into mmu directory
2021-03-04 02:39:08 -05:00
Teo Ene
b15ef47d24
Fix to 32-bit option of commit 2d40898158
2021-03-04 01:33:34 -06:00
Teo Ene
0c009fb1e6
In the process of updating coremark.RV64I program to work with Dr. Harris's perl script. Commiting to make it easier to switch branches
2021-03-04 01:27:05 -06:00
Thomas Fleming
d821a1dbfa
Merge branch 'main' into tlb_toy
2021-03-04 01:18:04 -05:00
Thomas Fleming
c03b540956
Generalize tlb module
...
- number of tlb entries is now parameterized
- tlb now supports rv64i
2021-03-04 01:13:31 -05:00
Teo Ene
a82a123069
Implemented fix disucssed with Elizabeth
2021-03-03 18:17:53 -06:00
Thomas Fleming
692d4152fa
Begin hardware page table walker
2021-03-03 17:13:45 -05:00
Thomas Fleming
5fd521d333
Create virtual memory ad-hoc test
...
Test program is currently failing on ovpsim. There is no indication that ovpsim
is properly implementing virtual memory translation when satp is set accordingly.
Need to confirm whether this is a problem with ovpsim, how ovpsim is being
called, or the test itself.
2021-03-03 17:06:37 -05:00
Teo Ene
d3a1afe50e
Fix to last push
2021-03-03 15:20:38 -06:00
Teo Ene
b50faef94d
Updated coremark .do file for easier debugging
2021-03-03 15:10:39 -06:00
Teo Ene
e30645a4f1
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
2021-03-02 17:23:44 -06:00
Teo Ene
d02e22feac
Updated coremark .do file for easier debugging
2021-03-02 17:23:39 -06:00