History log of /XiangShan/src/main/scala/xiangshan/frontend/NewFtq.scala (Results 1 – 25 of 180)
Revision Date Author Comments
# 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 ...


12345678