#!/bin/bash
|
#!/bin/bash
|
# $Id: xise_ghdl_simprim 642 2015-02-06 18:53:12Z mueller $
|
# $Id: xise_ghdl_simprim 642 2015-02-06 18:53:12Z mueller $
|
#
|
#
|
# Copyright 2007-2015 by Walter F.J. Mueller
|
# Copyright 2007-2015 by Walter F.J. Mueller
|
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory
|
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory
|
#
|
#
|
# Revision History:
|
# Revision History:
|
# Date Rev Vers Comment
|
# Date Rev Vers Comment
|
# 2015-02-03 642 1.3 remove ISE 10 legacy support
|
# 2015-02-03 642 1.3 remove ISE 10 legacy support
|
# 2015-01-29 639 1.2 rename from xilinx_*; use XTWI_PATH rather XILINX
|
# 2015-01-29 639 1.2 rename from xilinx_*; use XTWI_PATH rather XILINX
|
# 2009-11-08 248 1.1 adopt to ISE 11.1, use VITAL models from ./primitive
|
# 2009-11-08 248 1.1 adopt to ISE 11.1, use VITAL models from ./primitive
|
# 2007-10-26 92 1.0 Initial version
|
# 2007-10-26 92 1.0 Initial version
|
#
|
#
|
|
|
if [ -z "$XTWI_PATH" ]
|
if [ -z "$XTWI_PATH" ]
|
then
|
then
|
echo "XTWI_PATH not defined"
|
echo "XTWI_PATH not defined"
|
exit 1
|
exit 1
|
fi
|
fi
|
if [ ! -d "$XTWI_PATH/ISE_DS/ISE" ]
|
if [ ! -d "$XTWI_PATH/ISE_DS/ISE" ]
|
then
|
then
|
echo "$XTWI_PATHISE_DS/ISE not existing"
|
echo "$XTWI_PATHISE_DS/ISE not existing"
|
exit 1
|
exit 1
|
fi
|
fi
|
#
|
#
|
ise_path=$XTWI_PATH/ISE_DS/ISE
|
ise_path=$XTWI_PATH/ISE_DS/ISE
|
#
|
#
|
cd $ise_path
|
cd $ise_path
|
echo "============================================================"
|
echo "============================================================"
|
echo "* Build ghdl SIMPRIM lib for $ise_path"
|
echo "* Build ghdl SIMPRIM lib for $ise_path"
|
echo "============================================================"
|
echo "============================================================"
|
#
|
#
|
if [ ! -d ghdl ]
|
if [ ! -d ghdl ]
|
then
|
then
|
mkdir ghdl
|
mkdir ghdl
|
fi
|
fi
|
#
|
#
|
cd $ise_path/ghdl
|
cd $ise_path/ghdl
|
if [ ! -d simprim ]
|
if [ ! -d simprim ]
|
then
|
then
|
mkdir simprim
|
mkdir simprim
|
fi
|
fi
|
cd simprim
|
cd simprim
|
#
|
#
|
cp $ise_path/vhdl/src/simprims/simprim_Vcomponents.vhd .
|
cp $ise_path/vhdl/src/simprims/simprim_Vcomponents.vhd .
|
cp $ise_path/vhdl/src/simprims/simprim_Vpackage.vhd .
|
cp $ise_path/vhdl/src/simprims/simprim_Vpackage.vhd .
|
#
|
#
|
if [ ! -d primitive ]
|
if [ ! -d primitive ]
|
then
|
then
|
mkdir primitive
|
mkdir primitive
|
fi
|
fi
|
#
|
#
|
pushd primitive
|
pushd primitive
|
cp -p $ise_path/vhdl/src/simprims/primitive/other/*.vhd .
|
cp -p $ise_path/vhdl/src/simprims/primitive/other/*.vhd .
|
cp -p $ise_path/vhdl/src/simprims/primitive/other/vhdl_analyze_order .
|
cp -p $ise_path/vhdl/src/simprims/primitive/other/vhdl_analyze_order .
|
xilinx_vhdl_memcolltype_fix
|
xilinx_vhdl_memcolltype_fix
|
popd
|
popd
|
#
|
#
|
echo "# ghdl ... simprim_Vcomponents.vhd"
|
echo "# ghdl ... simprim_Vcomponents.vhd"
|
ghdl -a --ieee=synopsys --work=simprim --no-vital-checks simprim_Vcomponents.vhd
|
ghdl -a --ieee=synopsys --work=simprim --no-vital-checks simprim_Vcomponents.vhd
|
echo "# ghdl ... simprim_Vpackage.vhd"
|
echo "# ghdl ... simprim_Vpackage.vhd"
|
ghdl -a --ieee=synopsys --work=simprim --no-vital-checks simprim_Vpackage.vhd
|
ghdl -a --ieee=synopsys --work=simprim --no-vital-checks simprim_Vpackage.vhd
|
|
|
for file in `cat primitive/vhdl_analyze_order`
|
for file in `cat primitive/vhdl_analyze_order`
|
do
|
do
|
echo "# ghdl ... primitive/$file"
|
echo "# ghdl ... primitive/$file"
|
ghdl -a -fexplicit --ieee=synopsys --work=simprim \
|
ghdl -a -fexplicit --ieee=synopsys --work=simprim \
|
--no-vital-checks primitive/$file 2>&1 |\
|
--no-vital-checks primitive/$file 2>&1 |\
|
tee primitive/$file.ghdl.log
|
tee primitive/$file.ghdl.log
|
done
|
done
|
#
|
#
|
echo "--- scan for compilation errors:"
|
echo "--- scan for compilation errors:"
|
find primitive -name "*.ghdl.log" | xargs grep error
|
find primitive -name "*.ghdl.log" | xargs grep error
|
#
|
#
|
|
|