| # dirs |
| URAY_ENV_PATH="${BASH_SOURCE[0]}" |
| while [ -h "$URAY_ENV_PATH" ]; do # resolve $URAY_ENV_PATH until the file is no longer a symlink |
| URAY_UTILS_DIR="$( cd -P "$( dirname "$URAY_ENV_PATH" )" && pwd )" |
| URAY_ENV_PATH="$(readlink "$URAY_ENV_PATH")" |
| [[ $URAY_ENV_PATH != /* ]] && URAY_ENV_PATH="$URAY_UTILS_DIR/$URAY_ENV_PATH" # if $URAY_ENV_PATH was a relative symlink, we need to resolve it relative to the path where the symlink file was located |
| done |
| export URAY_UTILS_DIR="$( cd -P "$( dirname "$URAY_ENV_PATH" )" && pwd )" |
| export URAY_DIR="$( dirname "$URAY_UTILS_DIR" )" |
| export URAY_DATABASE_DIR="${URAY_DIR}/database" |
| export URAY_TOOLS_DIR="${URAY_DIR}/third_party/symbiflow-tools/build/tools" |
| export URAY_FUZZERS_DIR="${URAY_DIR}/fuzzers" |
| export URAY_FAMILY_DIR="${URAY_DATABASE_DIR}/${URAY_DATABASE}" |
| |
| if [ -e "${URAY_DIR}/env/bin/activate" ]; then |
| source "${URAY_DIR}/env/bin/activate" |
| fi |
| |
| # misc |
| export URAY_PART_YAML="${URAY_DATABASE_DIR}/${URAY_DATABASE}/${URAY_PART}/part.yaml" |
| export PYTHONPATH="${URAY_DIR}:${URAY_DIR}/third_party/fasm:$PYTHONPATH" |
| |
| # tools |
| export URAY_GENHEADER="${URAY_UTILS_DIR}/genheader.sh" |
| export URAY_BITREAD="${URAY_TOOLS_DIR}/bitread --part_file ${URAY_PART_YAML} --architecture ${URAY_ARCH}" |
| export URAY_MERGEDB="bash ${URAY_UTILS_DIR}/mergedb.sh" |
| export URAY_DBFIXUP="python3 ${URAY_UTILS_DIR}/dbfixup.py" |
| export URAY_MASKMERGE="bash ${URAY_UTILS_DIR}/maskmerge.sh" |
| export URAY_SEGMATCH="${URAY_TOOLS_DIR}/segmatch" |
| export URAY_SEGPRINT="python3 ${URAY_UTILS_DIR}/segprint.py" |
| export URAY_BIT2FASM="python3 ${URAY_UTILS_DIR}/bit2fasm.py" |
| export URAY_FASM2FRAMES="python3 ${URAY_UTILS_DIR}/fasm2frames.py" |
| export URAY_BITTOOL="${URAY_TOOLS_DIR}/bittool" |
| export URAY_BLOCKWIDTH="python3 ${URAY_UTILS_DIR}/blockwidth.py" |
| export URAY_PARSEDB="python3 ${URAY_UTILS_DIR}/parsedb.py" |
| export URAY_TCL_REFORMAT="${URAY_UTILS_DIR}/tcl-reformat.sh" |
| export URAY_VIVADO="${URAY_UTILS_DIR}/vivado.sh" |
| |
| # Verify an approved version is in use |
| export URAY_VIVADO_SETTINGS="${URAY_VIVADO_SETTINGS:-/opt/Xilinx/Vivado/2019.2/settings64.sh}" |
| # Vivado v2019.2 (64-bit) |
| if [ $(${URAY_VIVADO} -h |grep Vivado |cut -d\ -f 2) != "v2019.2" ] ; then |
| echo "Requires Vivado 2019.2 to have Zynq US+ support." |
| # Can't exit since sourced script |
| # Trash a key environment variable to preclude use |
| export URAY_DIR="/bad/vivado/version" |
| return |
| fi |