2019-02-20 17:31:35 -06: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-02 18:57:32 -05:00
|
|
|
if ! command -v iverilog > /dev/null ; then
|
2019-02-20 17:31:35 -06:00
|
|
|
echo "$0: Error: Icarus Verilog 'iverilog' not found."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
cp ../simple/*.v .
|
2019-08-17 07:37:07 -05:00
|
|
|
cp ../simple/*.sv .
|
2019-02-21 13:16:25 -06:00
|
|
|
DOLLAR='?'
|
2019-12-16 20:41:56 -06:00
|
|
|
exec ${MAKE:-make} -f ../tools/autotest.mk $seed *.v *.sv EXTRA_FLAGS="-n 300 -p '\
|
2019-08-29 19:24:48 -05:00
|
|
|
hierarchy; \
|
|
|
|
synth -run coarse; \
|
|
|
|
opt -full; \
|
2019-12-16 20:41:56 -06:00
|
|
|
techmap; \
|
|
|
|
abc9 -lut 4 -box ../abc.box; \
|
|
|
|
clean; \
|
2019-08-29 19:24:48 -05:00
|
|
|
check -assert; \
|
|
|
|
select -assert-none t:${DOLLAR}_NOT_ t:${DOLLAR}_AND_ %%'"
|