History log of /XiangShan/src/main/scala/xiangshan/backend/fu/vector/Bundles.scala (Results 1 – 22 of 22)
Revision Date Author Comments
# 785e3bfd 03-Oct-2024 Xuan Hu <[email protected]>

fix(fof): always use tail undisturbed when vl updated by un-raised exception.


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


# 5ae0e5de 26-Jul-2024 Ziyue Zhang <[email protected]>

vtype: init vtype's vill to 1 and other fields to 0


# 01cdded8 22-Apr-2024 Xuan Hu <[email protected]>

NewCSR: fix unprivileged CSRs and permission check

* Add commit vstart
* Fix commit connection
* Fix permission check
* Fix mstatus.VS/FS initial with off
* Add fp/vec.off bundle to decode
* Flush w

NewCSR: fix unprivileged CSRs and permission check

* Add commit vstart
* Fix commit connection
* Fix permission check
* Fix mstatus.VS/FS initial with off
* Add fp/vec.off bundle to decode
* Flush when change vxrm
* Add more skip condition for mip and hip

show more ...


# 76093df2 17-Jul-2024 lwd <[email protected]>

rv64v: Modify the width of Veew when decode (#3213)


# e6ac7fe1 10-Jul-2024 Ziyue Zhang <[email protected]>

vtype: add illegal check when modified reserved bits of vtype (#3170)


# 4c8a449f 03-Jul-2024 Ziyue Zhang <[email protected]>

rv64v: fix vwsll's imm read and illegal vsew check (#3131)


# 08047a41 12-Apr-2024 Anzooooo <[email protected]>

VLSU: fix numLsElem width and also make code more formal


# 6dbb4e08 28-Mar-2024 Xuan Hu <[email protected]>

Backend: support vector load&store better

* Todo: add more IQs for vector load&store
* Todo: make vector memory inst issue out of order
* Todo: fix bugs


# 395c8649 04-Jan-2024 Ziyue-Zhang <[email protected]>

rv64v: add f2v to remove all fs1 duplicate logic (#2613)

* rv64v: add f2v to remove all fs1 duplicate logic

* rv64v: use IntFPToVec module for i2v and f2v


# ec371b25 30-Oct-2023 Xuan Hu <[email protected]>

backend,vset: fix VConfig bundle

* vl should be located at low bits


# d9355d3a 26-Oct-2023 Ziyue-Zhang <[email protected]>

rv64v: add veew in VPUCtrlSignals (#2434)


# d6059658 07-Nov-2023 Ziyue Zhang <[email protected]>

rv64v: support all opivi instructions use i2v


# fc85f18f 25-Oct-2023 Ziyue Zhang <[email protected]>

rv64v: replace i2f by i2v for vector instructions


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

fix merge error


# 582849ff 02-Sep-2023 xiaofeibao-xjtu <[email protected]>

backend: support unordered vfreduction


# bdda74fd 17-Aug-2023 xiaofeibao-xjtu <[email protected]>

exu: vector float units(vfalu,vfma,vfdivsqrt) execute scalar float instructions


# ad22c988 03-Jul-2023 Ziyue Zhang <[email protected]>

vector: add the connection for permutation


# 42475509 18-May-2023 Xuan Hu <[email protected]>

vector: add scala data duplicated to vector data path


# 78dc7ed0 10-May-2023 Xuan Hu <[email protected]>

fu,vector: add bundles used by vector units


# a8db15d8 10-May-2023 fdy <[email protected]>

backend: refactor vset and add rab support


# b52d4755 26-Apr-2023 Xuan Hu <[email protected]>

isa-riscv,vector: add bundles and convert function

* Add class VType, VConfig
* Add object VSew, VLmul