diff --git a/Include/arm_common_tables.h b/Include/arm_common_tables.h index 6abb568f..a2346474 100644 --- a/Include/arm_common_tables.h +++ b/Include/arm_common_tables.h @@ -3,13 +3,12 @@ * Title: arm_common_tables.h * Description: Extern declaration for common tables * - * $Date: 27. January 2017 - * $Revision: V.1.5.1 + * @version V1.9.0 + * @date 17. March 2021 * - * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_common_tables_f16.h b/Include/arm_common_tables_f16.h index c04b30cf..a1352297 100755 --- a/Include/arm_common_tables_f16.h +++ b/Include/arm_common_tables_f16.h @@ -3,13 +3,12 @@ * Title: arm_common_tables_f16.h * Description: Extern declaration for common tables * - * $Date: 27. January 2017 - * $Revision: V.1.5.1 + * @version V1.9.0 + * @date 17. March 2021 * - * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_const_structs.h b/Include/arm_const_structs.h index 712c6ebf..dc7fe91c 100644 --- a/Include/arm_const_structs.h +++ b/Include/arm_const_structs.h @@ -4,13 +4,12 @@ * Description: Constant structs that are initialized for user convenience. * For example, some can be given as arguments to the arm_cfft_f32() function. * - * $Date: 27. January 2017 - * $Revision: V.1.5.1 + * @version V1.9.0 + * @date 17. March 2021 * - * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_const_structs_f16.h b/Include/arm_const_structs_f16.h index bfc7e4d2..a7d93cca 100755 --- a/Include/arm_const_structs_f16.h +++ b/Include/arm_const_structs_f16.h @@ -4,13 +4,12 @@ * Description: Constant structs that are initialized for user convenience. * For example, some can be given as arguments to the arm_cfft_f16() function. * - * $Date: 20. April 2020 - * $Revision: V.1.5.1 + * @version V1.9.0 + * @date 17. March 2021 * - * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_helium_utils.h b/Include/arm_helium_utils.h index 93645a3c..a4cf0420 100755 --- a/Include/arm_helium_utils.h +++ b/Include/arm_helium_utils.h @@ -3,13 +3,13 @@ * Title: arm_helium_utils.h * Description: Utility functions for Helium development * - * $Date: 09. September 2019 - * $Revision: V.1.5.1 + * @version V1.9.0 + * @date 17. March 2021 * * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_math.h b/Include/arm_math.h index 91575d5b..79f0e4f4 100644 --- a/Include/arm_math.h +++ b/Include/arm_math.h @@ -1,11 +1,11 @@ /****************************************************************************** * @file arm_math.h * @brief Public header file for CMSIS DSP Library - * @version V1.7.0 - * @date 18. March 2019 + * @version V1.9.0 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2019 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_math_f16.h b/Include/arm_math_f16.h index 19dabedb..0d8571f7 100755 --- a/Include/arm_math_f16.h +++ b/Include/arm_math_f16.h @@ -1,11 +1,11 @@ /****************************************************************************** * @file arm_math_f16.h * @brief Public header file for f16 function of the CMSIS DSP Library - * @version V1.8.1 - * @date 20. April 2020 + * @version V1.9.0 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2020 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_math_memory.h b/Include/arm_math_memory.h index c7158dc9..1492ca3d 100755 --- a/Include/arm_math_memory.h +++ b/Include/arm_math_memory.h @@ -2,10 +2,10 @@ * @file arm_math_memory.h * @brief Public header file for CMSIS DSP Library * @version V1.9.0 - * @date 20. July 2020 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2020 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_math_types.h b/Include/arm_math_types.h index 0c87f7f9..1f181b60 100755 --- a/Include/arm_math_types.h +++ b/Include/arm_math_types.h @@ -2,10 +2,10 @@ * @file arm_math_types.h * @brief Public header file for CMSIS DSP Library * @version V1.9.0 - * @date 20. July 2020 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2020 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_math_types_f16.h b/Include/arm_math_types_f16.h index e731f90b..cabae958 100755 --- a/Include/arm_math_types_f16.h +++ b/Include/arm_math_types_f16.h @@ -2,10 +2,10 @@ * @file arm_math_types_f16.h * @brief Public header file for f16 function of the CMSIS DSP Library * @version V1.9.0 - * @date 20. July 2020 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2020 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_mve_tables.h b/Include/arm_mve_tables.h index d75e1026..29c284ea 100755 --- a/Include/arm_mve_tables.h +++ b/Include/arm_mve_tables.h @@ -4,12 +4,13 @@ * Description: common tables like fft twiddle factors, Bitreverse, reciprocal etc * used for MVE implementation only * - * $Date: 14. April 2020 + * @version V1.9.0 + * @date 17. March 2021 * * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_mve_tables_f16.h b/Include/arm_mve_tables_f16.h index a5570cd8..98d8a0e8 100755 --- a/Include/arm_mve_tables_f16.h +++ b/Include/arm_mve_tables_f16.h @@ -4,12 +4,13 @@ * Description: common tables like fft twiddle factors, Bitreverse, reciprocal etc * used for MVE implementation only * - * $Date: 14. April 2020 + * @version V1.9.0 + * @date 17. March 2021 * * Target Processor: Cortex-M cores * -------------------------------------------------------------------- */ /* - * Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved. + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_vec_math.h b/Include/arm_vec_math.h index eb484706..17433341 100755 --- a/Include/arm_vec_math.h +++ b/Include/arm_vec_math.h @@ -1,11 +1,11 @@ /****************************************************************************** * @file arm_vec_math.h * @brief Public header file for CMSIS DSP Library - * @version V1.7.0 - * @date 15. October 2019 + * @version V1.9.0 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2019 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Include/arm_vec_math_f16.h b/Include/arm_vec_math_f16.h index de2086c6..f2b8a6fa 100755 --- a/Include/arm_vec_math_f16.h +++ b/Include/arm_vec_math_f16.h @@ -1,9 +1,11 @@ /****************************************************************************** * @file arm_vec_math_f16.h * @brief Public header file for CMSIS DSP Library + * @version V1.9.0 + * @date 17. March 2021 ******************************************************************************/ /* - * Copyright (c) 2010-2020 Arm Limited or its affiliates. All rights reserved. + * Copyright (c) 2010-2021 Arm Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 * diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt index d91ec4ec..6a8bc193 100644 --- a/Testing/CMakeLists.txt +++ b/Testing/CMakeLists.txt @@ -84,6 +84,7 @@ option(EMBEDDED "Embedded Mode" ON) option(FLOAT16TESTS "Float16 tests" OFF) option(MICROBENCH "Micro benchmarks" OFF) option(EXTERNAL "External benchmarks or tests" OFF) +option(CACHEANALYSIS "Build with cache analysis mode enabled" OFF) option(DISTINCT "Different generated folder for benchmarking and tests" OFF) @@ -121,6 +122,10 @@ if (AUTOVECTORIZE) target_compile_definitions(TestingLib PRIVATE ARM_MATH_AUTOVECTORIZE) endif() +if (CACHEANALYSIS) + target_compile_definitions(FrameworkLib PRIVATE CACHEANALYSIS) +endif() + if (BENCHMARK) diff --git a/Testing/FrameworkInclude/Timing.h b/Testing/FrameworkInclude/Timing.h index f8a0c18c..86201202 100644 --- a/Testing/FrameworkInclude/Timing.h +++ b/Testing/FrameworkInclude/Timing.h @@ -11,7 +11,7 @@ void cycleMeasurementStop(); Testing::cycles_t getCycles(); -#ifdef EXTBENCH +#if defined(EXTBENCH) || defined(CACHEANALYSIS) extern unsigned long sectionCounter; #if defined ( __CC_ARM ) diff --git a/Testing/FrameworkSource/IORunner.cpp b/Testing/FrameworkSource/IORunner.cpp index 010a25ed..09eee146 100644 --- a/Testing/FrameworkSource/IORunner.cpp +++ b/Testing/FrameworkSource/IORunner.cpp @@ -82,18 +82,7 @@ a C++ function pointer from the cycle measurements. Client::test t = (Client::test)&Calibrate::empty; calibration = 0; -/* - -EXTBENCH is set when benchmarking is done through external traces -instead of using internal counters. -Currently the post-processing scripts are only supporting traces generated from -fast models. - -*/ -#ifdef EXTBENCH - startSection(); -#endif /* @@ -152,6 +141,20 @@ the code not in cache. While for the code itself we have the value for the code in cache. */ + +/* + +EXTBENCH is set when benchmarking is done through external traces +instead of using internal counters. + +Currently the post-processing scripts are only supporting traces generated from +fast models. + +*/ +#if defined(EXTBENCH) || defined(CACHEANALYSIS) + startSection(); +#endif + for(int i=0;i < CALIBNB;i++) { cycleMeasurementStart(); @@ -165,7 +168,7 @@ While for the code itself we have the value for the code in cache. calibration += current; cycleMeasurementStop(); } -#ifdef EXTBENCH +#if defined(EXTBENCH) || defined(CACHEANALYSIS) stopSection(); #endif @@ -275,6 +278,9 @@ While for the code itself we have the value for the code in cache. __DSB(); __ISB(); #endif + +/* If cache analysis mode, we don't force the code to be in cache. */ +#if !defined(CACHEANALYSIS) if (s->isForcedInCache()) { if (!m_mgr->HasMemError()) @@ -282,19 +288,22 @@ While for the code itself we have the value for the code in cache. (s->*t)(); } } - +#endif // Run the test cycleMeasurementStart(); -#ifdef EXTBENCH + +#if defined(EXTBENCH) || defined(CACHEANALYSIS) startSection(); #endif if (!m_mgr->HasMemError()) { (s->*t)(); } -#ifdef EXTBENCH + +#if defined(EXTBENCH) || defined(CACHEANALYSIS) stopSection(); #endif + #ifndef EXTBENCH cycles=getCycles(); cycles=cycles-calibration; diff --git a/Testing/FrameworkSource/Timing.cpp b/Testing/FrameworkSource/Timing.cpp index 4ac5e5b2..13d4ab65 100644 --- a/Testing/FrameworkSource/Timing.cpp +++ b/Testing/FrameworkSource/Timing.cpp @@ -62,7 +62,7 @@ unsigned int startCycles; #define ENABLE_DIVIDER 0 #endif -#ifdef EXTBENCH +#if defined(EXTBENCH) || defined(CACHEANALYSIS) unsigned long sectionCounter=0; #endif