#
f320e0f0 |
| 24-Jul-2021 |
Yinan Xu <[email protected]> |
misc: update PCL information (#899)
XiangShan is jointly released by ICT and PCL.
|
#
c6d43980 |
| 04-Jun-2021 |
Lemover <[email protected]> |
Add MulanPSL-2.0 License (#824)
In this commit, we add License for XiangShan project.
|
#
5c7674fe |
| 15-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 ...
|
#
22deac3a |
| 06-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)
|
#
b6220f0d |
| 29-Apr-2021 |
Lemover <[email protected]> |
Perf: add perf counter to record rs wake up source (#792)
|
#
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 ...
|
#
6d55c557 |
| 02-Feb-2021 |
William Wang <[email protected]> |
Merge remote-tracking branch 'origin/temp-mem-timing-merge' into mem-timing
|
#
423b9255 |
| 31-Jan-2021 |
William Wang <[email protected]> |
PMA: fix pma check logic
|
#
8f77f081 |
| 28-Jan-2021 |
Yinan Xu <[email protected]> |
Merge remote-tracking branch 'origin/master' into opt-exception
|
#
0f9d3717 |
| 25-Jan-2021 |
Yinan Xu <[email protected]> |
dispatch1: fix commitType
|
#
2d7c7105 |
| 25-Jan-2021 |
Yinan Xu <[email protected]> |
redirect: split conditional redirect and unconditional redirect
|
#
100aa93c |
| 24-Jan-2021 |
Yinan Xu <[email protected]> |
busyTable,srcState: change to 1bit
|
#
92ab24eb |
| 24-Jan-2021 |
Yinan Xu <[email protected]> |
dispatch: optimize fuType usages
dispatch,MemBlock: optimize fuType usages
|
#
975b9ea3 |
| 24-Jan-2021 |
Yinan Xu <[email protected]> |
decode: change FuOpType to 6bits
|
#
a8e04b1d |
| 17-Jan-2021 |
Yinan Xu <[email protected]> |
Merge remote-tracking branch 'origin/master' into opt-queue-data
|
#
8ad3a2d3 |
| 17-Jan-2021 |
Yinan Xu <[email protected]> |
Merge pull request #437 from RISCVERS/dev-pma
PMA: add pma list
|
#
6ac289b3 |
| 16-Jan-2021 |
LinJiawei <[email protected]> |
Auipc: get pc in jump unit
|
#
cff68e26 |
| 16-Jan-2021 |
William Wang <[email protected]> |
PMA: do pma check in tlb
|
#
8d9a04fc |
| 15-Jan-2021 |
William Wang <[email protected]> |
PMA: use list instead of map for pma list
|
#
c60c1ab4 |
| 15-Jan-2021 |
William Wang <[email protected]> |
PMA: add PMA list
|
#
baf8def6 |
| 14-Jan-2021 |
Yinan Xu <[email protected]> |
exceptionVec: use Vec(16, Bool()) for ExceptionVec()
|
#
1abe60b3 |
| 25-Dec-2020 |
Yinan Xu <[email protected]> |
roq: wrap writebackData in DataModuleTemplate
|
#
c33aed1f |
| 22-Dec-2020 |
Yinan Xu <[email protected]> |
Merge remote-tracking branch 'origin/master' into opt-redirect
|
#
bfb958a3 |
| 21-Dec-2020 |
Yinan Xu <[email protected]> |
redirect: add redirect level to optimize redirect generation
|
#
fe6452fc |
| 21-Dec-2020 |
Yinan Xu <[email protected]> |
roq: wrap data in RoqDataModule
|