#
5003e6f8 |
| 23-Jul-2024 |
Huijin Li <[email protected]> |
LSQ: optimize static clock gating coverage and fix x_value in vcs (#3176)
optimize LSQ static clock gating coverage, fix x_value in vcs
|
#
6e3aca77 |
| 19-Dec-2023 |
sfencevma <[email protected]> |
StoreQueue: fix forward logic
|
#
a7828dc1 |
| 12-Jun-2024 |
Tang Haojin <[email protected]> |
Revert "LSQ: optimize static clock gating coverage (#3023)" (#3055)
|
#
082b30d1 |
| 31-May-2024 |
Huijin Li <[email protected]> |
LSQ: optimize static clock gating coverage (#3023)
|
#
8891a219 |
| 08-Oct-2023 |
Yinan Xu <[email protected]> |
Bump rocket-chip (#2353)
|
#
cdbff57c |
| 24-Jul-2023 |
Haoyuan Feng <[email protected]> |
Memblock: Add load/store 128 bits datapath (#2180)
* Memblock: Add load/store 128 bits datapath
---------
Co-authored-by: lulu0521 <[email protected]>
* Memblock: fix bug of raw addr ma
Memblock: Add load/store 128 bits datapath (#2180)
* Memblock: Add load/store 128 bits datapath
---------
Co-authored-by: lulu0521 <[email protected]>
* Memblock: fix bug of raw addr match
* Memblock, LoadUnit: Fix Vector RAW paddr match
---------
Co-authored-by: lulu0521 <[email protected]>
show more ...
|
#
e4f69d78 |
| 21-May-2023 |
sfencevma <[email protected]> |
lsu: split lq for larger ooo load window (#2077)
BREAKING CHANGE: new LSU/LQ architecture introduced in this PR
In this commit, we replace unified LQ with:
* virtual load queue
* load replay qu
lsu: split lq for larger ooo load window (#2077)
BREAKING CHANGE: new LSU/LQ architecture introduced in this PR
In this commit, we replace unified LQ with:
* virtual load queue
* load replay queue
* load rar queue
* load raw queue
* uncache buffer
It will provide larger ooo load window.
NOTE: IPC loss in this commit is caused by MDP problems, for previous MDP
does not fit new LSU architecture.
MDP update is not included in this commit, IPC loss will be fixed by MDP update later.
---------
Co-authored-by: Lyn <[email protected]>
show more ...
|
#
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
|
#
39f2ec76 |
| 09-Aug-2022 |
William Wang <[email protected]> |
lq: add 1 extra stage for lq data write (#1705)
Now lq data is divided into 8 banks by default. Write to lq
data takes 2 cycles to finish
Lq data will not be read in at least 2 cycles after wri
lq: add 1 extra stage for lq data write (#1705)
Now lq data is divided into 8 banks by default. Write to lq
data takes 2 cycles to finish
Lq data will not be read in at least 2 cycles after write, so it is ok
to add this delay. For example:
T0: update lq meta, lq data write req start
T1: lq data write finish, new wbidx selected
T2: read lq data according to new wbidx selected
show more ...
|
#
0a992150 |
| 06-Aug-2022 |
William Wang <[email protected]> |
std: add an extra pipe stage for std (#1704)
|
#
96b1e495 |
| 15-Nov-2021 |
William Wang <[email protected]> |
Optmize memblock timing (#1218)
DCache timing problem has not been solved yet. DCache structure will be further changed.
* sbuffer: add extra perf counters
* sbuffer: optmize timeout replay ch
Optmize memblock timing (#1218)
DCache timing problem has not been solved yet. DCache structure will be further changed.
* sbuffer: add extra perf counters
* sbuffer: optmize timeout replay check timing
* sbuffer: optmize do_uarch_drain check timing
Now we only compare merge entry's vtag, check will not start until
mergeIdx is generated by PriorityEncoder
* mem, lq: optmize writeback select logic timing
* dcache: replace missqueue reill req arbiter
* dcache: refactor missqueue entry select logic
* mem: add comments for lsq data
* dcache: give amo alu an extra cycle
* sbuffer: optmize sbuffer forward data read timing
show more ...
|
#
ca18a0b4 |
| 20-Oct-2021 |
William Wang <[email protected]> |
mem: add Zicbom and Zicboz support (#1145)
Now we merge them for timing opt, unit test to be added later
|
#
9aca92b9 |
| 28-Sep-2021 |
Yinan Xu <[email protected]> |
misc: code clean up (#1073)
* rename Roq to Rob
* remove trailing whitespaces
* remove unused parameters
|
#
ce28536f |
| 20-Aug-2021 |
William Wang <[email protected]> |
mem: fix rsFeedback for fast forward
|
#
3db2cf75 |
| 19-Aug-2021 |
William Wang <[email protected]> |
mem: loadpipe will not miss if fullForward succeed
New option `EnableFastForward` is added to config list. EnableFastForward will reduce L1D$ miss but make timing worse.
* `forwardMaskFast` is gene
mem: loadpipe will not miss if fullForward succeed
New option `EnableFastForward` is added to config list. EnableFastForward will reduce L1D$ miss but make timing worse.
* `forwardMaskFast` is generated at load_s1, it is used to generate fastUop for fast wakeup * `forwardMask` is generated at load_s2, it will be used to check if forward result is correct
show more ...
|
#
88fbccdd |
| 29-Jul-2021 |
William Wang <[email protected]> |
mem: add vaddr forward profiling framework
|
#
f320e0f0 |
| 24-Jul-2021 |
Yinan Xu <[email protected]> |
misc: update PCL information (#899)
XiangShan is jointly released by ICT and PCL.
|
#
6d5ddbce |
| 19-Jul-2021 |
Lemover <[email protected]> |
cache,mmu: split PTW and TLB into several files (#890)
|
#
c6d43980 |
| 04-Jun-2021 |
Lemover <[email protected]> |
Add MulanPSL-2.0 License (#824)
In this commit, we add License for XiangShan project.
|
#
1b7adedc |
| 30-Apr-2021 |
William Wang <[email protected]> |
MemBlock: split store addr and store data (#781)
* RSFeedback: add source type
* StoreQueue: split store addr and store data
* StoreQueue: update ls forward logic
* Now it supports splited
MemBlock: split store addr and store data (#781)
* RSFeedback: add source type
* StoreQueue: split store addr and store data
* StoreQueue: update ls forward logic
* Now it supports splited addr and data
* Chore: force assign name for load/store unit
* RS: add rs'support for store a-d split
* StoreQueue: fix stlf logic
* StoreQueue: fix addr wb sq update logic
* AtomicsUnit: support splited a/d
* StoreQueue: add sbuffer enq condition assertion
Store data op (std) may still be invalid after store addr op's (sta)
commitment, so datavalid needs to be checked before commiting
store data to sbuffer
Note that at current commit a non-completed std op for a
commited store may exist. We should make sure that uop
will not be cancelled by a latter branch mispredict. More work
to be done!
* Roq: add std/sta split writeback logic
Now store will commit only if both sta & std have been writebacked
Co-authored-by: ZhangZifei <[email protected]>
show more ...
|
#
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 ...
|
#
b5b78226 |
| 29-Jan-2021 |
William Wang <[email protected]> |
LoadQueueData: wrap data in LQData8Module
|
#
b72585b9 |
| 25-Jan-2021 |
William Wang <[email protected]> |
StoreQueueData: put paddr into paddrModule
|
#
a300b697 |
| 20-Jan-2021 |
William Wang <[email protected]> |
StoreQueueData: use sync read
|
#
e786ff3f |
| 08-Jan-2021 |
William Wang <[email protected]> |
LSQ: update store queue dataModule
Now storequeue dataModule is divided into 3 modules: * vaddrModule (2w1r) * exceptionModule (2w1r) * dataModule (core data module, 2w2r+fwd)
|