History log of /XiangShan/src/main/scala/xiangshan/backend/fu/FuncUnit.scala (Results 1 – 25 of 37)
Revision Date Author Comments
# 1592abd1 08-Apr-2025 Yan Xu <[email protected]>

feat: support inst lifetime trace (#4007)

PerfCCT(performance counter commit trace) is a Instruction-level
granularity perfCounter like GEM5
How to use this:
1. Make with "WITH_CHISELDB=1" argument

feat: support inst lifetime trace (#4007)

PerfCCT(performance counter commit trace) is a Instruction-level
granularity perfCounter like GEM5
How to use this:
1. Make with "WITH_CHISELDB=1" argument
2. Run with "--dump-db --dump-select-db lifetime", then get the database
3. Instruction lifetime visualize run "python3 scripts/perfcct.py
"the-db-file-path" -p 1 -v | less"
4. Analysis script now is in XS-GEM5 repo, see
https://github.com/OpenXiangShan/GEM5/blob/xs-dev/util/ClockAnalysis.py

How it works:
1. Allocate one unique tag "seqNum" like GEM5 for each instruction at
fetch stage
2. Passing the "seqNum" in each pipeline
3. Recording perf data through the DPIC interface

show more ...


# b67a2036 10-Dec-2024 xiaofeibao <[email protected]>

area(exu): data signals only pipe once in exu


# 472967ba 08-Dec-2024 xiaofeibao <[email protected]>

area(exu): ctrl signals only pipe once in exu


# a2fa0ad9 02-Dec-2024 xiaofeibao <[email protected]>

area(backend): only use startAddr in pcMem


# c37914a4 25-Nov-2024 xiaofeibao <[email protected]>

area(Backend): merge pcMem and pcTargetMem


# 85a8d7ca 01-Nov-2024 Zehao Liu <[email protected]>

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


# 65b2b1ea 26-Sep-2024 xiaofeibao-xjtu <[email protected]>

fix(csr): change connect0LatencyCtrlSingal to connectNonPipedCtrlSingal (#3647)


# c1b28b66 09-Sep-2024 Tang Haojin <[email protected]>

fix(exception): check high address bits of jump target (#3003)

This commit contains high address bits checking of jump target. In
previous implementation, we simply truncated the higher bits of jump

fix(exception): check high address bits of jump target (#3003)

This commit contains high address bits checking of jump target. In
previous implementation, we simply truncated the higher bits of jump
target address, which made it impossible to raise exceptions in such
cases.

To resolve this problem, we detect the invalid jump target in
jump/branch/CSR and, this information to frontend and store the complete
invalid target in a single register in backend. The frontend will then
raise an exception to backend and backend will also use the invalid
target in the register to write xtval and mepc.

---------

Co-authored-by: Muzi <[email protected]>
Co-authored-by: ngc7331 <[email protected]>

show more ...


# 15ed99a7 23-May-2024 Xuan Hu <[email protected]>

NewCSR: add full illegal check to `sfence` and the insts in `Svinval` extension

* Move the permission check for some insts to DecodeUnit.
* These insts are `sfence.vma`, `sinval.vma`, `sfence.w.inva

NewCSR: add full illegal check to `sfence` and the insts in `Svinval` extension

* Move the permission check for some insts to DecodeUnit.
* These insts are `sfence.vma`, `sinval.vma`, `sfence.w.inval`, `sfence.inval.ir`, `hfence.gvma`, `hinval.gvma`, `hfence.vvma` and `hinval.vvma`.

show more ...


# dcdd1406 14-May-2024 Xuan Hu <[email protected]>

NewCSR: make XRET use redirect bundle to pass target instead of csr-rob direct connection

* TODO: remove isXRet signal from RobCSRIO.
* Add ftqIdx,ftqOffset in CSR Fu.
* XRet need not flushPipe


# 007f6122 14-Apr-2024 Xuan Hu <[email protected]>

NewCSR: add IMSIC


# 2d12882c 09-Jun-2024 xiaofeibao <[email protected]>

FuConfig: split dataBits into destDataBits and srcDataBits for distinguish input and output data width


# db7becb6 30-May-2024 xiaofeibao <[email protected]>

Exu: connect V0Wen VlWen


# b8db7211 30-May-2024 xiaofeibao <[email protected]>

FuConfig: add writeV0Rf writeVlRf


# f8ca900c 21-May-2024 Ziyue Zhang <[email protected]>

vtype: add valid signal for vsetvl instruction when calculate output


# 550efd16 15-May-2024 Ziyue Zhang <[email protected]>

rv64v: fix the logic of writing vtype for vsetvl instruction


# 25df626e 04-May-2024 good-circle <[email protected]>

Merge branch 'master' into vlsu-tmp-master


# b6279fc6 24-Apr-2024 Ziyue Zhang <[email protected]>

rv64v: add ignore oldvd judgement in issue queue
1. when the instruction depend on old vd, we cannot set the srctype to imm
2. when vl = 0, we cannot set the srctype to imm because the vd keep the ol

rv64v: add ignore oldvd judgement in issue queue
1. when the instruction depend on old vd, we cannot set the srctype to imm
2. when vl = 0, we cannot set the srctype to imm because the vd keep the old value
3. when vl = vlmax, we can set srctype to imm when vta is not se

show more ...


# 9e200047 20-Apr-2024 lewislzh <[email protected]>

Functionunit: move parameterized delay for fixtiming to latency field renamed as extralatency


# 34588aeb 18-Apr-2024 lewislzh <[email protected]>

Exu,FuncUnit,Vialufix: Add parameterized delay for fixtiming


# 7e4f0b19 17-Apr-2024 Ziyue-Zhang <[email protected]>

rv64v: fix the logic of writing vtype for vsetvl instruction (#2875)


# 5edcc45f 08-Mar-2024 Haojin Tang <[email protected]>

Parameters: remove write port configs for store


# 17985fbb 01-Feb-2024 Ziyue Zhang <[email protected]>

rv64v: fix vxrm and frm connection for vector instructions


# c1e19666 04-Jan-2024 xiaofeibao-xjtu <[email protected]>

backend: implement uncertain latency exeUnit WbArbiter


# 6ce10964 12-Oct-2023 Xuan Hu <[email protected]>

fix merge errors


12