History log of /XiangShan/src/main/scala/xiangshan/mem/lsqueue/VirtualLoadQueue.scala (Results 1 – 25 of 43)
Revision Date Author Comments
# 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


12