Ross Thompson
|
76d1dc1721
|
LSU Bus FSM beautification.
|
2021-12-28 16:53:53 -06:00 |
|
Ross Thompson
|
e29803be30
|
Removed CommittedM as it is redundant with LSUStall.
|
2021-12-28 16:14:10 -06:00 |
|
Ross Thompson
|
39bd78c295
|
Changed the bus name between dcache and ebu.
|
2021-12-28 15:57:36 -06:00 |
|
Ross Thompson
|
9c190b019b
|
Name changes for states in LSU.
|
2021-12-28 15:03:24 -06:00 |
|
Ross Thompson
|
13b4201198
|
Added generate around virtual memory hardware in LSU.
|
2021-12-28 15:00:02 -06:00 |
|
Ross Thompson
|
f09b10a393
|
Moved generate for lrsc to lsu.
|
2021-12-28 14:17:18 -06:00 |
|
Ross Thompson
|
73af458eb5
|
More cleanup of dcache.
|
2021-12-28 14:12:18 -06:00 |
|
Ross Thompson
|
0e86e5d9f1
|
Additional cleanup of the LSU.
|
2021-12-28 13:59:07 -06:00 |
|
Ross Thompson
|
1e76c24f26
|
Major cleanup of the LSU.
|
2021-12-28 13:10:45 -06:00 |
|
Ross Thompson
|
79b17c5b55
|
Removed WalkerInstrPageFault from icache, privilege unit, lsu, and hptw.
|
2021-12-28 12:33:07 -06:00 |
|
Ross Thompson
|
34c11ca8d5
|
Minor dcache cleanup.
|
2021-12-28 11:29:16 -06:00 |
|
Ross Thompson
|
243728d089
|
Moved all bus logic outside the dcache. Still needs cleanup.
|
2021-12-28 11:18:47 -06:00 |
|
Ross Thompson
|
74d636cb53
|
First cut at moving the dcache bus interface into the LSU.
Regression test does not run and there is a lot of cleanup to do.
|
2021-12-27 18:12:59 -06:00 |
|
Ross Thompson
|
d366a1f50f
|
Moved dcache fetch logic outside the dcache except for the fsm.
|
2021-12-27 16:45:49 -06:00 |
|
Ross Thompson
|
e3ddcbb11e
|
Partial commit.
Moved AMO, SWW, and SWR outside the dcache.
Step 1 of separate the fetching logic from the caches.
|
2021-12-27 15:56:18 -06:00 |
|
Ross Thompson
|
6a8e917e06
|
It was possible for a load/store followed by tlb miss and update to have an exception and still commit its result to memory or register.
|
2021-12-21 15:59:56 -06:00 |
|
Ross Thompson
|
8416cae3fe
|
Fixed Type 5b interaction between dcache and hptw.
This is a load concurrent with ITLBMiss.
|
2021-12-20 18:33:31 -06:00 |
|
Ross Thompson
|
b6d75d453a
|
Modified LSU verilog is compatible with vivado. have to use extra logic IEUAdrExtM.
|
2021-12-20 10:03:56 -06:00 |
|
Ross Thompson
|
beb1988539
|
Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
|
2021-12-20 10:03:19 -06:00 |
|
Ross Thompson
|
df8bd78679
|
More signal name cleanup in LSU.
|
2021-12-19 22:47:48 -06:00 |
|
Ross Thompson
|
3eb5f33705
|
Remove verbosity from lsu state machine.
|
2021-12-19 22:41:34 -06:00 |
|
Ross Thompson
|
d3c3422d12
|
Rename of SelPTW to SelHPTW.
|
2021-12-19 22:24:07 -06:00 |
|
Ross Thompson
|
8feb36b926
|
Signal renames.
|
2021-12-19 22:21:03 -06:00 |
|
Ross Thompson
|
dc82d44f9e
|
Hardware reductions in the lsu.
|
2021-12-19 22:00:28 -06:00 |
|
Ross Thompson
|
138da1fefa
|
Removed lsuArb and placed remaining logic in lsu.sv.
Removed after itlb walk signal as the dcache no longer has any need for this.
Formated lsu.sv
|
2021-12-19 21:34:40 -06:00 |
|
Ross Thompson
|
a39b47d226
|
Switched to using an always block for lsu stall logic. This avoids the problematic x propagation.
|
2021-12-19 18:16:08 -06:00 |
|
Ross Thompson
|
eceb418056
|
Implemented what I think is the last required change for the lsu state machine.
|
2021-12-19 17:57:12 -06:00 |
|
Ross Thompson
|
fe5c05eb8d
|
Created hack to get around imperas64mmu unknown (value = x) bug.
|
2021-12-19 17:53:13 -06:00 |
|
Ross Thompson
|
c9291655da
|
Fixed bug most of the bugs related to the dcache changes, but the mmu tests don't pass.
|
2021-12-19 16:12:31 -06:00 |
|
Ross Thompson
|
f4d778c2f6
|
Corrected the LSU's fsm for stalling CPU. Removed state from hptw fsm.
|
2021-12-19 15:10:33 -06:00 |
|
Ross Thompson
|
a445bedcd2
|
Modified the icache memory to read using the virtual (non physical) address in the PCNextF stage.
This allows recovering from an ITLBMiss to be 1 cycle after and simplifies the hptw slightly.
|
2021-12-19 14:57:42 -06:00 |
|
Ross Thompson
|
225cd5a114
|
Renamed MemAdrM to IEUAdrM. This will free the name MemAdrm for use in the DCache.
|
2021-12-19 14:00:30 -06:00 |
|
Ross Thompson
|
cd3c1032b7
|
Adds FSM to LSU which will handle the interactions between the hptw and dcache. This will dramatically simplify the dcache by removing all walker states.
|
2021-12-19 13:55:57 -06:00 |
|
Ross Thompson
|
4daeb6657f
|
Merge branch 'tlb_fixes' into main
|
2021-12-18 12:24:17 -06:00 |
|
Ross Thompson
|
bbd1332353
|
Merge remote-tracking branch 'origin/tlb_fixes' into main
|
2021-12-17 14:40:29 -06:00 |
|
Ross Thompson
|
a11597b6bd
|
Added more debugging code for FPGA.
|
2021-12-17 14:40:25 -06:00 |
|
Ross Thompson
|
ee81cfff0c
|
Possible fix for icache deadlock interaction with hptw.
|
2021-12-17 14:38:25 -06:00 |
|
David Harris
|
aebd746e71
|
Renamed MemAdrE to IEUAdrE and moved the MemAdrM flop from IEU to LSU to reduce wires crossing hierarchies
|
2021-12-15 12:10:45 -08:00 |
|
David Harris
|
865d5ce0b1
|
Renamed dtim->ram and boottim ->bootrom
|
2021-12-14 13:43:06 -08:00 |
|
Ross Thompson
|
9886ed3028
|
Comments for dcache and icache refactoring.
|
2021-12-14 14:46:29 -06:00 |
|
slmnemo
|
021faaf8cd
|
Removed .* from mmu instance inside lsu.sv.
|
2021-12-08 00:15:30 -08:00 |
|
Ross Thompson
|
705572f0ac
|
Fixed a very complex interaction between interrupts, the icache, dcache, and hptw.
If an interrupt occurred at the start of an ITLB miss or DTLB miss the page table
walk should be aborted before starting.
|
2021-11-20 22:35:47 -06:00 |
|
Ross Thompson
|
8a51fe76c1
|
Partial cleanup of unused signals in caches and bpred.
|
2021-10-24 15:04:20 -05:00 |
|
David Harris
|
c9e9cd4a60
|
more lsu/ifu lint cleanup
|
2021-10-23 12:10:13 -07:00 |
|
David Harris
|
2cfbd888fd
|
more lsu/ifu lint cleanup
|
2021-10-23 12:00:32 -07:00 |
|
David Harris
|
62a23fe878
|
lsu/ifu lint cleanup
|
2021-10-23 11:41:20 -07:00 |
|
David Harris
|
8e516e6391
|
Lint cleanup from wallypipeliendhart
|
2021-10-23 10:29:52 -07:00 |
|
Ross Thompson
|
e16c27225b
|
Finished adding the d cache flush. Required ensuring the write data, address, and size are
correct when transmitting to AHBLite interface.
|
2021-09-17 13:03:04 -05:00 |
|
Ross Thompson
|
615fd41e7b
|
Added states and all control and data path logic to support d cache flush. This is currently untested; however the existing regresss test passes.
|
2021-09-16 18:32:29 -05:00 |
|
David Harris
|
9ae25b0cea
|
Added Zfencei support in instruction decoder and configurations. Also added riscv-arch-test 32-bit tests to regression.
|
2021-09-15 13:14:00 -04:00 |
|