cvw/sim/lint-wally

23 lines
1.1 KiB
Plaintext
Raw Normal View History

2021-05-03 21:32:05 +00:00
#!/bin/bash
# check for warnings in Verilog code
# The verilator lint tool is faster and better than Modelsim so it is best to run this first.
export PATH=$PATH:/usr/local/bin/
verilator=`which verilator`
basepath=$(dirname $0)/..
2023-11-14 16:55:22 +00:00
for config in rv32e rv64gc rv32gc rv32imc rv32i rv64i rv64fpquad; do
2022-12-23 07:53:09 +00:00
#for config in rv64gc; do
2021-04-29 18:48:41 +00:00
echo "$config linting..."
if !($verilator --no-timing --lint-only "$@" --top-module wallywrapper "-I$basepath/config/shared" "-I$basepath/config/$config" $basepath/src/cvw.sv $basepath/testbench/wallywrapper.sv $basepath/src/*/*.sv $basepath/src/*/*/*.sv --relative-includes ); then
2021-04-29 18:48:41 +00:00
echo "Exiting after $config lint due to errors or warnings"
exit 1
fi
done
echo "All lints run with no errors or warnings"
# --lint-only just runs lint rather than trying to compile and simulate
2023-10-18 12:38:36 +00:00
# -I points to the include directory where files such as `include config.vh are found
2021-10-25 17:05:41 +00:00
# For more exhaustive (and sometimes spurious) warnings, add --Wall to the Verilator command
# Unfortunately, this produces a bunch of UNUSED and UNDRIVEN signal warnings in blocks that are configured to not exist.