rtl cache refactory

This commit is contained in:
Blaise Tine
2020-04-30 17:12:18 -04:00
parent 814ac50d12
commit a1dc90b951
67 changed files with 51076 additions and 51059 deletions

View File

@@ -4,22 +4,16 @@ CF += -std=c++11 -fms-extensions
VF += -compiler gcc --language 1800-2009 --assert -Wall -Wpedantic
VF += -exe $(SRCS) $(INCLUDE)
MULTICORE += -DNUM_CLUSTERS=1 -DNUM_CORES=2
INCLUDE = -I./rtl/ -I./rtl/libs -I./rtl/interfaces -I./rtl/pipe_regs -I./rtl/cache -I./rtl/simulate
SINGLE_CORE = Vortex.v
MULTI_CORE = Vortex_Socket.v
SRCS += ./simulate/testbench.cpp ./simulate/simulator.cpp
VF += -exe $(SRCS) $(INCLUDE)
DBG += --trace -DVL_DEBUG=1
MAKECPP_S += (cd obj_dir && make -j -f VVortex.mk)
MAKECPP_M += (cd obj_dir && make -j -f VVortex_Socket.mk)
THREADS ?= $(shell python3 -c 'import multiprocessing as mp; print(max(1, mp.cpu_count() // 2))')
.PHONY: build_config
@@ -28,31 +22,31 @@ build_config:
./scripts/gen_config.py --outv ./rtl/VX_user_config.vh --outc ./simulate/VX_config.h
gen-singlecore: build_config
verilator $(VF) -DNDEBUG -cc $(SINGLE_CORE) -CFLAGS '$(CF) -DNDEBUG'
verilator $(VF) -DNDEBUG -cc Vortex_Socket.v -CFLAGS '$(CF) -DNDEBUG'
gen-singlecore-t: build_config
verilator $(VF) -cc $(SINGLE_CORE) -CFLAGS '$(CF) -DNDEBUG -O2' --threads $(THREADS)
verilator $(VF) -cc Vortex_Socket.v -CFLAGS '$(CF) -DNDEBUG -O2' --threads $(THREADS)
gen-singlecore-d: build_config
verilator $(VF) -cc $(SINGLE_CORE) -CFLAGS '$(CF) -g -O0 -DVCD_OUTPUT' $(DBG)
verilator $(VF) -cc Vortex_Socket.v -CFLAGS '$(CF) -g -O0 -DVCD_OUTPUT' $(DBG)
gen-multicore: build_config
verilator $(VF) -DNDEBUG -cc $(MULTI_CORE) -CFLAGS '$(CF) -DNDEBUG -DUSE_MULTICORE'
verilator $(VF) -DNDEBUG -cc Vortex_Socket.v $(MULTICORE) -CFLAGS '$(CF) -DNDEBUG $(MULTICORE)'
gen-multicore-t: build_config
verilator $(VF) -DNDEBUG -cc $(MULTI_CORE) -CFLAGS '$(CF) -DNDEBUG -O2 -DUSE_MULTICORE' --threads $(THREADS)
verilator $(VF) -DNDEBUG -cc Vortex_Socket.v $(MULTICORE) -CFLAGS '$(CF) -DNDEBUG -O2 $(MULTICORE)' --threads $(THREADS)
gen-multicore-d: build_config
verilator $(VF) -cc $(MULTI_CORE) -CFLAGS '$(CF) -g -O0 -DVCD_OUTPUT -DUSE_MULTICORE' $(DBG)
verilator $(VF) -cc Vortex_Socket.v $(MULTICORE) -CFLAGS '$(CF) -g -O0 -DVCD_OUTPUT $(MULTICORE)' $(DBG)
singlecore: gen-singlecore
(cd obj_dir && make -j -f VVortex.mk)
(cd obj_dir && make -j -f VVortex_Socket.mk)
singlecore-t: gen-singlecore-t
(cd obj_dir && make -j -f VVortex.mk)
(cd obj_dir && make -j -f VVortex_Socket.mk)
singlecore-d: gen-singlecore-d
(cd obj_dir && make -j -f VVortex.mk)
(cd obj_dir && make -j -f VVortex_Socket.mk)
multicore: gen-multicore
(cd obj_dir && make -j -f VVortex_Socket.mk)
@@ -64,13 +58,13 @@ multicore-d: gen-multicore-d
(cd obj_dir && make -j -f VVortex_Socket.mk)
run: singlecore
(cd obj_dir && ./VVortex)
(cd obj_dir && ./VVortex_Socket)
run-d: singlecore-d
(cd obj_dir && ./VVortex)
(cd obj_dir && ./VVortex_Socket)
run-t: singlecore-t
(cd obj_dir && ./VVortex)
(cd obj_dir && ./VVortex_Socket)
run-m: multicore
(cd obj_dir && ./VVortex_Socket)