From 640dae69f806715378c658b0c7a3149fabce835b Mon Sep 17 00:00:00 2001 From: Rose Thompson Date: Tue, 12 Mar 2024 16:47:56 -0500 Subject: [PATCH 1/3] System independent setup.sh file separates setup.sh into setup.sh and site-setup.sh. site-setup.sh is to be copied into $RISCV/site-setup.sh by the system admin and modified as needed. setup.sh should no longer require modifications for individual systems. --- setup.sh | 55 +++++++++++++-------------------------------------- site-setup.sh | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 41 deletions(-) mode change 100755 => 100644 setup.sh create mode 100755 site-setup.sh diff --git a/setup.sh b/setup.sh old mode 100755 new mode 100644 index e1d4e6cd3..f609c1e3d --- a/setup.sh +++ b/setup.sh @@ -2,58 +2,31 @@ # setup.sh # David_Harris@hmc.edu and kekim@hmc.edu 1 December 2021 -# Set up tools for rvw +# Set up tools for cvw + +# optionally have .bashrc or .bash_profile source this file with +#if [ -f ~/cvw/setup.sh ]; then +# source ~/cvw/setup.sh +#fi + # SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 echo "Executing Wally setup.sh" +# Path to RISC-V Tools +export RISCV=/opt/riscv # change this if you installed the tools in a different location + # Path to Wally repository WALLY=$(dirname ${BASH_SOURCE[0]:-$0}) export WALLY=$(cd "$WALLY" && pwd) echo \$WALLY set to ${WALLY} - -# License servers and commercial CAD tool paths -# Must edit these based on your local environment. Ask your sysadmin. -export MGLS_LICENSE_FILE=27002@zircon.eng.hmc.edu # Change this to your Siemens license server -export SNPSLMD_LICENSE_FILE=27020@zircon.eng.hmc.edu # Change this to your Synopsys license server -export QUESTA_HOME=/cad/mentor/questa_sim-2023.4/questasim # Change this for your path to Questa, excluding bin -export SNPS_HOME=/cad/synopsys/SYN # Change this for your path to Design Compiler, excluding bin - -# Path to RISC-V Tools -export RISCV=/opt/riscv # change this if you installed the tools in a different location - -# Tools -# Questa and Synopsys -export PATH=$QUESTA_HOME/bin:$SNPS_HOME/bin:$PATH -# GCC -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RISCV/riscv-gnu-toolchain/lib:$RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/lib -export PATH=$PATH:$RISCV/riscv-gnu-toolchain/bin:$RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/bin # GCC tools -# Spike -export LD_LIBRARY_PATH=$RISCV/lib:$LD_LIBRARY_PATH -export PATH=$PATH:$RISCV/bin # utility functions in Wally repository export PATH=$WALLY/bin:$PATH -# Verilator -export PATH=/usr/local/bin/verilator:$PATH # Change this for your path to Verilator -# ModelSim/Questa (vsim) -# Note: 2022.1 complains on cache/sram1p1r1w about StoredData cannot be driven by multiple always_ff blocks. Ues 2021.2 for now - -# Imperas; put this in if you are using it -#export PATH=$RISCV/imperas-riscv-tests/riscv-ovpsim-plus/bin/Linux64:$PATH -#export LD_LIBRARY_PATH=$RISCV/imperas_riscv_tests/riscv-ovpsim-plus/bin/Linux64:$LD_LIBRARY_PATH # remove if no imperas - -export IDV=$RISCV/ImperasDV-OpenHW -if [ -e "$IDV" ]; then -# echo "Imperas exists" - export IMPERAS_HOME=$IDV/Imperas - export IMPERAS_PERSONALITY=CPUMAN_DV_ASYNC - export ROOTDIR=~/ - source ${IMPERAS_HOME}/bin/setup.sh - setupImperas ${IMPERAS_HOME} - export PATH=$IDV/scripts/cvw:$PATH -fi # Verilator needs a larger stack to simulate CORE-V Wally ulimit -s 100000 -echo "setup done" \ No newline at end of file +# load site licenses and tool locations +source $RISCV/site-setup.sh + +echo "setup done" diff --git a/site-setup.sh b/site-setup.sh new file mode 100755 index 000000000..cf28a93f1 --- /dev/null +++ b/site-setup.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# site-setup.sh +# David_Harris@hmc.edu and kekim@hmc.edu 1 December 2021 +# System Admin should install this into $RISCV/site-setup.sh +# $RISCV is typically /opt/riscv +# System Admin must update the licenses and paths for localization. +# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 + +# license servers and commercial CAD tool paths +# Must edit these based on your local environment. +export MGLS_LICENSE_FILE=27002@zircon.eng.hmc.edu # Change this to your Siemens license server for Questa +export SNPSLMD_LICENSE_FILE=27020@zircon.eng.hmc.edu # Change this to your Synopsys license server for Design Compiler +export QUESTA_HOME=/cad/mentor/questa_sim-2023.4/questasim # Change this for your path to Questa, excluding bin +export SNPS_HOME=/cad/synopsys/SYN # Change this for your path to Design Compiler, excluding bin + +# Tools +# Questa and Synopsys +export PATH=$QUESTA_HOME/bin:$SNPS_HOME/bin:$PATH + +# GCC +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RISCV/riscv-gnu-toolchain/lib:$RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/lib +export PATH=$PATH:$RISCV/riscv-gnu-toolchain/bin:$RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/bin # GCC tools + +# Spike +export LD_LIBRARY_PATH=$RISCV/lib:$LD_LIBRARY_PATH +export PATH=$PATH:$RISCV/bin + +# Verilator +export PATH=/usr/local/bin/verilator:$PATH # Change this for your path to Verilator + +# Imperas OVPsim; put this in if you are using it +#export PATH=$RISCV/imperas-riscv-tests/riscv-ovpsim-plus/bin/Linux64:$PATH +#export LD_LIBRARY_PATH=$RISCV/imperas_riscv_tests/riscv-ovpsim-plus/bin/Linux64:$LD_LIBRARY_PATH + +export IDV=$RISCV/ImperasDV-OpenHW +if [ -e "$IDV" ]; then +# echo "Imperas exists" + export IMPERAS_HOME=$IDV/Imperas + export IMPERAS_PERSONALITY=CPUMAN_DV_ASYNC + export ROOTDIR=~/ + source ${IMPERAS_HOME}/bin/setup.sh + setupImperas ${IMPERAS_HOME} + export PATH=$IDV/scripts/cvw:$PATH +fi + From c027fd3701b52fe3426b3a8d53a61cc7a075e017 Mon Sep 17 00:00:00 2001 From: Rose Thompson Date: Tue, 12 Mar 2024 16:56:52 -0500 Subject: [PATCH 2/3] Added site-setup.csh for cshell systems. --- setup.csh | 36 ++++-------------------------------- site-setup.csh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 32 deletions(-) create mode 100644 site-setup.csh diff --git a/setup.csh b/setup.csh index 82728f57c..62a99f376 100755 --- a/setup.csh +++ b/setup.csh @@ -5,48 +5,20 @@ echo "Executing Wally setup.csh" -# Path to Wally repository -setenv WALLY $PWD -echo '$WALLY set to ' ${WALLY} # Extend alias which makes extending PATH much easier. alias extend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 ${\!:1}:\!:2;echo Added \!:2 to \!:1' alias prepend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 "\!:2":${\!:1};echo Added \!:2 to \!:1' -# License servers and commercial CAD tool paths -# Must edit these based on your local environment. Ask your sysadmin. -setenv MGLS_LICENSE_FILE 27002@zircon.eng.hmc.edu # Change this to your Siemens license server -setenv SNPSLMD_LICENSE_FILE 27020@zircon.eng.hmc.edu # Change this to your Synopsys license server -setenv QUESTAPATH /cad/mentor/questa_sim-2022.4_2/questasim/bin # Change this for your path to Questa -setenv SNPSPATH /cad/synopsys/SYN/bin # Change this for your path to Design Compiler - # Path to RISC-V Tools setenv RISCV /opt/riscv # change this if you installed the tools in a different location -# Tools -# Questa and Synopsys -extend PATH $QUESTAPATH -extend PATH $SNPSPATH -# GCC -prepend LD_LIBRARY_PATH $RISCV/riscv-gnu-toolchain/lib -prepend LD_LIBRARY_PATH $RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/lib -extend PATH $RISCV/riscv-gnu-toolchain/bin # GCC tools -extend PATH $RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/bin # GCC tools -# Spike -extend LD_LIBRARY_PATH $RISCV/lib -extend PATH $RISCV/bin +# Path to Wally repository +setenv WALLY $PWD +echo '$WALLY set to ' ${WALLY} # utility functions in Wally repository extend PATH $WALLY/bin -# Verilator -extend PATH /usr/local/bin/verilator # Change this for your path to Verilator -# ModelSim/Questa (vsim) -# Note: 2022.1 complains on cache/sram1p1r1w about StoredData cannot be driven by multiple always_ff blocks. Ues 2021.2 for now -# Imperas; put this in if you are using it -#set path = ($RISCV/imperas-riscv-tests/riscv-ovpsim-plus/bin/Linux64 $path) -#setenv LD_LIBRARY_PATH $RISCV/imperas_riscv_tests/riscv-ovpsim-plus/bin/Linux64:$LD_LIBRARY_PATH # remove if no imperas - -# Verilator needs a larger stack to simulate CORE-V Wally -limit stacksize unlimited +source $RISCV/site-setup.csh echo "setup done" diff --git a/site-setup.csh b/site-setup.csh new file mode 100644 index 000000000..9c234b5d0 --- /dev/null +++ b/site-setup.csh @@ -0,0 +1,46 @@ +#!/bin/csh + +# site-setup.csh + +# License servers and commercial CAD tool paths +# Must edit these based on your local environment. Ask your sysadmin. +setenv MGLS_LICENSE_FILE 27002@zircon.eng.hmc.edu # Change this to your Siemens license server +setenv SNPSLMD_LICENSE_FILE 27020@zircon.eng.hmc.edu # Change this to your Synopsys license server +setenv QUESTAPATH /cad/mentor/questa_sim-2022.4_2/questasim/bin # Change this for your path to Questa +setenv SNPSPATH /cad/synopsys/SYN/bin # Change this for your path to Design Compiler + +# Tools +# Questa and Synopsys +extend PATH $QUESTAPATH +extend PATH $SNPSPATH + +# GCC +prepend LD_LIBRARY_PATH $RISCV/riscv-gnu-toolchain/lib +prepend LD_LIBRARY_PATH $RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/lib +extend PATH $RISCV/riscv-gnu-toolchain/bin # GCC tools +extend PATH $RISCV/riscv-gnu-toolchain/riscv64-unknown-elf/bin # GCC tools + +# Spike +extend LD_LIBRARY_PATH $RISCV/lib +extend PATH $RISCV/bin + +# Verilator +extend PATH /usr/local/bin/verilator # Change this for your path to Verilator +# Verilator needs a larger stack to simulate CORE-V Wally +limit stacksize unlimited + +# Imperas; put this in if you are using it +#set path = ($RISCV/imperas-riscv-tests/riscv-ovpsim-plus/bin/Linux64 $path) +#setenv LD_LIBRARY_PATH $RISCV/imperas_riscv_tests/riscv-ovpsim-plus/bin/Linux64:$LD_LIBRARY_PATH # remove if no imperas + +setenv IDV $RISCV/ImperasDV-OpenHW +if ($?IDV) then +# echo "Imperas exists" + setenv IMPERAS_HOME $IDV/Imperas + setenv IMPERAS_PERSONALITY CPUMAN_DV_ASYNC + setenv ROOTDIR=~/ + setenv ${IMPERAS_HOME}/bin/setup.sh + setupImperas ${IMPERAS_HOME} + extend PATH $IDV/scripts/cvw +endfi + From f642043f75d21c1263db136e8998a6d661442166 Mon Sep 17 00:00:00 2001 From: Ross Thompson Date: Tue, 12 Mar 2024 17:06:29 -0500 Subject: [PATCH 3/3] Fixed typos in site-setup.csh. --- site-setup.csh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site-setup.csh b/site-setup.csh index 9c234b5d0..d2a52e720 100644 --- a/site-setup.csh +++ b/site-setup.csh @@ -38,8 +38,8 @@ if ($?IDV) then # echo "Imperas exists" setenv IMPERAS_HOME $IDV/Imperas setenv IMPERAS_PERSONALITY CPUMAN_DV_ASYNC - setenv ROOTDIR=~/ - setenv ${IMPERAS_HOME}/bin/setup.sh + setenv ROOTDIR ~/ + source ${IMPERAS_HOME}/bin/setup.sh setupImperas ${IMPERAS_HOME} extend PATH $IDV/scripts/cvw endfi