History log of /XiangShan/src/main/scala/xiangshan/backend/dispatch/ (Results 126 – 150 of 410)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7154d65e28-Sep-2021 Yinan Xu <[email protected]>

configs, core: update some parameters (#1072)

* change ROB to 256 entries
* change physical register file to 192 entries
* re-organize reservation stations, function units and regfile

9aca92b928-Sep-2021 Yinan Xu <[email protected]>

misc: code clean up (#1073)

* rename Roq to Rob

* remove trailing whitespaces

* remove unused parameters


/XiangShan/.github/workflows/check_pc.py
/XiangShan/.github/workflows/emu.yml
/XiangShan/.gitmodules
/XiangShan/Makefile
/XiangShan/README.md
/XiangShan/build.sc
/XiangShan/debug/Makefile
/XiangShan/difftest
/XiangShan/fudian
/XiangShan/huancun
/XiangShan/images/wechat.png
/XiangShan/images/xs-arch-simple.svg
/XiangShan/readme.zh-cn.md
/XiangShan/rocket-chip
/XiangShan/scripts/utils/convert.sh
/XiangShan/scripts/utils/convert_dir.sh
/XiangShan/scripts/xiangshan.py
/XiangShan/src/main/scala/bus/tilelink/Metadata.scala
/XiangShan/src/main/scala/bus/tilelink/TileLink.scala
/XiangShan/src/main/scala/device/AXI4DummySD.scala
/XiangShan/src/main/scala/device/AXI4Flash.scala
/XiangShan/src/main/scala/device/AXI4RAM.scala
/XiangShan/src/main/scala/device/AXI4VGA.scala
/XiangShan/src/main/scala/device/RocketDebugWrapper.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/BusPerfMonitor.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/utils/BitUtils.scala
/XiangShan/src/main/scala/utils/DataModuleTemplate.scala
/XiangShan/src/main/scala/utils/Hold.scala
/XiangShan/src/main/scala/utils/LFSR64.scala
/XiangShan/src/main/scala/utils/Misc.scala
/XiangShan/src/main/scala/utils/PriorityMuxGen.scala
/XiangShan/src/main/scala/utils/Replacement.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/PMA.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/XSDts.scala
/XiangShan/src/main/scala/xiangshan/backend/CtrlBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/ExuBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FUBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/Scheduler.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeStage.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/FPDecoder.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/FusionDecoder.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/Instructions.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/StoreSet.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/isa/predecode/predecode.scala
Dispatch.scala
Dispatch1.scala
Dispatch2Ls.scala
DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/WbArbiter.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Bmu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Fence.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/InputBuffer.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Multiplier.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Radix2Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT16Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT4Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FDivSqrt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FMA.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToInt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPU.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPUSubModule.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/IntToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/util/CSRConst.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/DataArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/PayloadArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/SelectPolicy.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/WakeupQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/BusyTable.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/MEFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rob/Rob.scala
/XiangShan/src/main/scala/xiangshan/cache/CacheConstants.scala
/XiangShan/src/main/scala/xiangshan/cache/L1Cache.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/FakeDCache.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/Uncache.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/data/AbstractDataArray.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/data/BankedDataArray.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/data/DuplicatedDataArray.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/loadpipe/LoadPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/AMOALU.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/AtomicsReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/Probe.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/StoreReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/mainpipe/WritebackQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/dcache/meta/MetaArray.scala
/XiangShan/src/main/scala/xiangshan/cache/icache/InstrUncache.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/BTLB.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/L2TLBMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUBundle.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUConst.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableCache.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableWalker.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/Repeater.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLBStorage.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Bim.scala
/XiangShan/src/main/scala/xiangshan/frontend/Composer.scala
/XiangShan/src/main/scala/xiangshan/frontend/FTB.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/FrontendBundle.scala
/XiangShan/src/main/scala/xiangshan/frontend/ICache.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/ITTAGE.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/NewFtq.scala
/XiangShan/src/main/scala/xiangshan/frontend/PreDecode.scala
/XiangShan/src/main/scala/xiangshan/frontend/RAS.scala
/XiangShan/src/main/scala/xiangshan/frontend/SC.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/frontend/local.scala
/XiangShan/src/main/scala/xiangshan/frontend/uBTB.scala
/XiangShan/src/main/scala/xiangshan/mem/MaskedDataModule.scala
/XiangShan/src/main/scala/xiangshan/mem/MemCommon.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/NewSbuffer.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/main/scala/xstransforms/PrintModuleName.scala
/XiangShan/src/test/scala/fu/IntDiv.scala
/XiangShan/src/test/scala/top/SimTop.scala
0ce36dde30-Aug-2021 YikeZhou <[email protected]>

Merge branch 'master' into me-opt


/XiangShan/.github/workflows/emu.yml
/XiangShan/Makefile
/XiangShan/block-inclusivecache-sifive
/XiangShan/build.sc
/XiangShan/difftest
/XiangShan/rocket-chip
/XiangShan/src/main/scala/device/AXI4DummySD.scala
/XiangShan/src/main/scala/device/AXI4Flash.scala
/XiangShan/src/main/scala/device/AXI4RAM.scala
/XiangShan/src/main/scala/device/AXI4VGA.scala
/XiangShan/src/main/scala/device/RocketDebugWrapper.scala
/XiangShan/src/main/scala/top/BusPerfMonitor.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/ExuBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FUBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/Scheduler.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
Dispatch2Fp.scala
Dispatch2Int.scala
DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/WbArbiter.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/BypassNetwork.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/SelectPolicy.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/FreeListBaseIO.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/MEFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/StdFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUBundle.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUConst.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableCache.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableWalker.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/Repeater.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/test/scala/top/SimTop.scala
1a2cf15225-Aug-2021 Yinan Xu <[email protected]>

l2, core: add more performance counters (#942)

* Refactor print control transform

* Adda tilelink bus pmu

* Add performance counters for dispatch, issue, execute stages

* Add more counters

l2, core: add more performance counters (#942)

* Refactor print control transform

* Adda tilelink bus pmu

* Add performance counters for dispatch, issue, execute stages

* Add more counters in bus pmu

* Insert BusPMU between L3 and L2

* add some TMA perfcnt



Co-authored-by: LinJiawei <[email protected]>
Co-authored-by: William Wang <[email protected]>
Co-authored-by: wangkaifan <[email protected]>

show more ...


/XiangShan/.github/workflows/emu.yml
/XiangShan/difftest
/XiangShan/src/main/scala/top/BusPerfMonitor.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/ExuBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FUBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/Scheduler.scala
Dispatch2Fp.scala
Dispatch2Int.scala
DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Wb.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/SelectPolicy.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/AlternativeFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUConst.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/package.scala
5eb4af5b23-Aug-2021 YikeZhou <[email protected]>

rename/roq/dispatch1: support EnableIntMoveElim=false
(finish refactoring) [TODO] remove useless code


/XiangShan/difftest
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/ExuBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FUBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/Scheduler.scala
Dispatch1.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/AlternativeFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/FreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/FreeListBaseIO.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/MEFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/MEFreeListIO.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/freelist/StdFreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/BTLB.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUBundle.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUConst.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/Repeater.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/package.scala
8b8e745d21-Aug-2021 YikeZhou <[email protected]>

backend, rename: support move elimination (#920)

* Bundle, Rename: Add some comments
FreeList, RenameTable: Comment out unused variables

* refcnt: Implement AdderTree for reference counter

*

backend, rename: support move elimination (#920)

* Bundle, Rename: Add some comments
FreeList, RenameTable: Comment out unused variables

* refcnt: Implement AdderTree for reference counter

* build.sc: add testOne method for unit test

* AdderTest: add testbench for Adder (passed)

* AdderTree: Add testbench for AdderTree (passed)

* ReferenceCounter: implement a 2-bit counter

* Rename: remove redundant code

* Rename: prepared for move elimination [WIP]

* Roq: add eliminated move bit in roq entry;
label elim move inst as writebacked
AlternativeFreeList: new impl for int free list
Rename: change io of free list
Dispatch1: (todo) not send move to intDq
Bundle: add eliminatedMove bit in roqCommitInfo, uop and debugio
ReferenceCounter: add debug print msg

* Dispatch1: [BUG FIX] not send move inst to IntDq

* DecodeUnit: [BUG FIX] differentiate li from mv

* Bug fix:
1. Dispatch1: should not label pdest of move as busy in busy table
2. Rename: use psrc0 to index bit vec isMax
3. AlternativeFreeList: fix maxVec calculation logic and ref counter
increment logic
Besides, more debug info and assertions were added.

* AlternativeFreeList Bug Fix:
1. add redirect input - shouldn't allocate reg when redirect is
valid
2. handle duplicate preg in roqCommits in int free list

* AlternativeFreeList: Fix value assignment race condition

* Rename: Fix value assignment race condition too

* RenameTable: refactor spec/arch table write process

* Roq: Fix debug_exuData of move(addi) instruction
(it was trash data before because move needn't enter exu)

* Rename: change intFreeList's redirect process
(by setting headPtr back) and flush process

* ME: microbench & coremark & linux-hello passed
1. DecodeUnit: treat `mv x,x` inst as non-move
2. AlternativeFreeList: handle duplicate walk req correctly
3. Roq: fix debug_exuData bug (make sure writeback that updates
debug_exuData happens before ME instruction in program order)

* AlternativeFreeList: License added
build.sc: remove unused config
Others: comments added

* package rename: remove unused modules

* Roq: Replace debug_prf with a cleaner fix method

* Disp1/AltFL/Rename: del unnecessary white spaces

* build.sc: change stack size
AlternativeFreeList: turn off assertions

* build.sc: change stack size for test

show more ...

d4aca96c19-Aug-2021 lqre <[email protected]>

core: add basic debug mode features (#918)

Basic features of debug mode are implemented.

* Rewrite CSR for debug mode
* Peripheral work for implementing debug module
* Added single step support

core: add basic debug mode features (#918)

Basic features of debug mode are implemented.

* Rewrite CSR for debug mode
* Peripheral work for implementing debug module
* Added single step support
* Use difftest with JTAG support

show more ...

adb5df2004-Aug-2021 Yinan Xu <[email protected]>

backend: add ExuBlock to wrap execution units and RS (#903)

Backend --> ExuBlock --> FuBlock --> Exu --> Function Units
--> --> Scheduler --> RS


/XiangShan/.github/workflows/emu.yml
/XiangShan/.gitmodules
/XiangShan/Makefile
/XiangShan/build.sc
/XiangShan/debug/Makefile
/XiangShan/difftest
/XiangShan/ready-to-run
/XiangShan/scripts/xiangshan.py
/XiangShan/src/main/scala/device/AXI4UART.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/ExuBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FUBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/Scheduler.scala
Dispatch2Int.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/ExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Wb.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/test/scala/top/SimMMIO.scala
/XiangShan/src/test/scala/top/SimTop.scala
f320e0f024-Jul-2021 Yinan Xu <[email protected]>

misc: update PCL information (#899)

XiangShan is jointly released by ICT and PCL.


/XiangShan/Makefile
/XiangShan/README.md
/XiangShan/build.sc
/XiangShan/debug/Makefile
/XiangShan/debug/cputest.sh
/XiangShan/debug/env.sh
/XiangShan/debug/perf_sbuffer.sh
/XiangShan/debug/sc_stat.sh
/XiangShan/scripts/autorun/common/local_config.py
/XiangShan/scripts/autorun/common/simulator_task_goback.py
/XiangShan/scripts/autorun/common/task_tree_go_back.py
/XiangShan/scripts/autorun/config.py
/XiangShan/scripts/autorun/run.py
/XiangShan/scripts/coverage/coverage.py
/XiangShan/scripts/coverage/statistics.py
/XiangShan/scripts/statistics.py
/XiangShan/scripts/utils/lock-emu.c
/XiangShan/scripts/xiangshan.py
/XiangShan/src/main/resources/vsrc/regfile_160x64_10w16r_sim.v
/XiangShan/src/main/scala/bus/tilelink/Arbiter.scala
/XiangShan/src/main/scala/bus/tilelink/Metadata.scala
/XiangShan/src/main/scala/bus/tilelink/TLUtilities.scala
/XiangShan/src/main/scala/bus/tilelink/TileLink.scala
/XiangShan/src/main/scala/device/AXI4DummySD.scala
/XiangShan/src/main/scala/device/AXI4Flash.scala
/XiangShan/src/main/scala/device/AXI4IntrGenerator.scala
/XiangShan/src/main/scala/device/AXI4Keyboard.scala
/XiangShan/src/main/scala/device/AXI4Plic.scala
/XiangShan/src/main/scala/device/AXI4RAM.scala
/XiangShan/src/main/scala/device/AXI4SlaveModule.scala
/XiangShan/src/main/scala/device/AXI4Timer.scala
/XiangShan/src/main/scala/device/AXI4UART.scala
/XiangShan/src/main/scala/device/AXI4VGA.scala
/XiangShan/src/main/scala/device/TLTimer.scala
/XiangShan/src/main/scala/difftest/Difftest.scala
/XiangShan/src/main/scala/gpu/GPU.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/ArgParser.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/top/XiangShanStage.scala
/XiangShan/src/main/scala/utils/BitUtils.scala
/XiangShan/src/main/scala/utils/CircularQueuePtr.scala
/XiangShan/src/main/scala/utils/DataDontCareNode.scala
/XiangShan/src/main/scala/utils/DataModuleTemplate.scala
/XiangShan/src/main/scala/utils/DebugIdentityNode.scala
/XiangShan/src/main/scala/utils/ECC.scala
/XiangShan/src/main/scala/utils/ExcitingUtils.scala
/XiangShan/src/main/scala/utils/ExtractVerilogModules.scala
/XiangShan/src/main/scala/utils/FlushableQueue.scala
/XiangShan/src/main/scala/utils/GTimer.scala
/XiangShan/src/main/scala/utils/Hold.scala
/XiangShan/src/main/scala/utils/LFSR64.scala
/XiangShan/src/main/scala/utils/LatencyPipe.scala
/XiangShan/src/main/scala/utils/LogUtils.scala
/XiangShan/src/main/scala/utils/LookupTree.scala
/XiangShan/src/main/scala/utils/MIMOQueue.scala
/XiangShan/src/main/scala/utils/Misc.scala
/XiangShan/src/main/scala/utils/ParallelMux.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/utils/PipelineConnect.scala
/XiangShan/src/main/scala/utils/PriorityMuxDefault.scala
/XiangShan/src/main/scala/utils/PriorityMuxGen.scala
/XiangShan/src/main/scala/utils/RegMap.scala
/XiangShan/src/main/scala/utils/Replacement.scala
/XiangShan/src/main/scala/utils/ResetGen.scala
/XiangShan/src/main/scala/utils/SRAMTemplate.scala
/XiangShan/src/main/scala/utils/StopWatch.scala
/XiangShan/src/main/scala/utils/TLDump.scala
/XiangShan/src/main/scala/utils/TLIgnoreNode.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/PMA.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/XSDts.scala
/XiangShan/src/main/scala/xiangshan/backend/CtrlBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/Scheduler.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeStage.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/FPDecoder.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/Instructions.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/StoreSet.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/WaitTable.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/isa/predecode/predecode.scala
Dispatch.scala
Dispatch1.scala
Dispatch2Fp.scala
Dispatch2Int.scala
Dispatch2Ls.scala
DispatchQueue.scala
IndexMapping.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/AluExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/JumpExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Wb.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Fence.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Multiplier.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Radix2Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT4Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FDivSqrt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FMA.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToInt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPUSubModule.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/IntToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/util/CSA.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/util/CSRConst.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/BypassNetwork.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/DataArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/PayloadArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/SelectPolicy.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/WakeupQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/BusyTable.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/FreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/RenameTable.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/AMOALU.scala
/XiangShan/src/main/scala/xiangshan/cache/AtomicsReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/DCache.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/ICache.scala
/XiangShan/src/main/scala/xiangshan/cache/ICacheMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/InstrUncache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1Cache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/LoadPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/Mem.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/Probe.scala
/XiangShan/src/main/scala/xiangshan/cache/StoreReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/Uncache.scala
/XiangShan/src/main/scala/xiangshan/cache/WritebackQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/L2TLBMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUBundle.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/MMUConst.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableCache.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/PageTableWalker.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/Repeater.scala
/XiangShan/src/main/scala/xiangshan/cache/mmu/TLB.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/BestOffsetPrefetch.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L1plusPrefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L2Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/StreamPrefetch.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Bim.scala
/XiangShan/src/main/scala/xiangshan/frontend/Btb.scala
/XiangShan/src/main/scala/xiangshan/frontend/FakeICache.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/LoopBuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/LoopPredictor.scala
/XiangShan/src/main/scala/xiangshan/frontend/PreDecode.scala
/XiangShan/src/main/scala/xiangshan/frontend/RAS.scala
/XiangShan/src/main/scala/xiangshan/frontend/SC.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/frontend/jbtac.scala
/XiangShan/src/main/scala/xiangshan/frontend/uBTB.scala
/XiangShan/src/main/scala/xiangshan/mem/MaskedDataModule.scala
/XiangShan/src/main/scala/xiangshan/mem/MemUtils.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/FakeSbuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/NewSbuffer.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/main/scala/xstransforms/PrintControl.scala
/XiangShan/src/main/scala/xstransforms/PrintModuleName.scala
/XiangShan/src/test/csrc/common/axi4.cpp
/XiangShan/src/test/csrc/common/axi4.h
/XiangShan/src/test/csrc/common/common.cpp
/XiangShan/src/test/csrc/common/common.h
/XiangShan/src/test/csrc/common/compress.cpp
/XiangShan/src/test/csrc/common/compress.h
/XiangShan/src/test/csrc/common/device.cpp
/XiangShan/src/test/csrc/common/device.h
/XiangShan/src/test/csrc/common/flash.cpp
/XiangShan/src/test/csrc/common/flash.h
/XiangShan/src/test/csrc/common/keyboard.cpp
/XiangShan/src/test/csrc/common/macro.h
/XiangShan/src/test/csrc/common/ram.cpp
/XiangShan/src/test/csrc/common/ram.h
/XiangShan/src/test/csrc/common/sdcard.cpp
/XiangShan/src/test/csrc/common/sdcard.h
/XiangShan/src/test/csrc/common/uart.cpp
/XiangShan/src/test/csrc/common/vga.cpp
/XiangShan/src/test/csrc/difftest/difftest.cpp
/XiangShan/src/test/csrc/difftest/difftest.h
/XiangShan/src/test/csrc/difftest/goldenmem.cpp
/XiangShan/src/test/csrc/difftest/goldenmem.h
/XiangShan/src/test/csrc/difftest/interface.cpp
/XiangShan/src/test/csrc/difftest/interface.h
/XiangShan/src/test/csrc/difftest/nemuproxy.cpp
/XiangShan/src/test/csrc/difftest/nemuproxy.h
/XiangShan/src/test/csrc/difftest/ref.cpp
/XiangShan/src/test/csrc/difftest/ref.h
/XiangShan/src/test/csrc/vcs/main.cpp
/XiangShan/src/test/csrc/verilator/emu.cpp
/XiangShan/src/test/csrc/verilator/emu.h
/XiangShan/src/test/csrc/verilator/main.cpp
/XiangShan/src/test/csrc/verilator/snapshot.cpp
/XiangShan/src/test/csrc/verilator/snapshot.h
/XiangShan/src/test/scala/cache/CacheTest.scala
/XiangShan/src/test/scala/cache/L1DTest/CoreAgent.scala
/XiangShan/src/test/scala/cache/L1DTest/CoreTransatcion.scala
/XiangShan/src/test/scala/cache/L1DTest/L1DTest.scala
/XiangShan/src/test/scala/cache/L1plusCacheTest.scala
/XiangShan/src/test/scala/cache/L2CacheNonInclusiveGetTest.scala
/XiangShan/src/test/scala/cache/L2CacheTest.scala
/XiangShan/src/test/scala/cache/ReplaceTest.scala
/XiangShan/src/test/scala/cache/TLCTest/BigIntUtil.scala
/XiangShan/src/test/scala/cache/TLCTest/FixedBlockFuzzer.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCAgent.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCTest.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCTransaction.scala
/XiangShan/src/test/scala/cache/TLCTest/TLMasterMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLSlaveMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLULAgent.scala
/XiangShan/src/test/scala/cache/TLCTest/TLULMMIO.scala
/XiangShan/src/test/scala/cache/UnalignedGetTest.scala
/XiangShan/src/test/scala/top/SimMMIO.scala
/XiangShan/src/test/scala/top/SimTop.scala
/XiangShan/src/test/scala/xiangshan/testutils/AddSinks.scala
/XiangShan/src/test/scala/xiangshan/testutils/PartialDecoupledDriver.scala
/XiangShan/src/test/scala/xiangshan/testutils/TestCaseGenerator.scala
/XiangShan/src/test/testcase/Makefile
/XiangShan/src/test/testcase/tests/double-loop.c
/XiangShan/src/test/testcase/tests/nested-loop.c
/XiangShan/src/test/vsrc/common/assert.v
/XiangShan/src/test/vsrc/common/difftest.v
/XiangShan/src/test/vsrc/common/ram.v
/XiangShan/src/test/vsrc/common/ref.v
/XiangShan/src/test/vsrc/vcs/top.v
/XiangShan/tools/readmemh/Makefile
/XiangShan/tools/readmemh/gen-treadle-readmemh.c
/XiangShan/tools/readmemh/groupby-4byte.c
/XiangShan/tools/readmemh/split-readmemh.c
/XiangShan/vcs.mk
/XiangShan/verilator.mk
ce5555fa16-Jul-2021 Yinan Xu <[email protected]>

scheduler: add support for parameterization via rs and dp ports (#882)

This commit adds support for a parameterized scheduler. A scheduler
can be parameterized via issue and dispatch ports.

Note

scheduler: add support for parameterization via rs and dp ports (#882)

This commit adds support for a parameterized scheduler. A scheduler
can be parameterized via issue and dispatch ports.

Note: other parameters have not been tested.

show more ...

6622014414-Jul-2021 Yinan Xu <[email protected]>

backend: wrap all RS into a larger scheduler module (#880)

This commit adds an non-parameterized scheduler containing all reservation stations.
Now IntegerBlock, FloatBlock, MemBlock contain only f

backend: wrap all RS into a larger scheduler module (#880)

This commit adds an non-parameterized scheduler containing all reservation stations.
Now IntegerBlock, FloatBlock, MemBlock contain only function units.
The Schduler connects dispatch with all function units.
Parameterization to be added later.

show more ...

c84ff7ef08-Jul-2021 Yinan Xu <[email protected]>

backend: optimize dispatch and issue timing (#821)

* better select policy timing
* unified RS enqueue ports for 4 ALUs
* wrap imm extractor into a module
* backend,rs: wrap dataArray in RawDataMo

backend: optimize dispatch and issue timing (#821)

* better select policy timing
* unified RS enqueue ports for 4 ALUs
* wrap imm extractor into a module
* backend,rs: wrap dataArray in RawDataModuleTemplate
* should only bypass data between the same addr when allocate.valid

show more ...

c6d4398004-Jun-2021 Lemover <[email protected]>

Add MulanPSL-2.0 License (#824)

In this commit, we add License for XiangShan project.


/XiangShan/.mill-version
/XiangShan/LICENSE
/XiangShan/Makefile
/XiangShan/README.md
/XiangShan/block-inclusivecache-sifive
/XiangShan/build.sc
/XiangShan/debug/Makefile
/XiangShan/debug/cputest.sh
/XiangShan/debug/env.sh
/XiangShan/debug/perf_sbuffer.sh
/XiangShan/debug/sc_stat.sh
/XiangShan/rocket-chip
/XiangShan/scripts/autorun/common/local_config.py
/XiangShan/scripts/autorun/common/simulator_task_goback.py
/XiangShan/scripts/autorun/common/task_tree_go_back.py
/XiangShan/scripts/autorun/config.py
/XiangShan/scripts/autorun/run.py
/XiangShan/scripts/coverage/coverage.py
/XiangShan/scripts/coverage/statistics.py
/XiangShan/scripts/statistics.py
/XiangShan/scripts/utils/lock-emu.c
/XiangShan/scripts/xiangshan.py
/XiangShan/src/main/resources/vsrc/regfile_160x64_10w16r_sim.v
/XiangShan/src/main/scala/bus/tilelink/Arbiter.scala
/XiangShan/src/main/scala/bus/tilelink/Metadata.scala
/XiangShan/src/main/scala/bus/tilelink/TLUtilities.scala
/XiangShan/src/main/scala/bus/tilelink/TileLink.scala
/XiangShan/src/main/scala/device/AXI4DummySD.scala
/XiangShan/src/main/scala/device/AXI4Flash.scala
/XiangShan/src/main/scala/device/AXI4IntrGenerator.scala
/XiangShan/src/main/scala/device/AXI4Keyboard.scala
/XiangShan/src/main/scala/device/AXI4Plic.scala
/XiangShan/src/main/scala/device/AXI4RAM.scala
/XiangShan/src/main/scala/device/AXI4SlaveModule.scala
/XiangShan/src/main/scala/device/AXI4Timer.scala
/XiangShan/src/main/scala/device/AXI4UART.scala
/XiangShan/src/main/scala/device/AXI4VGA.scala
/XiangShan/src/main/scala/device/TLTimer.scala
/XiangShan/src/main/scala/difftest/Difftest.scala
/XiangShan/src/main/scala/gpu/GPU.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/ArgParser.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/top/XiangShanStage.scala
/XiangShan/src/main/scala/utils/BitUtils.scala
/XiangShan/src/main/scala/utils/CircularQueuePtr.scala
/XiangShan/src/main/scala/utils/DataDontCareNode.scala
/XiangShan/src/main/scala/utils/DataModuleTemplate.scala
/XiangShan/src/main/scala/utils/DebugIdentityNode.scala
/XiangShan/src/main/scala/utils/ECC.scala
/XiangShan/src/main/scala/utils/ExcitingUtils.scala
/XiangShan/src/main/scala/utils/ExtractVerilogModules.scala
/XiangShan/src/main/scala/utils/FlushableQueue.scala
/XiangShan/src/main/scala/utils/GTimer.scala
/XiangShan/src/main/scala/utils/Hold.scala
/XiangShan/src/main/scala/utils/LFSR64.scala
/XiangShan/src/main/scala/utils/LatencyPipe.scala
/XiangShan/src/main/scala/utils/LogUtils.scala
/XiangShan/src/main/scala/utils/LookupTree.scala
/XiangShan/src/main/scala/utils/MIMOQueue.scala
/XiangShan/src/main/scala/utils/Misc.scala
/XiangShan/src/main/scala/utils/ParallelMux.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/utils/PipelineConnect.scala
/XiangShan/src/main/scala/utils/PriorityMuxDefault.scala
/XiangShan/src/main/scala/utils/PriorityMuxGen.scala
/XiangShan/src/main/scala/utils/RegMap.scala
/XiangShan/src/main/scala/utils/Replacement.scala
/XiangShan/src/main/scala/utils/ResetGen.scala
/XiangShan/src/main/scala/utils/SRAMTemplate.scala
/XiangShan/src/main/scala/utils/StopWatch.scala
/XiangShan/src/main/scala/utils/TLDump.scala
/XiangShan/src/main/scala/utils/TLIgnoreNode.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/PMA.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/XSDts.scala
/XiangShan/src/main/scala/xiangshan/backend/CtrlBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeStage.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/FPDecoder.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/Instructions.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/StoreSet.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/WaitTable.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/isa/predecode/predecode.scala
Dispatch.scala
Dispatch1.scala
Dispatch2Fp.scala
Dispatch2Int.scala
Dispatch2Ls.scala
DispatchQueue.scala
IndexMapping.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/AluExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/JumpExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Wb.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Fence.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Multiplier.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Radix2Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT4Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FDivSqrt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FMA.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToInt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPUSubModule.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/IntToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/util/CSA.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/util/CSRConst.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/BypassNetwork.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/DataArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/PayloadArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/SelectPolicy.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/StatusArray.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/WakeupQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/BusyTable.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/FreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/RenameTable.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/AMOALU.scala
/XiangShan/src/main/scala/xiangshan/cache/AtomicsReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/DCache.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/ICache.scala
/XiangShan/src/main/scala/xiangshan/cache/ICacheMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/InstrUncache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1Cache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/LoadPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/Mem.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/Probe.scala
/XiangShan/src/main/scala/xiangshan/cache/StoreReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/TLB.scala
/XiangShan/src/main/scala/xiangshan/cache/Uncache.scala
/XiangShan/src/main/scala/xiangshan/cache/WritebackQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/BestOffsetPrefetch.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L1plusPrefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L2Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/StreamPrefetch.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Bim.scala
/XiangShan/src/main/scala/xiangshan/frontend/Btb.scala
/XiangShan/src/main/scala/xiangshan/frontend/FakeICache.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/LoopBuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/LoopPredictor.scala
/XiangShan/src/main/scala/xiangshan/frontend/PreDecode.scala
/XiangShan/src/main/scala/xiangshan/frontend/RAS.scala
/XiangShan/src/main/scala/xiangshan/frontend/SC.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/frontend/jbtac.scala
/XiangShan/src/main/scala/xiangshan/frontend/uBTB.scala
/XiangShan/src/main/scala/xiangshan/mem/MaskedDataModule.scala
/XiangShan/src/main/scala/xiangshan/mem/MemUtils.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/FakeSbuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/NewSbuffer.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/main/scala/xstransforms/PrintModuleName.scala
/XiangShan/src/main/scala/xstransforms/ShowPrintTransform.scala
/XiangShan/src/test/csrc/common/axi4.cpp
/XiangShan/src/test/csrc/common/axi4.h
/XiangShan/src/test/csrc/common/common.cpp
/XiangShan/src/test/csrc/common/common.h
/XiangShan/src/test/csrc/common/compress.cpp
/XiangShan/src/test/csrc/common/compress.h
/XiangShan/src/test/csrc/common/device.cpp
/XiangShan/src/test/csrc/common/device.h
/XiangShan/src/test/csrc/common/flash.cpp
/XiangShan/src/test/csrc/common/flash.h
/XiangShan/src/test/csrc/common/keyboard.cpp
/XiangShan/src/test/csrc/common/macro.h
/XiangShan/src/test/csrc/common/ram.cpp
/XiangShan/src/test/csrc/common/ram.h
/XiangShan/src/test/csrc/common/sdcard.cpp
/XiangShan/src/test/csrc/common/sdcard.h
/XiangShan/src/test/csrc/common/uart.cpp
/XiangShan/src/test/csrc/common/vga.cpp
/XiangShan/src/test/csrc/difftest/difftest.cpp
/XiangShan/src/test/csrc/difftest/difftest.h
/XiangShan/src/test/csrc/difftest/goldenmem.cpp
/XiangShan/src/test/csrc/difftest/goldenmem.h
/XiangShan/src/test/csrc/difftest/interface.cpp
/XiangShan/src/test/csrc/difftest/interface.h
/XiangShan/src/test/csrc/difftest/nemuproxy.cpp
/XiangShan/src/test/csrc/difftest/nemuproxy.h
/XiangShan/src/test/csrc/difftest/ref.cpp
/XiangShan/src/test/csrc/difftest/ref.h
/XiangShan/src/test/csrc/vcs/main.cpp
/XiangShan/src/test/csrc/verilator/emu.cpp
/XiangShan/src/test/csrc/verilator/emu.h
/XiangShan/src/test/csrc/verilator/main.cpp
/XiangShan/src/test/csrc/verilator/snapshot.cpp
/XiangShan/src/test/csrc/verilator/snapshot.h
/XiangShan/src/test/scala/cache/CacheTest.scala
/XiangShan/src/test/scala/cache/L1DTest/CoreAgent.scala
/XiangShan/src/test/scala/cache/L1DTest/CoreTransatcion.scala
/XiangShan/src/test/scala/cache/L1DTest/L1DTest.scala
/XiangShan/src/test/scala/cache/L1plusCacheTest.scala
/XiangShan/src/test/scala/cache/L2CacheNonInclusiveGetTest.scala
/XiangShan/src/test/scala/cache/L2CacheTest.scala
/XiangShan/src/test/scala/cache/ReplaceTest.scala
/XiangShan/src/test/scala/cache/TLCTest/BigIntUtil.scala
/XiangShan/src/test/scala/cache/TLCTest/FixedBlockFuzzer.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCAgent.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCTest.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCTransaction.scala
/XiangShan/src/test/scala/cache/TLCTest/TLMasterMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLSlaveMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLULAgent.scala
/XiangShan/src/test/scala/cache/TLCTest/TLULMMIO.scala
/XiangShan/src/test/scala/cache/UnalignedGetTest.scala
/XiangShan/src/test/scala/top/SimMMIO.scala
/XiangShan/src/test/scala/top/SimTop.scala
/XiangShan/src/test/scala/xiangshan/testutils/AddSinks.scala
/XiangShan/src/test/scala/xiangshan/testutils/PartialDecoupledDriver.scala
/XiangShan/src/test/scala/xiangshan/testutils/TestCaseGenerator.scala
/XiangShan/src/test/testcase/Makefile
/XiangShan/src/test/testcase/tests/double-loop.c
/XiangShan/src/test/testcase/tests/nested-loop.c
/XiangShan/src/test/vsrc/common/assert.v
/XiangShan/src/test/vsrc/common/difftest.v
/XiangShan/src/test/vsrc/common/ram.v
/XiangShan/src/test/vsrc/common/ref.v
/XiangShan/src/test/vsrc/vcs/top.v
/XiangShan/tools/readmemh/Makefile
/XiangShan/tools/readmemh/gen-treadle-readmemh.c
/XiangShan/tools/readmemh/groupby-4byte.c
/XiangShan/tools/readmemh/split-readmemh.c
/XiangShan/vcs.mk
/XiangShan/verilator.mk
de169c6711-May-2021 William Wang <[email protected]>

backend,mem: add Store Sets memory dependence predictor (#796)

* LoadQueue: send stFtqIdx via rollback request

* It will make it possible for setore set to update its SSIT

* StoreSet: setup st

backend,mem: add Store Sets memory dependence predictor (#796)

* LoadQueue: send stFtqIdx via rollback request

* It will make it possible for setore set to update its SSIT

* StoreSet: setup store set update req

* StoreSet: add store set identifier table (SSIT)

* StoreSet: add last fetched store table (LFST)

* StoreSet: put SSIT into decode stage

* StoreSet: put LFST into dispatch1

* Future work: optimize timing

* RS: store rs now supports delayed issue

* StoreSet: add perf counter

* StoreSet: fix SSIT update logic

* StoreSet: delay LFST update input for 1 cycle

* StoreSet: fix LFST update logic

* StoreSet: fix LFST raddr width

* StoreSet: do not force store in ss issue in order

Classic store set requires store in the same store set issue in seq.
However, in current micro-architecture, such restrict will lead to
severe perf lost. We choose to disable it until we find another way
to fix it.

* StoreSet: support ooo store in the same store set

* StoreSet: fix store set merge logic

* StoreSet: check earlier store when read LFST

* If store-load pair is in the same dispatch bundle, loadWaitBit should
also be set for load

* StoreSet: increase default SSIT flush period

* StoreSet: fix LFST read logic

* Fix commit c0e541d14

* StoreSet: add StoreSetEnable parameter

* RSFeedback: add source type

* StoreQueue: split store addr and store data

* StoreQueue: update ls forward logic

* Now it supports splited addr and data

* Chore: force assign name for load/store unit

* RS: add rs'support for store a-d split

* StoreQueue: fix stlf logic

* StoreQueue: fix addr wb sq update logic

* AtomicsUnit: support splited a/d

* Parameters: disable store set by default

* WaitTable: wait table will not cause store delay

* WaitTable: recover default reset period to 2^17

* Fix dev-stad merge conflict

* StoreSet: enable storeset

* RS: disable store rs delay logic

CI perf shows that current delay logic will cause perf loss. Disable
unnecessary delay logic will help.

To be more specific, `io.readyVec` caused the problem. It will be
updated in future commits.

* RS: opt select logic with load delay (ldWait)

* StoreSet: disable 2-bit lwt

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

show more ...

2bd5334d09-May-2021 Yinan Xu <[email protected]>

bundle: use Vec for src in ExuInput (#805)

This commit replaces src1, src2, src3 in Bundle ExuInput with Vec(3, UInt).
Should be easier for RS.


/XiangShan/.github/workflows/emu.yml
/XiangShan/.gitignore
/XiangShan/Makefile
/XiangShan/scripts/xiangshan.py
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/ArgParser.scala
/XiangShan/src/main/scala/top/Configs.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
Dispatch2Fp.scala
Dispatch2Int.scala
Dispatch2Ls.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/AluExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Wb.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT4Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/test/csrc/vcs/main.cpp
/XiangShan/src/test/scala/top/SimTop.scala
/XiangShan/src/test/scala/xiangshan/testutils/TestCaseGenerator.scala
/XiangShan/src/test/vsrc/common/assert.v
/XiangShan/src/test/vsrc/common/difftest.v
/XiangShan/src/test/vsrc/common/ram.v
/XiangShan/src/test/vsrc/common/ref.v
/XiangShan/src/test/vsrc/vcs/top.v
/XiangShan/vcs.mk
/XiangShan/verilator.mk
fd13f5ed05-May-2021 Yinan Xu <[email protected]>

dispatch1: allow enq.ready when !enq.valid (#799)

695364a304-May-2021 Yinan Xu <[email protected]>

DispatchQueue: wrap around tailPtr index when redirect (#800)

This commit fixes the bug when redirect.valid and the last valid instruction is in the last slot.
Previously the tailPtr becomes size.U

DispatchQueue: wrap around tailPtr index when redirect (#800)

This commit fixes the bug when redirect.valid and the last valid instruction is in the last slot.
Previously the tailPtr becomes size.U when there're no instructions before headPtr. It works fine
when DispatchQueueSize is power2.

show more ...

20e31bd101-May-2021 Yinan Xu <[email protected]>

bundle,uop: use Vec for lsrc, psrc, srcState and srcType (#797)

This commit uses Vec for lsrc, psrc, srcState and srcType in MicroOp bundle.
This makes uop easier to access.


/XiangShan/Makefile.emu
/XiangShan/block-inclusivecache-sifive
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/utils/TLIgnoreNode.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
Dispatch1.scala
Dispatch2Fp.scala
Dispatch2Int.scala
Dispatch2Ls.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Fence.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/PTW.scala
/XiangShan/src/main/scala/xiangshan/mem/MemUtils.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/NewSbuffer.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/test/csrc/common/ram.cpp
/XiangShan/src/test/csrc/common/ram.h
/XiangShan/src/test/csrc/difftest/difftest.cpp
/XiangShan/src/test/csrc/difftest/difftest.h
/XiangShan/src/test/csrc/difftest/nemuproxy.cpp
/XiangShan/src/test/csrc/difftest/ref.cpp
/XiangShan/src/test/csrc/difftest/ref.h
/XiangShan/src/test/csrc/verilator/emu.cpp
/XiangShan/src/test/csrc/verilator/emu.h
/XiangShan/src/test/csrc/verilator/main.cpp
/XiangShan/src/test/vsrc/ref.v
1fe0b52426-Apr-2021 Yinan Xu <[email protected]>

dispatch2: add detailed histogram counters for int/fp/ls regfile ports (#788)

a338f24722-Apr-2021 Yinan Xu <[email protected]>

Add dispatch and issue performance counters (#770)

In this commit, we add performance counters for dispatch and issue stages
to track the number of instructions dispatched and issued. Active regfil

Add dispatch and issue performance counters (#770)

In this commit, we add performance counters for dispatch and issue stages
to track the number of instructions dispatched and issued. Active regfile
read ports are counted as ready instruction source registers.

show more ...

2225d46e19-Apr-2021 Jiawei Lin <[email protected]>

Refactor parameters, SimTop and difftest (#753)

* difftest: use DPI-C to refactor difftest

In this commit, difftest is refactored with DPI-C calls.
There're a few reasons:
(1) From Verilator's

Refactor parameters, SimTop and difftest (#753)

* difftest: use DPI-C to refactor difftest

In this commit, difftest is refactored with DPI-C calls.
There're a few reasons:
(1) From Verilator's manual, DPI-C calls should be more efficient than accessing from dut_ptr.
(2) DPI-C is cross-platform (Verilator, VCS, ...)
(3) difftest APIs are splited from emu.cpp to possibly support more backend platforms
(NEMU, Spike, ...)

The performance at this commit is quite slower than the original emu.
Performance issues will be fixed later.

* [WIP] SimTop: try to use 'XSTop' as soc

* CircularQueuePtr: ues F-bounded polymorphis instead implict helper

* Refactor parameters & Clean up code

* difftest: support basic difftest

* Support diffetst in new sim top

* Difftest; convert recode fmt to ieee754 when comparing fp regs

* Difftest: pass sign-ext pc to dpic functions && fix exception pc

* Debug: add int/exc inst wb to debug queue

* Difftest: pass sign-ext pc to dpic functions && fix exception pc

* Difftest: fix naive commit num limit

Co-authored-by: Yinan Xu <[email protected]>
Co-authored-by: William Wang <[email protected]>

show more ...


/XiangShan/Makefile
/XiangShan/Makefile.emu
/XiangShan/block-inclusivecache-sifive
/XiangShan/src/main/scala/device/AXI4Plic.scala
/XiangShan/src/main/scala/device/AXI4RAM.scala
/XiangShan/src/main/scala/device/AXI4UART.scala
/XiangShan/src/main/scala/device/TLTimer.scala
/XiangShan/src/main/scala/difftest/Difftest.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/utils/CircularQueuePtr.scala
/XiangShan/src/main/scala/utils/LogUtils.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/utils/ResetGen.scala
/XiangShan/src/main/scala/utils/TLDump.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/PMA.scala
/XiangShan/src/main/scala/xiangshan/Parameters.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/CtrlBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeStage.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/FPDecoder.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/WaitTable.scala
Dispatch.scala
Dispatch1.scala
Dispatch2Fp.scala
Dispatch2Int.scala
Dispatch2Ls.scala
DispatchQueue.scala
IndexMapping.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/AluExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmacExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/FmiscExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/JumpExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/MulDivExeUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Wb.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Fence.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/FunctionUnit.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Multiplier.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Radix2Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT4Divider.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FDivSqrt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FMA.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPToInt.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FPUSubModule.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/IntToFP.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/util/CSRConst.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/BusyTable.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/FreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/RenameTable.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/AtomicsReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/DCache.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/ICache.scala
/XiangShan/src/main/scala/xiangshan/cache/ICacheMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/InstrUncache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1Cache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/LoadPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/Probe.scala
/XiangShan/src/main/scala/xiangshan/cache/StoreReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/TLB.scala
/XiangShan/src/main/scala/xiangshan/cache/Uncache.scala
/XiangShan/src/main/scala/xiangshan/cache/WritebackQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/BestOffsetPrefetch.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L1plusPrefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L2Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/StreamPrefetch.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Bim.scala
/XiangShan/src/main/scala/xiangshan/frontend/Btb.scala
/XiangShan/src/main/scala/xiangshan/frontend/FakeICache.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/LoopPredictor.scala
/XiangShan/src/main/scala/xiangshan/frontend/PreDecode.scala
/XiangShan/src/main/scala/xiangshan/frontend/RAS.scala
/XiangShan/src/main/scala/xiangshan/frontend/SC.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/frontend/jbtac.scala
/XiangShan/src/main/scala/xiangshan/frontend/uBTB.scala
/XiangShan/src/main/scala/xiangshan/mem/MaskedDataModule.scala
/XiangShan/src/main/scala/xiangshan/mem/MemUtils.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueueData.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/FakeSbuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/NewSbuffer.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/test/csrc/common/axi4.cpp
/XiangShan/src/test/csrc/common/axi4.h
/XiangShan/src/test/csrc/common/common.cpp
/XiangShan/src/test/csrc/common/common.h
/XiangShan/src/test/csrc/common/compress.cpp
/XiangShan/src/test/csrc/common/compress.h
/XiangShan/src/test/csrc/common/device.cpp
/XiangShan/src/test/csrc/common/device.h
/XiangShan/src/test/csrc/common/flash.cpp
/XiangShan/src/test/csrc/common/flash.h
/XiangShan/src/test/csrc/common/keyboard.cpp
/XiangShan/src/test/csrc/common/macro.h
/XiangShan/src/test/csrc/common/ram.cpp
/XiangShan/src/test/csrc/common/ram.h
/XiangShan/src/test/csrc/common/sdcard.cpp
/XiangShan/src/test/csrc/common/sdcard.h
/XiangShan/src/test/csrc/common/uart.cpp
/XiangShan/src/test/csrc/common/vga.cpp
/XiangShan/src/test/csrc/difftest/difftest.cpp
/XiangShan/src/test/csrc/difftest/difftest.h
/XiangShan/src/test/csrc/difftest/goldenmem.cpp
/XiangShan/src/test/csrc/difftest/goldenmem.h
/XiangShan/src/test/csrc/difftest/interface.cpp
/XiangShan/src/test/csrc/difftest/interface.h
/XiangShan/src/test/csrc/difftest/nemuproxy.cpp
/XiangShan/src/test/csrc/difftest/nemuproxy.h
/XiangShan/src/test/csrc/verilator/emu.cpp
/XiangShan/src/test/csrc/verilator/emu.h
/XiangShan/src/test/csrc/verilator/main.cpp
/XiangShan/src/test/csrc/verilator/snapshot.cpp
/XiangShan/src/test/csrc/verilator/snapshot.h
/XiangShan/src/test/scala/cache/L1DTest/L1DTest.scala
/XiangShan/src/test/scala/cache/L1plusCacheTest.scala
/XiangShan/src/test/scala/cache/L2CacheNonInclusiveGetTest.scala
/XiangShan/src/test/scala/cache/L2CacheTest.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCTest.scala
/XiangShan/src/test/scala/cache/TLCTest/TLMasterMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLSlaveMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLULMMIO.scala
/XiangShan/src/test/scala/cache/UnalignedGetTest.scala
/XiangShan/src/test/scala/top/SimMMIO.scala
/XiangShan/src/test/scala/top/SimTop.scala
/XiangShan/src/test/vsrc/difftest.v
b7b0d6c105-Apr-2021 ljw <[email protected]>

CircularQueuePtr: use F-bounded polymorphism instead of implicit helper (#750)


/XiangShan/.github/workflows/emu.yml
/XiangShan/Makefile
/XiangShan/berkeley-hardfloat
/XiangShan/block-inclusivecache-sifive
/XiangShan/build.sc
/XiangShan/src/main/scala/device/AXI4Plic.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/utils/CircularQueuePtr.scala
/XiangShan/src/main/scala/utils/ResetGen.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/fpu/FDivSqrt.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/FreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/ICache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L2Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/RAS.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/test/csrc/common.cpp
/XiangShan/src/test/csrc/emu.cpp
edd6ddbc31-Mar-2021 wakafa <[email protected]>

Add some in-core hardware performance counters (#731)

* csr: remove unused input perfcnt io

* perfcnt: add some in-core hardware performance counters

* perfcnt: optimize timing for hardware pe

Add some in-core hardware performance counters (#731)

* csr: remove unused input perfcnt io

* perfcnt: add some in-core hardware performance counters

* perfcnt: optimize timing for hardware performance counters

show more ...


/XiangShan/.github/workflows/emu.yml
/XiangShan/Makefile
/XiangShan/block-inclusivecache-sifive
/XiangShan/scripts/vlsi_mem_gen
/XiangShan/src/main/scala/device/AXI4Flash.scala
/XiangShan/src/main/scala/device/AXI4SlaveModule.scala
/XiangShan/src/main/scala/device/TLTimer.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Parameters.scala
/XiangShan/src/main/scala/utils/DataDontCareNode.scala
/XiangShan/src/main/scala/utils/DebugIdentityNode.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/utils/Replacement.scala
/XiangShan/src/main/scala/utils/TLDump.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/CtrlBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
Dispatch.scala
DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/ICacheMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/InstrUncache.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/Uncache.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L1plusPrefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L2Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LSQWrapper.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/test/csrc/device.cpp
/XiangShan/src/test/csrc/difftest.cpp
/XiangShan/src/test/csrc/emu.cpp
/XiangShan/src/test/csrc/flash.cpp
/XiangShan/src/test/csrc/flash.h
/XiangShan/src/test/scala/cache/L1DTest/L1DTest.scala
/XiangShan/src/test/scala/cache/L1plusCacheTest.scala
/XiangShan/src/test/scala/cache/L2CacheNonInclusiveGetTest.scala
/XiangShan/src/test/scala/cache/L2CacheTest.scala
/XiangShan/src/test/scala/cache/TLCTest/TLCTest.scala
/XiangShan/src/test/scala/cache/TLCTest/TLMasterMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLSlaveMMIO.scala
/XiangShan/src/test/scala/cache/TLCTest/TLULMMIO.scala
/XiangShan/src/test/scala/cache/UnalignedGetTest.scala
c17003d226-Mar-2021 Allen <[email protected]>

Merge branch 'master' of github.com:RISCVERS/XiangShan

408a32b725-Mar-2021 Allen <[email protected]>

Refactor XSPerf, now we have three XSPerf Functions.
XSPerfAccumulate: sum up performance values.
XSPerfHistogram: count the occurrence of performance values, split them
into bins, so that we can est

Refactor XSPerf, now we have three XSPerf Functions.
XSPerfAccumulate: sum up performance values.
XSPerfHistogram: count the occurrence of performance values, split them
into bins, so that we can estimate their distribution.
XSPerfMax: get max of performance values.

show more ...


/XiangShan/.github/workflows/emu.yml
/XiangShan/Makefile
/XiangShan/src/main/scala/device/TLTimer.scala
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Top.scala
/XiangShan/src/main/scala/utils/LogUtils.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/xiangshan/Bundle.scala
/XiangShan/src/main/scala/xiangshan/PMA.scala
/XiangShan/src/main/scala/xiangshan/XSCore.scala
/XiangShan/src/main/scala/xiangshan/backend/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeStage.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/WaitTable.scala
Dispatch1.scala
Dispatch2Fp.scala
Dispatch2Int.scala
Dispatch2Ls.scala
DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/issue/ReservationStation.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/BusyTable.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/FreeList.scala
/XiangShan/src/main/scala/xiangshan/backend/rename/Rename.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/DCache.scala
/XiangShan/src/main/scala/xiangshan/cache/DCacheWrapper.scala
/XiangShan/src/main/scala/xiangshan/cache/ICache.scala
/XiangShan/src/main/scala/xiangshan/cache/ICacheMissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/L1plusCache.scala
/XiangShan/src/main/scala/xiangshan/cache/LoadPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MainPipe.scala
/XiangShan/src/main/scala/xiangshan/cache/MissQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/Probe.scala
/XiangShan/src/main/scala/xiangshan/cache/StoreReplayUnit.scala
/XiangShan/src/main/scala/xiangshan/cache/TLB.scala
/XiangShan/src/main/scala/xiangshan/cache/WritebackQueue.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L1plusPrefetcher.scala
/XiangShan/src/main/scala/xiangshan/cache/prefetch/L2Prefetcher.scala
/XiangShan/src/main/scala/xiangshan/frontend/BPU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Bim.scala
/XiangShan/src/main/scala/xiangshan/frontend/Btb.scala
/XiangShan/src/main/scala/xiangshan/frontend/Frontend.scala
/XiangShan/src/main/scala/xiangshan/frontend/IFU.scala
/XiangShan/src/main/scala/xiangshan/frontend/Ibuffer.scala
/XiangShan/src/main/scala/xiangshan/frontend/LoopPredictor.scala
/XiangShan/src/main/scala/xiangshan/frontend/SC.scala
/XiangShan/src/main/scala/xiangshan/frontend/Tage.scala
/XiangShan/src/main/scala/xiangshan/frontend/uBTB.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/LoadQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/lsqueue/StoreQueue.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/AtomicsUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/LoadUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/pipeline/StoreUnit.scala
/XiangShan/src/main/scala/xiangshan/mem/sbuffer/NewSbuffer.scala
/XiangShan/src/test/csrc/emu.cpp
/XiangShan/src/test/csrc/emu.h
/XiangShan/src/test/scala/top/XSSim.scala

12345678910>>...17