#
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 ...
|
#
e836c770 |
| 16-Jan-2025 |
Zhaoyang You <[email protected]> |
feat(TopDown): add TopDown PMU Events (#4122)
This PR adds hardware synthesizable three-level categorized TopDown performance counters. Level-1: Retiring, Frontend Bound, Bad Speculation, Backend Bo
feat(TopDown): add TopDown PMU Events (#4122)
This PR adds hardware synthesizable three-level categorized TopDown performance counters. Level-1: Retiring, Frontend Bound, Bad Speculation, Backend Bound. Level-2: Fetch Latency Bound, Fetch Bandwidth Bound, Branch Missprediction, machine clears, Core Bound, Memory Bound. Leval-3: L1 Bound, L2 Bound, L3 Bound, Mem Bound, Store Bound.
show more ...
|
#
748214a1 |
| 20-Dec-2024 |
xiaofeibao <[email protected]> |
area(dataPath): set fpRegfile and vecRegfile's splictNum to 4
|
#
33d0849e |
| 15-Dec-2024 |
xiaofeibao <[email protected]> |
area(intRegFile): change intRegFile splitNum to 4
|
#
771a6ec2 |
| 09-Dec-2024 |
xiaofeibao <[email protected]> |
timing(intRegfile): use IntRegFileSplit for better timing
|
#
c37914a4 |
| 25-Nov-2024 |
xiaofeibao <[email protected]> |
area(Backend): merge pcMem and pcTargetMem
|
#
f57d73d6 |
| 16-Dec-2024 |
sinsanction <[email protected]> |
area(IssueQueue): encode exuOH as UInt to reduce storage (#4033)
|
#
e43bb916 |
| 20-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 ...
|
#
63d67ef3 |
| 14-Sep-2024 |
Tang Haojin <[email protected]> |
build: enable always-basic-diff for make verilog (#3574)
This commit turns on basic difftest features again, no matter it's for
simulation or physical design. This commit aims at allowing designs f
build: enable always-basic-diff for make verilog (#3574)
This commit turns on basic difftest features again, no matter it's for
simulation or physical design. This commit aims at allowing designs for
physical design to be verified.
show more ...
|
#
42b6cdf9 |
| 05-Sep-2024 |
sinsanction <[email protected]> |
timing(Backend): add OG2 stage for vector mem (#3482)
|
#
e4c00b12 |
| 07-Aug-2024 |
xiaofeibao <[email protected]> |
DataPath: to iq ready remove og1cancel and og0 ldcancel for better timing and performance
|
#
6f9eb082 |
| 19-Aug-2024 |
xiaofeibao-xjtu <[email protected]> |
DataPath: write v0Regfile and vlRegfile add a pipe for fix timing (#3387)
|
#
60052a3f |
| 27-Jul-2024 |
xiaofeibao <[email protected]> |
Regfile: vl reset to 0, add instance name and module name for regfile
|
#
102ba843 |
| 10-Jul-2024 |
sinsanction <[email protected]> |
BypassNetwork: add source data from RegCache
|
#
710b9efa |
| 28-Jun-2024 |
sinsanction <[email protected]> |
DataPath: add RegCache
|
#
be9ff987 |
| 19-Jul-2024 |
sinsanction <[email protected]> |
Backend: optimize og0 cancel signals (#3235)
* use Vec[Bool] instead of UInt for og0Cancel
* only wakeup source Exus containing 0-latency function unit should send
og0Cancel
|
#
37080bd8 |
| 17-Jul-2024 |
sinsanction <[email protected]> |
DataPath, BusyTable: remove unnecessary cancel signals (#3218)
* only non-load wakeup sources exu should send og0cancel
* og0cancel only works on the wakeup of 0 latency instructions
|
#
28ac1c16 |
| 12-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Backend & MemBlock: feedback use lqidx instead of robidx for fix timing and fix bug of vld feedback (#3189)
|
#
38f78b5d |
| 10-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Backend&MemBlock: feedback use sqidx instead of robidx and uopidx for fix timing (#3172)
|
#
1e2f0986 |
| 09-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
DataPath: s1_data only gated by s0.valid for fix timing (#3163)
|
#
b3feafe2 |
| 31-May-2024 |
sinsanction <[email protected]> |
DataPath: fix connection of RfRdata
|
#
d1e473c9 |
| 30-May-2024 |
xiaofeibao <[email protected]> |
Rename: fix debug_v0_rat debug_vl_rat connection
|
#
dbe071d2 |
| 30-May-2024 |
xiaofeibao <[email protected]> |
RegFile: change VlLogicRegs to 1
|
#
f8e432b7 |
| 30-May-2024 |
xiaofeibao <[email protected]> |
DataSource: add readV0 for vec src0/1/2
|
#
fbe46a0a |
| 29-May-2024 |
xiaofeibao <[email protected]> |
DataConfig: remove VfRegSrcDataSet
|