Karlis Susters
2c9428d1f3
Prepared repo for building on FPGA
2023-02-13 21:52:50 +00:00
Karlis Susters
347107b733
Prefetcher implementation in both L1 and LL and data logging
2023-02-13 11:59:26 +00:00
Peter Rugg
e120b3427d
Merge branch 'LoadTagsImprove' into CHERI
2022-11-14 13:28:44 +00:00
Alexandre Joannou
02ba37bf6a
Report the actual running state to the debug module
2022-09-08 13:20:35 +00:00
Alexandre Joannou
a0d471e4f8
Attempt to make toHost setiing behave in src_Testbench
...
Made the proc start method non-blocking on mmio platform and wired in a new way
to set the tohost addr using a control and status request, and bumpped
WindCoreInterface accordingly
2022-09-06 10:42:34 +00:00
gameboo
6b51139c9a
Update ack
2022-08-15 16:18:23 +00:00
Alexandre Joannou
e4bdbfc98a
Bump BlueStuff + add outter subordinate trafic as master to internal bus
2022-08-15 16:18:23 +00:00
Peter Rugg
6d4644ce73
Add tag-only state to MESI and interface with tagOnlyReq of tag controller
2022-03-31 02:07:01 +01:00
Jonathan Woodruff
6d7f95571f
Merge remote-tracking branch 'origin/CHERI' into jdw57_prediction
2022-03-25 13:06:22 +00:00
Peter Rugg
d0c1d97a2a
Print RVFI packets in RVFI_DII also
2022-03-15 10:04:18 +00:00
Peter Rugg
a6b39b58a1
Clean up prints
2022-03-11 10:24:39 +00:00
Peter Rugg
a6976c0071
Fix RVFI-only build
2022-03-09 22:18:08 +00:00
Jonathan Woodruff
75d1afe8b4
Only push to RAS when the linking instruction is non-speculative.
...
That is, don't push in Decode, push from the training structure coming
from Execute, which is delayed until the instruction that issued it is
non-speculative.
2022-02-18 13:22:02 +00:00
Jonathan Woodruff
4961d321b9
Merge branch 'CHERI' into jdw57_prediction
2022-02-16 10:10:00 +00:00
Jonathan Woodruff
01132d165a
Enable tracing of physical addresses for RVFI (if PADDR_RVFI is
...
defined).
This is done by adding a vector of padder lookup interfaces to the load
store queue.
This should help with targeted memory translation debugging, and also
with compatability with the current Sail RVFI implemenation which is
probably incorrect with respect to the RVFI spec which calls for virtual
addresses in the maddr field.
2022-02-01 09:10:48 +00:00
Jonathan Woodruff
ad5d5aca0d
Also pause branch execution when there is a pending wrong speculation.
2022-01-31 12:36:17 +00:00
Jonathan Woodruff
4fbb7b5648
A version that seems to actually run.
...
The buffer in GlobalSpecUpdate has to be a SpecFifo.
2022-01-31 12:09:38 +00:00
Jonathan Woodruff
54d1a204f0
Don't decode redirected streams until they are non-speculative.
2021-12-17 16:29:14 +00:00
Jonathan Woodruff
3322d1d3d7
Revert "An attempt at wiring up the specUpdate interface for the Btb."
...
This reverts commit 022df36199 .
2021-12-16 12:10:50 +00:00
Jonathan Woodruff
022df36199
An attempt at wiring up the specUpdate interface for the Btb.
2021-12-15 18:40:58 +00:00
Jonathan Woodruff
4e0da006e8
Make non-speculative training optional.
...
Removing non-speculative training actually improves performance in
CoreMark. While it's "safer", I guess this isn't required for BSC.
2021-11-24 17:11:36 +00:00
Jonathan Woodruff
7b472d4d3c
Reduce area overhead by using an unguarded specfifo that does not have
...
to be worst-case-sized, but can drop elements if it is full.
2021-11-16 13:53:34 +00:00
Jonathan Woodruff
618dea1225
Feed head of RAS through to execute with training info to reset the head
...
on a misprediction.
2021-11-16 11:00:04 +00:00
Jonathan Woodruff
54c0ccadf0
Only train from branches that have all previous branches resolved.
2021-11-12 17:55:04 +00:00
gameboo
9657339d87
"fix" non PERFORMANCE_MONITORING build
2021-09-29 18:09:06 +01:00
Franz Fuchs
87977461a6
Merge branch 'CHERI' of github.com:CTSRD-CHERI/Toooba into CHERI
2021-09-29 14:23:20 +01:00
Franz Fuchs
cf8bfdc4a8
Merge branch 'faf28_hpm_consistency' into CHERI
2021-09-29 14:04:08 +01:00
Franz Fuchs
db9b5c7f54
re-integrated TagController
2021-09-24 11:39:23 +01:00
Peter Rugg
8ef44b0a6c
Workaround single step wedges by not waiting for flush before halting
2021-09-24 10:33:58 +00:00
Franz Fuchs
9ea66bed86
Merge pull request #18 from CTSRD-CHERI/faf28_hpm_consistency
...
Using HPM information from one central struct
2021-09-20 13:21:52 +01:00
Franz Fuchs
9320e53720
Bumped RISCV_HPM_Events made minor changes
2021-09-17 10:38:48 +01:00
Jonathan Woodruff
c489a177d4
Fix type error.
2021-09-08 10:23:29 -05:00
Jonathan Woodruff
08231b7e5c
Hopefully don't wedge on ifetch bus error.
...
We think that we were wedging on IFetch bus error.
It appears that we didn't make the last instruction fragment valid in the bus error case, and expect that this path was not previously exercised.
This change returns 0s (to hopefully make the error less subtle) in exactly the right number of fragments.
2021-09-08 10:11:25 -05:00
Franz Fuchs
b25d70a8cc
performed corrections for CONTRACTS_VERIFY
2021-09-07 08:15:03 +01:00
Franz Fuchs
bc7eed67ab
Did more cleaning up
2021-09-06 15:55:28 +01:00
Franz Fuchs
4c9d89e936
Performed a bit of cleaning up
2021-09-06 13:33:13 +01:00
Franz Fuchs
e33b4021d8
Integrated generateHPMVector function
2021-09-03 17:37:43 +01:00
Franz Fuchs
61d788ebc7
define No_Of_Evts in StatCounters
2021-09-03 14:14:32 +01:00
Franz Fuchs
20e67971a5
Use type EventsCacheCore instead of Vector#(7, Bit#(1))
2021-09-02 16:10:55 +01:00
Franz Fuchs
9f615e4481
initial changes for HPM consistency
2021-09-02 14:50:17 +01:00
Franz Fuchs
cc25ee69d3
Check in Rename stage for nextPcs of Traps
2021-07-26 07:02:21 +01:00
Franz Fuchs
2831cd7ee3
Changed size of bags for testing SBC to 32
2021-07-16 14:51:26 +01:00
Franz Fuchs
c37c611522
Merge branch 'CHERI' into faf28_sbc_jumps
2021-07-08 17:14:27 +01:00
Franz Fuchs
4ba377366a
Introduced new build flag for transient-execution testing contracts
2021-07-08 15:28:54 +01:00
Franz Fuchs
2eb2202acd
Added checking for wild exceptions in MemExePipeline including adding an addtional port to the ROB for reading ppc/orig_inst
2021-06-28 07:34:57 +01:00
Franz Fuchs
fec16f64c8
Added first attempts for counting wild exceptions
2021-06-25 15:44:29 +01:00
Franz Fuchs
f83d7b1554
Added missing ifdefs
2021-06-24 08:35:21 +01:00
Franz Fuchs
0c80ac30bb
Corrected wild jumps type to SupCnt
2021-06-23 15:36:45 +01:00
Franz Fuchs
76cdc13a50
Added counting code for return instructions
2021-06-22 18:01:32 +01:00
Franz Fuchs
06e0a3d810
corrected SBC jumps counting
2021-06-22 08:40:27 +01:00