History log of /XiangShan/src/main/scala/xiangshan/backend/fu/ (Results 101 – 125 of 1283)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
844fba5b04-Nov-2024 Xuan Hu <[email protected]>

build(version): inject git commit SHA to hardware CommitIDModule (#3818)

18d24ffb10-Oct-2024 sinceforYy <[email protected]>

fix(csr): add difftest of mhpmevent overflow to diff csr mhpmeventn

* Count overflow only from hardware incrementes of counter registers
* Through XiangShan->difftest->NEMU, to make NEMU get mhpmeve

fix(csr): add difftest of mhpmevent overflow to diff csr mhpmeventn

* Count overflow only from hardware incrementes of counter registers
* Through XiangShan->difftest->NEMU, to make NEMU get mhpmevent.of

show more ...

b8e923e609-Oct-2024 chengguanghui <[email protected]>

fix(mhpmevent): add MhpmeventBundle for mhpmevent csr.

dadf9cfc30-Sep-2024 chengguanghui <[email protected]>

fix(CSR): remove reg in `scountovf`.

011ce0ba04-Nov-2024 Guanghui Cheng <[email protected]>

fix(CSR): debug Interrupt is not invisible to M-mode (#3826)

85a8d7ca01-Nov-2024 Zehao Liu <[email protected]>

feat(dbltrp) : add support for critical error (#3793)


/XiangShan/.github/workflows/format.yml
/XiangShan/coupledL2
/XiangShan/difftest
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/top/XSNoCTop.scala
/XiangShan/src/main/scala/xiangshan/L2Top.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/XSTile.scala
/XiangShan/src/main/scala/xiangshan/XSTileWrap.scala
/XiangShan/src/main/scala/xiangshan/backend/Backend.scala
/XiangShan/src/main/scala/xiangshan/backend/CtrlBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnitParams.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExuBlock.scala
FuConfig.scala
FuncUnit.scala
NewCSR/NewCSR.scala
wrapper/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/rob/Rob.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/FTB.scala
/XiangShan/src/main/scala/xiangshan/frontend/FauFTB.scala
/XiangShan/src/main/scala/xiangshan/frontend/ITTAGE.scala
/XiangShan/src/main/scala/xiangshan/frontend/NewFtq.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadMisalignBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreMisalignBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/utility
6808b80329-Oct-2024 Zehao Liu <[email protected]>

feat(Ss/Smdbltrp) : Support RISC-V Ss/Smdbltrp Extension (#3789)

* NEMU commit: 066cb1f1c61feb21153399c26ca393dfb3a560d7
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defco

feat(Ss/Smdbltrp) : Support RISC-V Ss/Smdbltrp Extension (#3789)

* NEMU commit: 066cb1f1c61feb21153399c26ca393dfb3a560d7
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defconfig

Including:
* fix(format): adjust code format and add one config (OpenXiangShan/NEMU#603)
* fix(vfredusum): set xstatus.fs and xstatus.vs dirty (OpenXiangShan/NEMU#605)
* fix(vf): do not set dirtyFs for some instructions (OpenXiangShan/NEMU#606)
* feat(trigger): add trigger support for rva.
* configs(xs): open Sm/sdbltrp extension and add MDT_INIT config (OpenXiangShan/NEMU#604)

---

* spike commit: c0b18d3913d8ceac83743a053a7dbd2fb8716c83
* spike config: CPU=XIANGSHAN

Including:
* fix(rva, trigger): For rva instr, raise BP from trigger prior to misaligned.
* fix(Makefile): Increase maxdepth for finding .h files.
* fix(tdata1): CPU_XIANGSHAN do not implement hit bit in tdata1.
* fix(icount): place the read before the return of the detect_icount_match.

show more ...


/XiangShan/.github/workflows/format.yml
/XiangShan/.github/workflows/perf.yml
/XiangShan/.scalafmt.conf
/XiangShan/Makefile
/XiangShan/build.sc
/XiangShan/coupledL2
/XiangShan/openLLC
/XiangShan/ready-to-run
/XiangShan/rocket-chip
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/utils/AXI4Lite.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSDts.scala
/XiangShan/src/main/scala/xiangshan/backend/GPAMem.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/VecExcpDataMergeModule.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
NewCSR/CSRBundles.scala
NewCSR/CSREvents/CSREvent.scala
NewCSR/CSREvents/MNretEvent.scala
NewCSR/CSREvents/MretEvent.scala
NewCSR/CSREvents/SretEvent.scala
NewCSR/CSREvents/TrapEntryHSEvent.scala
NewCSR/CSREvents/TrapEntryMEvent.scala
NewCSR/CSREvents/TrapEntryVSEvent.scala
NewCSR/HypervisorLevel.scala
NewCSR/MachineLevel.scala
NewCSR/NewCSR.scala
NewCSR/SupervisorLevel.scala
NewCSR/TrapHandleModule.scala
NewCSR/VirtualSupervisorLevel.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/Dispatch2Iq.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/EnqEntry.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/EntryBundles.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/OthersEntry.scala
/XiangShan/src/main/scala/xiangshan/backend/regcache/RegCacheTagModule.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/BusyTable.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rob/ExceptionGen.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableWalker.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Bim.scala
/XiangShan/src/main/scala/xiangshan/frontend/Composer.scala
/XiangShan/src/main/scala/xiangshan/frontend/FTB.scala
/XiangShan/src/main/scala/xiangshan/frontend/FauFTB.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/FrontendBundle.scala
/XiangShan/src/main/scala/xiangshan/frontend/IBuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/ITTAGE.scala
/XiangShan/src/main/scala/xiangshan/frontend/NewFtq.scala
/XiangShan/src/main/scala/xiangshan/frontend/PreDecode.scala
/XiangShan/src/main/scala/xiangshan/frontend/RAS.scala
/XiangShan/src/main/scala/xiangshan/frontend/SC.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/frontend/WrBypass.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/FIFO.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/ICache.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/ICacheBundle.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/ICacheMainPipe.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/ICacheMissUnit.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/IPrefetch.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/InstrUncache.scala
/XiangShan/src/main/scala/xiangshan/frontend/icache/WayLookup.scala
/XiangShan/src/main/scala/xiangshan/frontend/newRAS.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadMisalignBuffer.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/VirtualLoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/HybridUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/vector/VMergeBuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/vector/VSegmentUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/vector/VecCommon.scala
/XiangShan/src/main/scala/xiangshan/package.scala
bb94c7b422-Oct-2024 Zhaoyang You <[email protected]>

fix(csr): fix intermediate storage reg for EX_II and EX_VI (#3771)

Use one reg to store EX_II/EX_VI when output not fired.

2574292921-Oct-2024 Xuan Hu <[email protected]>

fix(Ebreak): use isPcBkpt to hold exception raised by ebreak (#3769)

* This signal is only used to distinguish EX_BP store pc or load/store
address in {m|s|vs}tval.

fe52823c18-Oct-2024 Xuan Hu <[email protected]>

fix(Breakpoint): memory trigger set {m|s|vs}tval with faulting address (#3762)

* This commit fix the value of {m|s|vs}tval when load/store/atomic
trigger fire. The faulting address should be writte

fix(Breakpoint): memory trigger set {m|s|vs}tval with faulting address (#3762)

* This commit fix the value of {m|s|vs}tval when load/store/atomic
trigger fire. The faulting address should be written to tval.

show more ...

064c9c5a16-Oct-2024 Guanghui Cheng <[email protected]>

fix(wfi): WFI should be treated as `nop` when stepped or in dmode (#3715)

8c0eee9016-Oct-2024 Zhaoyang You <[email protected]>

fix(csr): Delay trap of hvictl inject passed to difftest until VecExcpMod not busy (#3744)

5d6c8aec14-Oct-2024 Zhaoyang You <[email protected]>

fix(csr): fix asynchronous access IMSIC (#3725)

* Add asynchronous write IMSIC
* Modify the condition for `io.out.valid` to be pulled high when
accessing IMSIC asynchronously

533ad42611-Oct-2024 sinceforYy <[email protected]>

fix(csr): fix read/write stimecmp raise EX_II

* Access stimecmp/vstimecmp raise EX_II when mcounteren.TM = 0 or menvcfg.STCE = 0 in less M mode

9acb8f9310-Oct-2024 Zhaoyang You <[email protected]>

fix(csr): fix local counter overflow interrupt req to diff mip.lcofip (#3710)

2b20b83210-Oct-2024 Tang Haojin <[email protected]>

fix(CSR): `targetPcUpdate` do not need `io.in.fire` (#3707)

8bb30a5710-Oct-2024 Jiru Sun <[email protected]>

feat(HPM): enable HPMs in CoupledL2 and print them (#3708)

* Bump CoupledL2 and connect perf events.
* Update the number of HPMs
* Detail names of HPM can be printed now. The previous implementati

feat(HPM): enable HPMs in CoupledL2 and print them (#3708)

* Bump CoupledL2 and connect perf events.
* Update the number of HPMs
* Detail names of HPM can be printed now. The previous implementation
has been removed in
[#3631](https://github.com/OpenXiangShan/XiangShan/pull/3631).

show more ...

676ddb7309-Oct-2024 Xuan Hu <[email protected]>

fix(CSR): fix shadow write to PMA and customize CSRs (#3703)

* Use wenLegal in NewCSR as distribute csr write wen signal

8bc9063105-Oct-2024 Zehao Liu <[email protected]>

fix(Smrnmi): expand NMI interrupt to two types and route the nmi signals to XSTOP (#3691)

9c5487c405-Oct-2024 Xuan Hu <[email protected]>

fix(CSR): fix shadow write for many CSRs (#3701)

* Although EX_II will be raised when access these CSRs in some illegal
ways(e.g. writing pmpcfg in S mode), the regs in these CSRs will always
be c

fix(CSR): fix shadow write for many CSRs (#3701)

* Although EX_II will be raised when access these CSRs in some illegal
ways(e.g. writing pmpcfg in S mode), the regs in these CSRs will always
be changed by wdata. The reason for the mistake is that the wen of these
CSRs is assigned directly to wen of NewCSR instead of wenLegal which
only assert when writing CSR in some legal ways.
* Fixed CSRs are pmpcfgs, pmpaddrs, miregs, siregs and vsiregs.
* Todo: all wen and wdata of CSRModule assigned in the same for loop

show more ...

a32bbcbb05-Oct-2024 Xuan Hu <[email protected]>

fix(CSR): assert vsatpASIDChanged when actually write vsatp by satp (#3700)

* Use CSR.w.wen insread of addr comparation to avoid this mistake.

c08f49a030-Sep-2024 chengguanghui <[email protected]>

fix(Trigger): remove tcontrol in trigger module.

* remove tcontrol.
* use xIE to control trigger's breakpoint exception.
* modify medelege: bit(EX_BP) is writable.
* fix emu.yml to make medelege

fix(Trigger): remove tcontrol in trigger module.

* remove tcontrol.
* use xIE to control trigger's breakpoint exception.
* modify medelege: bit(EX_BP) is writable.
* fix emu.yml to make medelege.EX_BP writable in SMP Linux jobs.

show more ...

cc6e4cb529-Sep-2024 chengguanghui <[email protected]>

feat(Trigger): Trigger Module support mcontrol6.

785e3bfd03-Oct-2024 Xuan Hu <[email protected]>

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

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

12345678910>>...52