#
1eb8dd22 |
| 24-Feb-2025 |
Kunlin You <[email protected]> |
submodule(utility), XSDebug: support collecting missing XSDebug (#4251)
Previous in PR#3982, we support collecting XSLogs to LogPerfEndpoint.
However with --enable-log, we should also collect some
submodule(utility), XSDebug: support collecting missing XSDebug (#4251)
Previous in PR#3982, we support collecting XSLogs to LogPerfEndpoint.
However with --enable-log, we should also collect some missing XSDebug.
This change move these missing XSDebug outside WhenContext, and add
WireInit to LogUtils' apply, to enable probing some subaccessed data,
like a vec elem with dynamic index.
show more ...
|
#
9e12e8ed |
| 08-Feb-2025 |
cz4e <[email protected]> |
style(Bundles): move bundles to Bundles.scala (#4247)
|
#
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 ...
|
#
30bd4482 |
| 30-Dec-2024 |
Anzo <[email protected]> |
fix(LSQ): fix 'enqCancelNum' bit width (#4109)
|
#
0a84afd5 |
| 26-Dec-2024 |
cz4e <[email protected]> |
area(VirtualLoadQueue): remove useless regs (#4061)
* remove datavalid, addrvalid, veccommitted * add committed
|
#
be8e95bc |
| 25-Dec-2024 |
Anzo <[email protected]> |
fix(MemBlock): fix overflow during lsqptr calculation (#4084)
The addition used previously to calculate the `lsq` pointer results in overflow, this is because, the bit width of `numLsElem` is 5 and
fix(MemBlock): fix overflow during lsqptr calculation (#4084)
The addition used previously to calculate the `lsq` pointer results in overflow, this is because, the bit width of `numLsElem` is 5 and multiple uop accumulations result in data overflow.
---
Theoretically this would have been a problem in previous versions as well, but for some reason the bug didn't occur in previous versions until `newDispatch`.
show more ...
|
#
8b33cd30 |
| 13-Dec-2024 |
klin02 <[email protected]> |
feat(XSLog): move all XSLog outside WhenContext for collection
As data in WhenContext is not acessible in another module. To support XSLog collection, we move all XSLog and related signal outside Wh
feat(XSLog): move all XSLog outside WhenContext for collection
As data in WhenContext is not acessible in another module. To support XSLog collection, we move all XSLog and related signal outside WhenContext. For example, when(cond1){XSDebug(cond2, pable)} to XSDebug(cond1 && cond2, pable)
show more ...
|
#
5de026b7 |
| 17-Dec-2024 |
Anzooooo <[email protected]> |
fix(LSQ): modify the enq logic
This commit modifies the previous silly queue entry. This greatly reduces the generated verilog, making: StoreQueue verilog in StoreQueue from 26W lines -> 5W lines ve
fix(LSQ): modify the enq logic
This commit modifies the previous silly queue entry. This greatly reduces the generated verilog, making: StoreQueue verilog in StoreQueue from 26W lines -> 5W lines verilog in VirtualLoadQueue from 13W lines -> 2W lines
Also, we can no longer limit the number of numLsElem per `io.enq`.
show more ...
|
#
b240e1c0 |
| 07-Nov-2024 |
Anzooooo <[email protected]> |
feat(Zicclsm): refactoring misalign and support vector misalign
|
#
ad74c6cb |
| 25-Oct-2024 |
Anzo <[email protected]> |
area(MemBlock): remove redundant signals to optimize area (#3777)
|
#
df3b4b92 |
| 20-Sep-2024 |
Anzooooo <[email protected]> |
feat(rv64v): support first only fault instruction
|
#
ee983afa |
| 04-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(LoadQueue): software prefetch should always be ready to deq (#3484)
A software prefetch instruction is similar to a normal load instruction
in that it allocates loadqueue entries, and we need t
fix(LoadQueue): software prefetch should always be ready to deq (#3484)
A software prefetch instruction is similar to a normal load instruction
in that it allocates loadqueue entries, and we need to write them back
to the backend through loadunit. Unlike normal load instructions,
software prefetch instructions will not be replayed, and will be written
directly back to the backend. At the same time in loadqueue, as long as
this instruction is at the head of the queue, it can deq.
In the past design, although the software prefetch instruction will not
enter load replay queue, it still needs to wait for both addrvalid and
datavalid to be ready before it can deq from loadqueue, which in fact
will cause the entry to never deq from loadqueue, resulting in a
deadlock. This commit fixes this bug: addrvalid and datavalid will
always be considered true for software prefetch instructions.
show more ...
|
#
08b0bc30 |
| 03-Sep-2024 |
happy-lx <[email protected]> |
timing(MemBlock): optimize MemBlock timing (#3467)
This PR optimizes the timing of MemBlock. Specific optimizations include
but are not limited to:
+ TLB use the redirect for the next cycle
+ Opt
timing(MemBlock): optimize MemBlock timing (#3467)
This PR optimizes the timing of MemBlock. Specific optimizations include
but are not limited to:
+ TLB use the redirect for the next cycle
+ Optimize VLSU feedback and redirect
+ Optimise ldCancel and writeback signal generation
+ Optimise TLB Query Vaddr/hlv/hlvx/valid etc
+ Delay MMIO Store writeback for 1 Cycle
+ Fix tlbNoQuery and pmp logic
+ Remove clock gating for s3_fast_rep
+ Remove wbq conflict check to LoadPipe/MainPipe
+ Remove Mux in dcache resp data
+ Optimise data generation logic of LoadUnit
+ Duplicate Register in LoadUnit for data writeback
+ Duplicate Register in loadPipe for missQueue enq
+ Add skid buffer in VLSU
+ Select data from metaArray at S1
+ Simplify the enqueuing logic of missQueue
+ Separately generate the ready logic of miss Queue
+ Relax the conditions valid for bankdataArray reads
+ Add Reg between Dcache Mainpipe with sms prefetcher
+ Optimise store exceptionBuffer pipeline
---------
Co-authored-by: weiding liu <[email protected]>
Co-authored-by: Charlie Liu <[email protected]>
Co-authored-by: good-circle <[email protected]>
show more ...
|
#
5003e6f8 |
| 23-Jul-2024 |
Huijin Li <[email protected]> |
LSQ: optimize static clock gating coverage and fix x_value in vcs (#3176)
optimize LSQ static clock gating coverage, fix x_value in vcs
|
#
e3da8bad |
| 22-Jul-2024 |
Tang Haojin <[email protected]> |
build: purge chisel 3 and add deprecation check (#3250)
|
#
9ff64fb6 |
| 24-Jun-2024 |
Anzooooo <[email protected]> |
VLSU: Change the maximum number of 'numLsElem' dispatch by 'dispatch2iq'.
For emulation on Palladium, now the maximum 'numLsElem' number that can be emitted per port is: 16 2 2 2 2 2.
So vector i
VLSU: Change the maximum number of 'numLsElem' dispatch by 'dispatch2iq'.
For emulation on Palladium, now the maximum 'numLsElem' number that can be emitted per port is: 16 2 2 2 2 2.
So vector instructions other than 'unit-stride' can only be issued on the first port. Scalars and 'unit-stride' instruction can be emitted at either port if the 'Lsq' allows allocation.
show more ...
|
#
fcec058d |
| 13-Jun-2024 |
Haoyuan Feng <[email protected]> |
VirtualLoadQueue: remove useless logic (#3066)
|
#
a7828dc1 |
| 12-Jun-2024 |
Tang Haojin <[email protected]> |
Revert "LSQ: optimize static clock gating coverage (#3023)" (#3055)
|
#
ff9b84b9 |
| 11-Jun-2024 |
lwd <[email protected]> |
LSQ: refactor vector load/store commit judging logic to fix X in vcs (#3048)
|
#
082b30d1 |
| 31-May-2024 |
Huijin Li <[email protected]> |
LSQ: optimize static clock gating coverage (#3023)
|
#
627be78b |
| 23-Apr-2024 |
good-circle <[email protected]> |
VLSU, lsq: support more than one vector pipeline
|
#
32977e5d |
| 02-Apr-2024 |
Anzooooo <[email protected]> |
Dispatch2Iq, package: make the encoding and decoding more standardized
|
#
d8be2368 |
| 10-Apr-2024 |
weiding liu <[email protected]> |
VLSU, lsq: fix calcualte of enqptr when redirect
|
#
b2d6d8e7 |
| 09-Apr-2024 |
good-circle <[email protected]> |
VLSU: Add performance counters and parameters
|
#
243bee57 |
| 09-Apr-2024 |
weiding liu <[email protected]> |
VLSU,LSQ: fix lqIdx/sqIdx calcualte when allocate entries
|