History log of /XiangShan/src/test/scala/top/SimTop.scala (Results 1 – 25 of 56)
Revision Date Author Comments
# 20957846 10-Jan-2025 Zihao Yu <[email protected]>

fix(device, DebugMoudle): do not use clock with Bool type (#4152)

* gsim can not handle such clocks


# 12c5a998 13-Dec-2024 klin02 <[email protected]>

submodule(utility), transforms: collect XSLogs to SimTop.LogPerfEndpoint

XSLog depends on LogPerfCtrl declared at Top Module. Previous we
annotate such signal as dontTouch, and accessed through Hier

submodule(utility), transforms: collect XSLogs to SimTop.LogPerfEndpoint

XSLog depends on LogPerfCtrl declared at Top Module. Previous we
annotate such signal as dontTouch, and accessed through Hierarchical
name like SimTop.xx by dummy LogPerfHelper.

However, as XSLog is called in many spaces in DUT, which are not
visible to each other, especailly some in WhenContext. XS will generate
thousands of LogPerfHelper to get same LogPerfCtrl. Too many module
instantiations greately slow down compilation speed, especailly in
Palladium (more than 5 times slower than same DUT without Log).

This change collect all XSLog to SimTop.LogPerfEndpoint, with
LogPerfCtrl directly passed by IO. Some tips as follows:

1. Not call XSLog inside whenContext. To collect XSLogs, we should
access Cond and Data from other module, but data in WhenContext is
not accessible even through tap. Use XSLog(cond, pable) instead of
when(cond) {XSLog(pable)}. We also add chisel Internal API currentWhen
to check that.

2. Generate Hierarchical Module path through FIRRTL transforms.
Sometimes we want to append module path for better debugging.
XSCompatibility add a hacky way to use Chisel internal API to get
tag of current Module. Then we will replace these tag with
path during ChiselStage. Note path can only be acessed after circuit
elaboration.

3. Register and invoke caller of XSPerf and related object. As XSPerf
depends on LogPerfCtrl such as dump. We should deferred apply() until
collect. So we regirster collect() method when firstly apply XSLog,
then XSLog will automatically call XSPerf.collect() method during
collection. Note deferred apply is called in another module, so original
module tag should be recorded for path generation.

4. Concat XSLogs with same condition. Too many fwrites in same module
will cause UPOPTTHREADS warning with 16-threads Verilator. Consider
many XSLogs have same condition (especailly XSPerfs), we reuse same
condition and concat their printables to reduce fwrites. Note we also
limit size of concatation to 1000 to avoid segmentation fault caused
by too long printf.

show more ...


# 725e8ddc 19-Sep-2024 chengguanghui <[email protected]>

feat(trace): add TraceCoreInterface in top.


# fab8b274 16-Oct-2024 Haoyuan Feng <[email protected]>

fix(SimTop): Set sim memory size same as PMA (#3750)


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


# 8bc90631 05-Oct-2024 Zehao Liu <[email protected]>

fix(Smrnmi): expand NMI interrupt to two types and route the nmi signals to XSTOP (#3691)


# ae0295f4 16-Jul-2024 Tang Haojin <[email protected]>

chore: bump chisel 6.5.0 (#3210)


# 1bf9a05a 02-Jul-2024 zhanglinjuan <[email protected]>

SoC, Top: use Option for SoC widgets concerning L3


# 78a8cd25 30-Jun-2024 zhanglinjuan <[email protected]>

SoC: an initial version of DummyLLC


# 2993c5ec 27-Jun-2024 Haojin Tang <[email protected]>

Top: use VerilogAXI4Record instead of `sed` to handle amba signal names


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


# aab688f4 27-Dec-2023 Xuan Hu <[email protected]>

Merge remote-tracking branch 'upstream/kunminghu' into tmp-backend-merge-master


# fad48058 24-Dec-2023 Yinan Xu <[email protected]>

Bump difftest (#2579)


# 8241cb85 17-Dec-2023 Xuan Hu <[email protected]>

Merge remote-tracking branch 'upstream/master' into backendq


# f7af4c74 17-Nov-2023 chengguanghui <[email protected]>

Debug Module: cherry-pick debug module from nanhu


# fc00d282 18-Oct-2023 Yinan Xu <[email protected]>

Bump difftest (#2391)

* use the abstract DifftestMem class
* move DifftestModule.finish to hardware


# 51e45dbb 11-Oct-2023 Tang Haojin <[email protected]>

build: support chisel 3.6.0 and chisel 6.0.0-M3 (#2372)


# 7f37d55f 09-Oct-2023 Tang Haojin <[email protected]>

chore: bump rocket, Scala 2.13.10, and Chisel 3.6.0 (#2326)

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


# 8891a219 08-Oct-2023 Yinan Xu <[email protected]>

Bump rocket-chip (#2353)


# 935edac4 21-Sep-2023 Tang Haojin <[email protected]>

chore: remove deprecated brackets, APIs, etc. (#2321)


# e47ee555 14-Sep-2023 Tang Haojin <[email protected]>

log: use XMR instead of boring utils for logging (#2302)


# 7d45a146 10-Sep-2023 Yinan Xu <[email protected]>

Bump difftest for Chisel-generated interfaces (#2284)

We also add support for difftest with RISC-V Vector extension and nFused.

L2 TLB check is disabled unexpectedly and will be fixed soon.


# 62129679 06-Jun-2023 wakafa <[email protected]>

Disable chiselDB by default to minimize the size of DB (#2118)

* config: disable chiseldb by default to minimize db size

* note that tllog is still enabled when alwaysBasicDB is set

* bump hua

Disable chiselDB by default to minimize the size of DB (#2118)

* config: disable chiseldb by default to minimize db size

* note that tllog is still enabled when alwaysBasicDB is set

* bump huancun & utility

show more ...


# 047e34f9 09-May-2023 Maxpicca-Li <[email protected]>

Fix constant (#2071)

* constant: fix dead loop

* util: fix constant dynamic switch

* util: fix constant


# b665b650 04-Apr-2023 Tang Haojin <[email protected]>

circt: fix assertion fails in circt simulation (#2023)


123