History log of /XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala (Results 26 – 50 of 143)
Revision Date Author Comments
# 44b06f8a 12-Jul-2024 Xuan Hu <[email protected]>

Backend,Frontend: pass flag of FtqPtr to TargetMem to avoid read out-of-date predict target (#3184)

* Hold newest predict target everytime it is updated by frontend.
* Don't use out-of-date predict

Backend,Frontend: pass flag of FtqPtr to TargetMem to avoid read out-of-date predict target (#3184)

* Hold newest predict target everytime it is updated by frontend.
* Don't use out-of-date predict value even if FtqIdx match.

show more ...


# 3840e444 11-Jul-2024 Easton Man <[email protected]>

bpu: gate reset_vector (#2790)


# b92f8445 28-Jun-2024 ssszwic <[email protected]>

ICache: implement new ICache (#3051)

Co-authored-by: xu_zh <[email protected]>


# 0184a80e 15-Jun-2024 Yanqin Li <[email protected]>

L1CacheErrorInfo: code refactor for correct and convenient clockgate (#3044)


# d7ac23a3 14-Apr-2024 Easton Man <[email protected]>

frontend: add a gpaddr write data path

add a data path in Ifu, which write gpaddr to backend at the same time
as write to IBuffer


# e25e4d90 11-Apr-2024 Xuan Hu <[email protected]>

Merge remote-tracking branch 'upstream/master' into tmp-master

TODO: add gpaddr data path from frontend to backend


# a4f9c77f 29-Feb-2024 peixiaokun <[email protected]>

RVH: rewrite the logic of getting gpaddr when guest page fault


# f57f7f2a 10-Apr-2024 Yangyu Chen <[email protected]>

Configs: correct MaxHartIdBits (#2838)

Currently, many different lengths of HartId in Xiangshan, making it hard to
configure it to scale more than 16 cores since we have set 4bits somewhere.
This

Configs: correct MaxHartIdBits (#2838)

Currently, many different lengths of HartId in Xiangshan, making it hard to
configure it to scale more than 16 cores since we have set 4bits somewhere.
This commit corrects MaxHartIdBits in config and uses MaxHartIDBits where
it needs to get this solved.

Signed-off-by: Yangyu Chen <[email protected]>

show more ...


# 05cc2a4e 18-Mar-2024 Xuan Hu <[email protected]>

Decode,IBuffer: fix circle dependency deadlock

* Add a new field `canAccept` passed from decode to notice `IBuffer` that it can deq new instructions.
* IBuffer.io.out(i).ready depends on IBuffer.io.

Decode,IBuffer: fix circle dependency deadlock

* Add a new field `canAccept` passed from decode to notice `IBuffer` that it can deq new instructions.
* IBuffer.io.out(i).ready depends on IBuffer.io.out(i).ready.
* Since decode promises accepting insts in order, priority encoder is used to simplify the accumulation of `numDeq`.
* `numDeq` records the number of deq insts from ibuffer, not from bypass. And it is used to update deqPtr and corresponding deqBankPtr.
* Guard numFromFetch calculation with io.in.valid to avoid updating enqPtr when input signal is invalid.
* Todo: check ibuffer timing, critical path maybe ibuffer.io.out.valid -> ibuffer.io.out.ready -> ibuffer.validEntries -> nextValidEntries -> allowEnq

show more ...


# 8241cb85 17-Dec-2023 Xuan Hu <[email protected]>

Merge remote-tracking branch 'upstream/master' into backendq


# f7af4c74 17-Nov-2023 chengguanghui <[email protected]>

Debug Module: cherry-pick debug module from nanhu


# cd2ff98b 01-Dec-2023 happy-lx <[email protected]>

Rebase Timing Fix of Memblock from fix-timing branch (#2501)

* fix LQ timing

* l1pf: fix pf queue to ldu timing

* disable ecc path for timing analysis

* TODO: remove this

* fix pipeline

Rebase Timing Fix of Memblock from fix-timing branch (#2501)

* fix LQ timing

* l1pf: fix pf queue to ldu timing

* disable ecc path for timing analysis

* TODO: remove this

* fix pipeline

* memblock: add a Reg between inner/outer reset_vec

* missqueue: make mem_grant always ready

* Enable ECC path again

* remove fast replay reorder logic

* l1pf: use chosen of arbiter to improve timing

* remove reorder remain logic

* mq: use ParallelORR instead of orR

* Strengthen the conditions for load to load path for timing

* fix load to load data select for timing

* refactoring lq replay valid logic

* fix replay port

* fix load unit s0 arbitor logic

* add topdown wiring

* fix ldu ecc path

* remove lateKill

* ecc: physically remove ecc in DataArray

* loadpipe: use ParallelORR and ParallelMux for timing

* mainpipe: use ParallelMux and ParallelorR for timing

* fix fast replay is killed at s1

* fix replay cancel logic

* fix mq nack feedback logic

* sms: fix pf queue tlb req logic for timing

* kill load at s1

* fix loadqueuereplay enq logic

* opt raw rollback arbiter logic

* fix ecc_delayed writeback logic

* train all l1 pf and sms at load s3 for better timing

* disable load to load forward

* Revert "kill load at s1"

This reverts commit 56d47582ad4dd9c83373fb2db2a0709075485d4d.

* fix s0 kill logic

* ITLBRepeater: Add one more buffer when PTW resp

* remove trigger

* fix feedback_slow logic

* add latch in uncachebuffer rollback

* remove trigger in port

* fast replay: use dcache ready

* fix replay logic at s1

* uncache: fix uncache writeback

* fix delay kill logic

* fix clean exception loigc at s3

* fix ldu rollback logic

* fix ldu rollback valid logic

---------

Co-authored-by: sfencevma <[email protected]>
Co-authored-by: XiChen <[email protected]>
Co-authored-by: Lyn <[email protected]>
Co-authored-by: good-circle <[email protected]>

show more ...


# c20095f4 20-Nov-2023 Chen Xi <[email protected]>

Merge timing fixes of XSTile into Master (#2488)

* Timing: add buffer in Frontend-L2 path
double buffer applied in icache-L2 (both at MemBlock)
single buffer applied in frontend-MMIO (at MemBlock)

Merge timing fixes of XSTile into Master (#2488)

* Timing: add buffer in Frontend-L2 path
double buffer applied in icache-L2 (both at MemBlock)
single buffer applied in frontend-MMIO (at MemBlock)

* Move l1d-to-l2 buffer from L2Top to MemBlock to balance timing

* Use arcane methods to keep Frontend MMIO port name for MemBlock

* Add Reg for L2-L1 Hint in both L2Top and MemBlock

* Add Buffer between l1_xbar and L2

* Add buffer for beu_error in MemBlock

* Frontend: add buffer for reset_vector in Frontend-memBlock path (by ssszwic)

* Move one buffer in L1-L2 from MemBlock to L2Top

* Add another buffer in frontend MMIO path

* Fix compilation error

* Hint revert to master design, the Reg here is canceled because we have this reg in L2

* Add a third buffer in I-MMIO path

* Add a third buffer in PTW-L2 path at L2Top(above xbar)

* Fix I-mmio buffer constant values wrongly assigned

show more ...


# 9a128342 16-Nov-2023 Haoyuan Feng <[email protected]>

hpm: fix selection logic and typo (#1618) (#2483)

Co-authored-by: Chen Xi <[email protected]>


# 44c9c1de 06-Nov-2023 Easton Man <[email protected]>

refactor: use banked IBuffer (#2441)

* ibuffer: refactor to raw Vec

- use banked register to reduce read port logic

ibuffer: fix assertion error

ibuffer: fix various typo assertion bug

i

refactor: use banked IBuffer (#2441)

* ibuffer: refactor to raw Vec

- use banked register to reduce read port logic

ibuffer: fix assertion error

ibuffer: fix various typo assertion bug

ibuffer: fix entry write mux

ibuffer: fix deqPtr movement

ibuffer: fix NBank larger than DecodeWidth

ibuffer: add comments about new design

config: change MinimalConfig IBufNBank back to 2

config: use DecodeWidth as IBufNBank

config: remove IBufNBank from XSCoreParameters

Revert "config: remove IBufNBank from XSCoreParameters"

This reverts commit 4da836590cc3af168e1cf2582269fc15394b514e.

Revert "config: use DecodeWidth as IBufNBank"

This reverts commit d04bddb551f846ad65db2a2cc903d26251be0ee8.

* ibuffer: use Mux1H to rewrite read port

show more ...


# 802c33c5 23-Oct-2023 ssszwic <[email protected]>

Frontend: delete unnecessary dontTouch in frontend (#2414)


# 8891a219 08-Oct-2023 Yinan Xu <[email protected]>

Bump rocket-chip (#2353)


# 254e4960 27-Sep-2023 Haoyuan Feng <[email protected]>

TLB: Pass hartId through IO (#2342)


# 95e60e55 18-Sep-2023 Tang Haojin <[email protected]>

LazyModule: do not inline lazy modules in XS (#2311)


# 60ebee38 15-Sep-2023 Tang Haojin <[email protected]>

top-down: do not use boring utils (#2304)


# f9ac118c 14-Sep-2023 Haoyuan Feng <[email protected]>

TLB: Modify TLB structure to full-asso with 48 entries (#2289)

* TLB: Modify TLB structure to full-asso with 48 entries

* TLB: Fix wrong changes on XSDts

* TLB: modify signal naming


# 330aad7f 13-Sep-2023 Guokai Chen <[email protected]>

Frontend: timing optimization (#2291)

Predecode delayed to f3 and use partial paralle valid generation logic
Remove CacheOp support in ICache


# cb6e5d3c 06-Sep-2023 ssszwic <[email protected]>

icache: change itlb port to no-blocked and new fdip (#2277)


# 5359309b 02-Sep-2023 Guokai Chen <[email protected]>

Frontend: add basic instruction stream check (#2265)


# 1a718038 05-Aug-2023 Haoyuan Feng <[email protected]>

PTW: Move PTW to MemBlock (#2211)

* PTW: Move PTW to MemBlock

Move itlbrepeater to Frontend and MemBlock, dtlbrepeater to MemBlock,
L2 TLB (PTW) and ptw_to_l2_buffer to Memblock for better parti

PTW: Move PTW to MemBlock (#2211)

* PTW: Move PTW to MemBlock

Move itlbrepeater to Frontend and MemBlock, dtlbrepeater to MemBlock,
L2 TLB (PTW) and ptw_to_l2_buffer to Memblock for better partition.

* MMU: Fix sfence delay to synchronize modules

show more ...


123456