James E. Stine
e707eeb7c8
THis includes fix for special case when conversion from fp to int/long. The previous src did not test both the flags and result and so missed this subtle bug when an Invalid happens for this type of conversion. These results are indications of undefined behavior for these operations. All fp operations now passs when this update is fixed. Much of the information why these outputs should occur is somewhat alluded to by Pascal Cuoq originally from INSA in Lyon here: https://frama-c.com/2013/10/09/Overflow-float-integer.html
2024-01-12 00:37:50 -06:00
Rose Thompson
ceae2bc714
Merge pull request #561 from davidharrishmc/dev
...
Added Zicond support
2024-01-11 10:20:01 -06:00
David Harris
9eb6d9c8b8
Added Zicond support
2024-01-11 07:37:15 -08:00
Rose Thompson
a932bf6b66
Removed unnecessary spill for compressed aligned to end of cache line or uncached access.
2024-01-10 13:06:16 -06:00
Rose Thompson
588e1caeba
Found bugs in the no I$ implementation's abhinterface width. We were only testing XLEN=32. XLEN=64 did not properly align instructions not aligned to 8 byte boundaries.
2024-01-06 22:29:16 -06:00
David Harris
67124b0c7f
Fixed typo in declaration in tlbcontrol; escape quoted argument to Verilator; added ulimit to setup so Verilator stack is large enough
2024-01-06 07:11:25 -08:00
David Harris
0781cd4a44
Improved tlbcontrol to fault on R=0,W=1; fixed more coverage testsin tlbmisc.S; changed integer type to try to speed up CoreMark; comments in Verilate
2024-01-05 22:45:15 -08:00
Rose Thompson
1f3792c823
Fixed bug # 547, but there are other bugs which follow.
2024-01-05 23:32:10 -06:00
Rose Thompson
edc56c669e
Fixed bug 546. non-leaf non-zero PBMT bit raise page fault.
2024-01-05 17:10:14 -06:00
David Harris
680a014876
Finished LSU tlbcontrol coverage tests
2024-01-02 10:16:20 -08:00
David Harris
d229dc06ee
Coverage improvements; remove incorrect logic checking NAPOT nonleaf PTE
2024-01-02 00:35:17 -08:00
David Harris
f4ee05e1ea
Coverage improvements
2024-01-01 08:31:09 -08:00
David Harris
e5ac2d5ef0
Modified align fsm to make coverage easier
2024-01-01 08:21:31 -08:00
David Harris
6181639003
Named IFU decomp generate block
2024-01-01 07:37:40 -08:00
David Harris
c52aef86a6
Fixed coverage exclusions that no longer reference code properly
2023-12-31 20:35:08 -08:00
David Harris
8795a9db7a
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-12-31 20:26:47 -08:00
David Harris
536539237c
Fixed exclusion tags in pmachecker
2023-12-31 20:20:31 -08:00
Rose Thompson
626b89320c
More cleanup.
2023-12-29 16:51:39 -06:00
Rose Thompson
730efefc41
Cleanup.
2023-12-29 16:18:30 -06:00
Rose Thompson
6a787981c2
Restored cache store delay hazard.
2023-12-29 16:10:27 -06:00
Rose Thompson
0264a17f77
Reverted dtim to use store delay stall, but only (load after store).
2023-12-29 16:06:30 -06:00
Rose Thompson
fbab9f6c6d
Updated comments about AMO and CMO stalls.
2023-12-29 15:31:11 -06:00
Rose Thompson
f59fa5089d
Merge branch 'main' of https://github.com/openhwgroup/cvw
2023-12-29 15:13:18 -06:00
Rose Thompson
8030b7d100
Added partial code for uncached amo operations.
...
Minor fix for Makefile so coverage tests build.
2023-12-29 15:07:20 -06:00
Rose Thompson
7afeee9807
Merge branch 'main' of https://github.com/openhwgroup/cvw
2023-12-29 14:49:36 -06:00
Jordan Carlin
2fa243c46e
fixed coverage exclusions in lsu and ifu
2023-12-29 11:18:23 -08:00
Rose Thompson
52dad4f130
cbo.zero works for uncached memory now!
2023-12-29 11:11:06 -06:00
Rose Thompson
d1456b2471
Progress on fixing cbo.zero for uncached memory regions.
2023-12-29 11:03:38 -06:00
Rose Thompson
482529394a
Fixed some of the uncached ifu bugs.
2023-12-29 09:53:22 -06:00
David Harris
2c2f692f3a
Moved forwarding logic into controller
2023-12-26 21:17:01 -08:00
David Harris
e8df856fdb
Renamed CMOp to CMOpM in mmu and cache
2023-12-25 05:57:41 -08:00
David Harris
6395cd0284
Reversed numbering of adrdecs to make it easier to add new peripherals without renumbering the old ones; update figure to match
2023-12-21 12:29:37 -08:00
David Harris
06ddccd983
Fixed typo in IFU
2023-12-20 20:22:17 -08:00
David Harris
8eace30f49
Moved UnalignedPCNextF mux into IFU
2023-12-20 16:18:31 -08:00
David Harris
8552369687
Merged PR538, delete unused tests
2023-12-20 13:30:31 -08:00
Rose Thompson
b68dd74f89
Reverted logic to bit change.
2023-12-20 13:16:32 -06:00
Rose Thompson
18a96740d5
Revert RAM logic to bit change.
...
Added logic to hptw to prevent x propagation.
2023-12-20 13:10:20 -06:00
Rose Thompson
9de434a61b
"Resolved" ram preload issues by replacing the RAM's types with bit from logic. Tested fpga synthesis.
2023-12-20 12:05:25 -06:00
Rose Thompson
9ee1ffe8fe
Almost working with modelsim and verilator.
2023-12-20 11:29:31 -06:00
Rose Thompson
d617eb0977
DON'T keep this commit.
2023-12-19 16:56:40 -06:00
David Harris
b0f34a6377
Made priority of misalignment depend on ZICCLSM_SUPPORTED and made StoreAmo take prioirty over load faults
2023-12-19 12:51:45 -08:00
David Harris
6186181d46
Merge pull request #537 from ross144/main
...
Almost having working Verilator. One issue in the testbench remains.
2023-12-18 18:13:56 -08:00
Rose Thompson
5062a8c89c
Added parameter for cache's SRAM length.
...
Progress towards verilator support.
2023-12-18 12:50:49 -06:00
Rose Thompson
1d36ce3328
Fixed lint issue.
2023-12-18 12:03:54 -06:00
David Harris
6cb4a9e905
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-12-15 19:27:10 -08:00
David Harris
bbdcfe24ca
Merge pull request #533 from ross144/main
...
Finally fixed the store delay hazard bug.
2023-12-15 19:13:53 -08:00
Rose Thompson
438451ee02
Fixed the AMO hazard.
2023-12-15 11:55:54 -06:00
David Harris
51b43bffa3
ALU cleanup
2023-12-14 19:06:39 -08:00
David Harris
29f57958a9
Fixed WALLY-lrsc in ImperasDV by setting reservation set size to native word size and adjusting imperas.ic lr_sc_grain=8 to match
2023-12-14 15:32:36 -08:00
David Harris
8eea2bdcc0
Merge pull request #531 from ross144/main
...
Updated wavefile
2023-12-14 14:52:31 -08:00
Rose Thompson
1ca9a8be6d
I think I solved the AMO/store hazard issue introduced by removing the store delay hazard.
2023-12-14 16:31:02 -06:00
Rose Thompson
53bf68a585
Merge pull request #528 from davidharrishmc/dev
...
Svnapot bug fix
2023-12-13 21:30:47 -08:00
David Harris
166c98b6f6
Fixed issue 526 about WALLY-mmu-sv39-svadu-svnapot-svpbmt not checking ppn for NAPOT pages. Improved test case to check normal and malformed ppn
2023-12-13 19:43:17 -08:00
Rose Thompson
a7f0aaa722
Added comments to finish store delay stall removal.
2023-12-13 20:35:13 -06:00
Rose Thompson
9cf6b1fdeb
Merge branch 'main' of https://github.com/openhwgroup/cvw
2023-12-13 20:34:35 -06:00
Rose Thompson
9f4c32d49c
Merge branch 'main' of github.com:ross144/cvw
2023-12-13 20:32:59 -06:00
Rose Thompson
b69a5b59cd
DTIM works without the store delay stall. Still a bit of work remaining. The DTIM needs cleanup.
...
The cache needs a bit of clean up and the chapter needs updates.
The controller needs to be updated to remove the store delay hazard for cmo instructions.
2023-12-13 20:32:14 -06:00
Rose Thompson
e089b421bb
Got it working for the cache.
2023-12-13 20:24:46 -06:00
Rose Thompson
f592baa741
Closer.
2023-12-13 18:15:32 -06:00
Rose Thompson
eeced05f33
More progress towards store delay reduction.
2023-12-13 15:56:29 -06:00
Rose Thompson
f3d43a7713
Progress on reducing store stall in d cache.
2023-12-13 15:34:21 -06:00
David Harris
ff26baf7e8
Rolled back attempt to support Verilator
2023-12-13 12:53:44 -08:00
David Harris
333e390f8d
Test commit from dev
2023-12-13 11:52:21 -08:00
David Harris
6c017141c5
Renamed HADE to ADUE for Svadu
2023-12-13 11:49:04 -08:00
David Harris
aff61ea97a
Fixed Linux makefile; load branch predictor RAMs at startup for sim; fixed comment in trap; starting to make testbench more compatible with Verilator
2023-12-13 11:33:59 -08:00
Rose Thompson
3d0f9ce4f3
Cleaned up comments about pc reset.
2023-12-13 13:06:33 -06:00
Rose Thompson
c98c0dd3e0
Removed unnecessary pc reset logic from ifu and btb.
2023-12-13 13:05:10 -06:00
Rose Thompson
13bb5d845b
On the way to solving the store delay hazard.
2023-12-13 10:39:01 -06:00
Jacob Pease
bc2c4d5295
Merge branch 'main' of github.com:openhwgroup/cvw
2023-12-04 15:23:22 -06:00
Rose Thompson
9348025727
Cachefsm simplifications.
2023-12-03 18:19:00 -06:00
Rose Thompson
1ebc7aa95a
Optimized align.
2023-12-03 16:43:55 -06:00
Rose Thompson
3bef2a2361
Better name for cache signals.
2023-12-03 15:49:06 -06:00
Jacob Pease
7e494f2d3b
Removed vivado property from rom1p1r.sv. It's now dynamically added using the FPGA makefile.
2023-12-01 18:59:18 -06:00
Rose Thompson
025b04ae8b
Minior cleanup.
2023-11-29 19:44:59 -06:00
Rose Thompson
ab68a76e77
LineDirty is either the Victim Way or the Flush way dirty, but never the hitway dirty. CBO instructions require hitway dirty. However we cannot mux hitway dirty into LineDirty wihtout creating a combinational loop so we need a separate port.
2023-11-29 17:58:39 -06:00
Rose Thompson
f11f88ac2b
Updates to tlb to check access permissions for cbo*
2023-11-29 16:20:43 -06:00
Rose Thompson
f4e4aac8b5
Added CMOp to pmp checker
2023-11-29 16:09:31 -06:00
Rose Thompson
fc04b6f7d8
Removed redundant ZICBOM/Z_SUPPORTED from pmachecker.
2023-11-29 15:39:39 -06:00
Rose Thompson
80336493f5
Cleaned up redundant ZICBOM/Z_SUPPORTED.
2023-11-29 15:20:49 -06:00
Rose Thompson
053b094620
Simpilified pmachecker for cmo.
2023-11-29 12:26:18 -06:00
Rose Thompson
d29b2b95f7
Additional cleanup.
2023-11-28 23:28:50 -06:00
Rose Thompson
4149ae6c11
More cleanup.
2023-11-28 23:05:47 -06:00
Rose Thompson
143c6ca4d1
Simplification to alignment.
2023-11-28 22:28:11 -06:00
Rose Thompson
a69a70ba7f
Removed unused hardware from alignment.
2023-11-28 19:54:25 -06:00
Rose Thompson
865ebf8b9b
cclsm cleanup.
2023-11-28 19:41:46 -06:00
Rose Thompson
f4e77e9669
Clean up.
2023-11-28 14:21:37 -06:00
Rose Thompson
df85428041
More optimizations for cclsm.
2023-11-28 14:19:30 -06:00
Rose Thompson
4d4790ecf9
Optimizations to cclsm.
2023-11-28 14:18:06 -06:00
Rose Thompson
0229df4a0f
Oups. Introduced undetected bug into the cache's cbo insructions.
2023-11-28 01:03:48 -06:00
Rose Thompson
9a24a5d957
Renamed signal in pmachecker.
2023-11-28 00:05:12 -06:00
Rose Thompson
69653e5faa
Fixed minor bug in the cbo hazard logic.
2023-11-27 23:38:53 -06:00
Rose Thompson
195def5808
Extended the abhcacheinterface to zero a cacheline's worth of uncached memory on cbo.zero.
2023-11-27 21:24:30 -06:00
Rose Thompson
9290c3f957
Added correct cbo fault behavior.
2023-11-27 20:57:33 -06:00
Rose Thompson
beb95dd592
Modified the pmachecker to correctly check the permissions for cmo instructions.
...
However this isn't fully tested.
2023-11-27 17:44:11 -06:00
Rose Thompson
337903d8dd
More cache simplifications.
2023-11-27 14:59:42 -06:00
Rose Thompson
08549446ef
Reduced cache fsm complexity.
2023-11-27 13:13:36 -06:00
Rose Thompson
c3da4c3c31
Clarified names in cacheway.
2023-11-27 12:56:11 -06:00
Rose Thompson
d7ef490c12
Sutble bug in the cacheway logic for cacheline invalidation.
2023-11-27 01:27:09 -06:00
David Harris
1f57df7f8b
Fixed reference to deleted atomic signal in cache
2023-11-23 20:29:10 -08:00
David Harris
3f3c20a38f
Merge branch 'main' of https://github.com/openhwgroup/cvw into dev
2023-11-21 14:04:02 -08:00