#
bbe4506d |
| 15-Oct-2024 |
Tang Haojin <[email protected]> |
fix(MMIO): use fine-grained on-chip MMIO ranges (#3730)
Previously, on-chip devices use a continuous memory range, which
contains many memory holes not actually used. If we access these holes,
the
fix(MMIO): use fine-grained on-chip MMIO ranges (#3730)
Previously, on-chip devices use a continuous memory range, which
contains many memory holes not actually used. If we access these holes,
the core will hang. This commit use fine-grained on-chip MMIO ranges so
that memory accessing of these holes will be routed out of core and
handled by other mechanisms.
show more ...
|
#
8bb30a57 |
| 10-Oct-2024 |
Jiru Sun <[email protected]> |
feat(HPM): enable HPMs in CoupledL2 and print them (#3708)
* Bump CoupledL2 and connect perf events.
* Update the number of HPMs
* Detail names of HPM can be printed now. The previous implementati
feat(HPM): enable HPMs in CoupledL2 and print them (#3708)
* Bump CoupledL2 and connect perf events.
* Update the number of HPMs
* Detail names of HPM can be printed now. The previous implementation
has been removed in
[#3631](https://github.com/OpenXiangShan/XiangShan/pull/3631).
show more ...
|
#
8bc90631 |
| 05-Oct-2024 |
Zehao Liu <[email protected]> |
fix(Smrnmi): expand NMI interrupt to two types and route the nmi signals to XSTOP (#3691)
|
#
46e9ee74 |
| 27-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(exception): fix exception vaddr generate logic (#3639)
In LSU, for exceptions that can be detected before address
translation(`preaf`, `prepf` or `pregpf`), the original vaddr should be
retain
fix(exception): fix exception vaddr generate logic (#3639)
In LSU, for exceptions that can be detected before address
translation(`preaf`, `prepf` or `pregpf`), the original vaddr should be
retained. And for exceptions detected after address translation, the
48-bit vaddr needs to be zero-extended or sign-extended according to
different modes(`GenExceptionVa`), and then write to *tval.
Also fix some connection bugs.
show more ...
|
#
233f2ad0 |
| 20-Sep-2024 |
zhanglinjuan <[email protected]> |
feat: implement a new version of reset tree (#3546)
This commit uses `LazyRawModuleImp` to implement L2Top, MemBlock,
Backend and frontend so that when `--reset-gen` option is enabled, reset
input
feat: implement a new version of reset tree (#3546)
This commit uses `LazyRawModuleImp` to implement L2Top, MemBlock,
Backend and frontend so that when `--reset-gen` option is enabled, reset
input of these modules will go through `ResetGen` and then drives the
reset of the registers inside the module.
<img
src="https://github.com/user-attachments/assets/1f544afe-4644-4604-ba6f-d14d31909f78"
width="50%">
---------
Co-authored-by: chengguanghui <[email protected]>
show more ...
|
#
002c10a4 |
| 26-Aug-2024 |
Yanqin Li <[email protected]> |
svpbmt: add simplified support (#3404)
Only the `pbmt` attribute is added and treated as MMIO when `pbmt` is NC
or IO.
---------
Co-authored-by: ngc7331 <[email protected]>
|
#
1fc8b877 |
| 05-Aug-2024 |
zhanglinjuan <[email protected]> |
Makefile, ArgParser: support for specified CHI issue option (#3340)
Use `ISSUE=B` or `ISSUE=E.b` to specify the released issue of CHI.
|
#
f55cdaab |
| 05-Aug-2024 |
zhanglinjuan <[email protected]> |
L2Top, MemBlock, Backend: reconstruct reset tree (#3333)
Modules in XSTile are reset in the order of L2, MemBlock, Backend and
Frontend.
<img
src="https://github.com/user-attachments/assets/ae9
L2Top, MemBlock, Backend: reconstruct reset tree (#3333)
Modules in XSTile are reset in the order of L2, MemBlock, Backend and
Frontend.
<img
src="https://github.com/user-attachments/assets/ae927496-9d4d-45fc-a924-78be181d4fa7"
width="40%">
show more ...
|
#
0d3835a5 |
| 16-Jul-2024 |
Yanqin Li <[email protected]> |
l2pf: add pmp resp
|
#
bb2f3f51 |
| 12-Jul-2024 |
Tang Haojin <[email protected]> |
perf: use perfUtils in `Utility` (#3190)
Currently, log and perf utilities such as `XSPerfAccumulate` are
implemented in many repositories like XiangShan, CoupledL2 and HuanCun.
This PR unifies th
perf: use perfUtils in `Utility` (#3190)
Currently, log and perf utilities such as `XSPerfAccumulate` are
implemented in many repositories like XiangShan, CoupledL2 and HuanCun.
This PR unifies them and put them in Utility repository.
show more ...
|
#
78a8cd25 |
| 30-Jun-2024 |
zhanglinjuan <[email protected]> |
SoC: an initial version of DummyLLC
|
#
0e280184 |
| 30-May-2024 |
zhanglinjuan <[email protected]> |
coupledL2, L2Top, XSTile: refactor CoupledL2 top-level framework (#3022)
|
#
4b40434c |
| 15-May-2024 |
zhanglinjuan <[email protected]> |
Add CoupledL2 with CHI interface (#2953)
This pull request introduces TL2CHICoupledL2, which adopts TileLink
standard to connect L1 DCache/ICache/PTW, and CHI Issue B specification
to connect down
Add CoupledL2 with CHI interface (#2953)
This pull request introduces TL2CHICoupledL2, which adopts TileLink
standard to connect L1 DCache/ICache/PTW, and CHI Issue B specification
to connect downstream interconnect. The key features of TL2CHICoupledL2
are:
* Fully coherent Request Node in a CHI interconnect.
* Coherency granule of 64B cache line.
* MESI cache coherence model, which is based on TileLink coherence
policies.
* Transition from TL-C transactions to CHI snoopable requests.
* Transition from TL-UL transactions to CHI non-snoopable requests.
* Support for ReadNoSnp, ReadNotSharedDirty, ReadUnique, MakeUnique.
* Support for WriteNoSnp, WriteBackFull, Evict.
* Support for all the snoops except for SnpDVMOp.
* Request retry to manage protocol resources.
* Message transfer across CHI interfaces based on Link Layer Credit.
* Power aware signaling on the component interface.
The original CoupledL2 is now renamed to TL2TLCoupledL2. TL2TLCoupledL2
still works as default L2 Cache instance in
[XiangShan](https://github.com/OpenXiangShan/XiangShan) processor for
now. TL2CHICoupledL2 is still not available for verilator simulation in
this pr.
To compile XSTile verilog with TL2CHICoupledL2, run `make verilog
CONFIG=KunminghuV2Config RELEASE_ARGS MFC=1`.
---------
Signed-off-by: Yangyu Chen <[email protected]>
Co-authored-by: Zhu Yu <[email protected]>
Co-authored-by: Tang Haojin <[email protected]>
Co-authored-by: Yangyu Chen <[email protected]>
show more ...
|
#
4daa5bf3 |
| 13-May-2024 |
Yangyu Chen <[email protected]> |
Configs: Pass MaxHartIdBits to Caches (#2974)
Since coupledL2 and HuanCun are using p(MaxHartIdBits), we should pass them in the configs.
Signed-off-by: Yangyu Chen <[email protected]>
|
#
aee6a6d1 |
| 26-Apr-2024 |
Yanqin Li <[email protected]> |
l2bop: train by virtual address and buffer tlb req (#2382)
|
#
f57f7f2a |
| 10-Apr-2024 |
Yangyu Chen <[email protected]> |
Configs: correct MaxHartIdBits (#2838)
Currently, many different lengths of HartId in Xiangshan, making it hard to
configure it to scale more than 16 cores since we have set 4bits somewhere.
This
Configs: correct MaxHartIdBits (#2838)
Currently, many different lengths of HartId in Xiangshan, making it hard to
configure it to scale more than 16 cores since we have set 4bits somewhere.
This commit corrects MaxHartIdBits in config and uses MaxHartIDBits where
it needs to get this solved.
Signed-off-by: Yangyu Chen <[email protected]>
show more ...
|
#
d2945707 |
| 26-Dec-2023 |
Huijin Li <[email protected]> |
Feature keyword priority (#2562)
* "isKeyword" priority & debug( modify load fwd mshr data):
*Bundle: add "isKeyword" in L2ToL1Hint
*XSCore/XSTile/MemBlock: modify l2_hint assignment,(
Feature keyword priority (#2562)
* "isKeyword" priority & debug( modify load fwd mshr data):
*Bundle: add "isKeyword" in L2ToL1Hint
*XSCore/XSTile/MemBlock: modify l2_hint assignment,(add isKeyword)
*DCacheWrapper: add lqidx for compare age, add IsKeywordField
*LoadPipe: add lqIdx for miss_req
*MissQueue: add "isKeyword" logic for miss entries, MissReqPipeReg
transfer "isKeyword" from L1 to L2 by mem_acquire
modify refill_to_ldq 's addr/data logic depending on
"isKeyword"
modify load forward data from mshr logic
*LoadQueueReplay: modify replay order by l2_hint
*LoadUnit: add lqIdx in dcache_req
* modify iskeyword 'user' to 'echo', load forward data from tlbundle D
* L2TOP: modify l2_hint type, add l2_hint_iskeyword
* LRQ: add l2_hint xsperf counter
* modify merge conflict:
loadunit: name changed so_uop --> so_select_src.uop
* DCacheWrapper: modify tl_channel_D 2 beats both can fwd data
* dump coupledL2 : Feature favor l1 d keyword priority (#87)
* Fix fma rm (#2586)
* bump fudian
* fma: fix bug of fadd's rm
* FMA: fix bug of fadd's rm
* dump : coupledL2 branch:feature-favor-L1D-keyword-priority
* dump coupledL2
---------
Co-authored-by: xiaofeibao-xjtu <[email protected]>
show more ...
|
#
63cac807 |
| 27-Nov-2023 |
Chen Xi <[email protected]> |
Move one buffer in L1I - L2 path from L2Top to MemBlock (#2505)
|
#
c20095f4 |
| 20-Nov-2023 |
Chen Xi <[email protected]> |
Merge timing fixes of XSTile into Master (#2488)
* Timing: add buffer in Frontend-L2 path
double buffer applied in icache-L2 (both at MemBlock)
single buffer applied in frontend-MMIO (at MemBlock)
Merge timing fixes of XSTile into Master (#2488)
* Timing: add buffer in Frontend-L2 path
double buffer applied in icache-L2 (both at MemBlock)
single buffer applied in frontend-MMIO (at MemBlock)
* Move l1d-to-l2 buffer from L2Top to MemBlock to balance timing
* Use arcane methods to keep Frontend MMIO port name for MemBlock
* Add Reg for L2-L1 Hint in both L2Top and MemBlock
* Add Buffer between l1_xbar and L2
* Add buffer for beu_error in MemBlock
* Frontend: add buffer for reset_vector in Frontend-memBlock path (by ssszwic)
* Move one buffer in L1-L2 from MemBlock to L2Top
* Add another buffer in frontend MMIO path
* Fix compilation error
* Hint revert to master design, the Reg here is canceled because we have this reg in L2
* Add a third buffer in I-MMIO path
* Add a third buffer in PTW-L2 path at L2Top(above xbar)
* Fix I-mmio buffer constant values wrongly assigned
show more ...
|
#
4e12f40b |
| 17-Oct-2023 |
zhanglinjuan <[email protected]> |
XSTile partition (#2390)
This pull request partitions XSTile into L2Top and XSCore. L2Top contains all the modules including crossbars and CoupledL2. XSCore contains Frontend, Backend, and MemBlock
XSTile partition (#2390)
This pull request partitions XSTile into L2Top and XSCore. L2Top contains all the modules including crossbars and CoupledL2. XSCore contains Frontend, Backend, and MemBlock and all the interfaces from core to tile will go through MemBlock.
show more ...
|