History log of /XiangShan/src/main/scala/system/SoC.scala (Results 51 – 75 of 162)
Revision Date Author Comments
# 5602d374 16-Jan-2022 Li Qianruo <[email protected]>

Use 256-bit aligned Get and PutPartial for Debug Module System Bus Access (#1426)

Rocket's Debug Module uses unaligned Get and Put to access physical memory. However, our non-inclusive L3 does not h

Use 256-bit aligned Get and PutPartial for Debug Module System Bus Access (#1426)

Rocket's Debug Module uses unaligned Get and Put to access physical memory. However, our non-inclusive L3 does not have very good support for non-aligned Puts and Gets, so here 256-bit aligned PutPartial and Get is used.
Currently on every request, only 1 byte of data is stored using mask, and only one byte of loaded data is used, because otherwise it would require a lot more modification to Rocket's code.
Note that this feature is currently only usable with DefaultConfig.

show more ...


# b7291c09 07-Jan-2022 Jiawei Lin <[email protected]>

SoC: Buffer adjustment (#1403)

* SoC: Use TLBuffer instead TLEdgeBuffer

* Buffer adjustment


# ea8d8ca5 27-Dec-2021 rvcoresjw <[email protected]>

add buffer at tl pma


# be340b14 13-Dec-2021 Jiawei Lin <[email protected]>

SoC: insert more buffers into mmio path (#1329)

* SoC: add axi4spliter

* pmp: add apply method to reduce loc

* pma: add PMA used in axi4's spliter

* Fix package import

* pma: re-write tl

SoC: insert more buffers into mmio path (#1329)

* SoC: add axi4spliter

* pmp: add apply method to reduce loc

* pma: add PMA used in axi4's spliter

* Fix package import

* pma: re-write tl-pma, put tl-pma into AXI4Spliter

* pma: add memory mapped pma

* soc: rm dma port, rm axi4spliter, mv mmpma out of spliter

* csr: clear mstatus.mprv when mstatus.mpp != ModeM at xret

* csr: fix write mask for mstatus, mepc and sepc

This commit fixes the write mask for mstatus, mepc and sepc.

According to the RISC-V instruction manual, for RV64 systems,
the SXL and UXL fields are WARL fields that control the value of
XLEN for S-mode and U-mode, respectively. For RV64 systems, if
S-mode is not supported, then SXL is hardwired to zero. For RV64
systems, if U-mode is not supported, then UXL is hardwired to zero.

Besides, mepc[0] and sepc[0] should be hardwired to zero.

* wb,load: delay load fp for one cycle

* csr: add mconfigptr, but hardwire to 0 now

* bump huancun

* csr: add *BE to mstatusStruct which are hardwired to 0

* Remove unused files

* csr: fix bug of xret clear mprv

* bump difftest

* ci: add unit test, xret clear mstatus.mprv when xpp is not M

* bump ready-to-run

* mem,atomics: delay exception info for one cycle

* SoC: insert more buffers into mmio path

* SoC: insert buffer between l3_xbar and l3_banked_xbar

* Optimze l3->ddr path

* Bump huancun

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

show more ...


# 98c71602 06-Dec-2021 Jiawei Lin <[email protected]>

Add pma checker for I/O device (#1300)

* SoC: add axi4spliter

* pmp: add apply method to reduce loc

* pma: add PMA used in axi4's spliter

* Fix package import

* pma: re-write tl-pma, put

Add pma checker for I/O device (#1300)

* SoC: add axi4spliter

* pmp: add apply method to reduce loc

* pma: add PMA used in axi4's spliter

* Fix package import

* pma: re-write tl-pma, put tl-pma into AXI4Spliter

* pma: add memory mapped pma

* soc: rm dma port, rm axi4spliter, mv mmpma out of spliter

* Remove unused files

* update dma pma check port at SimTop.scala; update pll lock defalt value to 1

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

show more ...


# 08bf93ff 03-Dec-2021 rvcoresjw <[email protected]>

update id and dma data width (#1278)

* update id width, set io bits to do not touch
* modify dma data width from 128bits to 256 bits


# 59239bc9 01-Dec-2021 Jiawei Lin <[email protected]>

Change L2 to 4 banks (#1256)

* misc: soc timing optimize

* XSTile: insert buffer between L1Dcache and L2

* Bump huancun

* Change L2 to 4 banks

* Adjust buffers

* Add more buffers for

Change L2 to 4 banks (#1256)

* misc: soc timing optimize

* XSTile: insert buffer between L1Dcache and L2

* Bump huancun

* Change L2 to 4 banks

* Adjust buffers

* Add more buffers for peripheral port

* Fix submodule version

show more ...


# cac098b4 21-Nov-2021 Jiawei Lin <[email protected]>

SoC timing fix (#1253)

* misc: soc timing optimize

* XSTile: insert buffer between L1Dcache and L2


# c679fdb3 09-Nov-2021 rvcoresjw <[email protected]>

update plic support 64 exter interrupts


# 630aeed7 09-Nov-2021 rvcoresjw <[email protected]>

update pma default value, reg 3 pipe of exter_interrupts


# 29230e82 09-Nov-2021 Jiawei Lin <[email protected]>

SoC: change buffer latency && set L3 size to 8MB (#1205)

* SoC: change buffer latency && set L3 size to 8MB

* BinaryArbiter: fix bugs when iknow < 4


# 2f30d658 30-Oct-2021 Yinan Xu <[email protected]>

top: change physical address width to 36 (#1188)


# 34ab1ae9 30-Oct-2021 Jiawei Lin <[email protected]>

Refactor config & Add pll (#1181)

* Add cache ctrl node

* L2/L3: Reduce client dir size

* Ctrl: connect soft reset from L3 to core

* Add pll

* Config: seperate SocParams and CoreParams t

Refactor config & Add pll (#1181)

* Add cache ctrl node

* L2/L3: Reduce client dir size

* Ctrl: connect soft reset from L3 to core

* Add pll

* Config: seperate SocParams and CoreParams to get correct number of cores

* Bump huancun

* Add pll output

* Fix inclusive cache config

* Add one more pll ctrl reg

* Bump huancun

show more ...


# a9f27ba2 27-Oct-2021 Jiawei Lin <[email protected]>

Optimize L2->L3 crossbar (#1177)

* Bump huancun

* Simplify l2 -> l3 cross bar

* HuanCun: remove debug print


# 496c0adf 24-Oct-2021 Jiawei Lin <[email protected]>

Config update (#1164)

* Bump HuanCun
* Increase L2/L3 latency
* Change 10MB L3 to default config
* Bump difftest


# 73be64b3 13-Oct-2021 Jiawei Lin <[email protected]>

Refactor top (#1093)

* Temporarily disable TLMonitor

* Bump huancun (L2/L3 MSHR bug fix)

* Refactor Top

* Bump huancun

* alu: fix bug of rev8 & orc.b instruction

Co-authored-by: Zhang

Refactor top (#1093)

* Temporarily disable TLMonitor

* Bump huancun (L2/L3 MSHR bug fix)

* Refactor Top

* Bump huancun

* alu: fix bug of rev8 & orc.b instruction

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

show more ...


# 4f94c0c6 30-Sep-2021 Jiawei Lin <[email protected]>

Refactor cache params (#1078)


# a1ea7f76 10-Sep-2021 Jiawei Lin <[email protected]>

Use HuanCun instead of block-inclusive-cache (#1016)

* misc: add submodule huancun

* huancun: integrate huancun to SoC as L3

* remove l2prefetcher

* update huancun

* Bump HuanCun

* Us

Use HuanCun instead of block-inclusive-cache (#1016)

* misc: add submodule huancun

* huancun: integrate huancun to SoC as L3

* remove l2prefetcher

* update huancun

* Bump HuanCun

* Use HuanCun instead old L2/L3

* bump huancun

* bump huancun

* Set L3NBanks to 4

* Update rocketchip

* Bump huancun

* Bump HuanCun

* Optimize debug configs

* Configs: fix L3 bug

* Add TLLogger

* TLLogger: fix release ack address

* Support write prefix into database

* Recoding more tilelink info

* Add a database output format converter

* missqueue: add difftest port for memory difftest during refill

* misc: bump difftest

* misc: bump difftest & huancun

* missqueue: do not check refill data when get Grant

* Add directory debug tool

* config: increase client dir size for non-inclusive cache

* Bump difftest and huancun

* Update l2/l3 cache configs

* Remove deprecated fpga/*

* Remove cache test

* Remove L2 preftecher

* bump huancun

* Params: turn on l2 prefetch by default

* misc: remove duplicate chisel-tester2

* misc: remove sifive inclusive cache

* bump difftest

* bump huancun

* config: use 4MB L3 cache

* bump huancun

* bump difftest

* bump difftest

Co-authored-by: wangkaifan <[email protected]>
Co-authored-by: TangDan <[email protected]>

show more ...


# 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.


# 05f23f57 12-May-2021 William Wang <[email protected]>

Configs: update MinimalConfig for FPGA (#809)

* Configs: add MinimalFPGAConfig

* TODO: change cache parameters

* Chore: add parameter print

* README: add simulation usage

Currently, Xian

Configs: update MinimalConfig for FPGA (#809)

* Configs: add MinimalFPGAConfig

* TODO: change cache parameters

* Chore: add parameter print

* README: add simulation usage

Currently, XiangShan does not support NOOP FPGA. FPGA related
instructions are removed

* Configs: limit frontend width in MinimalConfig

* MinimalConfig: limit L1/L2 cache size

* MinimalConfig: limit ptw size, disable L2

* MinimalConfig: limit L3 size

* Sbuffer: force trigger write if sbuffer fulls

show more ...


# 175bcfe9 07-May-2021 LinJiawei <[email protected]>

Disable L2 and L3 in MinimalConfig


# 9d5a2027 30-Apr-2021 Yinan Xu <[email protected]>

cache: support fake dcache, ptw, l1pluscache, l2cache and l3cache (#795)

In this commit, we add support for using DPI-C calls to replace
DCache, PTW and L1plusCache. L2Cache and L3 Cache are also a

cache: support fake dcache, ptw, l1pluscache, l2cache and l3cache (#795)

In this commit, we add support for using DPI-C calls to replace
DCache, PTW and L1plusCache. L2Cache and L3 Cache are also allowed to
be ignored or bypassed. Configurations are controlled by useFakeDCache,
useFakePTW, useFakeL1plusCache, useFakeL2Cache and useFakeL3Cache.
However, some configurations may not work correctly.

show more ...


# 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 ...


# 2791c549 05-Apr-2021 zfw <[email protected]>

InclusiveCache: add fpga parameter for reset delay. (#752)


1234567