Jonathan Woodruff
d30bd71e72
Allow consuming TLB response while TLB is being flushed.
2024-01-18 13:04:21 +00:00
Jonathan Woodruff
83c756a4f4
Tidy up data mem pipeline changes to remove duplicated code.
2024-01-17 16:09:42 +00:00
Jonathan Woodruff
9d12fefda8
Remove commented-out code.
2024-01-17 14:30:34 +00:00
Jonathan Woodruff
829a787be5
Move to vector functions as it's cleaner.
2024-01-17 13:41:43 +00:00
Jonathan Woodruff
5a1ed7c57f
Allow a vector of translations to be remembered.
...
Just do 2 for now.
2024-01-17 13:21:38 +00:00
Jonathan Woodruff
4f91e54bd2
Properly remove pipline stage in fetch and use a seperate rule to do the
...
proper TLB lookup if necessary.
2024-01-16 17:00:10 +00:00
Jonathan Woodruff
eee5a2c23b
Experiment with a zero-cycle TLB in instruction fetch as well.
2024-01-16 10:05:17 +00:00
Jonathan Woodruff
25a728b6d3
Optimise timing of TLB translation, ensuring that the translated address
...
proceeds with minimal conditions to the output.
2024-01-16 09:50:35 +00:00
Jonathan Woodruff
f9bf4ad856
Use default value on reset of Map.
2024-01-15 17:00:00 +00:00
Jonathan Woodruff
2c3c1da5c3
Solve last issue to allow doExeMem and doFinishMem.
2024-01-09 17:12:39 +00:00
Jonathan Woodruff
2f6a0980d9
Move all the work other than the TLB request out of doExeMem back to
...
doRegReadMem.
2024-01-09 12:37:34 +00:00
Jonathan Woodruff
3e3531ffd5
Revert "A scheduling experiment to try to get doRegReadMem and doExeMem"
...
This reverts commit b733e05a86 .
2024-01-09 11:54:53 +00:00
Jonathan Woodruff
b733e05a86
A scheduling experiment to try to get doRegReadMem and doExeMem
...
executing in the same clock cycle. It doesn't seem to work (yet).
2024-01-09 11:52:29 +00:00
Jonathan Woodruff
32d094082b
Some tracing for performance in the memory pipeline.
...
Also, add some ports to registers in DTLB to potentially allow
single-cycle lookup.
2024-01-08 15:28:24 +00:00
Jonathan Woodruff
2d05514b66
An experimental simplification of the SplitLSQ, which I think works
...
because the Memory pipeline only ever reads the getIssueLd interface in
the same rule that it calls issueLd.
2023-12-12 17:29:27 +00:00
Peter Rugg
8cd6e8db87
Bump BlueStuff
...
This includes the changes to add wrappers for the delay shim. Unfortunately,
these are not directly suitable for the VCU118 setup since the uncached bus
needs to configure either itself or the cached bus, so leave those as is for
now
2023-10-31 13:28:00 +00:00
gameboo
9dae87b505
Bump cheri-cap-lib
2023-10-31 13:28:00 +00:00
Peter Rugg
e9c2db4e60
Allocate mem_buf dynamically in elf_to_hex
...
This hopefully fixes various compile issues due to having a > 2GB global
and also seems to have the size effect of running many times quicker.
2023-10-25 13:35:32 +01:00
Simon Moore
d04c8ea3a9
Tidy section formatting so that it better exports to asciidoctor.
2023-08-30 18:26:47 +01:00
gameboo
da473192c7
Bump BlueStuff
2023-08-24 17:18:00 +01:00
gameboo
5ca4843be1
Bump BlueStuff
2023-08-21 14:30:26 +01:00
Peter Rugg
16592ae29a
Bump BlueStuff
2023-08-16 18:30:27 +01:00
gameboo
43378ee339
Bump BlueStuff
2023-07-25 16:05:15 +01:00
Peter Rugg
4acbe2f43b
Fix build error with SPEC contracts
2023-07-17 17:38:57 +01:00
Peter Rugg
5818a886dd
Factor out delay shim
2023-07-15 22:37:45 +01:00
Peter Rugg
d509ab0fab
Mask off address bits in latency shim
2023-07-15 22:37:45 +01:00
Peter Rugg
5414a13d3b
Add prints for latency rules
2023-07-15 22:37:45 +01:00
Peter Rugg
f71f650023
Allow dynamic latency config
2023-07-15 22:37:45 +01:00
Peter Rugg
d17d3135bb
Add error clear implementation for delayShim
2023-07-15 22:37:45 +01:00
Peter Rugg
23b471e0ae
Increase number of outstanding transactions in delayShim
2023-07-15 22:37:45 +01:00
Peter Rugg
1a94699de6
Delay non-burst channels
2023-07-15 22:37:45 +01:00
Peter Rugg
e6370f46f6
Remove unnecessary type
2023-07-15 22:37:45 +01:00
Peter Rugg
f7755d0e58
Increase DRAM latency for realism
2023-07-15 22:37:45 +01:00
gameboo
2584c96095
Bump BlueStuff
2023-07-13 15:35:20 +01:00
gameboo
561683343d
Add a mean to configure starting PC dynamically at start of simulation
2023-07-13 15:34:08 +01:00
gameboo
f00d924528
Bump BlueStuff
2023-07-04 17:08:16 +01:00
Peter Rugg
373b849d29
Merge branch 'tag-clear' into CHERI
2023-06-27 11:38:42 +01:00
Peter Rugg
ec4eacac9c
Fix CSetAddr tag clear bug
2023-06-26 18:01:56 +01:00
Jonathan Woodruff
3ebf537f71
Tidy up tracing options, including using RVFI when building for bluesim
...
(which I'm sure we had meant to be doing?).
2023-06-23 13:09:38 +00:00
gameboo
c1f631eed3
Bump BlueStuff
2023-06-22 17:20:45 +01:00
gameboo
b3a75cfeac
Bump BlueStuff and make use of Makefile fragment
2023-06-22 16:40:23 +01:00
gameboo
11d5d403ed
Bump BlueStuff
2023-06-22 16:02:19 +01:00
gameboo
78b4554f5e
Bump BlueStuff
2023-06-21 16:00:11 +01:00
Peter Rugg
86782f9bb5
Cleanup unused exception code
2023-06-20 16:46:39 +01:00
Peter Rugg
c8b0e12f79
Remove traps for CBuildCap
...
This will be very expensive in terms of area and possibly timing.
Ideally this instruction would be multi-cycle or optimised to reduce the overhead.
2023-06-20 16:23:44 +01:00
Peter Rugg
f3ac024b73
Remove exceptions from CUnseal
2023-06-20 12:32:49 +01:00
Peter Rugg
ca711eab2a
Remove exceptions from CToPtr and CFromPtr
2023-06-20 09:45:48 +01:00
gameboo
e6a8111a1b
Fix forgotten type change from tuple2 to tuple3 in mem exe pipeline
2023-06-14 11:49:09 +01:00
Jonathan Woodruff
318c94ec41
Merge branch 'ks980-prefetch' into CHERI
2023-05-23 17:35:58 +00:00
Jonathan Woodruff
410be14a25
Merge remote-tracking branch 'karlis/CHERI' into ks980-prefetch
2023-05-23 17:34:19 +00:00