15471b5d | 26-Jan-2025 |
Anzo <[email protected]> |
fix(LSU): fix misalign store exception logic (#4239) |
c670557f | 26-Jan-2025 |
HuSipeng <[email protected]> |
fix(IFU): add range checking for instruction blocks containing jalr (#4234)
When there is a jalr instruction in the middle of an instruction block
but
the BPU fails to predict it, the IFU should a
fix(IFU): add range checking for instruction blocks containing jalr (#4234)
When there is a jalr instruction in the middle of an instruction block
but
the BPU fails to predict it, the IFU should adjust the length of the
instruction block to terminate at the jalr instruction.
However, the IFU currently does not check for this scenario, which may
result in the unintended execution of instructions following the jalr
that
should not have been executed. This PR fixed this issue.
show more ...
|
30c0e6fd | 26-Jan-2025 |
Kunlin You <[email protected]> |
fix(FPGADiffDefaultConfig): set WithNKBL1D ways as default (#4237) |
74668295 | 22-Jan-2025 |
sinceforYy <[email protected]> |
fix(csr, difftest): distinguish external interrupts sources from PLIC or IMSIC |
50ccead4 | 22-Jan-2025 |
sinceforYy <[email protected]> |
fix(csr): external interrupt priority from PLIC or IMSIC |
96292cf5 | 22-Jan-2025 |
sinceforYy <[email protected]> |
fix(aia): iprio array is masked by xie CSR
* For a given interrupt number, if the corresponding bit in mie is read-only zero, then the interrupt’s priority number in the iprio array must be read
fix(aia): iprio array is masked by xie CSR
* For a given interrupt number, if the corresponding bit in mie is read-only zero, then the interrupt’s priority number in the iprio array must be read-only zero as well.
show more ...
|
bb42dd89 | 25-Jan-2025 |
zhanglinjuan <[email protected]> |
timing(L2Top, XSTile): core-SoC signals should go through L2Top (#4222) |
4c062654 | 25-Jan-2025 |
Anzo <[email protected]> |
fix(Config): add the 'L3CacheCtrl' address space permission back (#4235) |
92330f9c | 24-Jan-2025 |
Easton Man <[email protected]> |
timing(frontend): remove bad timing clock gating (#4223)
- Remove `mispred_mask` from ITTAGE update logic due to timing issues
- Remove `mispred_mask` from TAGE update logic due to timing issues
-
timing(frontend): remove bad timing clock gating (#4223)
- Remove `mispred_mask` from ITTAGE update logic due to timing issues
- Remove `mispred_mask` from TAGE update logic due to timing issues
- Disable clock gating in ICacheDataArray to improve timing
show more ...
|
1fe7f8b4 | 24-Jan-2025 |
zhou tao <[email protected]> |
timing(ittage): optimize the timing of the ittage path for reading the jump address (#4216) |
deb92d67 | 24-Jan-2025 |
CharlieLiu <[email protected]> |
fix(DCache): remove error wakeup signal for atomic resp (#4224)
The existence of `s2/s3_req.miss` in `atomic_resp_valid` will cause an error resp to AtomicsUnit by a normal refill_req from MissQueue
fix(DCache): remove error wakeup signal for atomic resp (#4224)
The existence of `s2/s3_req.miss` in `atomic_resp_valid` will cause an error resp to AtomicsUnit by a normal refill_req from MissQueue. Remove it now to fix the problem.
show more ...
|
6f9d4832 | 22-Jan-2025 |
HuSipeng <[email protected]> |
fix(IFU): remove useless bpu override flush logic (#4210)
When an override occurs in BPU S3 stage, the corresponding req can at
most reach the IFU F0 stage. |
602b407c | 22-Jan-2025 |
xu_zh <[email protected]> |
timing(ICache): move mshr_resp selector 1 cycle ahead (#4173)
> we can latch mshr.io.resp.bits since they are set on req.fire or
acquire.fire, and keeps unchanged during response
> however, we sho
timing(ICache): move mshr_resp selector 1 cycle ahead (#4173)
> we can latch mshr.io.resp.bits since they are set on req.fire or
acquire.fire, and keeps unchanged during response
> however, we should not latch mshr.io.resp.valid, since io.flush/fencei
may clear it at any time
Old:
```
tilelink.resp.id -> | Reg |
|
v
| MSHR0 | -> | --- |
| MSHR1 | -> | Mux | -> io.resp
| ... | -> | |
| MSHRn | -> | --- |
```
New:
```
tilelink.resp.id
|
v
| MSHR0 | -> | --- |
| MSHR1 | -> | Mux | -> | Reg | -> io.resp
| ... | -> | |
| MSHRn | -> | --- |
```
Timing results are good, related path: slack -44ps -> positive.
show more ...
|
6520f4f4 | 22-Jan-2025 |
Tang Haojin <[email protected]> |
feat(Zawrs): support Zawrs extension (#4211)
This commit implements a basic nop-based Zawrs extension.
- `wrs.sto` in this commit acts as a nop instruction. - `wrs.nto` in this commit acts as a nop
feat(Zawrs): support Zawrs extension (#4211)
This commit implements a basic nop-based Zawrs extension.
- `wrs.sto` in this commit acts as a nop instruction. - `wrs.nto` in this commit acts as a nop instruction, except it: - raises illegal instruction exception when !isModeM && mstatus.TW=1, or - raises virtual instruction exception when privState.V && mstatus.TW=0 && hstatus.VTW=1
Seems that completely raises no exception is also a valid implementation, but raises an exception can help OS to do scheduling during waiting.
Also, like WFI, interrupts cannot take on wrs instructions.
show more ...
|
1abade56 | 22-Jan-2025 |
Anzo <[email protected]> |
fix(LSU): fix cbo instruction exception handling logic (#4215) |
881e32f5 | 22-Jan-2025 |
Zifei Zhang <[email protected]> |
submodule(CoupledL2, OpenLLC): bump L2 and LLC (#4189)
This pull request includes: - add compilation support for CHI Issue C (but not yet verified) - enable DataCheck and Poison - add requirement fo
submodule(CoupledL2, OpenLLC): bump L2 and LLC (#4189)
This pull request includes: - add compilation support for CHI Issue C (but not yet verified) - enable DataCheck and Poison - add requirement for CHI port width check - add prefetch control by custom csr - optimize timing in CoupledL2, mainly paths from SRAM to ICG - add clock gate to each of the splitted SRAMs in CoupledL2 - fix several bugs concerning WriteEvictOrEvict, SnpQuery, SnpCleanShared, SnpStash*, etc
---------
Co-authored-by: zhanglinjuan <[email protected]> Co-authored-by: Ma-YX <[email protected]> Co-authored-by: Yanqin Li <[email protected]>
show more ...
|
59ef52f3 | 21-Jan-2025 |
zhanglinjuan <[email protected]> |
fix(AtomicsUnit): atomic access on uncache should raise af (#4214)
Atomic access on uncache or MMIO region is not supported for now. The previous design did not consider exception handling for atomi
fix(AtomicsUnit): atomic access on uncache should raise af (#4214)
Atomic access on uncache or MMIO region is not supported for now. The previous design did not consider exception handling for atomic instructions with PBMT=NC.
show more ...
|
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 ...
|
0d1fb640 | 21-Jan-2025 |
cz4e <[email protected]> |
timing(MemBlock): add 1 latch for hc_perfEvents (#4205) |
fa5e530d | 21-Jan-2025 |
cz4e <[email protected]> |
timing(VSegmentUnit): duplicate latchVAddr (#4209)
* `latchVAddr` needs to index all dcache data sram from top to bottom, which causes a large fanout, so duplicate `latchVaddr` |
bf4beb45 | 21-Jan-2025 |
cz4e <[email protected]> |
timing(LoadUnit, StoreUnit): remove redirect for out (#4207)
* remove useless cancel logic for writeback valid |
3d4fb120 | 21-Jan-2025 |
zhanglinjuan <[email protected]> |
fix(MainPipe): fix bug in data select of AMOCAS.Q (#4213)
Data selection logic should use signals in `s3` instead of `s1`, which is introduced in a former pr #4117. |
ca39d1db | 21-Jan-2025 |
cz4e <[email protected]> |
fix(MainPipe): use s3_tag_error to generate error report signal (#4208) |
b575c4e8 | 20-Jan-2025 |
Haoyuan Feng <[email protected]> |
fix(L2TLB): reset tlbCounter when flush (#4202) |
2dbaa2e2 | 20-Jan-2025 |
xiaofeibao-xjtu <[email protected]> |
fix(vfalu): fix bug of outIsFisrtGroup when lmul=8 sew=16 uopidx>7 (#4201) |