blob: 021596983f02fd44949cbcf18606117dd7a532cc [file] [log] [blame]
#!/bin/bash
export RUNSET_DIR=$(cd ./V1.3.0/DRC/Calibre; pwd)
export PWK_HOME=$(cd ./V1.3.0; pwd)
export LOG
export JOB_NAME
export JOB_HOME
#Sets the LOG variable and creates the log directory if it doesn't exist.
if [ ! -d ./log ]; then
mkdir log
LOG=./log
else
LOG=./log
fi
#Removes the outputs if the script is run again. Otherwise it creates the output directory and all of its subdirectories
if [ ! -d "./output/" ]; then
echo "Making output directory...."
mkdir -p output/{summary,results,db,rdb}
else
echo "Building directories...."
mkdir -p output/{summary,results,db,rdb}
fi
#If the gds files weren't generated, this if statement extracts all of the gds files from the cells within the lib folder.
if [ ! -d "../lib/gds" ]; then
cd ../lib/magic
./extract_all
cd -
fi
cd ../lib/gds
JOB_HOME=$PWD
cd -
if [ ! -z "$1" ]; then
export i=$(echo $1 | cut -f 1 -d '.') #i is used as the input variable
else
export i="$(basename -s .gds $(ls $JOB_HOME/*.gds))" #i is used s the input variable
fi
#Loops through the input gds files. If no user input is supplied, all gds files are put through the DRC process.
for JOB_NAME in $i ; do
#Checks to make sure the file supplied exists. If not, then it exits the bash script.
if [ ! -e $JOB_HOME/$JOB_NAME.gds ]; then echo "Did not find '$JOB_HOME/$JOB_NAME.gds'"
exit 1
fi
echo -e "\nexport JOB_HOME='$JOB_HOME'"
echo -e "export JOB_NAME='$JOB_NAME'"
echo -e "====================================="
set -x #Turns on debugging
calibre -gui -drc -runset $RUNSET_DIR/s8_latchup_runset -batch > $LOG/s8_latch_runset.log 2>&1
set +x #Turns off debugging
done #End of the loop
echo "Moving output files to ./output"
mv -v *.results ./output/results/
mv -v *.summary ./output/summary/
mv -v *.rdb ./output/rdb/
mv -v *.db ./output/db/
mv -v *_s8* ./output/
exit 0