#
51ad03b0 |
| 21-Apr-2025 |
Zhaoyang You <[email protected]> |
fix(rename): fix Csrr format (#4605)
|
#
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 ...
|
#
8893eb2c |
| 12-Mar-2025 |
Zhaoyang You <[email protected]> |
fix(csr): CSRR instruction read xireg inOrder (#4393)
* AIA registers are designed to be access asynchronously, so newCSR will wait for response. Therefore, CSRR instruction read mireg/sireg/vsireg
fix(csr): CSRR instruction read xireg inOrder (#4393)
* AIA registers are designed to be access asynchronously, so newCSR will wait for response. Therefore, CSRR instruction read mireg/sireg/vsireg inOrder.
show more ...
|
#
075d4937 |
| 30-Dec-2024 |
junxiong-ji <[email protected]> |
feat(CSR): allow most CSRR can be out-of-order issued and executed
* Add some comment on rdata in NewCSR. * Allow CSRR not to block backward instruction. * Here is **Inorder** CSRR list, * fflags,
feat(CSR): allow most CSRR can be out-of-order issued and executed
* Add some comment on rdata in NewCSR. * Allow CSRR not to block backward instruction. * Here is **Inorder** CSRR list, * fflags, fcsr, * vxsat, vcsr, vstart, * mstatus, sstatus, hstatus, vsstatus, mnstatus, * dcsr. * The reason for Inorder CSRR executed is that these CSR will be changed by Use-Level instruction without any fence, and executing OoO would get wrong result. * Since there must be FENCE before reading any PMC CSRs, there is no need to let reading PMC CSRs inorder.
show more ...
|
#
398aeef6 |
| 06-Jan-2025 |
Tang Haojin <[email protected]> |
fix(Rename): fuse lui-load only if `rfWen` of lui is true (#4131)
|
#
41eedc8d |
| 16-Dec-2024 |
linzhida <[email protected]> |
timing(zacas): move isDropAmocasSta logic gen from Scheduler to NewDispatch
|
#
0a7d1d5c |
| 22-Nov-2024 |
xiaofeibao <[email protected]> |
feat(backend): NewDispatch
|
#
c308d936 |
| 21-Nov-2024 |
chengguanghui <[email protected]> |
fix(trace): remove traceTrap & tracePriv from trace pipeline
|
#
b720b0cd |
| 30-Oct-2024 |
chengguanghui <[email protected]> |
fix(trace): fix `tracePipe` in pipeline
* fix itype for branch after writeback * update itype to DeqGroup when branch instruction commit at next cycle after writeback. * fix ftqoffset in commitIn
fix(trace): fix `tracePipe` in pipeline
* fix itype for branch after writeback * update itype to DeqGroup when branch instruction commit at next cycle after writeback. * fix ftqoffset in commitInfo for fuse instruction * fix `iretire` in rename
show more ...
|
#
38c29594 |
| 26-Nov-2024 |
zhanglinjuan <[email protected]> |
feat(MemBlock): add support for Zacas extension
fix(AtomicsUnit, MemBlock): fix loss of multiple stds
In the previous design, AtomicsUnit receives stds from StdExeUnit and arbitrate at most one std
feat(MemBlock): add support for Zacas extension
fix(AtomicsUnit, MemBlock): fix loss of multiple stds
In the previous design, AtomicsUnit receives stds from StdExeUnit and arbitrate at most one std uop for one cycle. This works fine on most of the AMOs and LR/SC because they require only one std uop. However AMOCAS requires at least two std uops, which may be issued from two separate issue queues at the same time, leading to the loss of std uops.
This commit fixes this by taking all the outputs of the StdExeUnits into account with arbitration logics.
fix(AtomicsUnit): DCache req can only be sent at `s_cache_req`
fix(AtomicsUnit, difftest): fix difftest io for atomic events
fix(MainPipe): fix precedence of `&` and `=/=` operator
fix(MainPipe): AMOCAS should not wait for AMOALU
fix(MemBlock): remove unnecessary assertion
fix(MainPipe): only CAS instruction can assert `s3_cas_fail`
fix(AtomicsUnit): fix bug in data select logic
submodule(difftest): bump difftest
show more ...
|
#
12861ac7 |
| 21-Nov-2024 |
linzhida <[email protected]> |
feat(Backend): add support for Zacas extension
misc: remove assert temporarily
|
#
547d96ac |
| 01-Dec-2024 |
Tang Haojin <[email protected]> |
fix(vector): do not set vs.dirty for some type of vecInsts (#3965)
|
#
3dfb64bd |
| 25-Nov-2024 |
Zehao Liu <[email protected]> |
fix(HPM): fix PTW perfevent print error, organize the code format of some perfevents (#3890)
`getperfevent` retrieves both the `name` and `value` fields, whereas
`getperf` only retrieves the `value
fix(HPM): fix PTW perfevent print error, organize the code format of some perfevents (#3890)
`getperfevent` retrieves both the `name` and `value` fields, whereas
`getperf` only retrieves the `value` port. The original implementation
caused all perf event information for PTW to be printed as
`perfEventsPTW`, making them indistinguishable.
show more ...
|
#
b9dc808d |
| 25-Oct-2024 |
JinHong Zeng <[email protected]> |
fix(Rename): remove the handling of dest being src in bypassCond (#3752)
|
#
df3b4b92 |
| 20-Sep-2024 |
Anzooooo <[email protected]> |
feat(rv64v): support first only fault instruction
|
#
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 ...
|
#
6112d994 |
| 09-Sep-2024 |
xiaofeibao <[email protected]> |
timing(Backend): remove useless ldest=/=0.U logic because rfWen will be false
|
#
253db1a4 |
| 03-Sep-2024 |
Junxiong Ji <[email protected]> |
Backend: stop block_backward for csrr, in rename stage
|
#
a9becb0d |
| 01-Sep-2024 |
Junxiong Ji <[email protected]> |
accelerate read only csrr by pipelining
|
#
49162c9a |
| 24-Aug-2024 |
Guanghui Cheng <[email protected]> |
Rob: fix bug of rob commit. (#3418)
In this PR, the main goal is to fix the bug encountered during ROB
commit. However, resolving this issue requires information about
`iretire` and `ilastsize`, w
Rob: fix bug of rob commit. (#3418)
In this PR, the main goal is to fix the bug encountered during ROB
commit. However, resolving this issue requires information about
`iretire` and `ilastsize`, which need be collected by the trace.
Therefore, I have also included the trace interface in this PR.
The specific changes are as follows:
* When rob commit, update the ftqIdx and ftqOffset to correctly notify
the frontend which instructions have been committed.
* In each robentry, the ftqIdx and ftqOffset belong to the first
instruction that was compressed, that is Necessary when exceptions
happen.
* Add trace Interface in hart.
* Add trace parameter in parameter.scala.
* Collect trace infomation in backend pipeline.
show more ...
|
#
7e0f64b0 |
| 21-Aug-2024 |
Guanghui Cheng <[email protected]> |
Trigger: refactor trigger information in pipeline. (#3403)
|
#
a3fe955f |
| 16-Aug-2024 |
Guanghui Cheng <[email protected]> |
DebugModule: Fix bug of singleStep. (#3395)
* `SingleStepStatus` should not be cleared by redirect before hart enter
debugMode.
* singleStep should block rob compress in `rename`.
|
#
1c6572a6 |
| 06-Aug-2024 |
xiaofeibao <[email protected]> |
Backend: change ready logic from dispatch to decode for better performance
|
#
955b4bea |
| 22-Jul-2024 |
sinsanction <[email protected]> |
Scheduler, RegCache: add RegCacheTagTable to read reg cache state before entering issue queue
|
#
571677c9 |
| 09-Jul-2024 |
xiaofeibao-xjtu <[email protected]> |
Rob: fix bug of exception (#3161)
1.when writeback exception, rob may commit next cycle. 2.when fulshOut,
rob commit info to ftq may 4 cycle after redirect but redirect info to
ftq need 5 cycle.
|