History log of /XiangShan/src/main/scala/xiangshan/backend/rob/Rab.scala (Results 1 – 25 of 34)
Revision Date Author Comments
# ea7e6d59 23-Dec-2024 xiaofeibao <[email protected]>

timing(vecExcpMod): add pipe from rab and rat's signals


# 5540bdc7 05-Dec-2024 xiaofeibao <[email protected]>

fix(rob): fix bug of canAcceptForDispatch


# ddb49062 19-Oct-2024 Xuan Hu <[email protected]>

fix(VecExcp): commit vls exception after Rab commiting all reg pairs


# 8ab9d9d0 19-Oct-2024 Xuan Hu <[email protected]>

fix(Rab): no need to limit diff commit valid only assert in commit state (#3760)


# ea2894c8 06-Oct-2024 Xuan Hu <[email protected]>

fix(ROB): vlsNeedCommit only assert one cycle to avoid dup message to RAB (#3702)


# 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 ...


# 7a5f6e11 20-Sep-2024 lewislzh <[email protected]>

fix(rab): parameterization of commit/walk num logic (#3618)


# 63d67ef3 14-Sep-2024 Tang Haojin <[email protected]>

build: enable always-basic-diff for make verilog (#3574)

This commit turns on basic difftest features again, no matter it's for
simulation or physical design. This commit aims at allowing designs f

build: enable always-basic-diff for make verilog (#3574)

This commit turns on basic difftest features again, no matter it's for
simulation or physical design. This commit aims at allowing designs for
physical design to be verified.

show more ...


# 65d838c0 10-Sep-2024 xiaofeibao-xjtu <[email protected]>

timing(Rab): fix timing of state reg (#3517)


# 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 ...


# d3a32fa0 30-Apr-2024 xiaofeibao <[email protected]>

Rab: use Reg for debug


# 780712aa 19-Mar-2024 xiaofeibao-xjtu <[email protected]>

backend: new rob 8 banks read and 8 commit width


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

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


# 5f8b6c9e 07-Mar-2024 sinceforYy <[email protected]>

Backend: add clock gating to valid singal


# 6b102a39 22-Nov-2023 Haojin Tang <[email protected]>

Rab: shrink rab entry width


# cda1c534 24-Oct-2023 xiaofeibao-xjtu <[email protected]>

Rob: optimize timing, remove vconfig debugIO


# 7d086385 26-Dec-2023 Xuan Hu <[email protected]>

Backend: disallow snapshot when there are tail uops at the same cycle

* When creating snapshot at the middle of split uops, RAT record the state before this snapshot, but ROB record the enqPtr conta

Backend: disallow snapshot when there are tail uops at the same cycle

* When creating snapshot at the middle of split uops, RAT record the state before this snapshot, but ROB record the enqPtr containing some states of last cycle.

show more ...


# ffc4f3c2 27-Oct-2023 Haojin Tang <[email protected]>

Rab: use `diffPtr` instead of `diffPtrOH` for better build speed


# 9b9e991b 25-Oct-2023 Haojin Tang <[email protected]>

Rab: use snapshot enqueue condition of rob


# c2887b4f 25-Oct-2023 Haojin Tang <[email protected]>

Revert "Snapshot: fix enq condition"

This reverts commit a3ea5c1d41581cbff4cfc5175c0a4699c3786b0a.


# a3ea5c1d 25-Oct-2023 Xuan Hu <[email protected]>

Snapshot: fix enq condition


# c4b56310 20-Oct-2023 Haojin Tang <[email protected]>

snapshot: flush conditionally when redirect comes


# 82640bc3 18-Oct-2023 Haojin Tang <[email protected]>

Rab: set io.canEnq to true immediately when state becomes idle


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

fix merge error


# f1ba628b 26-Sep-2023 Haojin Tang <[email protected]>

Rob: fix FP CSR issue when rob compressing


12