mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 17:55:19 +00:00
Fixed typo in declaration in tlbcontrol; escape quoted argument to Verilator; added ulimit to setup so Verilator stack is large enough
This commit is contained in:
parent
0781cd4a44
commit
67124b0c7f
@ -113,7 +113,7 @@ cd ../arch_test_target/spike/device
|
|||||||
sed -i 's/--isa=rv32ic/--isa=rv32iac/' rv32i_m/privilege/Makefile.include
|
sed -i 's/--isa=rv32ic/--isa=rv32iac/' rv32i_m/privilege/Makefile.include
|
||||||
sed -i 's/--isa=rv64ic/--isa=rv64iac/' rv64i_m/privilege/Makefile.include
|
sed -i 's/--isa=rv64ic/--isa=rv64iac/' rv64i_m/privilege/Makefile.include
|
||||||
|
|
||||||
# Wally needs Verilator 5.0 or later.
|
# Wally needs Verilator 5.021 or later.
|
||||||
# Verilator needs to be built from scratch to get the latest version
|
# Verilator needs to be built from scratch to get the latest version
|
||||||
# apt-get install verilator installs version 4.028 as of 6/8/23
|
# apt-get install verilator installs version 4.028 as of 6/8/23
|
||||||
sudo apt-get install -y perl g++ ccache help2man libgoogle-perftools-dev numactl perl-doc zlib1g
|
sudo apt-get install -y perl g++ ccache help2man libgoogle-perftools-dev numactl perl-doc zlib1g
|
||||||
|
2
setup.sh
2
setup.sh
@ -54,5 +54,7 @@ if [ -e "$IDV" ]; then
|
|||||||
export PATH=$IDV/scripts/cvw:$PATH
|
export PATH=$IDV/scripts/cvw:$PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Verilator needs a larger stack to simulate CORE-V Wally
|
||||||
|
ulimit -s 100000
|
||||||
|
|
||||||
echo "setup done"
|
echo "setup done"
|
@ -2,7 +2,7 @@
|
|||||||
# simulate with Verilator
|
# simulate with Verilator
|
||||||
|
|
||||||
# verilator -CFLAGS -DVL_DEBUG -CFLAGS -D_GLIBCXX_DEBUG -CFLAGS -ggdb -LDFLAGS -ggdb -CFLAGS -fsanitize=address,undefined -LDFLAGS -fsanitize=address,undefined --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
|
# verilator -CFLAGS -DVL_DEBUG -CFLAGS -D_GLIBCXX_DEBUG -CFLAGS -ggdb -LDFLAGS -ggdb -CFLAGS -fsanitize=address,undefined -LDFLAGS -fsanitize=address,undefined --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
|
||||||
# verilator -GTEST="arch64i" --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
|
# verilator -GTEST="\"arch64i\"" --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
|
||||||
|
|
||||||
export PATH=$PATH:/usr/local/bin/
|
export PATH=$PATH:/usr/local/bin/
|
||||||
verilator=`which verilator`
|
verilator=`which verilator`
|
||||||
@ -12,7 +12,7 @@ basepath=$(dirname $0)/..
|
|||||||
for config in rv64gc; do
|
for config in rv64gc; do
|
||||||
echo "$config simulating..."
|
echo "$config simulating..."
|
||||||
# not working: -GTEST="arch64i"
|
# not working: -GTEST="arch64i"
|
||||||
if !($verilator --timescale "1ns/1ns" --timing --binary "$@" -GTEST="arch64i" --top-module testbench "-I$basepath/config/shared" "-I$basepath/config/$config" $basepath/src/cvw.sv $basepath/testbench/testbench.sv $basepath/testbench/common/*.sv $basepath/src/*/*.sv $basepath/src/*/*/*.sv --relative-includes ); then
|
if !($verilator --timescale "1ns/1ns" --timing --binary "$@" -GTEST="\"arch64i\"" --top-module testbench "-I$basepath/config/shared" "-I$basepath/config/$config" $basepath/src/cvw.sv $basepath/testbench/testbench.sv $basepath/testbench/common/*.sv $basepath/src/*/*.sv $basepath/src/*/*/*.sv --relative-includes ); then
|
||||||
echo "Exiting after $config lint due to errors or warnings"
|
echo "Exiting after $config lint due to errors or warnings"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -97,7 +97,7 @@ module tlbcontrol import cvw::*; #(parameter cvw_t P, ITLB = 0) (
|
|||||||
assign PreUpdateDA = ~PTE_A;
|
assign PreUpdateDA = ~PTE_A;
|
||||||
assign InvalidAccess = ~PTE_X;
|
assign InvalidAccess = ~PTE_X;
|
||||||
end else begin:dtlb // Data TLB fault checking
|
end else begin:dtlb // Data TLB fault checking
|
||||||
logic InvalidRead, InvalidWrite, ReservtedEncoding;
|
logic InvalidRead, InvalidWrite, ReservedEncoding;
|
||||||
logic InvalidCBOM, InvalidCBOZ;
|
logic InvalidCBOM, InvalidCBOZ;
|
||||||
|
|
||||||
// User mode may only load/store from user mode pages, and supervisor mode
|
// User mode may only load/store from user mode pages, and supervisor mode
|
||||||
|
Loading…
Reference in New Issue
Block a user