blob: 99fcd747646583845569064d57f0466cb7c9e276 [file] [log] [blame]
PDK_ROOT=$1
DV_PATH=$2
DV_TEST_ID=$3
SIM_MODE=$4
cd $DV_PATH || exit
## get the name of all subdfolders under verilog/dv
ALL_DV_TESTS="$(find * -maxdepth 0 -type d)"
## convert all ALL_DV_TESTS to an array
TESTS_ARR=($ALL_DV_TESTS)
## get length of the TESTS array
len=${#TESTS_ARR[@]}
## make sure that the test ID is less than the array length
if [ $DV_TEST_ID -ge $len ]; then
echo "Error: Invalid Test ID"
exit 1
fi
## get the name corresponding to the test ID
PATTERN=${TESTS_ARR[$DV_TEST_ID]}
OUT_FILE=$DV_PATH/$DV_TEST_ID.out
export SIM=$SIM_MODE
echo "Running $PATTERN $SIM.."
logFile=$DV_PATH/$PATTERN.$SIM.dv.out
cd $PATTERN || exit
echo $(pwd)
make 2>&1 | tee $logFile
grep "Monitor" $logFile >>$OUT_FILE
make clean
echo "Execution Done on $PATTERN !"
cat $OUT_FILE
exit 0