|Home > Programming Reference for MPS2 FVPs > MPS2 - differences between models and hardware|
This section describes the features of the hardware that the models do not implement, or implement with significant differences.
MPS2 implements most devices. Some peripherals have minimal implementations:
You can display images and text on an emulated VGA output, images on the LCD, and text on the UART.
The model does not support MTB, ETM, and TPIU. MTB RAM is absent.
In the Memory Gating Unit, the model provides a configurable block size. For performance reasons, the minimum block size in the model is 4096 bytes. Hardware and later models might allow smaller block sizes. Software must use the BLK_CFG register to determine block size.
FVPs enable software applications to run in a functionally accurate simulation. However, because of the relative balance of fast simulation speed over timing accuracy, there are situations where the models might behave unexpectedly.
If your code interacts with real world devices such as timers and keyboards, data arrives in the modeled device in real world, or wall clock, time. However, simulation time can run faster than the wall clock. So, a single key press might be interpreted as several repeated key presses, or a single mouse click might be interpreted as a double click.
To avoid this mismatch, the FVPs provide the Rate Limit feature. Enabling Rate Limit forces the
model to run at wall clock time. For interactive applications, Arm recommends
enabling Rate Limit. Use the Rate Limit button in the CLCD display or the
rate_limit-enable model instantiation parameter.