History log of /XiangShan/src/main/scala/xiangshan/backend/issue/ (Results 451 – 475 of 794)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch1.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Fp.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Int.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Ls.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/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
BypassNetwork.scala
DataArray.scala
PayloadArray.scala
ReservationStation.scala
SelectPolicy.scala
StatusArray.scala
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
cdd42b7618-Jul-2021 Yinan Xu <[email protected]>

backend,rs: add isFirstIssue flags in status entries (#888)

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/LICENSE
/XiangShan/Makefile
/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/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
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch1.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Fp.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Int.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Ls.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/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
BypassNetwork.scala
DataArray.scala
PayloadArray.scala
ReservationStation.scala
SelectPolicy.scala
StatusArray.scala
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
29a0599e27-May-2021 Yinan Xu <[email protected]>

backend, rs: support multiple enqueue and dequeue instructions (#820)

* backend,RS: add numEnq parameter to allow multiple enqueue instructions

* backend,RS: support multiple issue instructions a

backend, rs: support multiple enqueue and dequeue instructions (#820)

* backend,RS: add numEnq parameter to allow multiple enqueue instructions

* backend,RS: support multiple issue instructions at each cycle

show more ...

5c7674fe15-May-2021 Yinan Xu <[email protected]>

backend,RS: rewrite RS to optimize timing (#812)

* test,vcs: call $finish when difftest fails

* backend,RS: refactor with more submodules

This commit rewrites the reservation station in a more

backend,RS: rewrite RS to optimize timing (#812)

* test,vcs: call $finish when difftest fails

* backend,RS: refactor with more submodules

This commit rewrites the reservation station in a more configurable style.

The new RS has not finished.
- Support only integer instructions
- Feedback from load/store instructions is not supported
- Fast wakeup for multi-cycle instructions is not supported
- Submodules are refined later

* RS: use wakeup signals from arbiter.out

* RS: support feedback and re-schedule when needed

For load and store reservation stations, the instructions that left RS before may be
replayed later.

* test,vcs: check difftest_state and return on nemu trap instructions

* backend,RS: support floating-point operands and delayed regfile read for store RS

This commit adds support for floating-point instructions in reservation stations.
Beside, currently fp data for store operands come a cycle later than int data. This
feature is also supported.

Currently the RS should be ready for any circumstances.

* rs,status: don't trigger assertions when !status.valid

* test,vcs: add +workload option to specify the ram init file

* backend,rs: don't enqueue when redirect.valid or flush.valid

* backend,rs: support wait bit that instruction waits until store issues

This commit adds support for wait bit, which is mainly used in load and
store reservation stations to delay instruction issue until the corresponding
store instruction issued.

* backend,RS: optimize timing

This commit optimizes BypassNetwork and PayloadArray timing.

- duplicate bypass mask to avoid too many FO4
- use one-hot vec to get read data

show more ...


/XiangShan/.mill-version
/XiangShan/Makefile
/XiangShan/README.md
/XiangShan/block-inclusivecache-sifive
/XiangShan/build.sc
/XiangShan/rocket-chip
/XiangShan/src/main/scala/system/SoC.scala
/XiangShan/src/main/scala/top/Configs.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/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/MemBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/exu/Exu.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/CSR.scala
BypassNetwork.scala
DataArray.scala
PayloadArray.scala
ReservationStation.scala
SelectPolicy.scala
StatusArray.scala
WakeupQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/regfile/Regfile.scala
/XiangShan/src/main/scala/xiangshan/backend/roq/Roq.scala
/XiangShan/src/main/scala/xiangshan/cache/ICache.scala
/XiangShan/src/main/scala/xiangshan/cache/PTW.scala
/XiangShan/src/main/scala/xiangshan/cache/TLB.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/sbuffer/NewSbuffer.scala
/XiangShan/src/main/scala/xiangshan/package.scala
/XiangShan/src/test/csrc/vcs/main.cpp
/XiangShan/src/test/vsrc/vcs/top.v
/XiangShan/vcs.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/dispatch/Dispatch2Fp.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Int.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/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/fu/Alu.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/Jump.scala
/XiangShan/src/main/scala/xiangshan/backend/fu/SRT4Divider.scala
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/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
22deac3a06-May-2021 Lemover <[email protected]>

Backend: add mul to fast wakeup (#769)

* [WIP] Backend: add mul to fast wake-up

* Backend: handle mul wb priority and fix wrong delay

* RS: devide fastwakeup and nonBlocked(they were binded)

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.

1b7adedc30-Apr-2021 William Wang <[email protected]>

MemBlock: split store addr and store data (#781)

* RSFeedback: add source type

* StoreQueue: split store addr and store data

* StoreQueue: update ls forward logic

* Now it supports splited

MemBlock: split store addr and store data (#781)

* 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

* StoreQueue: add sbuffer enq condition assertion

Store data op (std) may still be invalid after store addr op's (sta)
commitment, so datavalid needs to be checked before commiting
store data to sbuffer

Note that at current commit a non-completed std op for a
commited store may exist. We should make sure that uop
will not be cancelled by a latter branch mispredict. More work
to be done!

* Roq: add std/sta split writeback logic

Now store will commit only if both sta & std have been writebacked

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

show more ...

b6220f0d29-Apr-2021 Lemover <[email protected]>

Perf: add perf counter to record rs wake up source (#792)

7eaa9f4721-Apr-2021 Lemover <[email protected]>

RS: fix mixed usage of ISSQUESIZE and iqSize (#764)

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

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
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch1.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Fp.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Int.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Ls.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/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
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/scripts/vlsi_mem_gen
/XiangShan/src/main/scala/device/AXI4Flash.scala
/XiangShan/src/main/scala/device/AXI4Plic.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/top/Top.scala
/XiangShan/src/main/scala/utils/CircularQueuePtr.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/ResetGen.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
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/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
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/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/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/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/LSQWrapper.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/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

d24601cc26-Mar-2021 Lemover <[email protected]>

RS: fix bug that fp src's flushed enqueue conflicts with next enqueue (#715)

* RS: fix bug that fp src's flushed enqueue conflicts with next enqueue

* RS: fix bug that ctrl's flushed enqueue conf

RS: fix bug that fp src's flushed enqueue conflicts with next enqueue (#715)

* RS: fix bug that fp src's flushed enqueue conflicts with next enqueue

* RS: fix bug that ctrl's flushed enqueue conflicts with next enqueue

show more ...

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/src/main/scala/utils/LogUtils.scala
/XiangShan/src/main/scala/utils/PerfCounterUtils.scala
/XiangShan/src/main/scala/xiangshan/backend/FloatBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/IntegerBlock.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/DecodeStage.scala
/XiangShan/src/main/scala/xiangshan/backend/decode/WaitTable.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch1.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Fp.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Int.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/Dispatch2Ls.scala
/XiangShan/src/main/scala/xiangshan/backend/dispatch/DispatchQueue.scala
/XiangShan/src/main/scala/xiangshan/backend/ftq/Ftq.scala
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/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/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/LoadUnit.scala
e90e268725-Mar-2021 wakafa <[email protected]>

Perf: add queue perf analysis utility (#714)

* perf: set acc arg of XSPerf as false by default

* perf: add write-port competition counter for intBlock & floatBlock

* perf: remove prefix of per

Perf: add queue perf analysis utility (#714)

* perf: set acc arg of XSPerf as false by default

* perf: add write-port competition counter for intBlock & floatBlock

* perf: remove prefix of perf signal

* perf: add perf-cnt for interface between frontend & backend

* perf: modify perf-cnt for prefetchers

* Ftq: bypass 'commit state' to fix dequeue bug

* perf: uptimize perf-cnt in ctrlblock & ftq

* perf: fix compilation problem in ftq

* perf: remove duplicate perf-cnt

* perf: calcu extra walk cycle exceeding frontend flush bubble

* Revert "perf: calcu extra walk cycle exceeding frontend flush bubble"

This reverts commit 2c30e9896b6af93a34e2d8d78055d810ebd0ac70.

* perf: add perf-cnt for ifu

* perf: add perf-cnt for rs

* RS: optimize numExist signal

* RS: fix some typo

* perf: add QueuePerf util to monitor usage info of queues

* perf: remove some duprecate perfcnt

show more ...

6170426824-Mar-2021 Lemover <[email protected]>

RS: every rs has its own iqSize now (#710)

f432c81424-Mar-2021 ljw <[email protected]>

ReservationStation: fixed incorrect use of 'pc' (#709)

fb9ab42222-Mar-2021 Lemover <[email protected]>

RS: add some signals' init value (#703)

ee46cd6e13-Mar-2021 Lemover <[email protected]>

RS & DTLB: fix bug of dtlb's hit perf counter (#689)

just record the tlb result(access and miss) of first issue by add
signal isFirstIssue (isFirstIssue = cntCountQueue(i) === 0.U)

1...<<11121314151617181920>>...32