MLECO-2512: Minor improvement for helper scripts.

Python scripts 'build_default.py' and 'set_up_default_resources.py'
now allow building for non-default Ethos-U configurations: H32, H64,
H256 and Y512.

Change-Id: Iefdbf135410396c4dc0be73462644725d4b47910
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 523bcaa..d18105d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,7 +72,7 @@
     sse-300
     STRING)
 
-USER_OPTION(ETHOS_U_NPU_ENABLED "Select if Ethos-U55 is available for the platform and subsystem"
+USER_OPTION(ETHOS_U_NPU_ENABLED "Select if Ethos-U NPU is available for the platform and subsystem"
     ON
     BOOL)
 
@@ -166,15 +166,15 @@
 # If we need NPU libraries:
 if (ETHOS_U_NPU_ENABLED)
 
-    message(STATUS "Using ARM Ethos-U55 - adding core-driver and timing-adapter-driver includes and libraries")
+    message(STATUS "Using ARM Ethos-U NPU - adding core-driver and timing-adapter-driver includes and libraries")
     USER_OPTION(ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH
-        "Path to Ethos-U55 timing adapter sources"
+        "Path to Ethos-U NPU timing adapter sources"
         "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/core-software/drivers/timing_adapter"
         PATH
         )
 
     USER_OPTION(ETHOS_U_NPU_DRIVER_SRC_PATH
-        "Path to Ethos-U55 core driver sources"
+        "Path to Ethos-U NPU core driver sources"
         "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/core-driver"
         PATH
         )
diff --git a/build_default.py b/build_default.py
index b863c51..b642b80 100755
--- a/build_default.py
+++ b/build_default.py
@@ -23,10 +23,16 @@
 import sys
 from argparse import ArgumentParser
 
-from set_up_default_resources import set_up_resources
+from set_up_default_resources import set_up_resources, \
+                                     get_default_npu_config_from_name, \
+                                     valid_npu_config_names, \
+                                     default_npu_config_names
 
 
-def run(toolchain: str, download_resources: bool, run_vela_on_models: bool):
+def run(toolchain: str,
+        download_resources: bool,
+        run_vela_on_models: bool,
+        npu_config_name: str):
     """
     Run the helpers scripts.
 
@@ -35,13 +41,15 @@
     toolchain (str)          :    Specifies if 'gnu' or 'arm' toolchain needs to be used.
     download_resources (bool):    Specifies if 'Download resources' step is performed.
     run_vela_on_models (bool):    Only if `download_resources` is True, specifies if run vela on downloaded models.
+    npu_config_name(str)     :    Ethos-U NPU configuration name. See "valid_npu_config_names"
     """
 
     current_file_dir = os.path.dirname(os.path.abspath(__file__))
 
     # 1. Make sure the toolchain is supported, and set the right one here
     supported_toolchain_ids = ["gnu", "arm"]
-    assert toolchain in supported_toolchain_ids, f"Toolchain must be from {supported_toolchain_ids}"
+    assert (toolchain in supported_toolchain_ids,
+        f"Toolchain must be from {supported_toolchain_ids}")
     if toolchain == "arm":
         toolchain_file_name = "bare-metal-armclang.cmake"
     elif toolchain == "gnu":
@@ -50,14 +58,16 @@
     # 2. Download models if specified
     if download_resources is True:
         logging.info("Downloading resources.")
-        set_up_resources(run_vela_on_models)
+        set_up_resources(run_vela_on_models=run_vela_on_models,
+                         additional_npu_config_names=[npu_config_name])
 
     # 3. Build default configuration
     logging.info("Building default configuration.")
     target_platform = "mps3"
     target_subsystem = "sse-300"
+    ethos_u_cfg = get_default_npu_config_from_name(npu_config_name)
     build_dir = os.path.join(current_file_dir,
-        f"cmake-build-{target_platform}-{target_subsystem}-{toolchain}-release")
+        f"cmake-build-{target_platform}-{target_subsystem}-{npu_config_name}-{toolchain}")
     try:
         os.mkdir(build_dir)
     except FileExistsError:
@@ -75,17 +85,21 @@
     os.chdir(build_dir)
     cmake_toolchain_file = os.path.join(current_file_dir, "scripts", "cmake",
                                         "toolchains", toolchain_file_name)
-    cmake_command = (f"cmake .. -DTARGET_PLATFORM={target_platform} " +
-                     f"-DTARGET_SUBSYSTEM={target_subsystem} " +
-                     f" -DCMAKE_TOOLCHAIN_FILE={cmake_toolchain_file}")
+    cmake_command = (f"cmake .. -DTARGET_PLATFORM={target_platform}" +
+                     f" -DTARGET_SUBSYSTEM={target_subsystem}" +
+                     f" -DCMAKE_TOOLCHAIN_FILE={cmake_toolchain_file}" +
+                     f" -DETHOS_U_NPU_ID={ethos_u_cfg.ethos_u_npu_id}" +
+                     f" -DETHOS_U_NPU_CONFIG_ID={ethos_u_cfg.ethos_u_config_id}")
 
     logging.info(cmake_command)
-    state = subprocess.run(cmake_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+    state = subprocess.run(cmake_command, shell=True, stdout=subprocess.PIPE,
+                           stderr=subprocess.STDOUT)
     logging.info(state.stdout.decode('utf-8'))
 
     make_command = f"make -j{multiprocessing.cpu_count()}"
     logging.info(make_command)
-    state = subprocess.run(make_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+    state = subprocess.run(make_command, shell=True, stdout=subprocess.PIPE,
+                           stderr=subprocess.STDOUT)
     logging.info(state.stdout.decode('utf-8'))
 
 
@@ -102,9 +116,17 @@
     parser.add_argument("--skip-vela",
                         help="Do not run Vela optimizer on downloaded models.",
                         action="store_true")
+    parser.add_argument("--npu-config-name",
+                        help=f"""Arm Ethos-U configuration to build for. Choose from:
+                        {valid_npu_config_names}""",
+                        default=default_npu_config_names[0])
     args = parser.parse_args()
 
-    logging.basicConfig(filename='log_build_default.log', level=logging.DEBUG, filemode='w')
+    logging.basicConfig(filename='log_build_default.log', level=logging.DEBUG,
+                        filemode='w')
     logging.getLogger().addHandler(logging.StreamHandler(sys.stdout))
 
-    run(args.toolchain.lower(), not args.skip_download, not args.skip_vela)
+    run(args.toolchain.lower(),
+        not args.skip_download,
+        not args.skip_vela,
+        args.npu_config_name)
diff --git a/docs/sections/building.md b/docs/sections/building.md
index 3adaa72..f2911a8 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -164,6 +164,18 @@
   >**Note:** The `Shared_Sram` memory mode is available on both *Ethos-U55* and *Ethos-U65* NPU, `Dedicated_Sram` only
   > for *Ethos-U65* NPU and `Sram_Only` only for Ethos-U55* NPU.
 
+- `ETHOS_U_NPU_CONFIG_ID`: This parameter is set by default based on the value of `ETHOS_U_NPU_ID`.
+For Ethos-U55, it defaults to the `H128` indicating that the Ethos-U55 128 MAC optimised model
+should be used. For Ethos-U65, it defaults to `Y256` instead. However, the user can override these
+defaults to a configuration ID from `H32`, `H64`, `H256` and `Y512`.
+
+  > **Note:** This ID is only used to choose which tflite file path is to be used by the CMake
+configuration for all the use cases. If the user has overridden use-case specific model path
+parameter `ETHOS_U_NPU_CONFIG_ID` parameter will become irrelevant for that use-case. Also, the
+model files for the chosen `ETHOS_U_NPU_CONFIG_ID` are expected to exist in the default locations.
+See [Fetching resource files](#fetching-resource-files) for details on how to do this for your
+chosen configuration.
+
 - `CPU_PROFILE_ENABLED`: Sets whether profiling information for the CPU core should be displayed. By default, this is
   set to false, but can be turned on for FPGA targets. The the FVP and the CPU core cycle counts are not meaningful and
   are not to be used.
@@ -284,6 +296,17 @@
 > **Note:** This script requires Python version 3.6 or higher. Please make sure all [build prerequisites](#build-prerequisites)
 > are satisfied.
 
+If you need to optimize the models for a different Ethos-U configuration, you can pass a
+list of additional configurations for Vela compiler. For example, to optimize the downloaded models
+for *Ethos™-U55* 32 MAC configuration and *Ethos™-U65* 512 MAC configuration, you can choose to run:
+
+```sh
+python3 ./set_up_default_resources.py \
+  --additional-ethos-u-config-name ethos-u55-32 \
+  --additional-ethos-u-config-name ethos-u65-512
+```
+> **Note:** As the argument name suggests, the configuration names are **in addition to** the default ones: `ethos-u55-128` and `ethosu-u65-256`.
+
 ### Building for default configuration
 
 A helper script `build_default.py` is provided to configure and build all the applications. It configures the project
@@ -306,6 +329,20 @@
 
 - `--skip-download`: Do not download resources: models and test vectors
 - `--skip-vela`: Do not run Vela optimizer on downloaded models.
+- `--npu-config-name`: Arm Ethos-U configuration to build for. The default value is
+    `ethos-u55-128`. Valid values are:
+    - `ethos-u55-32`
+    - `ethos-u55-64`
+    - `ethos-u55-128`
+    - `ethos-u55-256`
+    - `ethos-u65-256`
+    - `ethos-u65-512`
+
+To build for *Ethos™-U55* 32 MAC configuration, using `Arm Compiler`, run:
+
+```commandline
+./build_default.py --npu-config-name ethos-u55-32 --toolchain arm
+```
 
 ### Create a build directory
 
diff --git a/scripts/cmake/bare-metal-sources.cmake b/scripts/cmake/bare-metal-sources.cmake
index 3fe9b1b..c797d5f 100644
--- a/scripts/cmake/bare-metal-sources.cmake
+++ b/scripts/cmake/bare-metal-sources.cmake
@@ -60,6 +60,10 @@
         "${DEFAULT_NPU_MEM_MODE}"
         STRING)
 
+    USER_OPTION(ETHOS_U_NPU_CONFIG_ID "Specifies the configuration ID for the NPU."
+        "${DEFAULT_NPU_CONFIG_ID}"
+        STRING)
+
     if (ETHOS_U_NPU_MEMORY_MODE STREQUAL Sram_Only)
 
         if (ETHOS_U_NPU_ID STREQUAL U55)
diff --git a/scripts/cmake/toolchains/bare-metal-armclang.cmake b/scripts/cmake/toolchains/bare-metal-armclang.cmake
index d07aa9e..c1f066b 100644
--- a/scripts/cmake/toolchains/bare-metal-armclang.cmake
+++ b/scripts/cmake/toolchains/bare-metal-armclang.cmake
@@ -43,7 +43,7 @@
     set(FLOAT_ABI                   hard)
     set(ARM_MATH_DSP                1)
     set(ARM_MATH_LOOPUNROLL         1)
-    set(CPU_LINK_OPT                "--cpu=8.1-M.Main.dsp")
+    set(CPU_LINK_OPT                "--cpu=Cortex-M55")
 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m33)
     # Flags for cortex-m33 to go here
 endif()
diff --git a/set_up_default_resources.py b/set_up_default_resources.py
index 3fb2c8a..6c65ee1 100755
--- a/set_up_default_resources.py
+++ b/set_up_default_resources.py
@@ -24,6 +24,8 @@
 
 from argparse import ArgumentParser
 from urllib.error import URLError
+from collections import namedtuple
+
 
 json_uc_res = [{
     "use_case_name": "ad",
@@ -92,6 +94,22 @@
                       ]
     },]
 
+# Valid NPU configurations:
+valid_npu_config_names = [
+        'ethos-u55-32', 'ethos-u55-64',
+        'ethos-u55-128', 'ethos-u55-256',
+        'ethos-u65-256','ethos-u65-512']
+
+# Default NPU configurations (these are always run when the models are optimised)
+default_npu_config_names = [valid_npu_config_names[2], valid_npu_config_names[4]]
+
+# NPU config named tuple
+NPUConfig = namedtuple('NPUConfig',['config_name',
+                                    'memory_mode',
+                                    'system_config',
+                                    'ethos_u_npu_id',
+                                    'ethos_u_config_id'])
+
 
 def call_command(command: str) -> str:
     """
@@ -112,13 +130,52 @@
     return log
 
 
-def set_up_resources(run_vela_on_models=False):
+def get_default_npu_config_from_name(config_name: str) -> NPUConfig:
+    """
+    Gets the file suffix for the tflite file from the
+    `accelerator_config` string.
+
+    Parameters:
+    ----------
+    config_name (str):   Ethos-U NPU configuration from valid_npu_config_names
+
+    Returns:
+    -------
+    NPUConfig: An NPU config named tuple populated with defaults for the given
+               config name
+    """
+    if config_name not in valid_npu_config_names:
+        raise ValueError(f"""
+            Invalid Ethos-U NPU configuration.
+            Select one from {valid_npu_config_names}.
+            """)
+
+    strings_ids = ["ethos-u55-", "ethos-u65-"]
+    processor_ids = ["U55", "U65"]
+    prefix_ids = ["H", "Y"]
+    memory_modes = ["Shared_Sram", "Dedicated_Sram"]
+    system_configs = ["Ethos_U55_High_End_Embedded", "Ethos_U65_High_End"]
+
+    for i in range(len(strings_ids)):
+        if config_name.startswith(strings_ids[i]):
+            npu_config_id = config_name.replace(strings_ids[i], prefix_ids[i])
+            return  NPUConfig(config_name=config_name,
+                              memory_mode=memory_modes[i],
+                              system_config=system_configs[i],
+                              ethos_u_npu_id=processor_ids[i],
+                              ethos_u_config_id=npu_config_id)
+
+    return None
+
+
+def set_up_resources(run_vela_on_models=False, additional_npu_config_names=[]):
     """
     Helpers function that retrieve the output from a command.
 
     Parameters:
     ----------
     run_vela_on_models (bool):    Specifies if run vela on downloaded models.
+    additional_npu_config_names(list): list of strings of Ethos-U NPU configs.
     """
     current_file_dir = os.path.dirname(os.path.abspath(__file__))
     download_dir = os.path.abspath(os.path.join(current_file_dir, "resources_downloaded"))
@@ -210,38 +267,41 @@
                   for dirpath, dirnames, files in os.walk(download_dir)
                   for f in fnmatch.filter(files, '*.tflite') if "vela" not in f]
 
+        # Consolidate all config names while discarding duplicates:
+        config_names = list(set(default_npu_config_names + additional_npu_config_names))
+
+        # Get npu config tuple for each config name in a list:
+        npu_configs = [get_default_npu_config_from_name(name) for name in config_names]
+
+        logging.info(f'All models will be optimised for these configs:')
+        for config in npu_configs:
+            logging.info(config)
+
         for model in models:
             output_dir = os.path.dirname(model)
             # model name after compiling with vela is an initial model name + _vela suffix
             vela_optimised_model_path = str(model).replace(".tflite", "_vela.tflite")
 
-            # Ethos-U NPU default generation
-            vela_opt_suffixes = ["_vela_H128.tflite", "_vela_Y256.tflite"]
-            vela_commands = [f". {env_activate} && vela {model} " +
-                       "--accelerator-config=ethos-u55-128 " +
+            for config in npu_configs:
+                vela_command = (f". {env_activate} && vela {model} " +
+                       f"--accelerator-config={config.config_name} " +
                        "--optimise Performance " +
                        f"--config {config_file} " +
-                       "--memory-mode=Shared_Sram " +
-                       "--system-config=Ethos_U55_High_End_Embedded " +
-                       f"--output-dir={output_dir}",
+                       f"--memory-mode={config.memory_mode} " +
+                       f"--system-config={config.system_config} " +
+                       f"--output-dir={output_dir}")
 
-                       f". {env_activate} && vela {model} " +
-                       "--accelerator-config=ethos-u65-256 " +
-                       "--optimise Performance " +
-                       f"--config {config_file} " +
-                       "--memory-mode=Dedicated_Sram " +
-                       "--system-config=Ethos_U65_High_End " +
-                       f"--output-dir={output_dir}"]
-
-            for vela_suffix, command in zip(vela_opt_suffixes, vela_commands):
-                # we want it to be initial model name + _vela_H128 suffix which indicates selected MACs config.
-                new_vela_optimised_model_path = vela_optimised_model_path.replace("_vela.tflite", vela_suffix)
+                # we want the name to include the configuration suffix. For example: vela_H128,
+                # vela_Y512 etc.
+                new_suffix = "_vela_" + config.ethos_u_config_id + '.tflite'
+                new_vela_optimised_model_path = (
+                    vela_optimised_model_path.replace("_vela.tflite", new_suffix))
 
                 if os.path.isfile(new_vela_optimised_model_path):
                     logging.info(f"File {new_vela_optimised_model_path} exists, skipping optimisation.")
                     continue
 
-                call_command(command)
+                call_command(vela_command)
 
                 # rename default vela model
                 os.rename(vela_optimised_model_path, new_vela_optimised_model_path)
@@ -253,9 +313,13 @@
     parser.add_argument("--skip-vela",
                         help="Do not run Vela optimizer on downloaded models.",
                         action="store_true")
+    parser.add_argument("--additional-ethos-u-config-name",
+                        help=f"""Additional (non-default) configurations for Vela:
+                        {valid_npu_config_names}""",
+                        default=[], action="append")
     args = parser.parse_args()
 
     logging.basicConfig(filename='log_build_default.log', level=logging.DEBUG)
     logging.getLogger().addHandler(logging.StreamHandler(sys.stdout))
 
-    set_up_resources(not args.skip_vela)
+    set_up_resources(not args.skip_vela, args.additional_ethos_u_config_name)
diff --git a/source/use_case/ad/usecase.cmake b/source/use_case/ad/usecase.cmake
index 9ddf66e..23b4c32 100644
--- a/source/use_case/ad/usecase.cmake
+++ b/source/use_case/ad/usecase.cmake
@@ -61,7 +61,7 @@
         STRING)
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8.tflite)
 endif()
diff --git a/source/use_case/asr/usecase.cmake b/source/use_case/asr/usecase.cmake
index 60fc132..89a131e 100644
--- a/source/use_case/asr/usecase.cmake
+++ b/source/use_case/asr/usecase.cmake
@@ -75,7 +75,7 @@
     STRING)
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8.tflite)
 endif()
diff --git a/source/use_case/img_class/usecase.cmake b/source/use_case/img_class/usecase.cmake
index 441a346..dafdbbf 100644
--- a/source/use_case/img_class/usecase.cmake
+++ b/source/use_case/img_class/usecase.cmake
@@ -47,7 +47,7 @@
     STRING)
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_INT8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_INT8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_INT8.tflite)
 endif()
diff --git a/source/use_case/inference_runner/usecase.cmake b/source/use_case/inference_runner/usecase.cmake
index 7f9c74f..7d12120 100644
--- a/source/use_case/inference_runner/usecase.cmake
+++ b/source/use_case/inference_runner/usecase.cmake
@@ -22,7 +22,7 @@
 generate_default_input_code(${INC_GEN_DIR})
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized.tflite)
 endif()
diff --git a/source/use_case/kws/usecase.cmake b/source/use_case/kws/usecase.cmake
index bd54cea..34e39e4 100644
--- a/source/use_case/kws/usecase.cmake
+++ b/source/use_case/kws/usecase.cmake
@@ -74,7 +74,7 @@
     STRING)
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8.tflite)
 endif()
diff --git a/source/use_case/kws_asr/usecase.cmake b/source/use_case/kws_asr/usecase.cmake
index e9b9150..5b179c6 100644
--- a/source/use_case/kws_asr/usecase.cmake
+++ b/source/use_case/kws_asr/usecase.cmake
@@ -67,8 +67,8 @@
     STRING)
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
-    set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8.tflite)
     set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8.tflite)
diff --git a/source/use_case/vww/usecase.cmake b/source/use_case/vww/usecase.cmake
index 4005297..8bf55fc 100644
--- a/source/use_case/vww/usecase.cmake
+++ b/source/use_case/vww/usecase.cmake
@@ -31,7 +31,7 @@
     STRING)
 
 if (ETHOS_U_NPU_ENABLED)
-    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/vww4_128_128_INT8_vela_${DEFAULT_NPU_CONFIG_ID}.tflite)
+    set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/vww4_128_128_INT8_vela_${ETHOS_U_NPU_CONFIG_ID}.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/vww4_128_128_INT8.tflite)
 endif()