AVH FVP models allow to verify your code without the need for physical hardware which provides a robust test environment that enables:
AVH FVP simulation models are validated with the same process as the CPU IP. Specially it allows you to:
Software algorithms for Digital Signal Processing (DSP) or Machine Learning (ML) frequently require significant CPU resources and need to be optimized for the target hardware. Comparing performance of such "load heavy" algorithms requires that they can be automatically executed with different configurations parameters but using identical input. The timing in AVH FVP models is based on a instruction count, therefore it is not timing accurate. However the results can still be used for performance estimation and A/B comparison of algorithms.
AVH FVP simulation models allow users to test their programs at scale with reproducible input patterns. This allows you to validate and optimize application performance. Usage examples are:
Applying continuous integration work flows for embedded applications can be complicated by the specifics of development environments and the need of executing the program on target hardware. Development teams are often reluctant to spend initial effort setting up the continuous integration (CI) workflow even though the long-term benefits are undisputed as shown on the figure below.
AVH FVP Infrastructure with integration in tools such as Keil MDK and GitHub Actions simplifies setup of CI workflows.
For unit and integration tests virtual targets offer additional advantages over hardware, including: