History log of /XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnitComp.scala (Results 1 – 25 of 91)
Revision Date Author Comments
# d33dbc9e 19-Mar-2025 NewPaulWalker <[email protected]>

fix(amocas): fix amocas.q to avoid stalls (#4435)

when rd is equal to rs1, uop1 will write rd, while uop2 and uop3 of
amocas.q need rs1 as src, which cause a RAW stalls.

However, rs1, the address o

fix(amocas): fix amocas.q to avoid stalls (#4435)

when rd is equal to rs1, uop1 will write rd, while uop2 and uop3 of
amocas.q need rs1 as src, which cause a RAW stalls.

However, rs1, the address of load and store, is used in uop1, we donot
need rs1 in other uops.

show more ...


# 2c6839d1 17-Mar-2025 NewPaulWalker <[email protected]>

fix(amocas): re-split uops for amocas to avoid stalls (#4382)

Re-split uops to avoid stalls caused by renaming when rd and rs2 are the
same.

When rd and rs2 are the same, uop1'src will wait uop0'de

fix(amocas): re-split uops for amocas to avoid stalls (#4382)

Re-split uops to avoid stalls caused by renaming when rd and rs2 are the
same.

When rd and rs2 are the same, uop1'src will wait uop0'dest after rename,
which cause stalls.

In this commit, we set src2 in uop0 and dest in uop1, avoiding stalls by
renaming.

show more ...


# f7fe02a8 30-Dec-2024 junxiong-ji <[email protected]>

style(decode): add comments and small modification on code style (#3774)


# c7ca40e4 13-Dec-2024 Guanghui Cheng <[email protected]>

timing(decode): dequeue uops by indexing in order in DecodeUnitComp (#4025)


# 12861ac7 21-Nov-2024 linzhida <[email protected]>

feat(Backend): add support for Zacas extension

misc: remove assert temporarily


# 9fabe323 04-Dec-2024 Ziyue Zhang <[email protected]>

area(decode): move vecExceptionGen to complex docoder (#3961)


# b0480352 30-Aug-2024 Ziyue Zhang <[email protected]>

feat(rv64v): support vleff instruction in backend

* use the last uop to update vl
* the vleff instructions are run inorder


# 8bbc295c 27-Aug-2024 Ziyue Zhang <[email protected]>

rv64v: fix uop split for vfwredsum instructions when lmul==8 (#3430)


# ac0f8299 08-Aug-2024 Ziyue Zhang <[email protected]>

rv64v: fix temp vector register index which need to start from 32 (#3358)


# 3e10d835 02-Aug-2024 Xuan Hu <[email protected]>

Decode: fix assertion's condition of number of uop

* This commit fix the wrong assertion condition which should be `inValid && inUopInfo.numOfUop === 0.U` or `state === s_active && latchedUopInfo.nu

Decode: fix assertion's condition of number of uop

* This commit fix the wrong assertion condition which should be `inValid && inUopInfo.numOfUop === 0.U` or `state === s_active && latchedUopInfo.numOfUop === 0.U`

show more ...


# ddc88dad 29-Jul-2024 xiaofeibao <[email protected]>

Decode: fix bug of numOfUop is 0 when vector instruction is illegalInst


# e3da8bad 22-Jul-2024 Tang Haojin <[email protected]>

build: purge chisel 3 and add deprecation check (#3250)


# ba46cddc 17-Jul-2024 Xuan Hu <[email protected]>

New CSR implementation (#3167)

* CSR is splited into 4 major parts: CSR registers, CSR events, Permission Check and Trap Handler.
* Each CSR is seperated module.
* Add IMSIC module.
* Support new

New CSR implementation (#3167)

* CSR is splited into 4 major parts: CSR registers, CSR events, Permission Check and Trap Handler.
* Each CSR is seperated module.
* Add IMSIC module.
* Support new extensions, such as Sstc, Ssovfpmf and Smaia etc.
* Fix lots of bugs in old implementations, such as wrong permission checks and wrong WARL implementations.

show more ...


# d9cc7216 17-Jul-2024 xiaofeibao-xjtu <[email protected]>

Decode: fix readyCounter timing (#3212)


# a9d72c93 04-Jul-2024 Xuan Hu <[email protected]>

Decode: flush pipe when vstart changed between zero and not zero by CSR inst


# 8e59a3a7 04-Jul-2024 Xuan Hu <[email protected]>

Decode: flush pipe when vstart is not zero


# 93df46dc 12-Jul-2024 Ziyue Zhang <[email protected]>

rv64v: set flushpipe signal in first uop instead of last uop


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

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


# 136b9acd 01-Jul-2024 Ziyue Zhang <[email protected]>

vsetvl: fix flush and block signal modified by vstart check (#3124)


# 5110577f 27-Jun-2024 Ziyue Zhang <[email protected]>

vstart: support vstart value update and handle vstart exception (#3109)

* after execute vset and vload/vstore(no exception) instructions, set
vstart to zero
* when execute vector instructions exce

vstart: support vstart value update and handle vstart exception (#3109)

* after execute vset and vload/vstore(no exception) instructions, set
vstart to zero
* when execute vector instructions except above instructions, raise
illegal instruction exception
* when modify vstart, blockback and flushpipe

show more ...


# 762f2b39 27-Jun-2024 Ziyue Zhang <[email protected]>

rv64v: fix rfWen signal when writing x0 for vector instructions (#3107)


# 1436b764 20-Jun-2024 Ziyue Zhang <[email protected]>

vset: use flushPipe with blockBack for vsetvl instructions


# e03e0c5b 20-Jun-2024 Ziyue Zhang <[email protected]>

rv64v: fix the wrong dependency caused by uop split


# b37ee2ee 13-Jun-2024 Ziyue-Zhang <[email protected]>

vset: fix old vl read for vsetvl and vsetvli instructions (#3058)


# 3bec463e 11-Jun-2024 lewislzh <[email protected]>

VPU: new vcompress to fit v0&vl split; fix vfredsum/min/max (#3053)

fix vfredsum/max/min:
When the vector vfredusum/max/min consists entirely of inactive elements
and vs1[0] is NaN, the result sho

VPU: new vcompress to fit v0&vl split; fix vfredsum/min/max (#3053)

fix vfredsum/max/min:
When the vector vfredusum/max/min consists entirely of inactive elements
and vs1[0] is NaN, the result should be vs1[0]
When both elements of vfredusum are inactive, the temporary result
changes from positive zero to negative zero.
nes vcompress to fit v0/vl split:
The vcompress calculation combines the ones_sum result with vs1 using a
temporary register to reduce one read operation. Additionally, other
uops, except ones_sum, reduce the basemask calculation and the right
shift basemask operation.
fix vpermtest to fit new vcompress

show more ...


1234