#
5b3c20f7 |
| 23-Jan-2022 |
JinYue <[email protected]> |
IFU <info>: add debug info for predecode redirect
|
#
d7dd1af1 |
| 05-Jan-2022 |
Li Qianruo <[email protected]> |
Debug mode: various bug fixes (#1412)
* Reduce trigger hit wires that goes into exceptiongen
* Fix frontend triggers rewriting hit wire
* Retrieved some accidentally dropped changes in branch dm-d
Debug mode: various bug fixes (#1412)
* Reduce trigger hit wires that goes into exceptiongen
* Fix frontend triggers rewriting hit wire
* Retrieved some accidentally dropped changes in branch dm-debug (mainly fixes to debug mode)
* Fix dmode in tdata1
* Fix ebreaks not causing exception in debug mode
* Fix dcsr field bugs
* Fix faulty distributed tEnable
* Fix store triggers not using vaddr
* Fix store trigger rewriting hit vector
* Initialize distributed tdata registers in MemBlock and Frontend to zero
* Fix load trigger select bit in mcontrol
* Fix singlestep bit valid in debug mode
* Mask all interrupts in debug mode
show more ...
|
#
27802204 |
| 30-Dec-2021 |
rvcoresjw <[email protected]> |
add reset value of distribute trigger csrs at memory and frontend block.
|
#
6e208dd8 |
| 20-Dec-2021 |
Li Qianruo <[email protected]> |
Merge branch 'master' into trigger
|
#
a4e57ea3 |
| 20-Dec-2021 |
Li Qianruo <[email protected]> |
Merge branch 'master' into trigger
|
#
ddb65c47 |
| 16-Dec-2021 |
Li Qianruo <[email protected]> |
Trigger: hardwire timing to 1
We have singlestep already so triggers do not need to hit after inst commits
|
#
a1351e5d |
| 16-Dec-2021 |
Jay <[email protected]> |
Fix false hit bug after IFU timing optimization (#1367)
* fix invalidTakenFault use wrong seqTarget
* IFU: fix oversize bug
* ctrl: mark all flushes as level.flush for frontend
This commit
Fix false hit bug after IFU timing optimization (#1367)
* fix invalidTakenFault use wrong seqTarget
* IFU: fix oversize bug
* ctrl: mark all flushes as level.flush for frontend
This commit changes how flushes behave for frontend.
When ROB commits an instruction with a flush, we notify the frontend
of the flush without the commit.
Flushes to frontend may be delayed by some cycles and commit before
flush causes errors. Thus, we make all flush reasons to behave the
same as exceptions for frontend, that is, RedirectLevel.flush.
* IFU: exclude lastTaken situation when judging beyond fetch
Co-authored-by: Yinan Xu <[email protected]>
show more ...
|
#
2a3050c2 |
| 14-Dec-2021 |
Jay <[email protected]> |
Optimize IFU and PreDecode timing (#1347)
* ICache: add ReplacePipe for Probe & Release
* remove ProbeUnit
* Probe & Release enter ReplacePipe
* fix bugs when running Linux on MinimalConfi
Optimize IFU and PreDecode timing (#1347)
* ICache: add ReplacePipe for Probe & Release
* remove ProbeUnit
* Probe & Release enter ReplacePipe
* fix bugs when running Linux on MinimalConfig
* TODO: set conflict for ReplacePipe
* ICache: fix ReplacePipe invalid write bug
* chores: code clean up
* IFU: optimize timing
* PreDecode: separate into 2 module for timing optimization
* IBuffer: add enqEnable to replace valid for timing
* IFU/ITLB: optimize timing
* IFU: calculate cut_ptr in f1
* TLB: send req in f1 and wait resp in f2
* ICacheMainPipe: add tlb miss logic in s0
* Optimize IFU timing
* IFU: fix lastHalfRVI bug
* IFU: fix performance bug
* IFU: optimize MMIO commit timing
* IFU: optmize trigger timing and add frontendTrigger
* fix compile error
* IFU: fix mmio stuck bug
show more ...
|
#
84e47f35 |
| 09-Dec-2021 |
Li Qianruo <[email protected]> |
Refactor trigger
|
#
1d8f4dcb |
| 28-Nov-2021 |
Jay <[email protected]> |
ICache: Add tilelink consistency modification (#1228)
* ICache: metaArray & dataArray use bank interleave
* ICache: add bank interleave
* ICache: add parity check for meta and data arrays
*
ICache: Add tilelink consistency modification (#1228)
* ICache: metaArray & dataArray use bank interleave
* ICache: add bank interleave
* ICache: add parity check for meta and data arrays
* IFU: fix bug in secondary miss
* secondary miss doesn't send miss request to miss queue
* ICache: write back cancled miss request
* ICacheMissEntry: add second miss merge
* deal with situations that this entry has been flushed, and the next miss req just
requests the same cachline.
* ICache: add acquireBlock and GrantAck support
* refact: move icache modules to frontend modules
* ICache: add release surport and meta coh
* ICache: change Get to AcquireBlock for A channel
* rebuild: change ICachePara package for other file
* ICache: add tilelogger for L1I
* ICahce: add ProbeQueue and Probe Process Unit
* ICache: add support for ProbeData
* ICahceParameter: change tag code to ECC
* ICahce: fix bugs in connect and ProbeUnit
* metaArray/dataArray responses are not connected
* ProbeUnit use reg so data and req are not synchronized
* RealeaseUnit: write back mata when voluntary
* Add ICache CacheInstruction
* move ICache to xiangshan.frontend.icache._
* ICache: add CacheOpDecoder
* change ICacheMissQueue to ICacheMissUnit
* ProbeUnit: fix meta data not latch bug
* IFU: delete releaseSlot and add missSlot
* IFU: fix bugs in missSlot state machine
* IFU: fix some bugs in miss Slot
* IFU: move out fetch to ICache Array logic
* ReleaseUnit: delete release write logic
* MissUnit: send Release to ReleaseUnit after GAck
* ICacheMainPipe: add mainpipe and stop logic
* when f3_ready is low, stop the pipeline
* IFU: move tlb and array access to mainpipe
* Modify Frontend and ICache top for mainpipe
* ReleaseUnit: add probe merge status register
* ICache: add victim info and release in mainpipe
* ICahche: add set-conflict logic
* Release: do not invalid meta after sending release
* bump Huancun: fix probe problem
* bump huancun for MinimalConfig combinational loop
* ICache: add LICENSE for new files
* Chore: remove debug code and add perf counter
* Bump huancun for bug fix
* Bump HuanCun for alias bug
* ICache: add dirty state for CliendMeta
show more ...
|
#
72951335 |
| 15-Nov-2021 |
Li Qianruo <[email protected]> |
Trigger Implementation for Debug Mode (#1170)
* Untested Trigger Implementation
Co-authored-by: William Wang <[email protected]>
Co-authored-by: Lingrui98 <[email protected]>
Co-autho
Trigger Implementation for Debug Mode (#1170)
* Untested Trigger Implementation
Co-authored-by: William Wang <[email protected]>
Co-authored-by: Lingrui98 <[email protected]>
Co-authored-by: rvcoresjw <[email protected]>
show more ...
|
#
2fa0909e |
| 14-Nov-2021 |
Jay <[email protected]> |
PreDecode: rule out taken when beyond fetch (#1222)
* assuming that beyond fetch => oversize
|
#
aa695f76 |
| 09-Nov-2021 |
Jay <[email protected]> |
PreDecode: add beyond fetch condition solution (#1207)
* PreDecode: fix beyond fetch bug
* Fallthrough address === startAddress + 34 Bytes and the 17th 2 Bytes is an RVC instruction, which will b
PreDecode: add beyond fetch condition solution (#1207)
* PreDecode: fix beyond fetch bug
* Fallthrough address === startAddress + 34 Bytes and the 17th 2 Bytes is an RVC instruction, which will be missing when sending to ibuffer
* PreDecode: fix target when beyond fetch happen
show more ...
|
#
855327c3 |
| 04-Nov-2021 |
Steve Gou <[email protected]> |
Merge pull request #1198 from OpenXiangShan/fix-crossline-falsehit
PreDecode: fix cross-line false hit condition
|
#
3d9bf28b |
| 04-Nov-2021 |
Steve Gou <[email protected]> |
Merge pull request #1191 from OpenXiangShan/JWrong-bug-fix
Predecode: Fixed the bug that Predecode did not compare jal offset wh…
|
#
91d4493c |
| 04-Nov-2021 |
JinYue <[email protected]> |
PreDecode: fix cross-line false hit condition
|
#
1176b4b4 |
| 31-Oct-2021 |
zoujr <[email protected]> |
Predecode: Fixed the bug that Predecode did not compare jal offset when predicting taken
|
#
43db608c |
| 01-Nov-2021 |
Jay <[email protected]> |
PreDecode: fix crossPageFault not raise page fault bug (#1190)
|
#
3192c9b0 |
| 26-Oct-2021 |
Jay <[email protected]> |
Predecoder: fix pagefult condition (#1174)
* pc which is the start of a pagefault cacheline was not treated as page fault
|
#
9aca92b9 |
| 28-Sep-2021 |
Yinan Xu <[email protected]> |
misc: code clean up (#1073)
* rename Roq to Rob
* remove trailing whitespaces
* remove unused parameters
|
#
09c6f1dd |
| 01-Sep-2021 |
Lingrui98 <[email protected]> |
frontend: code clean ups
|
#
0659cc94 |
| 01-Sep-2021 |
Lingrui98 <[email protected]> |
frontend: remove deprecated code
|
#
f06ca0bf |
| 13-Jul-2021 |
Lingrui98 <[email protected]> |
[WIP] finish ftq logic and fix syntax errors
* Now can pass compiling.
[WIP] comment out-of-date code in frontend
[WIP] move NewFtq to xiangshan.frontend and rename class to Ftq
Ibuffer: update s
[WIP] finish ftq logic and fix syntax errors
* Now can pass compiling.
[WIP] comment out-of-date code in frontend
[WIP] move NewFtq to xiangshan.frontend and rename class to Ftq
Ibuffer: update sigal names for new IFU
[WIP] remove redundant NewFrontend
[WIP] set entry_fetch_status to f_sent once send req to buf
Fix syntax error in IFU
Fix syntax error in IFU/ICache/Ibuffer
[WIP] indent fix in ftq
BPU: Move GlobalHistory define from IFU.scala to BPU.scala
[WIP] fix some compilation errors
BPU: Remove HasIFUConst and move some bundles from BPU.scala to frontendBundle.scala
[WIP] fix some compilation errors
[WIP] rename ftq-bpu ios
[WIP] recover some const definitions
[WIP] fix some compilation errors
[WIP]connect some IOs in frontend
BPU: fix syntax error
[WIP] fix compilation errors in predecode
BPU: fix RAS syntax error
[WIP] add some simulation perf counters back
BPU: Remove numBr redefine in ubtb and bim
show more ...
|
#
c6d43980 |
| 04-Jun-2021 |
Lemover <[email protected]> |
Add MulanPSL-2.0 License (#824)
In this commit, we add License for XiangShan project.
|
#
2225d46e |
| 19-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 ...
|