History log of /XiangShan/src/main/scala/xiangshan/package.scala (Results 176 – 200 of 217)
Revision Date Author Comments
# 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


123456789