History log of /XiangShan/src/main/scala/xiangshan/backend/datapath/WbArbiter.scala (Results 1 – 25 of 30)
Revision Date Author Comments
# 08373300 07-Mar-2025 Anzo <[email protected]>

feat(Difftest): add multi-core vector load check (#4361)

Currently, we implement the multi core vector load check in difftest.
We modified difftest and NEMU and added related content in XiangShan.


# e43bb916 20-Sep-2024 Xuan Hu <[email protected]>

feat(VecLoad): add VecLoadExcp module to handle merging old/new data

* When NF not 0, the register indices are arranged group by group. But in exception handle progress, all registers needed to merg

feat(VecLoad): add VecLoadExcp module to handle merging old/new data

* When NF not 0, the register indices are arranged group by group. But in exception handle progress, all registers needed to merge will be handled first, and then the registers needed to move will be handled later.
* The need merge vdIdx can be until 8, so 4 bits reg is needed.
* If the instruction is indexed, the eew of vd is sew from vtype. Otherwise, the eew of vd is encoded in instruction.
* Use ivemulNoLessThanM1 and dvemulNoLessThanM1 to produce vemul_i_d to avoid either demul or iemul is less than M1.
* For whole register load, need handle NF(nf + 1) dest regs.
* Use data EMUL to calculate number of dest reg.
* GetE8OffsetInVreg will return the n-th 8bit which idx mapped to.
* Since xs will flush pipe, when vstart is not 0 and execute vector mem inst, the value of vstart in CSR is the
first element of this vector instruction. When exception occurs, the vstart in writeback bundle is the new one,
So writebacked vstart should never be used as the beginning of vector mem operation.
* Non-seg indexed load use non-sequential vd.
* When "index emul" / "data emul" equals 2,
the old vd is located in vuopidx 0, 2, 4, 6,
the new vd is located in vuopidx 1, 3, 5, 7.
* Make rename's input not ready until VecExcpMod not busy.
* Delay trap passed to difftest until VecExcpMod not busy.
* Rab commit to VecExcpMod as it commit to Rat, and select real load reg maps in VecExcpMod.
* Use isDstMask to distinguish vlm and other vle.
* When isWhole, vd regs are sequential.

show more ...


# bb2f3f51 12-Jul-2024 Tang Haojin <[email protected]>

perf: use perfUtils in `Utility` (#3190)

Currently, log and perf utilities such as `XSPerfAccumulate` are
implemented in many repositories like XiangShan, CoupledL2 and HuanCun.
This PR unifies th

perf: use perfUtils in `Utility` (#3190)

Currently, log and perf utilities such as `XSPerfAccumulate` are
implemented in many repositories like XiangShan, CoupledL2 and HuanCun.
This PR unifies them and put them in Utility repository.

show more ...


# 618b89e6 12-Jun-2024 lewislzh <[email protected]>

Backend fixtiming: fix rab/exuwb/wbtorob timing (#3032)

rab:
fix commit/walk/special walk Count from popcount to priority mux
exuwb:
fix exuwb Nto1 logic: add int/fp/vec 3 wbpath to wbarbite

Backend fixtiming: fix rab/exuwb/wbtorob timing (#3032)

rab:
fix commit/walk/special walk Count from popcount to priority mux
exuwb:
fix exuwb Nto1 logic: add int/fp/vec 3 wbpath to wbarbiter
wbtorob:
fix writebacknum count: delete extra count for exu which cannot be compressed

show more ...


# 45d40ce7 30-May-2024 sinsanction <[email protected]>

WbDataPath: support v0 & vl split


# c11f007f 20-May-2024 weiding liu <[email protected]>

Merge branch 'master' into vlsu-merge-master-0504


# c83747bf 15-May-2024 Yangyu Chen <[email protected]>

Utility: Fix wrong use case of XSError in XiangShan

Some XSError message uses `s` to format strings with some information
peeked from the circuit. It does not peek the correct information from RTL
a

Utility: Fix wrong use case of XSError in XiangShan

Some XSError message uses `s` to format strings with some information
peeked from the circuit. It does not peek the correct information from RTL
and makes the module itself fail to dedup. This commit fixes this by
replacing `s` with `p`.

Signed-off-by: Yangyu Chen <[email protected]>

show more ...


# a4d1b2d1 13-May-2024 good-circle <[email protected]>

Merge branch 'master' into vlsu-merge-master-0504


# 60f0c5ae 26-Apr-2024 xiaofeibao <[email protected]>

Backend: add FpScheduler


# b7c799be 23-Apr-2024 zhanglyGit <[email protected]>

VLSU: support more than one vlsu feedback & writeback

More issuequeues need to be added to use more lsu pipelines


# c4055936 20-Mar-2024 sinsanction <[email protected]>

WbDataPath: add 1 cycle delay when vf exe units write back to int regfile


# 1fa16f76 20-Mar-2024 sinsanction <[email protected]>

WbDataPath: better signal connection in WbDataPath


# 2e49ee76 20-Mar-2024 sinsanction <[email protected]>

WbDataPath: add 1 cycle delay when vf exe units write back to int regfile


# 6d11c058 20-Mar-2024 sinsanction <[email protected]>

WbDataPath: better signal connection in WbDataPath


# 81535d7b 15-Mar-2024 sinsanction <[email protected]>

Backend: remove unused extra RF read ports, connect real commit vtype to VTypeGen


# 47af51e7 11-Mar-2024 sinsanction <[email protected]>

WbDataPath: add RealWBArbiter for WbDataPath


# 5edcc45f 08-Mar-2024 Haojin Tang <[email protected]>

Parameters: remove write port configs for store


# e70365b6 26-Feb-2024 zhanglyGit <[email protected]>

WbDataPath: use new WBArbiter


# c1e19666 04-Jan-2024 xiaofeibao-xjtu <[email protected]>

backend: implement uncertain latency exeUnit WbArbiter


# 46908ecf 06-Nov-2023 Xuan Hu <[email protected]>

backend,param: merge vldu and vstu into one exu


# 52c49ce8 05-Nov-2023 Xuan Hu <[email protected]>

backend,param: merge vldu and vstu into one exu


# 1f3d1b4d 26-Oct-2023 Xuan Hu <[email protected]>

fix compile error


# e703da02 08-Oct-2023 zhanglyGit <[email protected]>

Backend: WBDataPath and ROB support vlsu(vld res merge and exceptionGen)


# a66aed53 13-Oct-2023 Xuan Hu <[email protected]>

fix difftest connection error


# 83ba63b3 11-Oct-2023 Xuan Hu <[email protected]>

fix merge error


12