#
cf7d6b7a |
| 25-Oct-2024 |
Muzi <[email protected]> |
style(Frontend): use scalafmt formatting frontend (#3370)
Format frontend according to the scalafmt file drafted in #3061.
|
#
8891a219 |
| 08-Oct-2023 |
Yinan Xu <[email protected]> |
Bump rocket-chip (#2353)
|
#
935edac4 |
| 21-Sep-2023 |
Tang Haojin <[email protected]> |
chore: remove deprecated brackets, APIs, etc. (#2321)
|
#
adc0b8df |
| 22-Aug-2023 |
Guokai Chen <[email protected]> |
bpu: duplicate most possible signal related to npc generation to address (#2254)
high fanout problems
Co-authored-by: Lingrui98 <[email protected]>
|
#
3c02ee8f |
| 25-Dec-2022 |
wakafa <[email protected]> |
Separate Utility submodule from XiangShan (#1861)
* misc: add utility submodule
* misc: adjust to new utility framework
* bump utility: revert resetgen
* bump huancun
|
#
c2d1ec7d |
| 16-Aug-2022 |
Lingrui98 <[email protected]> |
bpu: refactor prediction i/o bundles
|
#
803124a6 |
| 10-Jun-2022 |
Lingrui98 <[email protected]> |
bpu: refactor BranchPredictionUpdate bundle
Previously the BranchPredictionUpdate bundle was inherited from BranchPredictionBundle, and that made some field of the bundle unused. It was hard to find
bpu: refactor BranchPredictionUpdate bundle
Previously the BranchPredictionUpdate bundle was inherited from BranchPredictionBundle, and that made some field of the bundle unused. It was hard to find which signals are really in use. Now we make BranchPredictionUpdate a independent bundle, so that the signals in it are all in use.
show more ...
|
#
cb4f77ce |
| 31-Dec-2021 |
Lingrui98 <[email protected]> |
bpu: timing optimizations
* move statisical corrector to stage 3 * add recover path in stage 3 for ras in case stage 2 falsely push or pop * let stage 2 has the highest physical priority in bpu * le
bpu: timing optimizations
* move statisical corrector to stage 3 * add recover path in stage 3 for ras in case stage 2 falsely push or pop * let stage 2 has the highest physical priority in bpu * left ras broken for the next commit to fix
show more ...
|
#
4dec0a5e |
| 23-Dec-2021 |
Lingrui98 <[email protected]> |
bpu: disable bim
|
#
b37e4b45 |
| 16-Dec-2021 |
Lingrui98 <[email protected]> |
ubtb: refactor prediction mechanism(temp commit)
|
#
3e52bed1 |
| 08-Dec-2021 |
Lingrui98 <[email protected]> |
bpu: remove stage 3
|
#
569b279f |
| 16-Nov-2021 |
Lingrui98 <[email protected]> |
bpu: extract wrbypass to be a module
|
#
eeb5ff92 |
| 15-Oct-2021 |
Lingrui98 <[email protected]> |
frontend: let br/jmp share the last slot of an ftb entry, ghist update timing optimization
|
#
09c6f1dd |
| 01-Sep-2021 |
Lingrui98 <[email protected]> |
frontend: code clean ups
|
#
0659cc94 |
| 01-Sep-2021 |
Lingrui98 <[email protected]> |
frontend: remove deprecated code
|
#
eb46489b |
| 16-Aug-2021 |
Lingrui98 <[email protected]> |
Merge branch 'master' into merge-master
|
#
f320e0f0 |
| 24-Jul-2021 |
Yinan Xu <[email protected]> |
misc: update PCL information (#899)
XiangShan is jointly released by ICT and PCL.
|
#
3c02c6c7 |
| 08-Jul-2021 |
zoujr <[email protected]> |
[WIP]BPU: Decoupled frontend BPU design
|
#
c6d43980 |
| 04-Jun-2021 |
Lemover <[email protected]> |
Add MulanPSL-2.0 License (#824)
In this commit, we add License for XiangShan project.
|
#
2225d46e |
| 19-Apr-2021 |
Jiawei Lin <[email protected]> |
Refactor parameters, SimTop and difftest (#753)
* difftest: use DPI-C to refactor difftest
In this commit, difftest is refactored with DPI-C calls.
There're a few reasons:
(1) From Verilator's
Refactor parameters, SimTop and difftest (#753)
* difftest: use DPI-C to refactor difftest
In this commit, difftest is refactored with DPI-C calls.
There're a few reasons:
(1) From Verilator's manual, DPI-C calls should be more efficient than accessing from dut_ptr.
(2) DPI-C is cross-platform (Verilator, VCS, ...)
(3) difftest APIs are splited from emu.cpp to possibly support more backend platforms
(NEMU, Spike, ...)
The performance at this commit is quite slower than the original emu.
Performance issues will be fixed later.
* [WIP] SimTop: try to use 'XSTop' as soc
* CircularQueuePtr: ues F-bounded polymorphis instead implict helper
* Refactor parameters & Clean up code
* difftest: support basic difftest
* Support diffetst in new sim top
* Difftest; convert recode fmt to ieee754 when comparing fp regs
* Difftest: pass sign-ext pc to dpic functions && fix exception pc
* Debug: add int/exc inst wb to debug queue
* Difftest: pass sign-ext pc to dpic functions && fix exception pc
* Difftest: fix naive commit num limit
Co-authored-by: Yinan Xu <[email protected]>
Co-authored-by: William Wang <[email protected]>
show more ...
|
#
408a32b7 |
| 25-Mar-2021 |
Allen <[email protected]> |
Refactor XSPerf, now we have three XSPerf Functions. XSPerfAccumulate: sum up performance values. XSPerfHistogram: count the occurrence of performance values, split them into bins, so that we can est
Refactor XSPerf, now we have three XSPerf Functions. XSPerfAccumulate: sum up performance values. XSPerfHistogram: count the occurrence of performance values, split them into bins, so that we can estimate their distribution. XSPerfMax: get max of performance values.
show more ...
|
#
56695d82 |
| 06-Mar-2021 |
Steve Gou <[email protected]> |
IFU: add performance counters (#649)
* core: enable sc
* sc: calculate sum again on update
* sc: clean ups
* sc: add some debug info
* sc, tage, bim: fix wrbypass logic, add wrbypass for
IFU: add performance counters (#649)
* core: enable sc
* sc: calculate sum again on update
* sc: clean ups
* sc: add some debug info
* sc, tage, bim: fix wrbypass logic, add wrbypass for SC
* sc: restrict threshold update conditions and prevent overflow problem
* sc: use seperative thresholds for each bank
* sc: update debug info
* sc: use adaptive threshold algorithm from the original O-GEHL
* tage, bim, sc: optimize wrbypass logic
* sc: initialize threshold to 60
* loop: remove unuseful RegNext on redirect
* ifu: add perf counters
* Perf: Add loopPredictor perf counters
* sc: fix perf logics
Co-authored-by: jinyue110 <[email protected]>
Co-authored-by: zoujr <[email protected]>
show more ...
|
#
49c07871 |
| 05-Mar-2021 |
Steve Gou <[email protected]> |
BPU: enable TAGE-SC (#646)
* core: enable sc
* sc: calculate sum again on update
* sc: clean ups
* sc: add some debug info
* sc, tage, bim: fix wrbypass logic, add wrbypass for SC
*
BPU: enable TAGE-SC (#646)
* core: enable sc
* sc: calculate sum again on update
* sc: clean ups
* sc: add some debug info
* sc, tage, bim: fix wrbypass logic, add wrbypass for SC
* sc: restrict threshold update conditions and prevent overflow problem
* sc: use seperative thresholds for each bank
* sc: update debug info
* sc: use adaptive threshold algorithm from the original O-GEHL
* tage, bim, sc: optimize wrbypass logic
* sc: initialize threshold to 60
* loop: remove unuseful RegNext on redirect
show more ...
|
#
377b636c |
| 04-Mar-2021 |
Jay <[email protected]> |
Fix uncache (#635)
* Replacement: change state in way method.
* State change is also needed when miss occurs, otherwise we will choose
a way that has been just refilled into cache as the victim.
Fix uncache (#635)
* Replacement: change state in way method.
* State change is also needed when miss occurs, otherwise we will choose
a way that has been just refilled into cache as the victim.
* Optimize ctrlblock timing (#620)
* CtrlBlock: delay exception flush for 1 cycle
* CtrlBlock: delay load replay for 1 cycle
* roq: delay wb from exu for one clock cycle to meet timing
* CtrlBlock: fix pipeline bug between decode and rename
Co-authored-by: Yinan Xu <[email protected]>
* L1plusCache: use plru replacement policy.
* ICache: fix mmio bugs
1. MMIO cut helper uses packet align logic
2. still send req to uncache when flush
* ICache: change packet from mmio
use packet align as the mem
* IntrUncache: fix state bug
state will change into s_invalid and get stuck
* fix Registers that not being initiated
show more ...
|
#
6762815c |
| 03-Mar-2021 |
Steve Gou <[email protected]> |
update sc implementation, with wrbypass fixed in tage, bim and sc (#624)
* core: enable sc
* sc: calculate sum again on update
* sc: clean ups
* sc: add some debug info
* sc, tage, bim:
update sc implementation, with wrbypass fixed in tage, bim and sc (#624)
* core: enable sc
* sc: calculate sum again on update
* sc: clean ups
* sc: add some debug info
* sc, tage, bim: fix wrbypass logic, add wrbypass for SC
* core: disable sc by default
Co-authored-by: jinyue110 <[email protected]>
show more ...
|