#
3c808de0 |
| 17-Feb-2025 |
Anzo <[email protected]> |
fix(LSU): fix cbo instr exceptions and implementation (#4262)
1. typo.
2. `cbo` instr not produce misaligned exception.
3. `cbo zero` instr need flush `sbuffer`.
4. `cbo zero` sets mask correctly
fix(LSU): fix cbo instr exceptions and implementation (#4262)
1. typo.
2. `cbo` instr not produce misaligned exception.
3. `cbo zero` instr need flush `sbuffer`.
4. `cbo zero` sets mask correctly
5. Adding RAW checks to `cbo zero`.
6. Adding trigger(Debug Mode) checks to `cbo zero`.
7. Fixed several issues with the CBO instruction in NEMU.
----
In order not to create ambiguity with `io.mmioStout`, a new port of
`StoreQueue` is introduced for writeback `cbo zero` after flush sbuffer.
arbitration is performed in `MemBlock`, and currently, `cbo zero` has
higher priority by default.
`cbo zero` should not be writteback at the same time as `mmio`.
---
A check on `CacheLine` has been added to `RAWQueue` to ensure memory
consistency when executing `cbo zero`.
See this issues:https://github.com/OpenXiangShan/XiangShan/issues/4240
for specific issues.
---
The `cbo` instruction requires a trigger check.
---------
Co-authored-by: zhanglinjuan <[email protected]>
show more ...
|
#
9e12e8ed |
| 08-Feb-2025 |
cz4e <[email protected]> |
style(Bundles): move bundles to Bundles.scala (#4247)
|
#
9b12a106 |
| 25-Dec-2024 |
Anzo <[email protected]> |
area(LoadQueue): remove useless regs (#4062)
Vector Load's additional release logic in the `RAR/RAW Queue` looks unneeded, which would result in the `RAR/RAW Queue` storing redundant `regs` for `uop
area(LoadQueue): remove useless regs (#4062)
Vector Load's additional release logic in the `RAR/RAW Queue` looks unneeded, which would result in the `RAR/RAW Queue` storing redundant `regs` for `uopidx`.
show more ...
|
#
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 ...
|
#
549073a0 |
| 10-Dec-2024 |
cz4e <[email protected]> |
area(Lsq): compress rar/raw paddr and remove sq useless regs (#3976)
* LoadQueueRAR PAddr hash function, total 16bits:
: compress rar/raw paddr and remove sq useless regs (#3976)
* LoadQueueRAR PAddr hash function, total 16bits:

* LoadQueueRAW use PAddr[29:6], total 24bits
show more ...
|
#
520ec528 |
| 04-Aug-2024 |
Xuan Hu <[email protected]> |
LoadQueueRAW: need check only when storeIn is valid
* If storeIn is not valid, the bits in storeIn means nothing. Using bits when valid is not asserted will cause X propagation.
|
#
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
|
#
16ede6bb |
| 11-Jul-2024 |
weiding liu <[email protected]> |
MemBlock: refactor selectOldest of rollback for better timing
Don't select oldest rollback twice in LoadQueueRAW, send to memblock select oldest with other, will have port to send rollback request
MemBlock: refactor selectOldest of rollback for better timing
Don't select oldest rollback twice in LoadQueueRAW, send to memblock select oldest with other, will have port to send rollback request to memblock in LoadQueueRAW.
show more ...
|
#
660213bd |
| 07-Mar-2024 |
sfencevma <[email protected]> |
LoadQueueRAW: use grouped instead of sliding
|
#
8a45cbca |
| 07-Mar-2024 |
sfencevma <[email protected]> |
LoadQueueRAW: simplify group logic
|
#
a7828dc1 |
| 12-Jun-2024 |
Tang Haojin <[email protected]> |
Revert "LSQ: optimize static clock gating coverage (#3023)" (#3055)
|
#
ff9b84b9 |
| 11-Jun-2024 |
lwd <[email protected]> |
LSQ: refactor vector load/store commit judging logic to fix X in vcs (#3048)
|
#
31fae68e |
| 03-Jun-2024 |
Yanqin Li <[email protected]> |
clockgate: set default initialization with 0 to fix X in vcs (#3031)
|
#
082b30d1 |
| 31-May-2024 |
Huijin Li <[email protected]> |
LSQ: optimize static clock gating coverage (#3023)
|
#
25df626e |
| 04-May-2024 |
good-circle <[email protected]> |
Merge branch 'master' into vlsu-tmp-master
|
#
627be78b |
| 23-Apr-2024 |
good-circle <[email protected]> |
VLSU, lsq: support more than one vector pipeline
|
#
26af847e |
| 25-Mar-2024 |
good-circle <[email protected]> |
rv64v: implement lsu & lsq vector datapath
|
#
aebc38d1 |
| 12-Apr-2024 |
sfencevma <[email protected]> |
delay paddr/mask check one more cycle
|
#
71489510 |
| 20-Dec-2023 |
Xuan Hu <[email protected]> |
fix merge error
|
#
8241cb85 |
| 17-Dec-2023 |
Xuan Hu <[email protected]> |
Merge remote-tracking branch 'upstream/master' into backendq
|
#
cd2ff98b |
| 01-Dec-2023 |
happy-lx <[email protected]> |
Rebase Timing Fix of Memblock from fix-timing branch (#2501)
* fix LQ timing
* l1pf: fix pf queue to ldu timing
* disable ecc path for timing analysis
* TODO: remove this
* fix pipeline
Rebase Timing Fix of Memblock from fix-timing branch (#2501)
* fix LQ timing
* l1pf: fix pf queue to ldu timing
* disable ecc path for timing analysis
* TODO: remove this
* fix pipeline
* memblock: add a Reg between inner/outer reset_vec
* missqueue: make mem_grant always ready
* Enable ECC path again
* remove fast replay reorder logic
* l1pf: use chosen of arbiter to improve timing
* remove reorder remain logic
* mq: use ParallelORR instead of orR
* Strengthen the conditions for load to load path for timing
* fix load to load data select for timing
* refactoring lq replay valid logic
* fix replay port
* fix load unit s0 arbitor logic
* add topdown wiring
* fix ldu ecc path
* remove lateKill
* ecc: physically remove ecc in DataArray
* loadpipe: use ParallelORR and ParallelMux for timing
* mainpipe: use ParallelMux and ParallelorR for timing
* fix fast replay is killed at s1
* fix replay cancel logic
* fix mq nack feedback logic
* sms: fix pf queue tlb req logic for timing
* kill load at s1
* fix loadqueuereplay enq logic
* opt raw rollback arbiter logic
* fix ecc_delayed writeback logic
* train all l1 pf and sms at load s3 for better timing
* disable load to load forward
* Revert "kill load at s1"
This reverts commit 56d47582ad4dd9c83373fb2db2a0709075485d4d.
* fix s0 kill logic
* ITLBRepeater: Add one more buffer when PTW resp
* remove trigger
* fix feedback_slow logic
* add latch in uncachebuffer rollback
* remove trigger in port
* fast replay: use dcache ready
* fix replay logic at s1
* uncache: fix uncache writeback
* fix delay kill logic
* fix clean exception loigc at s3
* fix ldu rollback logic
* fix ldu rollback valid logic
---------
Co-authored-by: sfencevma <[email protected]>
Co-authored-by: XiChen <[email protected]>
Co-authored-by: Lyn <[email protected]>
Co-authored-by: good-circle <[email protected]>
show more ...
|
#
20a5248f |
| 19-Oct-2023 |
zhanglinjuan <[email protected]> |
Add VLSU
* miscs: optimize code style
* vector: add VLSU param system and redefine vector lq io
* VLUopQueue: add flow split and address generation logic
* VLUopQueue: add flow issue and writebac
Add VLSU
* miscs: optimize code style
* vector: add VLSU param system and redefine vector lq io
* VLUopQueue: add flow split and address generation logic
* VLUopQueue: add flow issue and writeback logic
* VLUopQueue: set vstart for elements with exception
* VLUopQueue: handle unit-stride fof loads
* VLUopQueue: implement vector masking according to vm
* vector: rewrite vector store io
* VlFlowQueue: add enqueue and dequeue logic
* VLFlowQueue: fix some coding problem
* VlFlowQueue: add issue, replay and result logic
* VLFlowQueue: add redirect logic
* Rob: fix compilation error
* vector: remove stale codes
* vector: add VSUopQueue and fix bugs for vector load
* backbone: add vector load/store execution paths
* VSFlowQueue: Basic function
* VLUopQueue: add redirect logic for load-load violation
* VSFlowQueue: fix some compile problems
* VSUopQueue: add signal to indicate whether a flow is the last one
* VSFlowQueue: inform scala sq when vector store finished
* StoreQueue: maintain sequential retirement between scalar & vector stores
* LoadQueueRAW: handle violation between vector stores & scalar loads
* LDU: add vector store to scalar load forwarding
* XSCore: fix writeback width of MemBlock
* vector: fix load/store whole register and masked unit-stride load/store emul, evl, flownum (#2383)
* VSFlowQueue: Support STLF
* VLFlowQueue: fix compile bug
* VSFlowQueue: fix compile problem
---------
Co-authored-by: xuzefan <[email protected]> Co-authored-by: good-circle <[email protected]> Co-authored-by: weidingliu <[email protected]>
show more ...
|
#
59bf8b89 |
| 06-Nov-2023 |
sfencevma <[email protected]> |
remove rawNuke (#2460)
Co-authored-by: Lyn <[email protected]>
|
#
3343d4a5 |
| 03-Nov-2023 |
sfencevma <[email protected]> |
LDU: fix rar flush logic (#2445)
* fix rar flush logic
* fix re-fetch and flushPipe logic
* fix rar rollback logic, cancel isFlushPipe
* fix syntax error
* fix selectOldest logic
* fi
LDU: fix rar flush logic (#2445)
* fix rar flush logic
* fix re-fetch and flushPipe logic
* fix rar rollback logic, cancel isFlushPipe
* fix syntax error
* fix selectOldest logic
* fix redirect pc gen loigc
---------
Co-authored-by: Lyn <[email protected]>
show more ...
|
#
4b0d80d8 |
| 11-Oct-2023 |
Xuan Hu <[email protected]> |
Merge upstream/master into tmp-backend-merge-master
|