History log of /XiangShan/src/main/scala/xiangshan/backend/fu/ (Results 176 – 200 of 1283)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
eec4ee3a19-Aug-2024 Xuan Hu <[email protected]>

CSR: fix trap inst update condition

* Never update trap inst if TrapInstMod already has valid inst.
* CSR illegal has higher priority to update trap inst, since the inst executed in CSR is order tha

CSR: fix trap inst update condition

* Never update trap inst if TrapInstMod already has valid inst.
* CSR illegal has higher priority to update trap inst, since the inst executed in CSR is order than all insts in decode stage

show more ...

84ff1b7518-Aug-2024 Xuan Hu <[email protected]>

Backend: only store 16 bits instr in tval when C extension EX_II occurs

92c6103816-Aug-2024 Xuan Hu <[email protected]>

Frontend,Backend: add xxtvala support

* utils
* Add checkInputWidth function in NamedUInt to check if the UInt arg passed in has the same width as it defined.
* Frontend
* Pass the unexpanded in

Frontend,Backend: add xxtvala support

* utils
* Add checkInputWidth function in NamedUInt to check if the UInt arg passed in has the same width as it defined.
* Frontend
* Pass the unexpanded instruciton to IBuffer if the C extension 16 bits instruction is illegal.
* No need to use bypass illBuf, since the origin 16 bits instruction will be passed in the ctrlflow bundle.
* IBuffer
* Merge exceptionType and crossPageIPFFix into 3bit field, which type is IBufferExceptionType.
* IBufferExceptionType can hold illegal instruction exception.
* Backend
* CSROpType.ro is removed, since we can use rs1 and rd passed in imm field to distinguish CSRR and CSRW in CSR module.
* Create TrapInstMod to store the trap instruction and handle its update.

show more ...

e0bc504008-Jul-2024 lewislzh <[email protected]>

Backend: fix s/shvstvala, updata xtvala when EX_VI

fa16cf8115-Aug-2024 lewislzh <[email protected]>

Backend: support Shvstvala and Sstvala extension

b189aafa22-Aug-2024 zmx <[email protected]>

zfhmin:add zfhmin extensions

*decode unit adds decoding of zfhmin extension related instructions
*Re exemplified the functional units for scalar fpcvt

c1b85dce16-Aug-2024 Xuan Hu <[email protected]>

FPU: add FP16 in FType

* Update box and unbox functions
* Todo: use fmt field encoding in riscv FP instructions instead of customized encoding.

4e811ad727-Aug-2024 Haoyuan Feng <[email protected]>

PMA, MMU: Fix bug of PA48 (#3424)

*PMA: Extend the default memory space from 0x1000000000L to
0x1000000000000L
*MMU: only trigger accessfault when ppn above
PADDRBITS(48)-OFFSETBITS(12) is not ze

PMA, MMU: Fix bug of PA48 (#3424)

*PMA: Extend the default memory space from 0x1000000000L to
0x1000000000000L
*MMU: only trigger accessfault when ppn above
PADDRBITS(48)-OFFSETBITS(12) is not zero

show more ...

3f525d7226-Aug-2024 Guanghui Cheng <[email protected]>

DebugModule: fix bug, trap don't take place in dmode. (#3422)

Traps don’t take place in Debug Mode. Instead, they end execution of the
program buffer and the hart remains in Debug Mode. Because the

DebugModule: fix bug, trap don't take place in dmode. (#3422)

Traps don’t take place in Debug Mode. Instead, they end execution of the
program buffer and the hart remains in Debug Mode. Because they do not
trap to M-mode, they do not update registers such as , `mepc`, `mcause`,
`mtval`, `mtval2`, and `mtinst`. The same is true for the equivalent
privileged registers that are updated when trapping to other modes.

show more ...

9792966423-Aug-2024 Xiaokun-Pei <[email protected]>

MMU, RVH: add the check of gpaddr high bits and fix some bugs (#3348)

7e0f64b021-Aug-2024 Guanghui Cheng <[email protected]>

Trigger: refactor trigger information in pipeline. (#3403)

41d8d23921-Aug-2024 happy-lx <[email protected]>

RVA23: Support Zicclsm & Zama16b (Handling Unaligned Load Store by Hardware) (#3320)

This PR supports handling load store unaligned exceptions by hardware
and provides CSR-controlled switches

--

RVA23: Support Zicclsm & Zama16b (Handling Unaligned Load Store by Hardware) (#3320)

This PR supports handling load store unaligned exceptions by hardware
and provides CSR-controlled switches

---------

Co-authored-by: xiaofeibao <[email protected]>

show more ...


/XiangShan/.github/workflows/check_verilog.py
/XiangShan/scripts/xiangshan.py
/XiangShan/src/main/resources/aia
/XiangShan/src/main/scala/device/IMSIC.scala
/XiangShan/src/main/scala/device/IMSICAsync.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/XSNoCTop.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/XSTileWrap.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
CSR.scala
FuConfig.scala
NewCSR/CSRBundles.scala
NewCSR/CSRCustom.scala
NewCSR/NewCSR.scala
wrapper/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/rob/Rob.scala
/XiangShan/src/main/scala/xiangshan/backend/rob/RobBundles.scala
/XiangShan/src/main/scala/xiangshan/mem/MemCommon.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadExceptionBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadMisalignBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreMisalignBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/UncacheBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/vector/VSegmentUnit.scala
3ea4388c20-Aug-2024 Haoyuan Feng <[email protected]>

RVA23: Support Sv48 & Sv48x4 (#3406)

Co-authored-by: Xuan Hu <[email protected]>

fe407aa416-Aug-2024 peixiaokun <[email protected]>

fix the wrong condition of Mux1H about tval2 that makes wrong gpa written into htval or mtval2

cff9430019-Aug-2024 NewPaulWalker <[email protected]>

sireg: fix the condition of rwSireg_EX_VI. (#3394)

According AIA spec, when vsiselect has the number of an inaccessible
register, attempts from VS-mode to access sireg
(really vsireg) raise a virt

sireg: fix the condition of rwSireg_EX_VI. (#3394)

According AIA spec, when vsiselect has the number of an inaccessible
register, attempts from VS-mode to access sireg
(really vsireg) raise a virtual instruction exception.
But 0x070-0x0ff are external interrupts (IMSIC only), or inaccessible.
And we has implemented IMSIC.

show more ...

aff5ef0519-Aug-2024 lewislzh <[email protected]>

Vfalu: fix fflagsRedMask use outVecCtrl (#3399)

11f2d1cb14-Aug-2024 Xuan Hu <[email protected]>

CSR: miselect, siselect, vsiselect should have reset value since they are WARL

c7ffa89214-Aug-2024 peixiaokun <[email protected]>

ROB: fix the bug that the interrupt_safe of CSR instruction is 1

689f6b8807-Aug-2024 sinceforYy <[email protected]>

csr: execute inst will raise EX_II when rm is reserved value.

* When 0 <= inst.rm <= 4, execute inst as usual.
* When inst.rm = 5/6, execute inst will raise EX_II.
* When inst.rm = 7, rm

csr: execute inst will raise EX_II when rm is reserved value.

* When 0 <= inst.rm <= 4, execute inst as usual.
* When inst.rm = 5/6, execute inst will raise EX_II.
* When inst.rm = 7, rm = frm.data. if frm.data > 4 will raise EX_II.

* Meanwhile, flush pipe when
* 1. wen frm CSR and wdata > 4
* 2. wen fcsr CSR and wdata(7, 5) > 4
* 3. wen frm/fcsr CSR and frm.rdata is reserved

show more ...

d9ed5e2913-Aug-2024 peixiaokun <[email protected]>

CSR, RVH: fix the wrong val writen in htval when having igpf

a3dd716602-Aug-2024 Xuan Hu <[email protected]>

CSR: fix custom IRQ injection mechanism

* The injected interrupts for HS mode can set some bits in mIRVec and hsIRVec.
* `mIRVec` holds the highest priority interrupt numbered from 1 to 63. Only int

CSR: fix custom IRQ injection mechanism

* The injected interrupts for HS mode can set some bits in mIRVec and hsIRVec.
* `mIRVec` holds the highest priority interrupt numbered from 1 to 63. Only interrupt 1~13 can trap in M mode. And interrupt 14~63 must trap in HS mode or VS mode, since bits in mideleg(63,14) are read-only 0.
* `hsIRVec` holds the mip parts(by mIRVec & mideleg) and mvip parts(by mIRVec & ~mideleg & mvien) interrupts.
* `vsIRVec` holds the sip|hip parts(by hsIRVec & hideleg) and hvip parts(by hsIRVec & ~hideleg & hvien) interrupts.

show more ...

77315a6b08-Aug-2024 xiaofeibao-xjtu <[email protected]>

VFALU and VFMA: fix bug of vlmul when outWiden is 1 (#3352)

dcaa6f0601-Aug-2024 Xuan Hu <[email protected]>

CSR: initialize vstart to avoid X propagation at DecodeStage

afc7cd8c07-Aug-2024 Xuan Hu <[email protected]>

CSR: use "ignore illegal write" WARL strategy for tselect (#3353)

3174481b06-Aug-2024 Xuan Hu <[email protected]>

CSR: add custom IRQ injection mechanism (#3338)

* All major interrupts have been splited into 7 groups
* Custom highest group
* Local high group
* Custom middle-high group
* Priviledge a

CSR: add custom IRQ injection mechanism (#3338)

* All major interrupts have been splited into 7 groups
* Custom highest group
* Local high group
* Custom middle-high group
* Priviledge architecture group
* Custom middle-low group
* Local low group
* Custom lowest group

show more ...

12345678910>>...52