Skip to content

Commit 9402e06

Browse files
committed
Merge branch 'bump-rocket' into 'master'
Bump rocket See merge request pard/labeled-RISC-V!230
2 parents 624d19f + d1470aa commit 9402e06

File tree

177 files changed

+6851
-1933
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+6851
-1933
lines changed

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,14 @@ ControlPlanes.v
1010
src/main/scala/.idea/
1111
src/main/scala/build.sbt
1212
src/main/scala/project/
13+
14+
.idea/
15+
boom-ether.err
16+
bootrom/bootrom.txt
17+
emulator/boom-failed.md
18+
emulator/log.txt
19+
emulator/serial6*
20+
fpga/.Xil/
21+
fpga/bbl.elf.txt
22+
fpga/vivado_*.str
23+
fpga/vmlinux.txt

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
[submodule "riscv-tools"]
2-
path = riscv-tools
3-
url = https://github.com/riscv/riscv-tools.git
41
[submodule "hardfloat"]
52
path = hardfloat
63
url = https://github.com/ucb-bar/berkeley-hardfloat.git
@@ -13,3 +10,6 @@
1310
[submodule "firrtl"]
1411
path = firrtl
1512
url = https://github.com/ucb-bar/firrtl.git
13+
[submodule "src/main/scala/boom"]
14+
path = src/main/scala/boom
15+
url = https://github.com/shinezyy/BOOM-inside-LvNA.git

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ jobs:
7070
- &test
7171
stage: Test
7272
script:
73-
- travis_wait 80 make emulator-ndebug -C regression SUITE=UnittestSuite JVM_MEMORY=3G
74-
- travis_wait 80 make emulator-regression-tests -C regression SUITE=UnittestSuite JVM_MEMORY=3G
73+
- travis_wait 100 make emulator-ndebug -C regression SUITE=UnittestSuite JVM_MEMORY=3G VERILATOR_THREADS=1
74+
- travis_wait 100 make emulator-regression-tests -C regression SUITE=UnittestSuite JVM_MEMORY=3G VERILATOR_THREADS=1
7575
- <<: *test
7676
script:
7777
- travis_wait 80 make emulator-ndebug -C regression SUITE=JtagDtmSuite JVM_MEMORY=3G

bootrom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ all: $(bootrom_img)
1313

1414
%.elf: %.S linker.ld
1515
$(GCC) -Tlinker.ld $< -nostdlib -static -Wl,--no-gc-sections -o $@
16+
riscv64-unknown-elf-objdump -d $@ >bootrom.txt

bootrom/bootrom.S

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
1+
// #define DRAM_BASE 0x80000000
12
#define DRAM_BASE 0x100000000
23

34
.section .text.start, "ax", @progbits
45
.globl _start
56
_start:
6-
csrwi 0x7c1, 0 // disable chicken bits
7+
// csrwi 0x7c1, 0 // disable chicken bits
78
li s0, DRAM_BASE
89
csrr a0, mhartid
910
la a1, _dtb
11+
1012
jr s0
1113

1214
.section .text.hang, "ax", @progbits
1315
.globl _hang
1416
_hang:
15-
csrwi 0x7c1, 0 // disable chicken bits
17+
// csrwi 0x7c1, 0 // disable chicken bits
1618
csrr a0, mhartid
1719
la a1, _dtb
1820
csrwi mie, 0

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ lazy val commonSettings = Seq(
1616
traceLevel := 15,
1717
scalacOptions ++= Seq("-deprecation","-unchecked","-Xsource:2.11"),
1818
libraryDependencies ++= Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value),
19-
libraryDependencies ++= Seq("org.json4s" %% "json4s-jackson" % "3.5.3"),
19+
libraryDependencies ++= Seq("org.json4s" %% "json4s-jackson" % "3.6.1"),
2020
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)
2121
)
2222

chisel3

emulator/Makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ LDFLAGS := $(LDFLAGS) -L$(RISCV)/lib -Wl,-rpath,$(RISCV)/lib -L$(abspath $(sim_d
1414

1515
emu = emulator-$(PROJECT)-$(CONFIG)
1616
emu_debug = emulator-$(PROJECT)-$(CONFIG)-debug
17+
origin_emu = emulator-$(PROJECT)-$(CONFIG)-origin # without init mem
1718

1819
include $(sim_dir)/Makefrag-verilator
1920

2021
all: $(emu)
2122
debug: $(emu_debug)
23+
emu_origin: $(origin_emu)
2224

2325
clean:
2426
rm -rf *.o *.a emulator-* $(generated_dir) $(generated_dir_debug) DVEfiles $(output_dir)
@@ -33,11 +35,11 @@ ifneq ($(filter run% %.run %.out %.vpd %.vcd,$(MAKECMDGOALS)),)
3335
-include $(generated_dir)/$(long_name).d
3436
endif
3537

36-
$(output_dir)/%.run: $(output_dir)/% $(emu)
37-
./$(emu) +max-cycles=$(timeout_cycles) $< 2> /dev/null 2> $@ && [ $$PIPESTATUS -eq 0 ]
38+
$(output_dir)/%.run: $(output_dir)/% $(origin_emu)
39+
./$(origin_emu) +max-cycles=$(timeout_cycles) $< 2> /dev/null 2> $@ && [ $$PIPESTATUS -eq 0 ]
3840

39-
$(output_dir)/%.out: $(output_dir)/% $(emu)
40-
./$(emu) +max-cycles=$(timeout_cycles) +verbose $< $(disasm) $@ && [ $$PIPESTATUS -eq 0 ]
41+
$(output_dir)/%.out: $(output_dir)/% $(origin_emu)
42+
./$(origin_emu) +max-cycles=$(timeout_cycles) +verbose $< $(disasm) $@ && [ $$PIPESTATUS -eq 0 ]
4143

4244
$(output_dir)/%.vcd: $(output_dir)/% $(emu_debug)
4345
./$(emu_debug) +max-cycles=$(timeout_cycles) +verbose -v$@ $< $(disasm) $(patsubst %.vcd,%.out,$@) && [ $$PIPESTATUS -eq 0 ]

emulator/Makefrag-verilator

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ verilog = \
88
$(generated_dir)/$(long_name).v \
99
$(generated_dir)/$(long_name).behav_srams.v \
1010

11-
.SECONDARY: $(firrtl) $(verilog)
11+
origin_verilog = \
12+
$(generated_dir)/$(long_name).v \
13+
$(generated_dir)/$(long_name).origin_behav_srams.v \
14+
15+
.SECONDARY: $(firrtl) $(verilog) $(origin_verilog)
1216

1317
$(generated_dir)/%.fir $(generated_dir)/%.d: $(FIRRTL_JAR) $(chisel_srcs) $(bootrom_img)
1418
mkdir -p $(dir $@)
@@ -24,8 +28,12 @@ $(generated_dir)/$(long_name).behav_srams.v : $(generated_dir)/$(long_name).conf
2428
$(mem_init) $@.tmp mem_ext bin.txt $(generated_dir)/$(long_name).json > $@
2529
rm -f $@.tmp
2630

31+
$(generated_dir)/$(long_name).origin_behav_srams.v : $(generated_dir)/$(long_name).conf $(VLSI_MEM_GEN)
32+
cd $(generated_dir) && \
33+
$(VLSI_MEM_GEN) $(generated_dir)/$(long_name).conf > $@
34+
2735
# Build and install our own Verilator, to work around versionining issues.
28-
VERILATOR_VERSION=4.004
36+
VERILATOR_VERSION=4.008
2937
VERILATOR_SRCDIR ?= verilator/src/verilator-$(VERILATOR_VERSION)
3038
VERILATOR_TARGET := $(abspath verilator/install/bin/verilator)
3139
INSTALLED_VERILATOR ?= $(VERILATOR_TARGET)
@@ -55,13 +63,14 @@ verilator: $(INSTALLED_VERILATOR)
5563

5664
# Run Verilator to produce a fast binary to emulate this circuit.
5765
VERILATOR := $(INSTALLED_VERILATOR) --cc --exe
66+
VERILATOR_THREADS ?= 2
5867
VERILATOR_FLAGS := --top-module $(MODEL) \
5968
+define+PRINTF_COND=\$$c\(\"verbose\",\"\&\&\"\,\"done_reset\"\) \
6069
+define+RANDOMIZE_GARBAGE_ASSIGN \
6170
+define+STOP_COND=\$$c\(\"done_reset\"\) --assert \
6271
--output-split 20000 \
6372
--output-split-cfuncs 20000 \
64-
--threads 4 \
73+
--threads $(VERILATOR_THREADS) \
6574
-Wno-STMTDLY --x-assign unique \
6675
-I$(vsrc) \
6776
-O3 -CFLAGS "$(CXXFLAGS) -DVERILATOR -DTEST_HARNESS=V$(MODEL) -include $(csrc)/verilator.h -include $(generated_dir)/$(PROJECT).$(CONFIG).plusArgs"
@@ -84,3 +93,12 @@ $(emu_debug): $(verilog) $(cppfiles) $(headers) $(generated_dir)/$(long_name).d
8493
-o $(abspath $(sim_dir))/$@ $(verilog) $(cppfiles) -LDFLAGS "$(LDFLAGS)" \
8594
-CFLAGS "-I$(generated_dir_debug) -include $(model_header_debug)"
8695
$(MAKE) VM_PARALLEL_BUILDS=1 -C $(generated_dir_debug)/$(long_name) -f V$(MODEL).mk
96+
97+
$(origin_emu): $(origin_verilog) $(cppfiles) $(headers) $(INSTALLED_VERILATOR)
98+
mkdir -p $(generated_dir)/$(long_name)
99+
$(VERILATOR) $(VERILATOR_FLAGS) -Mdir $(generated_dir)/$(long_name) \
100+
-o $(abspath $(sim_dir))/$@ $(origin_verilog) $(cppfiles) -LDFLAGS "$(LDFLAGS)" \
101+
-CFLAGS "-I$(generated_dir) -include $(model_header)"
102+
$(MAKE) VM_PARALLEL_BUILDS=1 -C $(generated_dir)/$(long_name) -f V$(MODEL).mk
103+
104+

firrtl

0 commit comments

Comments
 (0)