#
9e12e8ed |
| 08-Feb-2025 |
cz4e <[email protected]> |
style(Bundles): move bundles to Bundles.scala (#4247)
|
#
16c2d8bb |
| 21-Jan-2025 |
Anzo <[email protected]> |
timing(VLSU): fix timing issues in `VLSU` (#4158)
## Two main issues were fixed: **Timing issue caused by too long address calculations for vector modules:** - Solved by moving some of the logic
timing(VLSU): fix timing issues in `VLSU` (#4158)
## Two main issues were fixed: **Timing issue caused by too long address calculations for vector modules:** - Solved by moving some of the logic to the previous cycle.
---
**Timing issue caused by long exception logic of load writeback to `VLMergeBuffer`:** - Add one cycle to the load writeback exception, now the same number of cycles as the load write back data.
show more ...
|
#
da51a7ac |
| 07-Jan-2025 |
Anzo <[email protected]> |
fix(VLSU): fix vector exception writeback to 'MergeBuffer' logic (#4137)
Fixed the bug of abnormal signal loss when writing back.
Previously, we expected to compare only the ports of the writebacks
fix(VLSU): fix vector exception writeback to 'MergeBuffer' logic (#4137)
Fixed the bug of abnormal signal loss when writing back.
Previously, we expected to compare only the ports of the writebacks that triggered the exception and pick the oldest.
But amazingly, I just realised that the implementation doesn't match the annotation. The current implementation can be problematic in that if the write-back port that did not have an exception is older, the port that triggered the exception is not elected.
Use s3_exception to try to optimise timing.
show more ...
|
#
2d8a0b4a |
| 30-Dec-2024 |
Anzo <[email protected]> |
fix(VLSU): `mergebuffer` threshold was added (#4103)
To solve the stuckness caused by insufficient RAW, we use `threshold` to control the execution of vector instructions. When the mergebuffer has f
fix(VLSU): `mergebuffer` threshold was added (#4103)
To solve the stuckness caused by insufficient RAW, we use `threshold` to control the execution of vector instructions. When the mergebuffer has few free entries than it can hold in the flow, we backpressure to make `IssueQueue` send the oldest `Uop` for us.
show more ...
|
#
b240e1c0 |
| 07-Nov-2024 |
Anzooooo <[email protected]> |
feat(Zicclsm): refactoring misalign and support vector misalign
|
#
780e55f4 |
| 17-Sep-2024 |
Yanqin Li <[email protected]> |
feat(NCst): support WMO access of NC st
|
#
41c5202d |
| 28-Sep-2024 |
Anzooooo <[email protected]> |
fix(VLSU): new vstart calculation method is adopted
|
#
df3b4b92 |
| 20-Sep-2024 |
Anzooooo <[email protected]> |
feat(rv64v): support first only fault instruction
|
#
726c5ee8 |
| 17-Sep-2024 |
Anzooooo <[email protected]> |
feat(VLSU, Trigger): add vector segment access Trigger logic
|
#
d0d2c22d |
| 15-Sep-2024 |
Anzooooo <[email protected]> |
feat(VLSU): element in which the exception occurs needs to retain its old value
|
#
c0355297 |
| 11-Sep-2024 |
Anzooooo <[email protected]> |
feat(VLSU): set vstart when the support vector accesses anomalies
|
#
506ca2a3 |
| 11-Sep-2024 |
Anzooooo <[email protected]> |
feat(Trigger): add vector memory access Trigger logic
|
#
46e9ee74 |
| 27-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(exception): fix exception vaddr generate logic (#3639)
In LSU, for exceptions that can be detected before address
translation(`preaf`, `prepf` or `pregpf`), the original vaddr should be
retain
fix(exception): fix exception vaddr generate logic (#3639)
In LSU, for exceptions that can be detected before address
translation(`preaf`, `prepf` or `pregpf`), the original vaddr should be
retained. And for exceptions detected after address translation, the
48-bit vaddr needs to be zero-extended or sign-extended according to
different modes(`GenExceptionVa`), and then write to *tval.
Also fix some connection bugs.
show more ...
|
#
ad415ae0 |
| 21-Sep-2024 |
Xiaokun-Pei <[email protected]> |
feat(trap): support m/htinst for specific G-stage translation (#3604)
According to RISC-V priv spec, mtinst/htinst could be always written
zero on trap into M/HS-mode, except for Guest-Page-Fault t
feat(trap): support m/htinst for specific G-stage translation (#3604)
According to RISC-V priv spec, mtinst/htinst could be always written
zero on trap into M/HS-mode, except for Guest-Page-Fault traps that meet
both of the following conditions:
- the trap is caused by a G-stage translation which supports VS-stage
translation
- a nonzero value is written to mtval2/htval
"isForVSnonLeafPTE" is used only in exceptional circumstances that gpf
happens in the G-stage translation which supports VS-stage translation,
such as searching the non-leaf pte of VS-stage.
This patch adds support for writing proper value to mtinst/htinst when
specific trap occurs. And bump the nemu.
show more ...
|
#
db6cfb5a |
| 19-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(exception): check high address bits of lsu (#3596)
In previous implementation, we simply truncated the higher bits of jump
target or load & store address, which made it impossible to raise
exc
fix(exception): check high address bits of lsu (#3596)
In previous implementation, we simply truncated the higher bits of jump
target or load & store address, which made it impossible to raise
exceptions in such cases.
Commit
https://github.com/OpenXiangShan/XiangShan/commit/c1b28b66879239a5b3a44741376f3b002e8ac834
has already fixed high address bits checking of jump target. This commit
fixes lsu part, checking full address in tlb and passing full address
directly to csr.
show more ...
|
#
a53daa0f |
| 11-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(exception): Add guest page fault logic of misalign and vlsu (#3537)
In our previous design, we did not consider the handling of gpf of
unaligned & vector load and stores. This commit adds a fix
fix(exception): Add guest page fault logic of misalign and vlsu (#3537)
In our previous design, we did not consider the handling of gpf of
unaligned & vector load and stores. This commit adds a fix to correctly
return the guest paddr when gpf happens in the above instructions.
show more ...
|
#
c8d442a6 |
| 24-Jul-2024 |
weiding liu <[email protected]> |
Vsplit: optimize generate of ready for vector issue
|
#
d73f3705 |
| 22-Jul-2024 |
Anzo <[email protected]> |
VLSU: Modify the width of Veew when decode and remove some useless api (#3258)
|
#
3771bdd2 |
| 02-Jul-2024 |
weiding liu <[email protected]> |
VSplit: refactor addr aligned logic for Unit-Stride
|
#
81b02df5 |
| 19-Jun-2024 |
weiding liu <[email protected]> |
VSplit: Optimised address generation
|
#
6edb1480 |
| 03-Jul-2024 |
Anzooooo <[email protected]> |
VLSU: fix the problem caused by the 'segmentUnit' not connecting with 'sbufferVecDifftestInfo'.
|
#
c41a9f78 |
| 05-Jun-2024 |
lwd <[email protected]> |
VLSU: fix bug of vector load/store split & support segment instruction exception (#3033)
* Support segment load/store exception.
* Fix handle of inactive element when split uop.
|
#
8d790a87 |
| 09-May-2024 |
weiding liu <[email protected]> |
VLSU: remove wdcache port
for Vstore, don't need query dcache, because we write it to sbuffer
|
#
fe518d28 |
| 07-May-2024 |
weiding liu <[email protected]> |
VSegmentUnit: rewrite dcache port
split dcache port into rdcache port for read data, wdcache port for sta
|
#
5dc0f712 |
| 05-May-2024 |
Anzooooo <[email protected]> |
VLSU: fix vector exception vaddr calculation
This commit fix the bug of vector exception vaddr calculation, need to send exceptionVec to exceptionBuffer.
|