#!/bin/bash # $Id: xise_ghdl_simprim 1172 2019-06-29 07:27:24Z mueller $ # SPDX-License-Identifier: GPL-3.0-or-later # Copyright 2007-2019 by Walter F.J. Mueller # # Revision History: # Date Rev Vers Comment # 2016-07-02 782 1.3.1 add ghdlopts as 1st option; default is -O2 # 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 # 2009-11-08 248 1.1 adopt to ISE 11.1, use VITAL models from ./primitive # 2007-10-26 92 1.0 Initial version # ghdlopts=${1:--O2 -g} # if [ -z "$XTWI_PATH" ] then echo "XTWI_PATH not defined" exit 1 fi if [ ! -d "$XTWI_PATH/ISE_DS/ISE" ] then echo "$XTWI_PATHISE_DS/ISE not existing" exit 1 fi # ise_path=$XTWI_PATH/ISE_DS/ISE # cd $ise_path echo "============================================================" echo "* Build ghdl SIMPRIM lib for $ise_path" echo "============================================================" # if [ ! -d ghdl ] then mkdir ghdl fi # cd $ise_path/ghdl if [ ! -d simprim ] then mkdir simprim fi cd simprim # cp $ise_path/vhdl/src/simprims/simprim_Vcomponents.vhd . cp $ise_path/vhdl/src/simprims/simprim_Vpackage.vhd . # if [ ! -d primitive ] then mkdir primitive fi # pushd primitive cp -p $ise_path/vhdl/src/simprims/primitive/other/*.vhd . cp -p $ise_path/vhdl/src/simprims/primitive/other/vhdl_analyze_order . xilinx_vhdl_memcolltype_fix popd # echo "# ghdl ... simprim_Vcomponents.vhd" ghdl -a --ieee=synopsys --work=simprim --no-vital-checks $ghdlopts \ simprim_Vcomponents.vhd echo "# ghdl ... simprim_Vpackage.vhd" ghdl -a --ieee=synopsys --work=simprim --no-vital-checks $ghdlopts \ simprim_Vpackage.vhd for file in `cat primitive/vhdl_analyze_order` do echo "# ghdl ... primitive/$file" ghdl -a -fexplicit --ieee=synopsys --work=simprim \ --no-vital-checks $ghdlopts primitive/$file 2>&1 |\ tee primitive/$file.ghdl.log done # echo "--- scan for compilation errors:" find primitive -name "*.ghdl.log" | xargs grep error #