Vortex 2.0 changes:

+ Microarchitecture optimizations
+ 64-bit support
+ Xilinx FPGA support
+ LLVM-16 support
+ Refactoring and quality control fixes

minor update

minor update

minor update

minor update

minor update

minor update

cleanup

cleanup

cache bindings and memory perf refactory

minor update

minor update

hw unit tests fixes

minor update

minor update

minor update

minor update

minor update

minor udpate

minor update

minor update

minor update

minor update

minor update

minor update

minor update

minor updates

minor updates

minor update

minor update

minor update

minor update

minor update

minor update

minor updates

minor updates

minor updates

minor updates

minor update

minor update
This commit is contained in:
Blaise Tine
2023-10-19 20:51:22 -07:00
parent d69a64c32c
commit c1e168fdbe
1309 changed files with 247412 additions and 311463 deletions

View File

@@ -1,50 +1,92 @@
# TODO: Missing features
# - unaligned LD/ST (RTL)
# - 64-bit float extension (RTL)
# - 64-bit double extension (RTL)
# - compressed extension
# - fence extension
# - atomics extension
# - vector extension
XLEN ?= 32
SIM_DIR=../../../sim
SIM_DIR = ../../../sim
TESTS_32I := $(filter-out rv32ui-p-fence_i.hex, $(wildcard rv32ui-p-*.hex))
TESTS_32I := $(filter-out rv32ui-p-ma_data.hex rv32ui-p-fence_i.hex, $(wildcard rv32ui-p-*.hex))
TESTS_32M := $(wildcard rv32um-p-*.hex)
TESTS_32A := $(wildcard rv32ua-p-*.hex)
TESTS_32F := $(wildcard rv32uf-p-*.hex)
TESTS_32D := $(wildcard rv32ud-p-*.hex)
TESTS_64I := $(wildcard rv64ui-p-*.hex)
TESTS_64I := $(filter-out rv64ui-p-ma_data.hex rv64ui-p-fence_i.hex, $(wildcard rv64ui-p-*.hex))
TESTS_64M := $(wildcard rv64um-p-*.hex)
TESTS_64A := $(wildcard rv64ua-p-*.hex)
TESTS_64F := $(wildcard rv64uf-p-*.hex)
TESTS_64FX := $(filter-out rv64uf-p-fcvt.hex rv64uf-p-fcvt_w.hex, $(wildcard rv64uf-p-*.hex))
TESTS_64D := $(wildcard rv64ud-p-*.hex)
all:
run-simx-32i:
$(foreach test, $(TESTS_32I), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
run-simx-32imafd:
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F) $(TESTS_32D) $(TESTS_32A), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-64imafd:
$(foreach test, $(TESTS_64I) $(TESTS_64M) $(TESTS_64F) $(TESTS_64D) $(TESTS_64A), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-32im:
$(foreach test, $(TESTS_32I) $(TESTS_32M), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
$(foreach test, $(TESTS_32I) $(TESTS_32M), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-32f:
$(foreach test, $(TESTS_32F), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-32imf:
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
run-simx-32imfd:
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F) $(TESTS_32D), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
run-simx-64i:
$(foreach test, $(TESTS_64I), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
run-simx-32d:
$(foreach test, $(TESTS_32D), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-64im:
$(foreach test, $(TESTS_64I) $(TESTS_64M), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
$(foreach test, $(TESTS_64I) $(TESTS_64M), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-64imf:
$(foreach test, $(TESTS_64I) $(TESTS_64M) $(TESTS_64F), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
run-simx-64f:
$(foreach test, $(TESTS_64F), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-64imfd:
$(foreach test, $(TESTS_64I) $(TESTS_64M) $(TESTS_64F) $(TESTS_64D), $(SIM_DIR)/simx/simx -r -c 1 -i $(test) || exit;)
run-simx-64fx:
$(foreach test, $(TESTS_64FX), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-32: run-simx-32imfd
run-simx-64d:
$(foreach test, $(TESTS_64D), $(SIM_DIR)/simx/simx -r $(test) || exit;)
run-simx-64: run-simx-32imfd run-simx-64imfd
run-simx-32: run-simx-32imafd
run-simx-64: run-simx-32imafd run-simx-64imafd
run-simx: run-simx-$(XLEN)
run-rtlsim:
run-rtlsim-32imf:
$(foreach test, $(TESTS_32I) $(TESTS_32M) $(TESTS_32F), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-64imf:
$(foreach test, $(TESTS_64I) $(TESTS_64M) $(TESTS_64F), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-32im:
$(foreach test, $(TESTS_32I) $(TESTS_32M), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-32f:
$(foreach test, $(TESTS_32F), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-64im:
$(foreach test, $(TESTS_64I) $(TESTS_64M), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-64f:
$(foreach test, $(TESTS_64F), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-64fx:
$(foreach test, $(TESTS_64FX), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-64d:
$(foreach test, $(TESTS_64D), $(SIM_DIR)/rtlsim/rtlsim -r $(test) || exit;)
run-rtlsim-32: run-rtlsim-32imf
run-rtlsim-64: run-rtlsim-32imf run-rtlsim-64imf
run-rtlsim: run-rtlsim-$(XLEN)
clean: