Merge branch 'main' into fpga

This commit is contained in:
Ross Thompson 2021-11-29 10:06:53 -06:00
commit e43aa6ead4
659 changed files with 246423 additions and 10777 deletions

36
.gitignore vendored
View file

@ -19,37 +19,19 @@ wlft*
/imperas-riscv-tests/FunctionRadix.addr
/imperas-riscv-tests/ProgramMap.txt
/imperas-riscv-tests/logs
/wally-pipelined/linux-testgen/qemu_output.txt
/wally-pipelined/linux-testgen/qemu_in_gdb_format.txt
*.o
*.d
testsBP/*/*/*.elf*
testsBP/*/OBJ/*
testsBP/*/*.a
wally-pipelined/linux-testgen/linux-testvectors/*
wally-pipelined/linux-testgen/nohup*
wally-pipelined/linux-testgen/x*
!wally-pipelined/linux-testgen/linux-testvectors/tvCopier.py
!wally-pipelined/linux-testgen/linux-testvectors/tvLinker.sh
!wally-pipelined/linux-testgen/linux-testvectors/tvUnlinker.sh
!wally-pipelined/linux-testgen/linux-testvectors/intermediate-outputs
wally-pipelined/linux-testgen/linux-testvectors/intermediate-outputs/*
!wally-pipelined/linux-testgen/linux-testvectors/intermediate-outputs/git_create_dir.txt
wally-pipelined/linux-testgen/buildroot/
wally-pipelined/linux-testgen/buildroot-image-output
wally-pipelined/linux-testgen/buildroot-config-src/main.config.old
wally-pipelined/linux-testgen/buildroot-config-src/linux.config.old
wally-pipelined/linux-testgen/buildroot-config-src/busybox.config.old
tests/linux-testgen/linux-testvectors/*
!tests/linux-testgen/linux-testvectors/tvCopier.py
!tests/linux-testgen/linux-testvectors/tvLinker.sh
!tests/linux-testgen/linux-testvectors/tvUnlinker.sh
tests/linux-testgen/buildroot
tests/linux-testgen/buildroot-image-output
tests/linux-testgen/buildroot-config-src/main.config.old
tests/linux-testgen/buildroot-config-src/linux.config.old
tests/linux-testgen/buildroot-config-src/busybox.config.old
wally-pipelined/regression/slack-notifier/slack-webhook-url.txt
wally-pipelined/regression/logs
/testsBP/fpga-test-dram/bin/blink-led
/testsBP/fpga-test-dram/bin/blink-led.memfile
/testsBP/fpga-test-dram/bin/blink-led.objdump
/testsBP/fpga-test-dram/bin/blink-led.objdump.addr
/testsBP/fpga-test-dram/bin/blink-led.objdump.lab
/testsBP/fpga-test-sdc/bin/fpga-test-sdc
/testsBP/fpga-test-sdc/bin/fpga-test-sdc.memfile
/testsBP/fpga-test-sdc/bin/fpga-test-sdc.objdump
/testsBP/fpga-test-sdc/bin/fpga-test-sdc.objdump.addr
/testsBP/fpga-test-sdc/bin/fpga-test-sdc.objdump.lab

26
Makefile Normal file
View file

@ -0,0 +1,26 @@
make all: submodules other
submodules: addins/riscv-isa-sim addins/riscv-arch-test
cd addins;git init; git submodule add https://github.com/riscv-non-isa/riscv-arch-test; git submodule add https://github.com/riscv-software-src/riscv-isa-sim
git submodule update --init --recursive
other:
cp -r addins/riscv-isa-sim/arch_test_target/spike/device/rv32i_m/I addins/riscv-isa-sim/arch_test_target/spike/device/rv32i_m/F
cp -r addins/riscv-isa-sim/arch_test_target/spike/device/rv32i_m/I addins/riscv-isa-sim/arch_test_target/spike/device/rv32i_m/D
sed -i 's/--isa=rv32i /--isa=32if/' addins/riscv-isa-sim/arch_test_target/spike/device/rv32i_m/F/Makefile.include
sed -i 's/--isa=rv32i /--isa=32if/' addins/riscv-isa-sim/arch_test_target/spike/device/rv32i_m/D/Makefile.include
ifneq ("$(wildcard $(addins/riscv-isa-sim/build/.*))",)
else
mkdir addins/riscv-isa-sim/build
endif
cd addins/riscv-isa-sim/build; ../configure --prefix=/cad/riscv/gcc/bin
make -C addins/riscv-isa-sim/
sed -i '/export TARGETDIR ?=/c\export TARGETDIR ?= /home/harris/riscv-wally/addins/riscv-isa-sim/arch_test_target' tests/wally-riscv-arch-test/Makefile.include
echo export RISCV_PREFIX = riscv64-unknown-elf- >> tests/wally-riscv-arch-test/Makefile.include
make -C tests/wally-riscv-arch-test
make -C tests/wally-riscv-arch-test XLEN=32
cd tests/wally-riscv-arch-test; exe2memfile.pl work/*/*/*.elf
make -C wally-pipelined/regression

View file

@ -8,12 +8,16 @@ To use Wally on Linux:
```
git clone https://github.com/davidharrishmc/riscv-wally
cd riscv-wally
cd imperas-riscv-tests
make
cd ../addins
cd addins
*** can these clones be replaced with git submodule commands?
git clone https://github.com/riscv-non-isa/riscv-arch-test
git clone https://github.com/riscv-software-src/riscv-isa-sim
cd riscv-isa-sim
*** replace these with a copy from ../install/F and ../install/D containing the Makefile.includes already updated
cp -r arch_test_target/spike/device/rv32i_m/I arch_test_target/spike/device/rv32i_m/F
<edit arch_test_target/spike/device/rv32i_m/F/Makefile.include line 35 and change --isa=rv32i to --isa=rv32if>
cp -r arch_test_target/spike/device/rv64i_m/I arch_test_target/spike/device/rv64i_m/D
<edit arch_test_target/spike/device/rv64i_m/D/Makefile.include line 35 and change --isa=rv64i to --isa=rv64id>
mkdir build
cd build
set RISCV=/cad/riscv/gcc/bin (or whatever your path is)
@ -28,6 +32,15 @@ edit Makefile.include
make
make XLEN=32
exe2memfile.pl work/*/*/*.elf # converts ELF files to a format that can be read by Modelsim
cd ../../tests
cd imperas-riscv-tests
make
cd ../wally-riscv-arch-test
make
make XLEN=32
exe2memfile.pl work/*/*/*.elf # converts ELF files to a format that can be read by Modelsim
cd ../linux-testgen/linux-testvectors
./tvLinker.sh
```
Notes:

View file

@ -0,0 +1,16 @@
work/coremark.bare.riscv.memfile: work/coremark.bare.riscv.objdump
exe2memfile.pl work/coremark.bare.riscv
work/coremark.bare.riscv.objdump: work/coremark.bare.riscv
riscv64-unknown-elf-objdump -D work/coremark.bare.riscv > work/coremark.bare.riscv.objdump
work/coremark.bare.riscv:
make -C coremark PORT_DIR=/home/harris/riscv-wally/benchmarks/riscv-coremark/riscv64-baremetal compile RISCV=/courses/e190ax/riscvcompiler XCFLAGS="-march=rv64im"
mv coremark/coremark.bare.riscv work
#make -C ../../addins/coremark PORT_DIR=/home/harris/riscv-wally/benchmarks/riscv-coremark/riscv64-baremetal compile RISCV=/courses/e190ax/riscvcompiler XCFLAGS="-march=rv64im"
#mv ../../addins/coremark/coremark.bare.riscv work
.PHONY: clean
clean:
rm -f work/*

Binary file not shown.

View file

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Before After
Before After

Some files were not shown because too many files have changed in this diff Show more