Skip to content
Snippets Groups Projects
Select Git revision
  • 45b4245437fc3fcd6f182c4f2568d430b87c0bad
  • master default protected
  • L2SDP-LIFT
  • L2SDP-1113
  • HPR-158
5 results

set_modelsim

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    set_modelsim 3.18 KiB
    #!/bin/bash
    ###############################################################################
    #
    # Copyright (C) 2014
    # ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
    # P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    #
    ###############################################################################
    
    # Purpose: Map command line argument to a tool version
    # Description:
    #   By using command line arguments like "unb1" or "unb2" to select the tool
    #   version it is easier to manage combinations of tool versions.
    
    # General tool and project settings
    # - use '. <script>.sh' to have the settings apply in this shell, otherwise they get lost when <script>.sh returns
    
    # Select target
    export TOOLSET=${1:-}
    echo "Make Modelsim and Altera library simulation settings for RadioHDL with tool setting: ${TOOLSET}"
    
    # Select tool version
    if [ "${TOOLSET}" = "unb1" ]; then
      . ${RADIOHDL}/tools/quartus/quartus_version.sh 11.1
      . ${RADIOHDL}/tools/modelsim/modelsim_version.sh 6.6c
    elif [ "${TOOLSET}" = "unb2" ]; then
      . ${RADIOHDL}/tools/quartus/quartus_version.sh 14.1
      . ${RADIOHDL}/tools/modelsim/modelsim_version.sh 10.4
      # Next line may be needed, but comment it if it yields ld.so errors
      export LD_PRELOAD=/home/software/freetype2/usr/lib/libfreetype.so
    elif [ "${TOOLSET}" = "unb233" ]; then
      # unb233 = toolset unb2 on dop233
      # however better use 'unb2' and comment the export LD_PRELOAD line when on dop233, because the generate_ip.sh scripts use fixed 'unb2'.
      . ${RADIOHDL}/tools/quartus/quartus_version.sh 14.1
      . ${RADIOHDL}/tools/modelsim/modelsim_version.sh 10.4
    else
      echo "error: unknown tool setting: ${TOOLSET} (choose 'unb1' or 'unb2')"
      exit 1
    fi
    
    # Remarks:
    # - No need for MODELSIM_TCL environment variable and modelsim.tcl, because these are not preferred and instead call commands.do via -do argument.
    # - No need for MODELSIM environment variable to point to a specific modelsim.ini file, because RADIOHDL can use the default modelsim.ini
    # - For RADIOHDL the modelsim project files are created by a Python script.
    # - The paths to the IEEE libraries are defined by the MODELTECH environment variable that gets defined by Modelsim itself when it starts
    # - The paths to the FPGA technology libraries are defined in the [library] section in the modelsim project files using MODEL_TECH_ALTERA_LIB
    #   environment variable that gets defined in quartus_version.sh. Similar paths to generic libraries are defined using their absolute path.
    # - Default modelsim.ini settings can be overruled by project specific settings in the [vsim] section in the modelsim project files.