2019-02-21 00:31:35 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
OPTIND=1
|
|
|
|
|
seed="" # default to no seed specified
|
|
|
|
|
while getopts "S:" opt
|
|
|
|
|
do
|
|
|
|
|
case "$opt" in
|
|
|
|
|
S) arg="${OPTARG#"${OPTARG%%[![:space:]]*}"}" # remove leading space
|
|
|
|
|
seed="SEED=$arg" ;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
shift "$((OPTIND-1))"
|
|
|
|
|
|
|
|
|
|
# check for Icarus Verilog
|
2019-09-03 01:57:32 +02:00
|
|
|
if ! command -v iverilog > /dev/null ; then
|
2019-02-21 00:31:35 +01:00
|
|
|
echo "$0: Error: Icarus Verilog 'iverilog' not found."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cp ../simple/*.v .
|
2019-08-17 14:37:07 +02:00
|
|
|
cp ../simple/*.sv .
|
2019-02-21 20:16:25 +01:00
|
|
|
DOLLAR='?'
|
2019-12-17 03:41:56 +01:00
|
|
|
exec ${MAKE:-make} -f ../tools/autotest.mk $seed *.v *.sv EXTRA_FLAGS="-n 300 -p '\
|
2019-08-30 02:24:48 +02:00
|
|
|
hierarchy; \
|
|
|
|
|
synth -run coarse; \
|
|
|
|
|
opt -full; \
|
2019-12-17 03:41:56 +01:00
|
|
|
techmap; \
|
2020-02-13 21:13:12 +01:00
|
|
|
abc9 -lut 4; \
|
2019-12-17 03:41:56 +01:00
|
|
|
clean; \
|
2019-08-30 02:24:48 +02:00
|
|
|
check -assert; \
|
2020-01-24 04:55:11 +01:00
|
|
|
select -assert-none t:${DOLLAR}_NOT_ t:${DOLLAR}_AND_ %%; \
|
2020-02-13 21:13:12 +01:00
|
|
|
setattr -mod -unset blackbox'"
|