#
26814fb3 |
| 16-Apr-2025 |
HuSipeng <[email protected]> |
feat(Ftq): split Ftq meta SRAM into smaller size (#4569)
split Ftq meta SRAM into smaller size: (64 × 160) × 2 -> (64 × 80) × 4
|
#
30f35717 |
| 14-Apr-2025 |
cz4e <[email protected]> |
refactor(DFT): refactor `DFT` IO (#4530)
|
#
93b51ff0 |
| 03-Apr-2025 |
HuSipeng <[email protected]> |
fix(FTB, FTQ): dont use CPL2 SplittedSRAM (#4485)
If the frontend directly uses the SplittedSRAM of coupledL2, the frontend's SRAM will be marked as a multi-cycle path, the same as coupledL2's SRAM.
|
#
721555e1 |
| 17-Mar-2025 |
HuSipeng <[email protected]> |
feat(FTB, FTQ): split FTB meta SRAM and FTQ meta SRAM (#4360)
FTB meta SRAM: 512 × 320 -> (512 × 40) × 8 FTQ meta SRAM: 64 × 320 -> (64 × 160) × 2
|
#
11269ca7 |
| 09-Mar-2025 |
Tang Haojin <[email protected]> |
chore: fix several deprecation warning (#4352)
|
#
4b2c87ba |
| 27-Feb-2025 |
梁森 Liang Sen <[email protected]> |
feat(dfx): integerate dfx components (#4312)
|
#
d33d62c4 |
| 26-Dec-2024 |
Muzi <[email protected]> |
fix(FTQ): start of the first instruction in an entry (#4072)
The start of the first instruction can be the second 2-byte of the entry.
|
#
8b33cd30 |
| 13-Dec-2024 |
klin02 <[email protected]> |
feat(XSLog): move all XSLog outside WhenContext for collection
As data in WhenContext is not acessible in another module. To support XSLog collection, we move all XSLog and related signal outside Wh
feat(XSLog): move all XSLog outside WhenContext for collection
As data in WhenContext is not acessible in another module. To support XSLog collection, we move all XSLog and related signal outside WhenContext. For example, when(cond1){XSDebug(cond2, pable)} to XSDebug(cond1 && cond2, pable)
show more ...
|
#
4d53e0ef |
| 16-Dec-2024 |
zhou tao <[email protected]> |
Frontend: modify the code related to configuration parameters (#3950)
|
#
39d55402 |
| 19-Nov-2024 |
pengxiao <[email protected]> |
feat(frontend): add ClockGate at frontend SRAMTemplate (#3889)
* Add param `withClockGate` at SRAMTemplate
* when SRAM is single-port, use maskedClock for both array\.read\(\) and
array\.write\(\)
feat(frontend): add ClockGate at frontend SRAMTemplate (#3889)
* Add param `withClockGate` at SRAMTemplate
* when SRAM is single-port, use maskedClock for both array\.read\(\) and
array\.write\(\) to ensure single-port SRAM access.
* when SRAM is multi-port, the read and write ports of the multi-port
SRAM are gated using different clocks.
show more ...
|
#
c49ebec8 |
| 18-Nov-2024 |
Haoyuan Feng <[email protected]> |
docs: add acknowledgements (#3861)
|
#
fbdb359d |
| 08-Nov-2024 |
Muzi <[email protected]> |
fix(ICache): cancel prefetch when there is exception from backend (#3787)
|
#
dcf4211f |
| 30-Oct-2024 |
Yuandongliang <[email protected]> |
feat(ittage): Reuse always_taken to mark the first occurrence of the jalr inst (#3718)
Reuse always_taken to mark the first occurrence of the jalr instruction
and rename always_taken to strong_bias.
|
#
cf7d6b7a |
| 25-Oct-2024 |
Muzi <[email protected]> |
style(Frontend): use scalafmt formatting frontend (#3370)
Format frontend according to the scalafmt file drafted in #3061.
|
#
3e1dbb17 |
| 25-Oct-2024 |
Muzi <[email protected]> |
timing(FTQ): calculate requests sent to prefetcher one cycle in advance (#3499)
|
#
c1b28b66 |
| 09-Sep-2024 |
Tang Haojin <[email protected]> |
fix(exception): check high address bits of jump target (#3003)
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump
fix(exception): check high address bits of jump target (#3003)
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump target address, which made it impossible to raise exceptions in such cases.
To resolve this problem, we detect the invalid jump target in jump/branch/CSR and, this information to frontend and store the complete invalid target in a single register in backend. The frontend will then raise an exception to backend and backend will also use the invalid target in the register to write xtval and mepc.
---------
Co-authored-by: Muzi <[email protected]> Co-authored-by: ngc7331 <[email protected]>
show more ...
|
#
c776f0d5 |
| 09-Sep-2024 |
my-mayfly <[email protected]> |
fix(RAS): correct the Call and Ret signals during redirection, and modify the blocking mechanism of RAS. (#3514)
1. RAS: relax the conditions for unblocking the speculative queue after
it has been
fix(RAS): correct the Call and Ret signals during redirection, and modify the blocking mechanism of RAS. (#3514)
1. RAS: relax the conditions for unblocking the speculative queue after
it has been blocked
2. FTQ: correct the pre-decode information sent to the RAS
show more ...
|
#
2c9f4a9f |
| 17-Aug-2024 |
xu_zh <[email protected]> |
Frontend: implement prefetch.i support (RVA23 Zicbop) (#3396)
|
#
9230e379 |
| 01-Aug-2024 |
Muzi <[email protected]> |
FTQ: FTQ entry commit condition and move pointer condition
An FTQ entry should be committed when last instruction is committed
instead of all are committed, as backend may not commit every single
FTQ: FTQ entry commit condition and move pointer condition
An FTQ entry should be committed when last instruction is committed
instead of all are committed, as backend may not commit every single
instruction.
This PR also addresses the performance bugs noted in PR #3303, as it
involves a complete rewrite. The description of PR #3303 is as follows.
PR #3086 fixes the bug where multiple load replays will fill the whole
FTQ by committing the FTQ entries created by load replays. However,
these committed entries will generate FTB entries that negatively impact
the BP accuracy under certain conditions.
To mitigate this, FTQ entries containing only one single flushed
instruction will no longer generate FTB entries. The commPtr and
robcommPtr will sill advance in case of running FTQ entries.
show more ...
|
#
f533cba7 |
| 29-Jul-2024 |
HuSipeng <[email protected]> |
PcTargetMem: Fixed a bug that caused the backend to be unable to read the newest target (#3269)
|
#
54c6d89d |
| 24-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Redirect fix timing (#3209)
|
#
95a47398 |
| 17-Jul-2024 |
Gao-Zeyu <[email protected]> |
ftq: fix redirectReadStart with IfuRedirectNum (#3199)
|
#
44b06f8a |
| 12-Jul-2024 |
Xuan Hu <[email protected]> |
Backend,Frontend: pass flag of FtqPtr to TargetMem to avoid read out-of-date predict target (#3184)
* Hold newest predict target everytime it is updated by frontend.
* Don't use out-of-date predict
Backend,Frontend: pass flag of FtqPtr to TargetMem to avoid read out-of-date predict target (#3184)
* Hold newest predict target everytime it is updated by frontend.
* Don't use out-of-date predict value even if FtqIdx match.
show more ...
|
#
b92f8445 |
| 28-Jun-2024 |
ssszwic <[email protected]> |
ICache: implement new ICache (#3051)
Co-authored-by: xu_zh <[email protected]>
|
#
91346769 |
| 20-Jun-2024 |
Muzi <[email protected]> |
fix: multiple load replays lead to running out of FTQ entries (#3086)
Previously, FTQ did not handle flush-itself redirect level, which is
used by load replays. This leads to running out of FTQ ent
fix: multiple load replays lead to running out of FTQ entries (#3086)
Previously, FTQ did not handle flush-itself redirect level, which is
used by load replays. This leads to running out of FTQ entries because
commPtr remains the same while ifuPtr keeps increasing when a new replay
redirect request arrives. Now, commPtr will also increase in this
scenario.
show more ...
|