DS-5 simulator uses a lot of terms like FVP, RTSM, Fast Models, Foundation Model, AEM Model, CADI. The explanation provided in Arm's documentation is not very clear. What do these terms mean and which ones should I care about as an end user of DS-5?
Model
- An industry term for software simulation
- In Arm's case, it is used interchangeably to either mean a component model (like a processor model) or an entire system/platform (like a VE FVP)
Fast Model
- Software simulation of an individual component of a SOC like a processor or a peripheral
- Usually provided as a shared library
- Usually not seen by an end-user of DS-5.
- Example: Cortex-A53 model.
- Detailed docs - https://developer.arm.com/products/system-design/fast-models/docs
Cycle Models
- Software simulation of an SoC including processor and peripherals
- Cycle models are compiled directly from Arm RTL and retain complete functional accuracy
- Instrumented to enable debug and analysis
- Example: Multi-Cluster Arm Cortex-A53 with Coherent Interconnect, Interrupt Controller, Timer and UART
Virtual Platform (VP)
- A virtual version of a real development board.
- Usually provided as an executable.
- Generic industry term.
- Example: Android emulator
Fixed Virtual Platform (FVP)
- Arm's term for its virtual platform.
- Provided as an executable.
- Not free, can be licensed from Arm.
- Example: Quad-Core Cortex-A9 FVP, provided as part of DS-5, is not just a Cortex-A9 processor model, but a complete development platform containing Cortex-A9 4-core SoC simulation along with many peripherals.
- Detailed docs - https://developer.arm.com/products/system-design/fixed-virtual-platforms/docs
RTSM
- Stands for "Real Time System Model"
- An old name for FVP.
- The term RTSM is no longer actively used by Arm. They use FVP instead.
Foundation Model or Foundation Platform
- A free virtual platform provided by Arm to kick-start Armv8 software development.
- Minimal features - Only available on Linux, models a 'generic' Armv8 processor.
CADI
- Stands for "Component Architecture Debug Interface" [Edited].
- Arm specific term.
- Simulator equivalent of the JTAG interface provided by real hardware.
- DS-5 and other debuggers use CADI to talk to the Arm's virtual platforms.