MLECO-2051: Work with Corstone-300 + Ethos-U65

Change-Id: I64ab930a1de5210f435f91bed7600a700581946f
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
Reviewed-on: https://eu-gerrit-2.euhpc.arm.com/c/ml/ecosystem/ml-embedded-evaluation-kit/+/459126
Tested-by: mlecosys <mlecosys@arm.com>
Tested-by: George Gekov <george.gekov@arm.com>
Reviewed-by: George Gekov <george.gekov@arm.com>
Reviewed-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1347879..b96d3c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,7 +72,7 @@
     sse-300
     STRING)
 
-USER_OPTION(ETHOS_U55_ENABLED "Select if Ethos-U55 is available for the platform and subsystem"
+USER_OPTION(ETHOS_U_NPU_ENABLED "Select if Ethos-U55 is available for the platform and subsystem"
     ON
     BOOL)
 
@@ -164,29 +164,29 @@
 endif ()
 
 # If we need NPU libraries:
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
 
     message(STATUS "Using ARM Ethos-U55 - adding core-driver and timing-adapter-driver includes and libraries")
-    USER_OPTION(ETHOS_U55_TIMING_ADAPTER_SRC_PATH
+    USER_OPTION(ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH
         "Path to Ethos-U55 timing adapter sources"
         "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/core-software/drivers/timing_adapter"
         PATH
         )
 
-    USER_OPTION(ETHOS_U55_DRIVER_SRC_PATH
+    USER_OPTION(ETHOS_U_NPU_DRIVER_SRC_PATH
         "Path to Ethos-U55 core driver sources"
         "${CMAKE_CURRENT_SOURCE_DIR}/dependencies/core-driver"
         PATH
         )
 
-    include_directories("${ETHOS_U55_TIMING_ADAPTER_SRC_PATH}/include/")
+    include_directories("${ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH}/include/")
 
-    add_subdirectory("${ETHOS_U55_TIMING_ADAPTER_SRC_PATH}" ${CMAKE_BINARY_DIR}/timing-adapter)
+    add_subdirectory("${ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH}" ${CMAKE_BINARY_DIR}/timing-adapter)
 
-    set(ETHOSU_INCLUDES ${ETHOS_U55_TIMING_ADAPTER_SRC_PATH}/include
-                        ${ETHOS_U55_DRIVER_SRC_PATH}/include)
+    set(ETHOSU_INCLUDES ${ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH}/include
+                        ${ETHOS_U_NPU_DRIVER_SRC_PATH}/include)
 
-    list(APPEND ETHOS_U55_LIBS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtiming_adapter.a)
+    list(APPEND ETHOS_U_NPU_LIBS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtiming_adapter.a)
 endif ()
 
 include(${CMAKE_SCRIPTS_DIR}/tensorflow.cmake)
@@ -359,7 +359,7 @@
 
     if (${CMAKE_CROSSCOMPILING})
         # If we are building timing adapter, set the dependency:
-        if (ETHOS_U55_ENABLED)
+        if (ETHOS_U_NPU_ENABLED)
             message(STATUS "Adding timing_adapter as a dependency to ${UC_LIB_NAME}")
             add_dependencies(${UC_LIB_NAME} timing_adapter)
         endif()
@@ -373,7 +373,7 @@
 
     target_link_libraries(${UC_LIB_NAME} PUBLIC
         ${TENSORFLOW_LIBRARY}
-        $<$<BOOL:${ETHOS_U55_ENABLED}>:${ETHOS_U55_LIBS}>
+        $<$<BOOL:${ETHOS_U_NPU_ENABLED}>:${ETHOS_U_NPU_LIBS}>
         $<$<BOOL:${CMSIS_DSP_LIB}>:${CMSIS_DSP_LIB}>)
 
     add_executable(${TARGET_NAME} ${SRC_MAIN} ${PLAT_RETARGET_SOURCE})
diff --git a/Readme.md b/Readme.md
index 66bbf66..57ae858 100644
--- a/Readme.md
+++ b/Readme.md
@@ -2,15 +2,20 @@
 
 This repository is for building and deploying Machine Learning (ML) applications targeted for Arm® Cortex®-M and Arm®
 Ethos™-U NPU.
-To run evaluations using this software, we suggest using an [MPS3 board](https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3)
-or a fixed virtual platform (FVP) that supports Ethos-U55 software fast model. Both environments run a combination of
-the new [Arm® Cortex™-M55 processor](https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m55) and the
-[Arm® Ethos™-U55 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55).
+To run evaluations using this software, we suggest using:
+
+- an [MPS3 board](https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3) that runs a combination of
+the [Arm® Cortex™-M55 processor](https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m55) and the
+[Arm® Ethos™-U55 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55)
+- a [Corstone™-300 MPS3 based Fixed Virtual Platform (FVP)](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps)
+  that offers a choice of the [Arm® Ethos™-U55 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55)
+  or [Arm® Ethos™-U65 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u65) software fast model in combination of
+  the new [Arm® Cortex™-M55 processor](https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m55).
 
 ## Overview of the evaluation kit
 
-The purpose of this evaluation kit is to allow users to develop software and test the performance of the Ethos-U55 NPU and
-Cortex-M55 CPU. The Ethos-U55 NPU is a new class of machine learning(ML) processor, specifically designed to accelerate
+The purpose of this evaluation kit is to allow users to develop software and test the performance of the Ethos-U NPU and
+Cortex-M55 CPU. The Ethos-U NPU is a new class of machine learning (ML) processor, specifically designed to accelerate
 computation for ML workloads in constrained embedded and IoT devices. The product is optimized to execute
 mathematical operations efficiently that are commonly used in ML algorithms, such as convolutions or activation functions.
 
@@ -27,10 +32,10 @@
 |  [Automated Speech Recognition(ASR)](./docs/use_cases/asr.md) | Transcribe words in a recording | [Wav2Letter](https://github.com/ARM-software/ML-zoo/blob/master/models/speech_recognition/wav2letter/tflite_int8) |
 |  [KWS and ASR](./docs/use_cases/kws_asr.md) | Utilise Cortex-M and Ethos-U to transcribe words in a recording after a keyword was spotted | [DS-CNN-L](https://github.com/ARM-software/ML-zoo/blob/master/models/keyword_spotting/ds_cnn_large/tflite_clustered_int8)  [Wav2Letter](https://github.com/ARM-software/ML-zoo/blob/master/models/speech_recognition/wav2letter/tflite_int8) |
 |  [Anomaly Detection](./docs/use_cases/ad.md)                 | Detecting abnormal behavior based on a sound recording of a machine | [Anomaly Detection](https://github.com/ARM-software/ML-zoo/raw/7c32b097f7d94aae2cd0b98a8ed5a3ba81e66b18/models/anomaly_detection/micronet_medium/tflite_int8/ad_medium_int8.tflite)|
-| [Generic inference runner](./docs/use_cases/inference_runner.md) | Code block allowing you to develop your own use case for Ethos-U55 NPU | Your custom model |
+| [Generic inference runner](./docs/use_cases/inference_runner.md) | Code block allowing you to develop your own use case for Ethos-U NPU | Your custom model |
 
 The above use cases implement end-to-end ML flow including data pre-processing and post-processing. They will allow you
-to investigate embedded software stack, evaluate performance of the networks running on Cortex-M55 CPU and Ethos-U55 NPU
+to investigate embedded software stack, evaluate performance of the networks running on Cortex-M55 CPU and Ethos-U NPU
 by displaying different performance metrics such as inference cycle count estimation and results of the network execution.
 
 ## Software and hardware overview
@@ -45,7 +50,8 @@
 All ML use cases, albeit illustrating a different application, have common code such as initializing the Hardware
 Abstraction Layer (HAL). The application common code can be run on x86 or Arm Cortex-M architecture thanks to the HAL.
 For the ML application-specific part, Google® TensorFlow™ Lite for Microcontrollers inference engine is used to schedule
-the neural networks models executions. TensorFlow Lite for Microcontrollers is integrated with the [Ethos-U55 driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver)
+the neural networks models executions. TensorFlow Lite for Microcontrollers is integrated with the
+[Ethos-U NPU driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver)
 and delegates execution of certain operators to the NPU or, if the neural network model operators are not supported on
 NPU, to the CPU. [CMSIS-NN](https://github.com/ARM-software/CMSIS_5) is used to optimise CPU workload execution
 with int8 data type.
@@ -55,7 +61,7 @@
 
 ![APIs](docs/media/APIs_description.png)
 
-To run an ML application on the Cortex-M and Ethos-U55 NPU, please, follow these steps:
+To run an ML application on the Cortex-M and Ethos-U NPU, please, follow these steps:
 
 1. Setup your environment by installing [the required prerequisites](./docs/sections/building.md#Build-prerequisites).
 2. Generate an optimized neural network model for Ethos-U with a Vela compiler by following instructions [here](./docs/sections/building.md#Add-custom-model).
@@ -64,11 +70,20 @@
 5. If using a FVP, [launch the desired application on the FVP](./docs/sections/deployment.md#Fixed-Virtual-Platform).
 If using the FPGA option, load the image on the FPGA and [launch the application](./docs/sections/deployment.md#MPS3-board).
 
-To get familiar with these steps, you can follow the [quick start guide](docs/quick_start.md).
+**To get familiar with these steps, you can follow the [quick start guide](docs/quick_start.md).**
+
+> **Note:** The default flow assumes Arm® *Ethos™-U55* NPU usage, configured to use 128 Multiply-Accumulate units
+> and is sharing SRAM with the Arm® *Cortex®-M55*.
+> Evaluation kit supports also:
+>
+> - *Ethos™-U55* NPU configured to use 32, 64 and 256 Multiply-Accumulate units.
+> - *Ethos™-U65* NPU configured to use 256 and 512 Multiply-Accumulate units.
+>
+> For more information see [Building](./docs/documentation.md#building).
 
 For more details see full documentation:
 
-- [Arm® ML embedded evaluation kit](./docs/documentation.md#arm-ml-embedded-evaluation-kit)
+- [Arm® ML embedded evaluation kit](./docs/documentation.md#arm_ml-embedded-evaluation-kit)
   - [Table of Content](./docs/documentation.md#table-of-content)
   - [Trademarks](./docs/documentation.md#trademarks)
   - [Prerequisites](./docs/documentation.md#prerequisites)
diff --git a/docs/documentation.md b/docs/documentation.md
index bb89c63..d9286a9 100644
--- a/docs/documentation.md
+++ b/docs/documentation.md
@@ -46,7 +46,7 @@
 
 ### Additional reading
 
-This document contains information that is specific to Arm® Ethos™-U55 products. Please refer to the following documents
+This document contains information that is specific to Arm® Ethos™-U55 and Arm® Ethos™-U65 products. Please refer to the following documents
 for additional information:
 
 - ML platform overview: <https://mlplatform.org/>
@@ -58,6 +58,9 @@
 - ML processor, also referred to as a Neural Processing Unit (NPU) - Arm® `Ethos™-U55`:
     <https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55>
 
+- ML processor, also referred to as a Neural Processing Unit (NPU) - Arm® `Ethos™-U65`:
+    <https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u65>
+
 - Arm® MPS3 FPGA Prototyping Board:
     <https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3>
 
@@ -112,12 +115,12 @@
 - `scripts`: Build and source generation scripts.
 
 - `source`: C/C++ sources for the platform and ML applications.
-    > **Note:** Common code related to the `Ethos-U55` NPU software framework resides in *application* subfolder.
+    > **Note:** Common code related to the `Ethos-U` NPU software framework resides in *application* subfolder.
 
   The contents of the *application* subfolder is as follows:
 
   - `application`: All sources that form the *core* of the application. The `use-case` part of the sources depend on the
-    sources themsleves, such as:
+    sources themselves, such as:
 
     - `hal`: Contains Hardware Abstraction Layer (HAL) sources, providing a platform agnostic API to access hardware
       platform-specific functions.
@@ -208,15 +211,15 @@
 - [Wav2Letter](https://github.com/ARM-software/ML-zoo/tree/1a92aa08c0de49a7304e0a7f3f59df6f4fd33ac8/models/speech_recognition/wav2letter/tflite_pruned_int8).
 - [Anomaly Detection](https://github.com/ARM-software/ML-zoo/raw/7c32b097f7d94aae2cd0b98a8ed5a3ba81e66b18/models/anomaly_detection/micronet_medium/tflite_int8/ad_medium_int8.tflite).
 
-When using *Ethos-U55* NPU backend, Vela compiler optimizes the the NN model. However, if not and it is supported by
+When using *Ethos-U* NPU backend, Vela compiler optimizes the the NN model. However, if not and it is supported by
 TensorFlow Lite Micro, then it falls back on the CPU and execute.
 
 ![Vela compiler](./media/vela_flow.jpg)
 
 The Vela compiler is a tool that can optimize a neural network model into a version that run on an embedded system
-containing the *Ethos-U55* NPU.
+containing the *Ethos-U* NPU.
 
-The optimized model contains custom operators for sub-graphs of the model that the *Ethos-U55* NPU can accelerate. The
+The optimized model contains custom operators for sub-graphs of the model that the *Ethos-U* NPU can accelerate. The
 remaining layers that cannot be accelerated, are left unchanged, and are run on the CPU using optimized, `CMSIS-NN`, or
 reference kernels provided by the inference engine.
 
@@ -228,7 +231,7 @@
 options and the process.
 
 The project can be built for MPS3 FPGA and FVP emulating MPS3. Using default values for configuration parameters builds
-executable models that support the *Ethos-U55* NPU.
+executable models that support the *Ethos-U* NPU.
 
 For further information, please see:
 
@@ -253,6 +256,7 @@
   - [Add custom inputs](./sections/building.md#add-custom-inputs)
   - [Add custom model](./sections/building.md#add-custom-model)
   - [Optimize custom model with Vela compiler](./sections/building.md#optimize-custom-model-with-vela-compiler)
+  - [Building for different Ethos-U NPU variants](#building-for-different-ethos-u-npu-variants)
   - [Automatic file generation](./sections/building.md#automatic-file-generation)
 
 ## Deployment
@@ -273,7 +277,7 @@
 This section describes how to implement a custom Machine Learning application running on a platform supported by the
 repository, either an FVP or an MPS3 board.
 
-Both the *Cortex-M55* CPU and *Ethos-U55* NPU Code Samples software project offers a way to incorporate extra use-case
+Both the *Cortex-M55* CPU and *Ethos-U* NPU Code Samples software project offers a way to incorporate extra use-case
 code into the existing infrastructure. It also provides a build system that automatically picks up added functionality
 and produces corresponding executable for each use-case.
 
diff --git a/docs/quick_start.md b/docs/quick_start.md
index 9d059fe..d1039fe 100644
--- a/docs/quick_start.md
+++ b/docs/quick_start.md
@@ -3,14 +3,14 @@
 This is a quick start guide that shows you how to run the keyword spotting example application.
 
 The aim of this quick start guide is to enable you to run an application quickly on the Fixed Virtual Platform (FVP).
-This documentation assumes that your Arm® *Ethos™-U55* NPU is configured to use 128 Multiply-Accumulate units, and is
+This documentation assumes that you are using an Arm® *Ethos™-U55* NPU, it is configured to use 128 Multiply-Accumulate units, and is
 sharing SRAM with the Arm® *Cortex®-M55*.
 
 To get started quickly, please follow these steps:
 
 1. First, verify that you have installed [the required prerequisites](sections/building.md#Build-prerequisites).
 
-2. Clone the *Ethos-U55* evaluation kit repository:
+2. Clone the *Ethos-U* evaluation kit repository:
 
     ```commandline
     git clone "https://review.mlplatform.org/ml/ethos-u/ml-embedded-evaluation-kit"
@@ -28,7 +28,7 @@
 
     [Vela](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela) is an open-source Python tool. Vela
     converts a TensorFlow Lite for Microcontrollers neural network model into an optimized model that can run on an
-    embedded system that contains an *Ethos-U55* NPU.
+    embedded system that contains an *Ethos-U* NPU.
 
     It is worth noting that to take full advantage of the capabilities of the NPU, the neural network operators must be
     [supported by Vela](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/+/HEAD/SUPPORTED_OPS.md).
diff --git a/docs/sections/building.md b/docs/sections/building.md
index 63f8d53..8bc03a3 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -22,6 +22,7 @@
   - [Add custom inputs](#add-custom-inputs)
   - [Add custom model](#add-custom-model)
   - [Optimize custom model with Vela compiler](#optimize-custom-model-with-vela-compiler)
+  - [Building for different Ethos-U NPU variants](#building-for-different-ethos-u-npu-variants)
   - [Automatic file generation](#automatic-file-generation)
 
 This section assumes that you are using an **x86 Linux** build machine.
@@ -115,7 +116,7 @@
 The project build system allows you to specify custom neural network models (in the `.tflite` format) for each use-case
 along with the network inputs.
 
-It also builds TensorFlow Lite for Microcontrollers library, Arm® *Ethos™-U55* driver library, and the CMSIS-DSP library
+It also builds TensorFlow Lite for Microcontrollers library, Arm® *Ethos™-U* NPU driver library, and the CMSIS-DSP library
 from sources.
 
 The build script is parameterized to support different options. Default values for build parameters build the
@@ -140,7 +141,7 @@
 - `TENSORFLOW_SRC_PATH`: the path to the root of the TensorFlow directory. The default value points to the
   `dependencies/tensorflow` git submodule. Respository is hosted here: [tensorflow](https://github.com/tensorflow/tensorflow)
 
-- `ETHOS_U55_DRIVER_SRC_PATH`: The path to the *Ethos-U55* NPU core driver sources. The default value points to the
+- `ETHOS_U_NPU_DRIVER_SRC_PATH`: The path to the *Ethos-U* NPU core driver sources. The default value points to the
   `dependencies/core-driver` git submodule. Repository is hosted here:
   [ethos-u-core-driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver).
 
@@ -148,8 +149,8 @@
   optional and is only valid for Arm® *Cortex®-M* CPU targeted configurations. The default value points to the
   `dependencies/cmsis` git submodule. Respository is hosted here: [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
 
-- `ETHOS_U55_ENABLED`: Sets whether the use of *Ethos-U55* NPU is available for the deployment target. By default, this
-  is set and therefore application is built with *Ethos-U55* NPU supported.
+- `ETHOS_U_NPU_ENABLED`: Sets whether the use of *Ethos-U* NPU is available for the deployment target. By default, this
+  is set and therefore application is built with *Ethos-U* NPU supported.
 
 - `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
@@ -161,19 +162,19 @@
 
 - `<use_case>_MODEL_TFLITE_PATH`: The path to the model file that is processed and is included into the application
   `axf` file. The default value points to one of the delivered set of models. Make sure that the model chosen is aligned
-  with the `ETHOS_U55_ENABLED` setting.
+  with the `ETHOS_U_NPU_ENABLED` setting.
 
-  - When using the *Ethos-U55* NPU backend, the NN model is assumed to be optimized by Vela compiler. However, even if
+  - When using the *Ethos-U* NPU backend, the NN model is assumed to be optimized by Vela compiler. However, even if
     not, if it is supported by TensorFlow Lite Micro, it falls back on the CPU and execute.
 
-  - When use of the *Ethos-U55* NPU is disabled, and if a Vela optimized model is provided, then the application reports
+  - When use of the *Ethos-U* NPU is disabled, and if a Vela optimized model is provided, then the application reports
     a failure at runtime.
 
 - `USE_CASE_BUILD`: Specifies the list of applications to build. By default, the build system scans sources to identify
   available ML applications and produces executables for all detected use-cases. This parameter can accept single value,
   for example: `USE_CASE_BUILD=img_class`, or multiple values. For example: `USE_CASE_BUILD="img_class;kws"`.
 
-- `ETHOS_U55_TIMING_ADAPTER_SRC_PATH`: The path to timing adapter sources. The default value points to the
+- `ETHOS_U_NPU_TIMING_ADAPTER_SRC_PATH`: The path to timing adapter sources. The default value points to the
   `timing_adapter` dependencies folder.
 
 - `TA_CONFIG_FILE`: The path to the CMake configuration file that contains the timing adapter parameters. Used only if
@@ -251,7 +252,7 @@
 ```
 
 > **Note:** The default source paths for the `TPIP` sources assume the above directory structure. However, all of the
-> relevant paths can be overridden by CMake configuration arguments `TENSORFLOW_SRC_PATH` `ETHOS_U55_DRIVER_SRC_PATH`,
+> relevant paths can be overridden by CMake configuration arguments `TENSORFLOW_SRC_PATH` `ETHOS_U_NPU_DRIVER_SRC_PATH`,
 > and `CMSIS_SRC_PATH`.
 
 #### Fetching resource files
@@ -272,7 +273,7 @@
 ### Building for default configuration
 
 A helper script `build_default.py` is provided to configure and build all the applications. It configures the project
-with default settings i.e., for `mps3` target and `sse-300` subsystem. Under the hood, it invokes all the necessary
+with default settings i.e., for `mps3` target, `sse-300` subsystem and *Ethos-U55* timing-adapter settings. Under the hood, it invokes all the necessary
 CMake commands that are described in the next sections.
 
 If using the `Arm GNU embedded toolchain`, execute:
@@ -311,14 +312,16 @@
 cmake ../
 ```
 
-The preceding command builds for the default target platform `mps3`, the default subsystem `sse-300`, and using the
-default toolchain file for the target as `bare-metal-gcc.` This is equivalent to running:
+The preceding command builds for the default target platform `mps3`, the default subsystem `sse-300`, using the
+default toolchain file for the target as `bare-metal-gcc` and the default *Ethos-U55* timing adapter settings.
+This is equivalent to running:
 
 ```commandline
 cmake .. \
     -DCMAKE_TOOLCHAIN_FILE=scripts/cmake/toolchains/bare-metal-gcc.cmake
     -DTARGET_PLATFORM=mps3 \
-    -DTARGET_SUBSYSTEM=sse-300
+    -DTARGET_SUBSYSTEM=sse-300 \
+    -DTA_CONFIG_FILE=scripts/cmake/timing_adapter/ta_config_u55_high_end.cmake
 ```
 
 #### Using Arm Compiler
@@ -378,15 +381,15 @@
 #### Configuring with custom TPIP dependencies
 
 If the TensorFlow source tree is not in its default expected location, set the path using `TENSORFLOW_SRC_PATH`.
-Similarly, if the *Ethos-U55* NPU driver and `CMSIS` are not in the default location, then use
-`ETHOS_U55_DRIVER_SRC_PATH` and `CMSIS_SRC_PATH` to configure their location.
+Similarly, if the *Ethos-U* NPU driver and `CMSIS` are not in the default location, then use
+`ETHOS_U_NPU_DRIVER_SRC_PATH` and `CMSIS_SRC_PATH` to configure their location.
 
 For example:
 
 ```commandline
 cmake .. \
     -DTENSORFLOW_SRC_PATH=/my/custom/location/tensorflow \
-    -DETHOS_U55_DRIVER_SRC_PATH=/my/custom/location/core-driver \
+    -DETHOS_U_NPU_DRIVER_SRC_PATH=/my/custom/location/core-driver \
     -DCMSIS_SRC_PATH=/my/custom/location/cmsis
 ```
 
@@ -465,10 +468,10 @@
 
 ## Building timing adapter with custom options
 
-The sources also contain the configuration for a timing adapter utility for the *Ethos-U55* NPU driver. The timing
+The sources also contain the configuration for a timing adapter utility for the *Ethos-U* NPU driver. The timing
 adapter allows the platform to simulate user provided memory bandwidth and latency constraints.
 
-The timing adapter driver aims to control the behavior of two AXI buses used by *Ethos-U55* NPU. One is for SRAM memory
+The timing adapter driver aims to control the behavior of two AXI buses used by *Ethos-U* NPU. One is for SRAM memory
 region, and the other is for flash or DRAM.
 
 The SRAM is where intermediate buffers are expected to be allocated and therefore, this region can serve frequent Read
@@ -544,7 +547,7 @@
   ![Maximum bit rate formula](../media/F2.png)
 
 - With a read latency of 64 cycles, and maximum pending reads as 2, each read could be a maximum of 64 or 128 bytes. As
-  defined for the *Ethos-U55* NPU AXI bus attribute.
+  defined for the *Ethos-U* NPU AXI bus attribute.
 
     The bandwidth is calculated solely by read parameters:
 
@@ -560,7 +563,7 @@
 `TA_CONFIG_FILE` build parameter is located in the `scripts/cmake folder` and contains all options for `AXI0` and `AXI1`
 as previously described.
 
-here is an example of `scripts/cmake/ta_config.cmake`:
+here is an example of `scripts/cmake/timing_adapter/ta_config_u55_high_end.cmake`:
 
 ```cmake
 # Timing adapter options
@@ -581,7 +584,7 @@
 An example of the build with a custom timing adapter configuration:
 
 ```commandline
-cmake .. -DTA_CONFIG_FILE=scripts/cmake/my_ta_config.cmake
+cmake .. -DTA_CONFIG_FILE=scripts/cmake/timing_adapter/my_ta_config.cmake
 ```
 
 ## Add custom inputs
@@ -593,7 +596,7 @@
 
 The application performs inference using the model pointed to by the CMake parameter `MODEL_TFLITE_PATH`.
 
-> **Note:** If you want to run the model using *Ethos-U55* NPU, ensure that your custom model has been run through the
+> **Note:** If you want to run the model using *Ethos-U* NPU, ensure that your custom model has been run through the
 > Vela compiler successfully before continuing.
 
 To run the application with a custom model, you must provide a `labels_<model_name>.txt` file of labels that are
@@ -603,7 +606,7 @@
 `labels_mobilenet_v2_1.0_224.txt` file in the `img_class` use-case for an example.
 
 Then, you must set `<use_case>_MODEL_TFLITE_PATH` to the location of the Vela processed model file and
-`<use_case>_LABELS_TXT_FILE` to the location of the associated labels file, like so:
+`<use_case>_LABELS_TXT_FILE` to the location of the associated labels file (if necessary), like so:
 
 ```commandline
 cmake .. \
@@ -648,13 +651,13 @@
 The source code is hosted on <https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela/>.
 
 The Vela compiler is a tool that can optimize a neural network model into a version that can run on an embedded system
-containing an *Ethos-U55* NPU.
+containing an *Ethos-U* NPU.
 
-The optimized model contains custom operators for sub-graphs of the model that can be accelerated by the *Ethos-U55*
+The optimized model contains custom operators for sub-graphs of the model that can be accelerated by the *Ethos-U*
 NPU. The remaining layers that cannot be accelerated, are left unchanged and are run on the CPU using optimized, or
 `CMSIS-NN`, or reference kernels that are provided by the inference engine.
 
-After the compilation, the optimized model can only be executed on a system using an *Ethos-U55* NPU.
+After the compilation, the optimized model can only be executed on a system using an *Ethos-U* NPU.
 
 > **Note:** The NN model provided during the build and compiled into the application executable binary defines whether
 the CPU or NPU is used to execute workloads. If an unoptimized model is used, then inference runs on the *Cortex-M* CPU.
@@ -675,12 +678,15 @@
 The Vela command contains the following:
 
 - `--accelerator-config`: Specifies the accelerator configuration to use between `ethos-u55-256`, `ethos-u55-128`,
-  `ethos-u55-64`, and `ethos-u55-32`.
-- `--optimise`: Sets the optimisation strategy to Performance or Size. The Size strategy results in a model minimising the SRAM usage whereas the Performance strategy optimises the neural network for maximal perforamance. Note that if using the Performance strategy, you can also pass the `--arena-cache-size` option to Vela.
+  `ethos-u55-64`, `ethos-u55-32`, `ethos-u65-256`, and `ethos-u65-512`.
+- `--optimise`: Sets the optimisation strategy to Performance or Size. The Size strategy results in a model minimising the SRAM
+  usage whereas the Performance strategy optimises the neural network for maximal perforamance.
+  Note that if using the Performance strategy, you can also pass the `--arena-cache-size` option to Vela.
 - `--config`: Specifies the path to the Vela configuration file. The format of the file is a Python ConfigParser `.ini`
     file. An example can be found in the `dependencies` folder [default_vela.ini](../../scripts/vela/default_vela.ini).
 - `--memory-mode`: Selects the memory mode to use as specified in the Vela configuration file.
-- `--system-config`: Selects the system configuration to use as specified in the Vela configuration file.
+- `--system-config`: Selects the system configuration to use as specified in the Vela configuration file:
+  `Ethos_U55_High_End_Embedded`for *Ethos-U55* and `Ethos_U65_High_End` for *Ethos-U65*.
 
 Vela compiler accepts `.tflite` file as input and saves optimized network model as a `.tflite` file.
 
@@ -689,8 +695,39 @@
 
 To see Vela helper for all the parameters use: `vela --help`.
 
-> **Note:** By default, use of the *Ethos-U55* NPU is enabled in the CMake configuration. This can be changed by passing
-> `-DETHOS_U55_ENABLED`.
+> **Note:** By default, use of the *Ethos-U* NPU is enabled in the CMake configuration. This can be changed by passing
+> `-DETHOS_U_NPU_ENABLED`.
+
+## Building for different Ethos-U NPU variants
+
+The building process described in the previous paragraphs assumes building for the default *Ethos-U55* NPU with 128 MACs,
+using the *Ethos-U55* High End timing adapter system configuration.
+
+To build for a different *Ethos-U* NPU variant:
+
+- Optimize the model with Vela compiler with the correct parameters. See [Optimize custom model with Vela compiler](./building.md#optimize-custom-model-with-vela-compiler).
+- Use the Vela model as custom model in the building command. See [Add custom model](./building.md#add-custom-model)
+- Use the correct timing adapter settings configuration. See [Building timing adapter with custom options](./building.md#building-timing-adapter-with-custom-options)
+
+For example, when building for *Ethos-U65* High End system configuration, the Vela comand will be:
+
+```commandline
+vela \
+    <model_file>.tflite \
+    --accelerator-config ethos-u65-256 \
+    --optimise Performance \
+    --memory-mode=Shared_Sram \
+    --system-config=Ethos_U65_High_End \
+    --config=../scripts/vela/default_vela.ini
+```
+
+And the cmake command:
+
+```commandline
+cmake .. \
+    -D<use_case>_MODEL_TFLITE_PATH=<path/to/ethos_u65_vela_model.tflite> \
+    -DTA_CONFIG_FILE=scripts/cmake/ta_config_u65_high_end.cmake
+```
 
 ## Automatic file generation
 
diff --git a/docs/sections/customizing.md b/docs/sections/customizing.md
index 745132f..4cea26f 100644
--- a/docs/sections/customizing.md
+++ b/docs/sections/customizing.md
@@ -55,7 +55,7 @@
 ```
 
 Where the `source` folder contains C/C++ sources for the platform and ML applications. Common code related to the
-*Ethos-U55* code samples software framework resides in the `application` sub-folder and ML application-specific logic,
+*Ethos-U* code samples software framework resides in the `application` sub-folder and ML application-specific logic,
 use-cases, sources are in the `use-case` subfolder.
 
 > **Convention**: Separate use-cases must be organized in sub-folders under the use-case folder. The name of the
@@ -145,7 +145,7 @@
   |  `get_duration_ms`    |  Pointer to a function to calculate duration between two time-counters in milliseconds. |
   |  `get_duration_us`    |  Pointer to a function to calculate duration between two time-counters in microseconds |
   |  `get_cpu_cycle_diff` |  Pointer to a function to calculate duration between two time-counters in *Cortex-M55* cycles. |
-  |  `get_npu_cycle_diff` |  Pointer to a function to calculate duration between two time-counters in *Ethos-U55* cycles. Available only when project is configured with `ETHOS_U55_ENABLED` set. |
+  |  `get_npu_cycle_diff` |  Pointer to a function to calculate duration between two time-counters in *Ethos-U* cycles. Available only when project is configured with `ETHOS_U_NPU_ENABLED` set. |
   |  `start_profiling`    |  If necessary, wraps the `get_time_counter` function with another profiling initialization, if necessary. |
   |  `stop_profiling`     |  If necessary, wraps the `get_time_counter` function along with more instructions when profiling ends. |
 
@@ -227,7 +227,7 @@
 
 ## Profiler
 
-The profiler is a helper class that assists with the collection of timings and *Ethos-U55* cycle counts for operations.
+The profiler is a helper class that assists with the collection of timings and *Ethos-U* cycle counts for operations.
 It uses platform timer to get system timing information.
 
 | Method name             | Description                                                    |
@@ -358,7 +358,7 @@
 Before inference could be run with a custom NN model, TensorFlow Lite Micro framework must learn about the operators, or
 layers, included in the model. You must register operators using the `MicroMutableOpResolver` API.
 
-The *Ethos-U55* code samples project has an abstraction around TensorFlow Lite Micro API (see [NN model API](#nn-model-api)).
+The *Ethos-U* code samples project has an abstraction around TensorFlow Lite Micro API (see [NN model API](#nn-model-api)).
 Create `HelloWorldModel.hpp` in the use-case include sub-directory, extend Model abstract class,
 and then declare the required methods.
 
@@ -405,10 +405,10 @@
 
 Please refer to `use_case/img_class/src/MobileNetModel.cc` for code examples.
 
-If you are using a TensorFlow Lite model compiled with Vela, it is important to add a custom *Ethos-U55* operator to the
+If you are using a TensorFlow Lite model compiled with Vela, it is important to add a custom *Ethos-U* operator to the
 operators list.
 
-The following example shows how to add the custom *Ethos-U55* operator with the TensorFlow Lite Micro framework. when
+The following example shows how to add the custom *Ethos-U* operator with the TensorFlow Lite Micro framework. when
 defined, `ARM_NPU` excludes the code if the application was built without NPU support.
 
 For example:
@@ -553,7 +553,7 @@
   const uint8_t *outputData = tflite::GetTensorData<uint8>(outputTensor);
   ```
 
-To add profiling for the *Ethos-U55*, include a `Profiler.hpp` header and invoke both `StartProfiling` and
+To add profiling for the *Ethos-U*, include a `Profiler.hpp` header and invoke both `StartProfiling` and
 `StopProfiling` around inference execution.
 
 For example:
@@ -660,7 +660,7 @@
 > - `use_case` – The name of the current use-case.
 > - `UC_SRC` – A list of use-case sources.
 > - `UC_INCLUDE` – The path to the use-case headers.
-> - `ETHOS_U55_ENABLED` – The flag indicating if the current build supports Ethos-U55.
+> - `ETHOS_U_NPU_ENABLED` – The flag indicating if the current build supports Ethos-U55.
 > - `TARGET_PLATFORM` – The target platform being built for.
 > - `TARGET_SUBSYSTEM` – If target platform supports multiple subsystems, this is the name of the subsystem.
 > - All standard build options.
@@ -671,7 +671,7 @@
 so:
 
 ```cmake
-if (ETHOS_U55_ENABLED EQUAL 1)
+if (ETHOS_U_NPU_ENABLED EQUAL 1)
   set(DEFAULT_MODEL_PATH  ${DEFAULT_MODEL_DIR}/helloworldmodel_uint8_vela.tflite)
 else()
   set(DEFAULT_MODEL_PATH  ${DEFAULT_MODEL_DIR}/helloworldmodel_uint8.tflite)
diff --git a/docs/sections/deployment.md b/docs/sections/deployment.md
index 7a8e368..6c90c87 100644
--- a/docs/sections/deployment.md
+++ b/docs/sections/deployment.md
@@ -29,8 +29,8 @@
 
 ### Setting up the MPS3 Arm Corstone-300 FVP
 
-For the *Ethos-U55* sample application, please download the MPS3 version of the Arm® *Corstone™-300* model that contains
-both the *Ethos-U55* and *Arm® Cortex®-M55*. The model is currently only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*
+and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -38,7 +38,7 @@
 
 - Run the install script in the extracted package:
 
-    `./FVP_Corstone_SSE-300_Ethos-U55.sh`
+    `./FVP_Corstone_SSE-300.sh`
 
 - Follow the instructions to install the FVP to your required location.
 
@@ -46,15 +46,15 @@
 
 This section assumes that the FVP has been installed (see
 [Setting up the MPS3 Arm Corstone-300 FVP](#setting-up-the-mps3-arm-corstone-300-fvp))
-to the home directory of the user: `~/FVP_Corstone_SSE-300_Ethos-U55`.
+to the home directory of the user: `~/FVP_Corstone_SSE-300`.
 
-The installation, typically, has the executable under `~/FVP_Corstone_SSE-300_Ethos-U55/model/<OS>_<compiler-version>/`
-directory. For the example below, we assume it is: `~/FVP_Corstone_SSE-300_Ethos-U55/models/Linux64_GCC-6.4`.
+The installation, typically, has the executable under `~/FVP_Corstone_SSE-300/model/<OS>_<compiler-version>/`
+directory. For the example below, we assume it is: `~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4`.
 
 To run a use-case on the FVP, from the [Build directory](../sections/building.md#create-a-build-directory):
 
 ```commandline
-~/FVP_Corstone_SSE-300_Ethos-U55/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -a ./bin/ethos-u-<use_case>.axf
+~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -a ./bin/ethos-u-<use_case>.axf
 telnetterminal0: Listening for serial connection on port 5000
 telnetterminal1: Listening for serial connection on port 5001
 telnetterminal2: Listening for serial connection on port 5002
@@ -73,10 +73,16 @@
 
 After starting, the application outputs a menu and waits for the user-input from the telnet terminal.
 
-For example, the image classification use-case can be started by using:
+For example, the image classification use-case on *Ethos-U55* processor can be started by using:
 
 ```commandline
-~/FVP_Corstone_SSE-300_Ethos-U55/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -a ./bin/ethos-u-img_class.axf
+~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -a ./bin/ethos-u-img_class.axf
+```
+
+Meanwhile for *Ethos-U65*:
+
+```commandline
+~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U65 -a ./bin/ethos-u-img_class.axf
 ```
 
 ![FVP](../media/fvp.png)
@@ -86,8 +92,11 @@
 The FVP supports many command-line parameters, such as:
 
 - Those passed by using `-C <param>=<value>`. The most important ones are:
-  - `ethosu.num_macs`: Sets the *Ethos-U55* configuration for the model. Valid parameters are `32`, `64`, `256`, and the
-    default one `128`. The number signifies the 8x8 MACs that are performed per cycle-count and that are available on
+  - `ethosu.num_macs`: Sets the *Ethos-U* configuration for the model. The valid parameters are:
+    - *Ethos-U55*: `32`, `64`, `256`, and the default one `128`.
+    - *Ethos-U65*: `256`, and the default one `512`.
+
+    The number signifies the 8x8 MACs that are performed per cycle-count and that are available on
     the hardware.
   - `cpu0.CFGITCMSZ`: The ITCM size for the *Cortex-M* CPU. The size of ITCM is *pow(2, CFGITCMSZ - 1)* KB
   - `cpu0.CFGDTCMSZ`: The DTCM size for the *Cortex-M* CPU. The size of DTCM is *pow(2, CFGDTCMSZ - 1)* KB
@@ -100,19 +109,25 @@
   To start the model in `128` mode for *Ethos-U55*:
 
     ```commandline
-    ~/FVP_Corstone_SSE-300_Ethos-U55/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -a ./bin/ethos-u-img_class.axf -C ethosu.num_macs=128
+    ~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -a ./bin/ethos-u-img_class.axf -C ethosu.num_macs=128
+    ```
+
+  To start the model in `512` mode for *Ethos-U65*:
+
+    ```commandline
+    ~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U65 -a ./bin/ethos-u-img_class.axf -C ethosu.num_macs=512
     ```
 
 - `-l`: shows the full list of supported parameters
 
     ```commandline
-    ~/FVP_Corstone_SSE-300_Ethos-U55/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -l
+    ~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 -l
     ```
 
 - `--stat`: prints some run statistics on simulation exit
 
     ```commandline
-    ~/FVP_Corstone_SSE-300_Ethos-U55/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 --stat
+    ~/FVP_Corstone_SSE-300/models/Linux64_GCC-6.4/FVP_Corstone_SSE-300_Ethos-U55 --stat
     ```
 
 - `--timelimit`: sets the number of wall clock seconds for the simulator to run, excluding startup and shutdown.
diff --git a/docs/sections/testing_benchmarking.md b/docs/sections/testing_benchmarking.md
index 6350f52..d040d17 100644
--- a/docs/sections/testing_benchmarking.md
+++ b/docs/sections/testing_benchmarking.md
@@ -47,8 +47,6 @@
 
 ```log
 INFO - native platform initialised
-INFO - ARM Ethos-U55 Evaluation application for MPS3 FPGA Prototyping Board and FastModel
-
 ...
 ===============================================================================
    All tests passed (37 assertions in 7 test cases)
@@ -60,11 +58,24 @@
 
 Profiling is enabled by default when configuring the project. Profiling enables you to display:
 
-- The active and idle NPU cycle counts when the Arm® *Ethos™-U55* is enabled. For more information, refer to the
-  `-DETHOS_U55_ENABLED` section in: [Build options](./building.md#build-options).
+- NPU event counters when the Arm® *Ethos™-U* NPU is enabled (see `ETHOS_U_NPU_ENABLED` in [Build options](./building.md#build-options) )
+
+  - Total cycle: The number of NPU cycles
+
+  - Active cycles: number of NPU cycles that were used for computation
+
+  - Idle cycles: number of cycles for which the NPU was idle
+
+  - AXI0 read beats: The number of AXI beats with read transactions from AXI0 bus. AXI0 is the bus where
+    *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+
+  - AXI0 write beats: The number of AXI beats with write transactions to AXI0 bus.
+
+  - AXI1 read beats: The number of AXI beats with read transactions from AXI1 bus. AXI1 is the bus where
+   *Ethos-U* NPU reads the model. So, read-only.
+
 - If CPU profiling is enabled, the CPU cycle counts and the time elapsed, in milliseconds, for inferences performed. For
-  further information, please refer to the `-DCPU_PROFILE_ENABLED` section in:
-  [Build options](./building.md#build-options).
+  further information, please refer to the `CPU_PROFILE_ENABLED` in [Build options](./building.md#build-options).
 
 > **Note:** Only do this when running on a physical FPGA board as the FVP does not contain a cycle-approximate or
 > cycle-accurate *Cortex-M* model.
@@ -74,18 +85,28 @@
 - On the FVP:
 
 ```log
-    Active NPU cycles: 5475412
-    Idle NPU cycles:   702
+INFO - Profile for Inference:
+INFO - NPU AXI0_RD_DATA_BEAT_RECEIVED beats: 628122
+INFO - NPU AXI0_WR_DATA_BEAT_WRITTEN beats: 135087
+INFO - NPU AXI1_RD_DATA_BEAT_RECEIVED beats: 62870
+INFO - NPU ACTIVE cycles: 1081007
+INFO - NPU IDLE cycles: 626
+INFO - NPU TOTAL cycles: 1081634
 ```
 
 - For the MPS3 platform, the time duration in milliseconds is also reported when `-DCPU_PROFILE_ENABLED=1` is added to
   CMake configuration command, like so:
 
 ```log
-    Active NPU cycles: 5629033
-    Idle NPU cycles:   1005276
-    Active CPU cycles: 993553 (approx)
-    Time in ms:        210
+INFO - Profile for Inference:
+INFO - NPU AXI0_RD_DATA_BEAT_RECEIVED beats: 628122
+INFO - NPU AXI0_WR_DATA_BEAT_WRITTEN beats: 135087
+INFO - NPU AXI1_RD_DATA_BEAT_RECEIVED beats: 62870
+INFO - NPU ACTIVE cycles: 1081007
+INFO - NPU IDLE cycles: 626
+INFO - NPU TOTAL cycles: 1081634
+INFO - CPU ACTIVE cycles (approx): 993553
+INFO - Time ms: 210
 ```
 
 The next section of the documentation refers to: [Memory Considerations](memory_considerations.md).
diff --git a/docs/use_cases/ad.md b/docs/use_cases/ad.md
index 58272db..1a16a83 100644
--- a/docs/use_cases/ad.md
+++ b/docs/use_cases/ad.md
@@ -10,8 +10,8 @@
     - [Build process](#build-process)
     - [Add custom input](#add-custom-input)
     - [Add custom model](#add-custom-model)
-  - [Setting-up and running Ethos-U55 Code Sample](#setting-up-and-running-ethos-u55-code-sample)
-    - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+  - [Setting-up and running Ethos-U55 Code Sample](#setting-up-and-running-ethos-u-npu-code-sample)
+    - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model)
     - [Starting Fast Model simulation](#starting-fast-model-simulation)
     - [Running Anomaly Detection](#running-anomaly-detection)
 
@@ -65,12 +65,12 @@
 - `ad_MODEL_TFLITE_PATH` - Path to the NN model file in the `TFLite` format. The model is then processed and included in
   the application `axf` file. The default value points to one of the delivered set of models.
 
-    Note that the parameters `ad_LABELS_TXT_FILE`, `TARGET_PLATFORM`, and `ETHOS_U55_ENABLED` must be aligned with the
+    Note that the parameters `ad_LABELS_TXT_FILE`, `TARGET_PLATFORM`, and `ETHOS_U_NPU_ENABLED` must be aligned with the
     chosen model. In other words:
 
-  - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
+  - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
     falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied.
-  - if `ETHOS_U55_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized
+  - if `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized
     model in this case results in a runtime error.
 
 - `ad_FILE_PATH`: Path to the directory containing audio files, or a path to single WAV file, to be used in the
@@ -134,6 +134,7 @@
 - [Using Arm Compiler](../sections/building.md#using-arm-compiler)
 - [Configuring the build for simple_platform](../sections/building.md#configuring-the-build-for-simple_platform)
 - [Working with model debugger from Arm Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools)
+- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants)
 
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and then
 > re-run the CMake command.
@@ -222,7 +223,7 @@
 
 The application performs inference using the model pointed to by the CMake parameter ``ad_MODEL_TFLITE_PATH``.
 
-> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run
+> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run
 > through the Vela compiler *before* continuing. Please refer to this section for more help:
 > [Optimize model with Vela compiler](../sections/building.md#Optimize-custom-model-with-Vela-compiler).
 
@@ -257,13 +258,13 @@
 
 ## Setting-up and running Ethos-U55 Code Sample
 
-### Setting up the Ethos-U55 Fast Model
+### Setting up the Ethos-U Fast Model
 
 The FVP is available publicly from
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
 
-For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both
-the *Ethos-U55* and *Cortex-M55*. The model is currently only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*
+and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -272,7 +273,7 @@
 - Run the install script in the extracted package:
 
 ```commandline
-.FVP_Corstone_SSE-300_Ethos-U55.sh
+./FVP_Corstone_SSE-300.sh
 ```
 
 - Follow the instructions to install the FVP to the required location.
@@ -409,7 +410,7 @@
 
 The profiling section of the log shows that for each inference. For the last inference, the profiling reports:
 
-- *Ethos-U55* PMU report:
+- *Ethos-U* PMU report:
 
   - 1,081,634 total cycle: The number of NPU cycles
 
@@ -418,12 +419,12 @@
   - 626 idle cycles: number of cycles for which the NPU was idle
 
   - 628,122 AXI0 read beats: The number of AXI beats with read transactions from AXI0 bus. AXI0 is the bus where
-    Ethos-U55 NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+    *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
 
   - 135,087 AXI0 write beats: The number of AXI beats with write transactions to AXI0 bus.
 
   - 62,870 AXI1 read beats: The number of AXI beats with read transactions from AXI1 bus. AXI1 is the bus where
-    Ethos-U55 NPU reads the model. So, read-only.
+   *Ethos-U* NPU reads the model. So, read-only.
 
 - For FPGA platforms, a CPU cycle count can also be enabled. However, do not use cycle counters for FVP, as the CPU
   model is not cycle-approximate or cycle-accurate.
diff --git a/docs/use_cases/asr.md b/docs/use_cases/asr.md
index 162d9e9..fb62afa 100644
--- a/docs/use_cases/asr.md
+++ b/docs/use_cases/asr.md
@@ -10,8 +10,8 @@
     - [Build process](#build-process)
     - [Add custom input](#add-custom-input)
     - [Add custom model](#add-custom-model)
-  - [Setting-up and running Ethos-U55 Code Samples](#setting-up-and-running-ethos-u55-code-samples)
-    - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+  - [Setting up and running Ethos-U NPU code sample](#setting-up-and-running-ethos-u-npu-code-sample)
+    - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model)
     - [Starting Fast Model simulation](#starting-fast-model-simulation)
     - [Running Automatic Speech Recognition](#running-automatic-speech-recognition)
 
@@ -110,11 +110,11 @@
 
 - `asr_MODEL_TFLITE_PATH` - The path to the NN model file in `TFLite` format. The model is processed and then included
   into the application `axf` file. The default value points to one of the delivered set of models. Note that the
-  parameters `asr_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U55_ENABLED` must be aligned with the chosen model. In
+  parameters `asr_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U_NPU_ENABLED` must be aligned with the chosen model. In
   other words:
-  - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
+  - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
     falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied.
-  - If `ETHOS_U55_ENABLED` is set to `Off` or `0`, then the NN model is assumed to be unoptimized. Supplying an
+  - If `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, then the NN model is assumed to be unoptimized. Supplying an
     optimized model in this case results in a runtime error.
 
 - `asr_FILE_PATH`: The path to the directory containing audio files, or a path to single WAV file, to be used in the
@@ -181,6 +181,7 @@
 - [Using Arm Compiler](../sections/building.md#using-arm-compiler)
 - [Configuring the build for simple_platform](../sections/building.md#configuring-the-build-for-simple_platform)
 - [Working with model debugger from Arm Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools)
+- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants)
 
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
 > the CMake command.
@@ -271,7 +272,7 @@
 
 The application performs inference using the model pointed to by the CMake parameter `MODEL_TFLITE_PATH`.
 
-> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run
+> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run
 > through the Vela compiler *before* continuing.
 
 For further information: [Optimize model with Vela compiler](../sections/building.md#Optimize-custom-model-with-Vela-compiler).
@@ -316,15 +317,15 @@
 
 After compiling, your custom model has now replaced the default one in the application.
 
-## Setting-up and running Ethos-U55 Code Samples
+## Setting up and running Ethos-U NPU code sample
 
-### Setting up the Ethos-U55 Fast Model
+### Setting up the Ethos-U Fast Model
 
 The FVP is available publicly from
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
 
-For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both
-the *Ethos-U55* and *Cortex-M55*. The model is currently only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*
+and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -333,7 +334,7 @@
 - Run the install script in the extracted package:
 
 ```commandline
-./FVP_Corstone_SSE-300_Ethos-U55.sh
+./FVP_Corstone_SSE-300.sh
 ```
 
 - Follow the instructions to install the FVP to the required location.
@@ -462,7 +463,7 @@
 
 The profiling section of the log shows that for the first inference:
 
-- *Ethos-U55* PMU report:
+- *Ethos-U* PMU report:
 
   - 28,451,172 total cycle: The number of NPU cycles.
 
@@ -471,7 +472,7 @@
   - 476 idle cycles: The number of cycles for which the NPU was idle.
 
   - 6,564,262 AXI0 read beats: The number of AXI beats with read transactions from the AXI0 bus. AXI0 is the bus where
-    the *Ethos-U55* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+    - the *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
 
   - 928,889 AXI0 write beats: The number of AXI beats with write transactions to the AXI0 bus.
 
diff --git a/docs/use_cases/img_class.md b/docs/use_cases/img_class.md
index 237a972..9423a4e 100644
--- a/docs/use_cases/img_class.md
+++ b/docs/use_cases/img_class.md
@@ -8,8 +8,8 @@
     - [Build process](#build-process)
     - [Add custom input](#add-custom-input)
     - [Add custom model](#add-custom-model)
-  - [Setting up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
-    - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+  - [Setting up and running Ethos-U NPU code sample](#setting-up-and-running-ethos-u-npu-code-sample)
+    - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model)
     - [Starting Fast Model simulation](#starting-fast-model-simulation)
     - [Running Image Classification](#running-image-classification)
 
@@ -36,12 +36,12 @@
 - `img_class_MODEL_TFLITE_PATH` - The path to the NN model file in the `TFLite` format. The model is then processed and
   included in the application `axf` file. The default value points to one of the delivered set of models.
 
-    Note that the parameters `img_class_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U55_ENABLED` must be aligned with
+    Note that the parameters `img_class_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U_NPU_ENABLED` must be aligned with
     the chosen model. In other words:
 
-  - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
+  - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
     falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied.
-  - if `ETHOS_U55_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized
+  - if `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized
     model in this case results in a runtime error.
 
 - `img_class_FILE_PATH`: The path to the directory containing the images, or a path to a single image file, that is to
@@ -100,6 +100,7 @@
 - [Using Arm Compiler](../sections/building.md#using-arm-compiler)
 - [Configuring the build for simple_platform](../sections/building.md#configuring-the-build-for-simple_platform)
 - [Working with model debugger from Arm Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools)
+- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants)
 
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
 > the CMake command.
@@ -193,7 +194,7 @@
 
 The application performs inference using the model pointed to by the CMake parameter `MODEL_TFLITE_PATH`.
 
-> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run
+> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run
 > through the Vela compiler *before* continuing.
 
 For further information: [Optimize model with Vela compiler](../sections/building.md#Optimize-custom-model-with-Vela-compiler).
@@ -238,15 +239,15 @@
 
 After compiling, your custom model has now replaced the default one in the application.
 
-## Setting up and running Ethos-U55 code sample
+## Setting up and running Ethos-U NPU code sample
 
-### Setting up the Ethos-U55 Fast Model
+### Setting up the Ethos-U Fast Model
 
 The FVP is available publicly from
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
 
-For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both
-the *Ethos-U55* and *Cortex-M55*. The model is currently only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*
+and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -255,7 +256,7 @@
 - Run the install script in the extracted package:
 
 ```commandline
-./FVP_Corstone_SSE-300_Ethos-U55.sh
+./FVP_Corstone_SSE-300.sh
 ```
 
 - Follow the instructions to install the FVP to the required location.
@@ -384,7 +385,7 @@
 
 The profiling section of the log shows that for this inference:
 
-- *Ethos-U55* PMU report:
+- *Ethos-U* PMU report:
 
   - 7,490,172 total cycle: The number of NPU cycles.
 
@@ -393,12 +394,12 @@
   - 914 idle cycles: The number of cycles for which the NPU was idle.
 
   - 2,489,726 AXI0 read beats: The number of AXI beats with read transactions from AXI0 bus. AXI0 is the bus where the
-    *Ethos-U55* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+    *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
 
   - 1,098,726 AXI0 write beats: The number of AXI beats with write transactions to AXI0 bus.
 
   - 471,129 AXI1 read beats: The number of AXI beats with read transactions from AXI1 bus. AXI1 is the bus where the
-    *Ethos-U55* NPU reads the model. So, read-only.
+    *Ethos-U* NPU reads the model. So, read-only.
 
 - For FPGA platforms, a CPU cycle count can also be enabled. However, do not use cycle counters for FVP, as the CPU
   model is not cycle-approximate or cycle-accurate
diff --git a/docs/use_cases/inference_runner.md b/docs/use_cases/inference_runner.md
index 975d56b..bd19840 100644
--- a/docs/use_cases/inference_runner.md
+++ b/docs/use_cases/inference_runner.md
@@ -7,8 +7,8 @@
     - [Build options](#build-options)
     - [Build process](#build-process)
     - [Add custom model](#add-custom-model)
-  - [Setting up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
-    - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+  - [Setting up and running Ethos-U NPU code sample](#setting-up-and-running-ethos-u-npu-code-sample)
+    - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model)
     - [Starting Fast Model simulation](#starting-fast-model-simulation)
     - [Running Inference Runner](#running-inference-runner)
 
@@ -44,12 +44,12 @@
 - `inference_runner_MODEL_TFLITE_PATH` - The path to the NN model file in the `TFLite` format. The model is then
   processed and included in the application `axf` file. The default value points to one of the delivered set of models.
 
-  Note that the parameters `TARGET_PLATFORM` and `ETHOS_U55_ENABLED` must be aligned with the chosen model. In other
+  Note that the parameters `TARGET_PLATFORM` and `ETHOS_U_NPU_ENABLED` must be aligned with the chosen model. In other
   words:
 
-  - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
+  - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
     falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied.
-  - if `ETHOS_U55_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized
+  - if `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, the NN model is assumed to be unoptimized. Supplying an optimized
     model in this case results in a runtime error.
 
 - `inference_runner_ACTIVATION_BUF_SZ`: The intermediate, or activation, buffer size reserved for the NN model. By
@@ -92,6 +92,7 @@
 - [Using Arm Compiler](../sections/building.md#using-arm-compiler)
 - [Configuring the build for simple_platform](../sections/building.md#configuring-the-build-for-simple_platform)
 - [Working with model debugger from Arm Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools)
+- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants)
 
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
 > the CMake command.
@@ -137,7 +138,7 @@
 The application performs inference using the model pointed to by the CMake parameter
 `inference_runner_MODEL_TFLITE_PATH`.
 
-> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run
+> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run
 > through the Vela compiler *before* continuing.
 
 For further information: [Optimize model with Vela compiler](../sections/building.md#Optimize-custom-model-with-Vela-compiler).
@@ -170,15 +171,15 @@
 
 After compiling, your custom model has now replaced the default one in the application.
 
-## Setting up and running Ethos-U55 code sample
+## Setting up and running Ethos-U NPU code sample
 
-### Setting up the Ethos-U55 Fast Model
+### Setting up the Ethos-U Fast Model
 
 The FVP is available publicly from
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
 
-For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both
-the *Ethos-U55* and *Cortex-M55*. The model is currently only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*
+and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -187,7 +188,7 @@
 - Run the install script in the extracted package:
 
 ```commandline
-./FVP_Corstone_SSE-300_Ethos-U55.sh
+./FVP_Corstone_SSE-300.sh
 ```
 
 - Follow the instructions to install the FVP to the required location.
@@ -238,7 +239,7 @@
 After running an inference on randomly generated data, the output of the log shows the profiling results that for this
 inference. For example:
 
-- *Ethos-U55* PMU report:
+- *Ethos-U* PMU report:
 
   - 34,178 total cycle: The number of NPU cycles.
 
@@ -247,12 +248,12 @@
   - 1,033 idle cycles: The number of cycles for which the NPU was idle.
 
   - 9,332 AXI0 read beats: The number of AXI beats with read transactions from AXI0 bus. AXI0 is the bus where the
-    *Ethos-U55* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+    *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
 
   - 3,248 AXI0 write beats: The number of AXI beats with write transactions to AXI0 bus.
 
   - 2,219 AXI1 read beats: The number of AXI beats with read transactions from AXI1 bus. AXI1 is the bus where the
-    *Ethos-U55* NPU reads the model. So, read-only.
+    *Ethos-U* NPU reads the model. So, read-only.
 
 - For FPGA platforms, a CPU cycle count can also be enabled. However, do not use cycle counters for FVP, as the CPU
   model is not cycle-approximate or cycle-accurate.
diff --git a/docs/use_cases/kws.md b/docs/use_cases/kws.md
index a6daadb..5839947 100644
--- a/docs/use_cases/kws.md
+++ b/docs/use_cases/kws.md
@@ -10,8 +10,8 @@
     - [Build process](#build-process)
     - [Add custom input](#add-custom-input)
     - [Add custom model](#add-custom-model)
-  - [Setting up and running Ethos-U55 code sample](#setting-up-and-running-ethos-u55-code-sample)
-    - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+  - [Setting up and running Ethos-U NPU code sample](#setting-up-and-running-ethos-u-npu-code-sample)
+    - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model)
     - [Starting Fast Model simulation](#starting-fast-model-simulation)
     - [Running Keyword Spotting](#running-keyword-spotting)
 
@@ -78,11 +78,11 @@
 
 - `kws_MODEL_TFLITE_PATH` - The path to the NN model file in `TFLite` format. The model is processed and then included
   into the application `axf` file. The default value points to one of the delivered set of models. Note that the
-  parameters `kws_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U55_ENABLED` must be aligned with the chosen model. In
+  parameters `kws_LABELS_TXT_FILE`,`TARGET_PLATFORM`, and `ETHOS_U_NPU_ENABLED` must be aligned with the chosen model. In
   other words:
-  - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
+  - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
     falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied.
-  - If `ETHOS_U55_ENABLED` is set to `Off` or `0`, then the NN model is assumed to be unoptimized. Supplying an
+  - If `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, then the NN model is assumed to be unoptimized. Supplying an
     optimized model in this case results in a runtime error.
 
 - `kws_FILE_PATH`: The path to the directory containing audio files, or a path to single WAV file, to be used in the
@@ -149,6 +149,7 @@
 - [Using Arm Compiler](../sections/building.md#using-arm-compiler)
 - [Configuring the build for simple_platform](../sections/building.md#configuring-the-build-for-simple_platform)
 - [Working with model debugger from Arm Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools)
+- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants)
 
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
 > the CMake command.
@@ -239,7 +240,7 @@
 
 The application performs inference using the model pointed to by the CMake parameter `kws_MODEL_TFLITE_PATH`.
 
-> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run
+> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run
 > through the Vela compiler *before* continuing.
 
 For further information: [Optimize model with Vela compiler](../sections/building.md#Optimize-custom-model-with-Vela-compiler).
@@ -283,15 +284,15 @@
 
 After compiling, your custom model has now replaced the default one in the application.
 
-## Setting up and running Ethos-U55 code sample
+## Setting up and running Ethos-U NPU code sample
 
-### Setting up the Ethos-U55 Fast Model
+### Setting up the Ethos-U Fast Model
 
 The FVP is available publicly from
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
 
-For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both
-the *Ethos-U55* and *Cortex-M55*. The model is only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*
+and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -300,7 +301,7 @@
 - Run the install script in the extracted package:
 
 ```commandline
-./FVP_Corstone_SSE-300_Ethos-U55.sh
+./FVP_Corstone_SSE-300.sh
 ```
 
 - Follow the instructions to install the FVP to the required location.
@@ -423,7 +424,7 @@
 
 The profiling section of the log shows that for this inference:
 
-- *Ethos-U55* PMU report:
+- *Ethos-U* PMU report:
 
   - 681,172 total cycle: The number of NPU cycles.
 
@@ -432,12 +433,12 @@
   - 561 idle cycles: The number of cycles for which the NPU was idle.
 
   - 217,385 AXI0 read beats: The number of AXI beats with read transactions from the AXI0 bus. AXI0 is the bus where the
-    *Ethos-U55* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+    *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
 
   - 82,607 write cycles: The number of AXI beats with write transactions to AXI0 bus.
 
   - 59,608 AXI1 read beats: The number of AXI beats with read transactions from the AXI1 bus. AXI1 is the bus where the
-    *Ethos-U55* NPU reads the model. So, read-only.
+    *Ethos-U* NPU reads the model. So, read-only.
 
 - For FPGA platforms, a CPU cycle count can also be enabled. However, do not use cycle counters for FVP, as the CPU
   model is not cycle-approximate or cycle-accurate.
diff --git a/docs/use_cases/kws_asr.md b/docs/use_cases/kws_asr.md
index 52d66ab..51d1840 100644
--- a/docs/use_cases/kws_asr.md
+++ b/docs/use_cases/kws_asr.md
@@ -12,8 +12,8 @@
     - [Build process](#build-process)
     - [Add custom input](#add-custom-input)
     - [Add custom model](#add-custom-model)
-  - [Setting-up and running Ethos-U55 Code Samples](#setting-up-and-running-ethos-u55-code-samples)
-    - [Setting up the Ethos-U55 Fast Model](#setting-up-the-ethos-u55-fast-model)
+  - [Setting up and running Ethos-U NPU code sample](#setting-up-and-running-ethos-u-npu-code-sample)
+    - [Setting up the Ethos-U Fast Model](#setting-up-the-ethos-u-fast-model)
     - [Starting Fast Model simulation](#starting-fast-model-simulation)
     - [Running Keyword Spotting and Automatic Speech Recognition](#running-keyword-spotting-and-automatic-speech-recognition)
 
@@ -166,11 +166,11 @@
 - `kws_asr_MODEL_TFLITE_PATH_ASR` and `kws_asr_MODEL_TFLITE_PATH_KWS`: The path to the NN model file in `TFLite` format.
     The model is processed and then included into the application `axf` file. The default value points to one of the
     delivered set of models. Note that the parameters `kws_asr_LABELS_TXT_FILE_KWS`,
-    `kws_asr_LABELS_TXT_FILE_ASR`,`TARGET_PLATFORM`, and `ETHOS_U55_ENABLED` must be aligned with the chosen model. In
+    `kws_asr_LABELS_TXT_FILE_ASR`,`TARGET_PLATFORM`, and `ETHOS_U_NPU_ENABLED` must be aligned with the chosen model. In
     other words:
-  - If `ETHOS_U55_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
+  - If `ETHOS_U_NPU_ENABLED` is set to `On` or `1`, then the NN model is assumed to be optimized. The model naturally
     falls back to the Arm® *Cortex®-M* CPU if an unoptimized model is supplied.
-  - If `ETHOS_U55_ENABLED` is set to `Off` or `0`, then the NN model is assumed to be unoptimized. Supplying an
+  - If `ETHOS_U_NPU_ENABLED` is set to `Off` or `0`, then the NN model is assumed to be unoptimized. Supplying an
     optimized model in this case results in a runtime error.
 
 - `kws_asr_FILE_PATH`: The path to the directory containing audio files, or a path to single WAV file, to be used in the
@@ -242,6 +242,7 @@
 - [Using Arm Compiler](../sections/building.md#using-arm-compiler)
 - [Configuring the build for simple_platform](../sections/building.md#configuring-the-build-for-simple_platform)
 - [Working with model debugger from Arm Fast Model Tools](../sections/building.md#working-with-model-debugger-from-arm-fast-model-tools)
+- [Building for different Ethos-U NPU variants](../sections/building.md#building-for-different-ethos-u-npu-variants)
 
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
 > the CMake command.
@@ -328,7 +329,7 @@
 This section assumes you want to change the existing ASR model to a custom one. If, instead, you want to change the KWS
 model, then the instructions are the same. Except ASR changes to KWS.
 
-> **Note:** If you want to run the model using an *Ethos-U55*, ensure that your custom model has been successfully run
+> **Note:** If you want to run the model using an *Ethos-U*, ensure that your custom model has been successfully run
 > through the Vela compiler *before* continuing.
 
 For further information:
@@ -374,15 +375,14 @@
 
 After compiling, your custom model has now replaced the default one in the application.
 
-## Setting-up and running Ethos-U55 Code Samples
+## Setting up and running Ethos-U NPU code sample
 
-### Setting up the Ethos-U55 Fast Model
+### Setting up the Ethos-U Fast Model
 
 The FVP is available publicly from
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
 
-For the *Ethos-U55* evaluation, please download the MPS3 version of the Arm® *Corstone™-300* model that contains both
-the *Ethos-U55* and *Cortex-M55*. The model is only supported on Linux-based machines.
+For the *Ethos-U* evaluation, please download the MPS3 based version of the Arm® *Corstone™-300* model that contains *Cortex-M55*  and offers a choice of the *Ethos-U55* and *Ethos-U65* processors.
 
 To install the FVP:
 
@@ -391,7 +391,7 @@
 - Run the install script in the extracted package:
 
 ```commandline
-./FVP_Corstone_SSE-300_Ethos-U55.sh
+./FVP_Corstone_SSE-300.sh
 ```
 
 - Follow the instructions to install the FVP to the required location.
@@ -566,7 +566,7 @@
 
 The profiling section of the log shows that for the ASR inference:
 
-- *Ethos-U55* PMU report:
+- *Ethos-U* PMU report:
 
   - 28,910,172 total cycle: The number of NPU cycles.
 
@@ -575,7 +575,7 @@
   - 863 idle cycles: The number of cycles for which the NPU was idle.
 
   - 13,520,864 AXI0 read beats: The number of AXI beats with read transactions from the AXI0 bus. AXI0 is the bus where
-    the *Ethos-U55* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
+    the *Ethos-U* NPU reads and writes to the computation buffers, activation buf, or tensor arenas.
 
   - 2,841,970 AXI0 write beats: The number of AXI beats with write transactions to AXI0 bus.
 
diff --git a/scripts/cmake/bare-metal-sources.cmake b/scripts/cmake/bare-metal-sources.cmake
index 95950df..d3dad41 100644
--- a/scripts/cmake/bare-metal-sources.cmake
+++ b/scripts/cmake/bare-metal-sources.cmake
@@ -36,10 +36,10 @@
 set(LINKER_SCRIPT_DIR       "${PLAT_HAL}/bsp/mem_layout")
 set(TENSORFLOW_LITE_MICRO_PLATFORM_LIB_NAME  "libtensorflow-microlite.a")
 set(TENSORFLOW_LITE_MICRO_FLAG               "-DTF_LITE_STATIC_MEMORY")
-set(ETHOS_U55_FLAG                           "-DARM_NPU=1")
+set(ETHOS_U_NPU_FLAG                           "-DARM_NPU=1")
 
-if (ETHOS_U55_ENABLED)
-    set(OPTIONAL_FLAGS      "${OPTIONAL_FLAGS} ${ETHOS_U55_FLAG}")
+if (ETHOS_U_NPU_ENABLED)
+    set(OPTIONAL_FLAGS      "${OPTIONAL_FLAGS} ${ETHOS_U_NPU_FLAG}")
 endif ()
 
 # Set specific flags depending on target platform and subsystem
@@ -85,9 +85,9 @@
 # Add link options for the linker script to be used:
 add_linker_script(${LINKER_SCRIPT_DIR} ${LINKER_SCRIPT_NAME})
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     USER_OPTION(TA_CONFIG_FILE "Path to the timing adapter configuration file"
-            "${CMAKE_SCRIPTS_DIR}/ta_config.cmake"
+            "${CMAKE_SCRIPTS_DIR}/timing_adapter/ta_config_u55_high_end.cmake"
             FILEPATH)
 
     # must be included after target subsystem CMake file
diff --git a/scripts/cmake/native-sources.cmake b/scripts/cmake/native-sources.cmake
index dc8f263..2a5b0ae 100644
--- a/scripts/cmake/native-sources.cmake
+++ b/scripts/cmake/native-sources.cmake
@@ -18,11 +18,11 @@
 set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/build_native)
 set(PLAT_HAL ${CMAKE_CURRENT_SOURCE_DIR}/source/application/hal/platforms/native)
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     message(WARNING "EthosU can't be enabled for native builds."
-                    "Use -DETHOS_U55_ENABLED=0 flag for this target platform."
+                    "Use -DETHOS_U_NPU_ENABLED=0 flag for this target platform."
                     "Overriding, disabling use of EthosU...")
-    set(ETHOS_U55_ENABLED OFF)
+    set(ETHOS_U_NPU_ENABLED OFF)
 endif()
 
 if (DEFINED LOG_LEVEL)
diff --git a/scripts/cmake/subsystem-profiles/corstone-sse-300.cmake b/scripts/cmake/subsystem-profiles/corstone-sse-300.cmake
index 8b565fe..c87dd6a 100644
--- a/scripts/cmake/subsystem-profiles/corstone-sse-300.cmake
+++ b/scripts/cmake/subsystem-profiles/corstone-sse-300.cmake
@@ -96,11 +96,11 @@
 set(QSPI_XIP_BASE         "0x41800000" CACHE STRING "QSPI XIP config Base Address ")
 set(QSPI_WRITE_BASE       "0x41801000" CACHE STRING "QSPI write config Base Address ")
 
-if (ETHOS_U55_ENABLED)
-    set(ETHOS_U55_BASE        "0x48102000" CACHE STRING "Ethos-U55 base address")
-    set(ETHOS_U55_TA0_BASE    "0x48103000" CACHE STRING "Ethos-U55's timing adapter 0 base address")
-    set(ETHOS_U55_TA1_BASE    "0x48103200" CACHE STRING "Ethos-U55's timing adapter 1 base address")
-endif (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
+    set(ETHOS_U_NPU_BASE        "0x48102000" CACHE STRING "Ethos-U NPU base address")
+    set(ETHOS_U_NPU_TA0_BASE    "0x48103000" CACHE STRING "Ethos-U NPU's timing adapter 0 base address")
+    set(ETHOS_U_NPU_TA1_BASE    "0x48103200" CACHE STRING "Ethos-U NPU's timing adapter 1 base address")
+endif (ETHOS_U_NPU_ENABLED)
 
 set(MPS3_I2C0_BASE        "0x49200000" CACHE STRING "Touch Screen I2C Base Address ")
 set(MPS3_I2C1_BASE        "0x49201000" CACHE STRING "Audio Interface I2C Base Address ")
@@ -156,11 +156,11 @@
 set(SEC_QSPI_XIP_BASE      "0x51800000" CACHE STRING "QSPI XIP config Base Address ")
 set(SEC_QSPI_WRITE_BASE    "0x51801000" CACHE STRING "QSPI write config Base Address ")
 
-if (ETHOS_U55_ENABLED)
-    set(SEC_ETHOS_U55_BASE     "0x58102000" CACHE STRING "Ethos-U55 base address")
-    set(SEC_ETHOS_U55_TA0_BASE "0x58103000" CACHE STRING "Ethos-U55's timing adapter 0 base address")
-    set(SEC_ETHOS_U55_TA1_BASE "0x58103200" CACHE STRING "Ethos-U55's timing adapter 1 base address")
-endif (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
+    set(SEC_ETHOS_U_NPU_BASE     "0x58102000" CACHE STRING "Ethos-U NPU base address")
+    set(SEC_ETHOS_U_NPU_TA0_BASE "0x58103000" CACHE STRING "Ethos-U NPU's timing adapter 0 base address")
+    set(SEC_ETHOS_U_NPU_TA1_BASE "0x58103200" CACHE STRING "Ethos-U NPU's timing adapter 1 base address")
+endif (ETHOS_U_NPU_ENABLED)
 
 set(SEC_MPS3_I2C0_BASE     "0x58200000" CACHE STRING "Touch Screen I2C Base Address ")
 set(SEC_MPS3_I2C1_BASE     "0x58201000" CACHE STRING "Audio Interface I2C Base Address ")
@@ -243,7 +243,7 @@
 set(SPI3_IRQn                     "54" CACHE STRING " SPI 3 Interrupt (Shield 0)            ")
 set(SPI4_IRQn                     "55" CACHE STRING " SPI 4 Interrupt (Sheild 1)            ")
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
 set(EthosU_IRQn                   "56" CACHE STRING " Ethos-U55 Interrupt                  ")
 endif ()
 
diff --git a/scripts/cmake/subsystem-profiles/simple_platform.cmake b/scripts/cmake/subsystem-profiles/simple_platform.cmake
index c5e9d59..69a69b5 100644
--- a/scripts/cmake/subsystem-profiles/simple_platform.cmake
+++ b/scripts/cmake/subsystem-profiles/simple_platform.cmake
@@ -34,18 +34,18 @@
 ###################################################################################################
 set(PL011_UART0_BASE            "0x49303000" CACHE STRING "PL011 UART 0 Base Address")
 
-if (ETHOS_U55_ENABLED)
-    set(ETHOS_U55_BASE          "0x48102000" CACHE STRING "Ethos-U55 base address")
-    set(ETHOS_U55_TA0_BASE      "0x48103000" CACHE STRING "Ethos-U55's timing adapter 0 base address")
-    set(ETHOS_U55_TA1_BASE      "0x48103200" CACHE STRING "Ethos-U55's timing adapter 1 base address")
-    set(SEC_ETHOS_U55_BASE      "0x58102000" CACHE STRING "Ethos-U55 base address")
-    set(SEC_ETHOS_U55_TA0_BASE  "0x58103000" CACHE STRING "Ethos-U55's timing adapter 0 base address")
-    set(SEC_ETHOS_U55_TA1_BASE  "0x58103200" CACHE STRING "Ethos-U55's timing adapter 1 base address")
+if (ETHOS_U_NPU_ENABLED)
+    set(ETHOS_U_NPU_BASE          "0x48102000" CACHE STRING "Ethos-U NPU base address")
+    set(ETHOS_U_NPU_TA0_BASE      "0x48103000" CACHE STRING "Ethos-U NPU's timing adapter 0 base address")
+    set(ETHOS_U_NPU_TA1_BASE      "0x48103200" CACHE STRING "Ethos-U NPU's timing adapter 1 base address")
+    set(SEC_ETHOS_U_NPU_BASE      "0x58102000" CACHE STRING "Ethos-U NPU base address")
+    set(SEC_ETHOS_U_NPU_TA0_BASE  "0x58103000" CACHE STRING "Ethos-U NPU's timing adapter 0 base address")
+    set(SEC_ETHOS_U_NPU_TA1_BASE  "0x58103200" CACHE STRING "Ethos-U NPU's timing adapter 1 base address")
 endif ()
 
 ###################################################################################################
 #                                           IRQ numbers                                           #
 ###################################################################################################
-if (ETHOS_U55_ENABLED)
-    set(EthosU_IRQn             "56"         CACHE STRING "Ethos-U55 Interrupt")
+if (ETHOS_U_NPU_ENABLED)
+    set(EthosU_IRQn             "56"         CACHE STRING "Ethos-U NPU Interrupt")
 endif ()
diff --git a/scripts/cmake/templates/peripheral_memmap.h.template b/scripts/cmake/templates/peripheral_memmap.h.template
index 050d7d7..a8c883c 100644
--- a/scripts/cmake/templates/peripheral_memmap.h.template
+++ b/scripts/cmake/templates/peripheral_memmap.h.template
@@ -67,9 +67,9 @@
 #cmakedefine CMSDK_UART2_BASE         (@CMSDK_UART2_BASE@)       /* UART 2 Base Address */
 #cmakedefine CMSDK_UART3_BASE         (@CMSDK_UART3_BASE@)       /* UART 3 Base Address Shield 0*/
 
-#cmakedefine ETHOS_U55_BASE           (@ETHOS_U55_BASE@)    /* Ethos-U55 base address*/
-#cmakedefine ETHOS_U55_TA0_BASE       (@ETHOS_U55_TA0_BASE@)    /* Ethos-U55's timing adapter 0 base address */
-#cmakedefine ETHOS_U55_TA1_BASE       (@ETHOS_U55_TA1_BASE@)    /* Ethos-U55's timing adapter 1 base address */
+#cmakedefine ETHOS_U_NPU_BASE           (@ETHOS_U_NPU_BASE@)    /* Ethos-U NPU base address*/
+#cmakedefine ETHOS_U_NPU_TA0_BASE       (@ETHOS_U_NPU_TA0_BASE@)    /* Ethos-U NPU's timing adapter 0 base address */
+#cmakedefine ETHOS_U_NPU_TA1_BASE       (@ETHOS_U_NPU_TA1_BASE@)    /* Ethos-U NPU's timing adapter 1 base address */
 
 #cmakedefine CMSDK_UART4_BASE         (@CMSDK_UART4_BASE@)       /* UART 4 Base Address Shield 1*/
 #cmakedefine CMSDK_UART5_BASE         (@CMSDK_UART5_BASE@)       /* UART 5 Base Address */
@@ -140,9 +140,9 @@
 #cmakedefine SEC_SMSC9220_BASE        (@SEC_SMSC9220_BASE@)       /* Ethernet SMSC9220 Base Address */
 #cmakedefine SEC_USB_BASE             (@SEC_USB_BASE@)       /* USB Base Address */
 
-#cmakedefine SEC_ETHOS_U55_BASE       (@SEC_ETHOS_U55_BASE@)   /* Ethos-U55 base address*/
-#cmakedefine SEC_ETHOS_U55_TA0_BASE   (@SEC_ETHOS_U55_TA0_BASE@)   /* Ethos-U55's timing adapter 0 base address */
-#cmakedefine SEC_ETHOS_U55_TA1_BASE   (@SEC_ETHOS_U55_TA1_BASE@)   /* Ethos-U55's timing adapter 1 base address */
+#cmakedefine SEC_ETHOS_U_NPU_BASE       (@SEC_ETHOS_U_NPU_BASE@)   /* Ethos-U NPU base address*/
+#cmakedefine SEC_ETHOS_U_NPU_TA0_BASE   (@SEC_ETHOS_U_NPU_TA0_BASE@)   /* Ethos-U NPU's timing adapter 0 base address */
+#cmakedefine SEC_ETHOS_U_NPU_TA1_BASE   (@SEC_ETHOS_U_NPU_TA1_BASE@)   /* Ethos-U NPU's timing adapter 1 base address */
 
 #cmakedefine SEC_USER_BASE            (@SEC_USER_BASE@)       /* User ? Base Address */
 
diff --git a/scripts/cmake/tensorflow.cmake b/scripts/cmake/tensorflow.cmake
index 1123c7f..d0654b8 100644
--- a/scripts/cmake/tensorflow.cmake
+++ b/scripts/cmake/tensorflow.cmake
@@ -69,7 +69,7 @@
 else()
     set(TENSORFLOW_LITE_MICRO_TARGET "cortex_m_ethos_eval")
     set(TENSORFLOW_LITE_MICRO_TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR}${CPU_FEATURES})
-    if(ETHOS_U55_ENABLED)
+    if(ETHOS_U_NPU_ENABLED)
         # Arm Ethos-U55 NPU is the co-processor for ML workload:
         set(TENSORFLOW_LITE_MICRO_CO_PROCESSOR  "ethos_u")
     endif()
@@ -104,7 +104,7 @@
         TARGET=${TENSORFLOW_LITE_MICRO_TARGET}
         TARGET_ARCH=${TENSORFLOW_LITE_MICRO_TARGET_ARCH}
         BUILD_TYPE=${TENSORFLOW_LITE_MICRO_BUILD_TYPE}
-        ETHOSU_DRIVER_PATH=${ETHOS_U55_DRIVER_SRC_PATH}
+        ETHOSU_DRIVER_PATH=${ETHOS_U_NPU_DRIVER_SRC_PATH}
         CMSIS_PATH=${CMSIS_SRC_PATH}
 
         # Conditional arguments
diff --git a/scripts/cmake/ta_config.cmake b/scripts/cmake/timing_adapter/ta_config_u55_high_end.cmake
similarity index 95%
rename from scripts/cmake/ta_config.cmake
rename to scripts/cmake/timing_adapter/ta_config_u55_high_end.cmake
index 427884c..30e1516 100644
--- a/scripts/cmake/ta_config.cmake
+++ b/scripts/cmake/timing_adapter/ta_config_u55_high_end.cmake
@@ -20,8 +20,8 @@
 # NPU core with two AXIs).
 #----------------------------------------------------------------------------
 
-set(TA0_BASE "${SEC_ETHOS_U55_TA0_BASE}"   CACHE STRING "Timing adapter 0: base-address")
-set(TA1_BASE "${SEC_ETHOS_U55_TA1_BASE}"   CACHE STRING "Timing adapter 1: base-address")
+set(TA0_BASE "${SEC_ETHOS_U_NPU_TA0_BASE}"   CACHE STRING "Timing adapter 0: base-address")
+set(TA1_BASE "${SEC_ETHOS_U_NPU_TA1_BASE}"   CACHE STRING "Timing adapter 1: base-address")
 
 message(STATUS "using TA0_BASE @ ${TA0_BASE}; TA1_BASE @ ${TA1_BASE}.")
 
diff --git a/scripts/cmake/ta_config.cmake b/scripts/cmake/timing_adapter/ta_config_u65_high_end.cmake
similarity index 76%
copy from scripts/cmake/ta_config.cmake
copy to scripts/cmake/timing_adapter/ta_config_u65_high_end.cmake
index 427884c..d1fdc00 100644
--- a/scripts/cmake/ta_config.cmake
+++ b/scripts/cmake/timing_adapter/ta_config_u65_high_end.cmake
@@ -20,14 +20,14 @@
 # NPU core with two AXIs).
 #----------------------------------------------------------------------------
 
-set(TA0_BASE "${SEC_ETHOS_U55_TA0_BASE}"   CACHE STRING "Timing adapter 0: base-address")
-set(TA1_BASE "${SEC_ETHOS_U55_TA1_BASE}"   CACHE STRING "Timing adapter 1: base-address")
+set(TA0_BASE "${SEC_ETHOS_U_NPU_TA0_BASE}"   CACHE STRING "Timing adapter 0: base-address")
+set(TA1_BASE "${SEC_ETHOS_U_NPU_TA1_BASE}"   CACHE STRING "Timing adapter 1: base-address")
 
 message(STATUS "using TA0_BASE @ ${TA0_BASE}; TA1_BASE @ ${TA1_BASE}.")
 
 # Timing adapter settings for AXI0
-set(TA0_MAXR        "8"        CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite")
-set(TA0_MAXW        "8"        CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite")
+set(TA0_MAXR        "16"        CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite")
+set(TA0_MAXW        "16"        CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite")
 set(TA0_MAXRW       "0"        CACHE STRING "6-bit field. Max no. of pending reads+writes. 0=infinite")
 set(TA0_RLATENCY    "32"       CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.")
 set(TA0_WLATENCY    "32"       CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.")
@@ -45,14 +45,14 @@
 set(TA0_HISTCNT     "0"        CACHE STRING "32-bit field. Read/write the selected histogram bin.")
 
 # Timing adapter settings for AXI1
-set(TA1_MAXR        "2"       CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite")
-set(TA1_MAXW        "0"       CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite")
+set(TA1_MAXR        "24"       CACHE STRING "6-bit field. Max no. of pending reads. 0=infinite")
+set(TA1_MAXW        "112"       CACHE STRING "6-bit field. Max no. of pending writes. 0=infinite")
 set(TA1_MAXRW       "0"       CACHE STRING "6-bit field. Max no. of pending reads+writes. 0=infinite")
-set(TA1_RLATENCY    "64"      CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.")
-set(TA1_WLATENCY    "0"       CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.")
-set(TA1_PULSE_ON    "320"     CACHE STRING "No. of cycles addresses let through (0-65535).")
-set(TA1_PULSE_OFF   "80"      CACHE STRING "No. of cycles addresses blocked (0-65535).")
-set(TA1_BWCAP       "50"      CACHE STRING "16-bit field. Max no. of 64-bit words transfered per pulse cycle 0=infinite")
+set(TA1_RLATENCY    "500"      CACHE STRING "12-bit field. Minimum latency (clock cycles) from AVALID to RVALID.")
+set(TA1_WLATENCY    "250"       CACHE STRING "12-bit field. Minimum latency (clock cycles) from WVALID&WLAST to BVALID.")
+set(TA1_PULSE_ON    "4000"     CACHE STRING "No. of cycles addresses let through (0-65535).")
+set(TA1_PULSE_OFF   "1000"      CACHE STRING "No. of cycles addresses blocked (0-65535).")
+set(TA1_BWCAP       "1172"      CACHE STRING "16-bit field. Max no. of 64-bit words transfered per pulse cycle 0=infinite")
 set(TA1_PERFCTRL    "0"       CACHE STRING "6-bit field selecting an event for event counter 0=default")
 set(TA1_PERFCNT     "0"       CACHE STRING "32-bit event counter")
 set(TA1_MODE        "1"       CACHE STRING "Bit 0: 1=enable dynamic clocking to avoid underrun;
diff --git a/scripts/vela/default_vela.ini b/scripts/vela/default_vela.ini
index 327b760..884b057 100644
--- a/scripts/vela/default_vela.ini
+++ b/scripts/vela/default_vela.ini
@@ -34,7 +34,19 @@
 OffChipFlash_burst_length=128
 OffChipFlash_read_latency=64
 OffChipFlash_write_latency=64
-
+; Ethos-U65 High-End: SRAM (16 GB/s) and DRAM (3.75 GB/s)
+[System_Config.Ethos_U65_High_End]
+core_clock=1e9
+axi0_port=Sram
+axi1_port=Dram
+Sram_clock_scale=1.0
+Sram_burst_length=32
+Sram_read_latency=32
+Sram_write_latency=32
+Dram_clock_scale=0.234375
+Dram_burst_length=128
+Dram_read_latency=500
+Dram_write_latency=250
 ; -----------------------------------------------------------------------------
 ; Memory Mode
 
diff --git a/source/application/hal/hal.c b/source/application/hal/hal.c
index 2ce2684..1515697 100644
--- a/source/application/hal/hal.c
+++ b/source/application/hal/hal.c
@@ -24,14 +24,14 @@
 
 #if defined(ARM_NPU)
 
-#include "ethosu_driver.h"              /* Arm Ethos-U55 driver header */
-#include "timing_adapter.h"             /* Arm Ethos-U55 timing adapter driver header */
-#include "timing_adapter_settings.h"    /* Arm Ethos-U55 timing adapter settings */
+#include "ethosu_driver.h"              /* Arm Ethos-U driver header */
+#include "timing_adapter.h"             /* Arm Ethos-U timing adapter driver header */
+#include "timing_adapter_settings.h"    /* Arm Ethos-U timing adapter settings */
 
-extern struct ethosu_driver ethosu_drv; /* Default Ethos-U55 device driver */
+extern struct ethosu_driver ethosu_drv; /* Default Ethos-U device driver */
 
 /**
- * @brief   Initialises the Arm Ethos-U55 NPU
+ * @brief   Initialises the Arm Ethos-U NPU
  * @return  0 if successful, error code otherwise
  **/
 static int arm_npu_init(void);
@@ -95,7 +95,7 @@
 
 #if defined(ARM_NPU)
 
-    /* If Arm Ethos-U55 NPU is to be used, we initialise it here */
+    /* If Arm Ethos-U NPU is to be used, we initialise it here */
     if (0 != (state = arm_npu_init())) {
         return state;
     }
@@ -219,7 +219,7 @@
 {
     int err = 0;
 
-    /* If the platform has timing adapter blocks along with Ethos-U55 core
+    /* If the platform has timing adapter blocks along with Ethos-U core
      * block, initialise them here. */
     if (0 != (err = _arm_npu_timing_adapter_init())) {
         return err;
@@ -228,30 +228,30 @@
     /* Initialise the IRQ */
     arm_npu_irq_init();
 
-    /* Initialise Ethos-U55 device */
-    const void * ethosu_base_address = (void *)(SEC_ETHOS_U55_BASE);
+    /* Initialise Ethos-U device */
+    const void * ethosu_base_address = (void *)(SEC_ETHOS_U_NPU_BASE);
 
     if (0 != (err = ethosu_init(
-                        &ethosu_drv,            /* Ethos-U55 driver device pointer */
-                        ethosu_base_address,    /* Ethos-U55's base address. */
+                        &ethosu_drv,            /* Ethos-U driver device pointer */
+                        ethosu_base_address,    /* Ethos-U NPU's base address. */
                         NULL,                   /* Pointer to fast mem area - NULL for U55. */
                         0,                      /* Fast mem region size. */
                         1,                      /* Security enable. */
                         1))) {                  /* Privilege enable. */
-        printf_err("failed to initalise Ethos-U55 device\n");
+        printf_err("failed to initalise Ethos-U device\n");
         return err;
     }
 
-    info("Ethos-U55 device initialised\n");
+    info("Ethos-U device initialised\n");
 
-    /* Get Ethos-U55 version */
+    /* Get Ethos-U version */
     struct ethosu_version version;
     if (0 != (err = ethosu_get_version(&ethosu_drv, &version))) {
-        printf_err("failed to fetch Ethos-U55 version info\n");
+        printf_err("failed to fetch Ethos-U version info\n");
         return err;
     }
 
-    info("Ethos-U55 version info:\n");
+    info("Ethos-U version info:\n");
     info("\tArch:       v%u.%u.%u\n", version.id.arch_major_rev,
                                     version.id.arch_minor_rev,
                                     version.id.arch_patch_rev);
diff --git a/source/use_case/ad/usecase.cmake b/source/use_case/ad/usecase.cmake
index 4291dad..72683d1 100644
--- a/source/use_case/ad/usecase.cmake
+++ b/source/use_case/ad/usecase.cmake
@@ -60,7 +60,7 @@
         0x00200000
         STRING)
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ad_medium_int8.tflite)
diff --git a/source/use_case/asr/usecase.cmake b/source/use_case/asr/usecase.cmake
index 3417c06..21fc80d 100644
--- a/source/use_case/asr/usecase.cmake
+++ b/source/use_case/asr/usecase.cmake
@@ -74,7 +74,7 @@
     0x00400000
     STRING)
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8.tflite)
diff --git a/source/use_case/img_class/usecase.cmake b/source/use_case/img_class/usecase.cmake
index 545697d..63a4c2a 100644
--- a/source/use_case/img_class/usecase.cmake
+++ b/source/use_case/img_class/usecase.cmake
@@ -46,7 +46,7 @@
     0x00200000
     STRING)
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/mobilenet_v2_1.0_224_quantized_1_default_1.tflite)
diff --git a/source/use_case/inference_runner/usecase.cmake b/source/use_case/inference_runner/usecase.cmake
index d66026f..79bec23 100644
--- a/source/use_case/inference_runner/usecase.cmake
+++ b/source/use_case/inference_runner/usecase.cmake
@@ -21,7 +21,7 @@
 
 generate_default_input_code(${INC_GEN_DIR})
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/dnn_s_quantized.tflite)
diff --git a/source/use_case/kws/usecase.cmake b/source/use_case/kws/usecase.cmake
index 560f5a8..6d0ad7e 100644
--- a/source/use_case/kws/usecase.cmake
+++ b/source/use_case/kws/usecase.cmake
@@ -73,7 +73,7 @@
     0x00100000
     STRING)
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_H128.tflite)
 else()
     set(DEFAULT_MODEL_PATH      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8.tflite)
diff --git a/source/use_case/kws_asr/usecase.cmake b/source/use_case/kws_asr/usecase.cmake
index 8d2d6d1..716a8c8 100644
--- a/source/use_case/kws_asr/usecase.cmake
+++ b/source/use_case/kws_asr/usecase.cmake
@@ -66,7 +66,7 @@
     0.5
     STRING)
 
-if (ETHOS_U55_ENABLED)
+if (ETHOS_U_NPU_ENABLED)
     set(DEFAULT_MODEL_PATH_KWS      ${DEFAULT_MODEL_DIR}/ds_cnn_clustered_int8_vela_H128.tflite)
     set(DEFAULT_MODEL_PATH_ASR      ${DEFAULT_MODEL_DIR}/wav2letter_pruned_int8_vela_H128.tflite)
 else()