From 471de61e4d9e53a038942f21f61d4b481b5f9853 Mon Sep 17 00:00:00 2001 From: Sam O'Brien Date: Wed, 9 Jun 2021 09:28:22 -0500 Subject: fpga: tools: Fix part selection in setupenv The script setupenv_base.sh, which is used to setup the development environmnet in the open source toolchain, adds some functions to the shell that are used to interact with vivado. Some of the functions were looking in the wrong argument for the product name. This commit fixes the bug. In addition, supplying an incorrect part name returned a rather opaque error message. This commit also fixes the error handling so that the intended error message is displayed. Signed-off-by: Sam O'Brien --- fpga/usrp3/tools/scripts/setupenv_base.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'fpga') diff --git a/fpga/usrp3/tools/scripts/setupenv_base.sh b/fpga/usrp3/tools/scripts/setupenv_base.sh index 6ca9ff60e..cb0c546e5 100644 --- a/fpga/usrp3/tools/scripts/setupenv_base.sh +++ b/fpga/usrp3/tools/scripts/setupenv_base.sh @@ -325,8 +325,8 @@ function viv_create_ip { ip_name=$1 ip_dir=$(readlink -f $2) ip_vlnv=$3 - part_name=$(python $REPO_BASE_PATH/tools/scripts/viv_gen_part_id.py "${PRODUCT_ID_MAP[$2]}") - if [[ -z $part_name ]]; then + part_name=$(python $REPO_BASE_PATH/tools/scripts/viv_gen_part_id.py "${PRODUCT_ID_MAP[$4]}") + if [[ $? -ne 0 ]]; then echo "ERROR: Invalid product name $4. Supported: ${!PRODUCT_ID_MAP[@]}" return 1 fi @@ -376,6 +376,10 @@ function viv_modify_bd { bd_path=$(readlink -f $1) part_name=$(python $REPO_BASE_PATH/tools/scripts/viv_gen_part_id.py "${PRODUCT_ID_MAP[$2]}") + if [[ $? -ne 0 ]]; then + echo "ERROR: Invalid product name $2. Supported: ${!PRODUCT_ID_MAP[@]}" + return 1 + fi if [[ -f $bd_path ]]; then $VIVADO_EXEC -mode gui -source $(resolve_viv_path $VIV_IP_UTILS) -nolog -nojournal -tclargs modify $part_name $(resolve_viv_path $bd_path) else @@ -396,6 +400,10 @@ function viv_modify_tcl_bd { src_path=$(readlink -f $1) part_name=$(python $REPO_BASE_PATH/tools/scripts/viv_gen_part_id.py "${PRODUCT_ID_MAP[$2]}") + if [[ $? -ne 0 ]]; then + echo "ERROR: Invalid product name $2. Supported: ${!PRODUCT_ID_MAP[@]}" + return 1 + fi bd_ip_repo="${src_path%/top*}/lib/vivado_ipi" if [[ -f $src_path ]]; then $VIVADO_EXEC -mode gui -source $(resolve_viv_path $VIV_IP_UTILS) -nolog -nojournal -tclargs modify_bdtcl $part_name $(resolve_viv_path $src_path) $(resolve_viv_path $bd_ip_repo) @@ -416,8 +424,8 @@ function viv_ls_ip { return 1 fi - part_name=$(python $REPO_BASE_PATH/tools/scripts/viv_gen_part_id.py "${PRODUCT_ID_MAP[$2]}") - if [[ -z $part_name ]]; then + part_name=$(python $REPO_BASE_PATH/tools/scripts/viv_gen_part_id.py "${PRODUCT_ID_MAP[$1]}") + if [[ $? -ne 0 ]]; then echo "ERROR: Invalid product name $1. Supported: ${!PRODUCT_ID_MAP[@]}" return 1 fi -- cgit v1.2.3