#!/bin/bash
|
#!/bin/bash
|
|
|
#system workings
|
#system workings
|
MINSOC_DIR=`pwd`/..
|
MINSOC_DIR=`pwd`/..
|
|
|
PROJECT=$1
|
PROJECT=$1
|
DIR_OUTPUT=$2
|
DIR_OUTPUT=$2
|
PROJECT_FILE=$3
|
PROJECT_FILE=$3
|
TOP_MODULE_NAME=$4
|
TOP_MODULE_NAME=$4
|
TOP_MODULE=$5
|
TOP_MODULE=$5
|
|
|
ENV=`uname -o`
|
ENV=`uname -o`
|
|
|
function adaptpath
|
function adaptpath
|
{
|
{
|
if [ "$ENV" == "Cygwin" ]
|
if [ "$ENV" == "Cygwin" ]
|
then
|
then
|
local cygpath=`cygpath -w $1`
|
local cygpath=`cygpath -w $1`
|
echo "$cygpath"
|
echo "$cygpath"
|
else
|
else
|
echo "$1"
|
echo "$1"
|
fi
|
fi
|
}
|
}
|
|
|
if [ ! -f $PROJECT ]
|
if [ ! -f $PROJECT ]
|
then
|
then
|
echo "Unexistent project file."
|
echo "Unexistent project file."
|
exit 1
|
exit 1
|
fi
|
fi
|
|
|
if [ -z "$DIR_OUTPUT" ]
|
if [ -z "$DIR_OUTPUT" ]
|
then
|
then
|
echo "Second argument should be the destintion file for the directory inclusions."
|
echo "Second argument should be the destintion file for the directory inclusions."
|
exit 1
|
exit 1
|
fi
|
fi
|
echo -n "" > $DIR_OUTPUT
|
echo -n "" > $DIR_OUTPUT
|
|
|
source $PROJECT
|
source $PROJECT
|
|
|
echo "set -tmpdir "./xst"" >> $DIR_OUTPUT
|
echo "set -tmpdir "./xst"" >> $DIR_OUTPUT
|
echo "run" >> $DIR_OUTPUT
|
echo "run" >> $DIR_OUTPUT
|
|
|
DIR_PATH="-vlgincdir {"
|
DIR_PATH="-vlgincdir {"
|
|
|
for dir in "${PROJECT_DIR[@]}"
|
for dir in "${PROJECT_DIR[@]}"
|
do
|
do
|
adapted_dir=`adaptpath $MINSOC_DIR/$dir`
|
adapted_dir=`adaptpath $MINSOC_DIR/$dir`
|
DIR_PATH="$DIR_PATH \"$adapted_dir\" "
|
DIR_PATH="$DIR_PATH \"$adapted_dir\" "
|
done
|
done
|
|
|
DIR_PATH="$DIR_PATH }"
|
DIR_PATH="$DIR_PATH }"
|
echo $DIR_PATH >> $DIR_OUTPUT
|
echo $DIR_PATH >> $DIR_OUTPUT
|
|
|
adapted_project_file=`adaptpath $MINSOC_DIR/prj/xilinx/${PROJECT_FILE}`
|
adapted_project_file=`adaptpath $MINSOC_DIR/prj/xilinx/${PROJECT_FILE}`
|
echo "-ifn $adapted_project_file" >> $DIR_OUTPUT
|
echo "-ifn $adapted_project_file" >> $DIR_OUTPUT
|
echo "-ifmt Verilog" >> $DIR_OUTPUT
|
echo "-ifmt Verilog" >> $DIR_OUTPUT
|
echo "-ofn ${TOP_MODULE_NAME}" >> $DIR_OUTPUT
|
echo "-ofn ${TOP_MODULE_NAME}" >> $DIR_OUTPUT
|
echo "-ofmt NGC" >> $DIR_OUTPUT
|
echo "-ofmt NGC" >> $DIR_OUTPUT
|
echo "-p DEVICE_PART" >> $DIR_OUTPUT
|
echo "-p DEVICE_PART" >> $DIR_OUTPUT
|
echo "-top ${TOP_MODULE_NAME}" >> $DIR_OUTPUT
|
echo "-top ${TOP_MODULE_NAME}" >> $DIR_OUTPUT
|
echo "-opt_mode Speed" >> $DIR_OUTPUT
|
echo "-opt_mode Speed" >> $DIR_OUTPUT
|
echo "-opt_level 1" >> $DIR_OUTPUT
|
echo "-opt_level 1" >> $DIR_OUTPUT
|
if [ -n "$TOP_MODULE" ]
|
if [ -n "$TOP_MODULE" ]
|
then
|
then
|
echo "-iobuf yes" >> $DIR_OUTPUT
|
echo "-iobuf yes" >> $DIR_OUTPUT
|
else
|
else
|
echo "-iobuf no" >> $DIR_OUTPUT
|
echo "-iobuf no" >> $DIR_OUTPUT
|
fi
|
fi
|
|
|