Skip to content

Commit

Permalink
Bump difftest and NEMU so (#2782)
Browse files Browse the repository at this point in the history
* Bump difftest, NEMU so

Difftest:
  + Support ArgParser, use SIM_ARGS="--difftest-config \<CONFIG\>" with
    mill command.
  + Support flash without workload for VCS/Palladium.
  + Support SquashReplay, which need NEMU store-log feature.
  + Support DRAMSIM3 for VCS/Palladium.
  + Support built-in Perf in DiffTest.
  + Fix typo for privileged

NEMU:
  + Support store-log for new Difftest
  + Align SV39 to XS
  + Compiled on glibc 2.17, compatible for both VCS/Palladium/Verilator.

* Fix typo for privileged

---------

Co-authored-by: Yinan Xu <xuyinan@ict.ac.cn>
  • Loading branch information
klin02 and poemonsense authored Mar 30, 2024
1 parent 4176c33 commit 321934c
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 276 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ endif
# emu for the release version
RELEASE_ARGS += --disable-all --remove-assert --fpga-platform
DEBUG_ARGS += --enable-difftest
PLDM_ARGS += --disable-all --fpga-platform --enable-difftest
PLDM_ARGS += --fpga-platform --enable-difftest
ifeq ($(RELEASE),1)
override SIM_ARGS += $(RELEASE_ARGS)
else ifeq ($(PLDM),1)
Expand Down
2 changes: 1 addition & 1 deletion difftest
Submodule difftest updated 72 files
+23 −0 .clang-format
+13 −8 .github/workflows/format.yml
+63 −24 .github/workflows/main.yml
+1 −1 .mill-version
+8 −3 Makefile
+1 −1 build.sc
+5 −0 config/config.h
+22 −10 palladium.mk
+1 −0 scripts/palladium/argConfigs.qel
+1 −0 scripts/palladium/run.tcl
+1 −0 scripts/palladium/run_debug.tcl
+13 −5 src/main/scala/Batch.scala
+5 −4 src/main/scala/Bundles.scala
+20 −1 src/main/scala/DPIC.scala
+40 −26 src/main/scala/Difftest.scala
+65 −47 src/main/scala/Gateway.scala
+121 −0 src/main/scala/Replay.scala
+10 −82 src/main/scala/Squash.scala
+16 −7 src/main/scala/common/Flash.scala
+16 −7 src/main/scala/common/LogPerfControl.scala
+95 −152 src/main/scala/common/Mem.scala
+37 −0 src/main/scala/util/DataMirror.scala
+8 −15 src/test/csrc/common/SimJTAG.cpp
+4 −5 src/test/csrc/common/common.cpp
+21 −22 src/test/csrc/common/common.h
+30 −28 src/test/csrc/common/compress.cpp
+6 −7 src/test/csrc/common/compress.h
+9 −8 src/test/csrc/common/coverage.cpp
+101 −92 src/test/csrc/common/coverage.h
+9 −10 src/test/csrc/common/device.cpp
+13 −14 src/test/csrc/common/dut.h
+17 −15 src/test/csrc/common/flash.cpp
+35 −25 src/test/csrc/common/golden.cpp
+14 −14 src/test/csrc/common/golden.h
+26 −22 src/test/csrc/common/keyboard.cpp
+16 −15 src/test/csrc/common/lightsss.cpp
+10 −10 src/test/csrc/common/lightsss.h
+5 −5 src/test/csrc/common/macro.h
+1 −2 src/test/csrc/common/main.cpp
+7 −12 src/test/csrc/common/perf.cpp
+3 −1 src/test/csrc/common/perf.h
+77 −64 src/test/csrc/common/ram.cpp
+35 −24 src/test/csrc/common/ram.h
+46 −71 src/test/csrc/common/remote_bitbang.cpp
+12 −14 src/test/csrc/common/remote_bitbang.h
+3 −4 src/test/csrc/common/sdcard.cpp
+18 −16 src/test/csrc/common/uart.cpp
+7 −7 src/test/csrc/common/vga.cpp
+284 −213 src/test/csrc/difftest/difftest.cpp
+78 −61 src/test/csrc/difftest/difftest.h
+3 −7 src/test/csrc/difftest/difftrace.cpp
+69 −31 src/test/csrc/difftest/goldenmem.cpp
+11 −6 src/test/csrc/difftest/goldenmem.h
+47 −43 src/test/csrc/difftest/refproxy.cpp
+52 −18 src/test/csrc/difftest/refproxy.h
+21 −30 src/test/csrc/plugin/runahead/memdep.cpp
+18 −17 src/test/csrc/plugin/runahead/memdep.h
+85 −121 src/test/csrc/plugin/runahead/runahead.cpp
+28 −26 src/test/csrc/plugin/runahead/runahead.h
+18 −26 src/test/csrc/plugin/spikedasm/spikedasm.cpp
+2 −2 src/test/csrc/plugin/spikedasm/spikedasm.h
+123 −52 src/test/csrc/vcs/vcs_main.cpp
+109 −125 src/test/csrc/verilator/emu.cpp
+25 −17 src/test/csrc/verilator/emu.h
+44 −39 src/test/csrc/verilator/snapshot.cpp
+15 −11 src/test/csrc/verilator/snapshot.h
+2 −2 src/test/vsrc/common/SimJTAG.v
+2 −0 src/test/vsrc/common/assert.v
+8 −0 src/test/vsrc/common/ref.v
+20 −10 src/test/vsrc/vcs/DeferredControl.v
+98 −23 src/test/vsrc/vcs/top.v
+16 −0 vcs.mk
2 changes: 1 addition & 1 deletion ready-to-run
229 changes: 0 additions & 229 deletions src/main/scala/gpu/GPU.scala

This file was deleted.

4 changes: 3 additions & 1 deletion src/main/scala/top/ArgParser.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package top
import org.chipsalliance.cde.config.{Config, Parameters}
import system.SoCParamsKey
import xiangshan.{DebugOptionsKey, XSTileKey}
import difftest.DifftestModule

import scala.annotation.tailrec
import scala.sys.exit
Expand Down Expand Up @@ -113,7 +114,8 @@ object ArgParser {
nextOption(config, tail)
}
}
var config = nextOption(default, args.toList)
val newArgs = DifftestModule.parseArgs(args)
var config = nextOption(default, newArgs.toList)
(config, firrtlOpts, firtoolOpts)
}
}
Loading

0 comments on commit 321934c

Please sign in to comment.