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