What's new in 11.1
New features and enhancements
- Support for breakpoints for vector catching has been added to the models of M-profile CPUs.
- Partial support for the architectural debug feature, Instrumentation Trace Macrocell (ITM), has been added to the Fast Models of M-profile CPUs that support it.
architecture-versionparameter has been removed from the AEMv8M core model.
- Addition of new fields to the MMU_TRANS MTI trace source.
- New features in GGA (generic Graphics Accelerator):
- Support for Vulkan (Beta).
- Performance improvements.
- New ports supported for GRM.
- New ScalableVectorExtension plug-in enables AEMv8-A processor models to execute SVE instructions.
- RealTimeLimiter default setting has changed from true to false.
- DynamIQ(FCM) clusters implement partial powerdown of L3 Cache, with new parameters.
- Support for Visual Studio 2015 - Update 3.
Deprecated and removed features
- VFS has been removed. Use Virtio P9 instead.
- The ARM926, ARM968, ARM1136, and ARM1176 models are deprecated.
Release Note for Release History 11.1
Detailed documentation can be found in the 'doc' subfolder for Fast Models Tools and the 'Docs' subfolder for Fast Models Portfolio.
A significant number of the examples in Fast Models Portfolio 11.1 make use of images containing third party IP. These have been split out into a separate 'Third Party IP' package that can be downloaded from:
Not installing these images will mean that examples that require Dhrystone or the Linux images will not be functional, as well as examples using Accellera SystemC 2.3.1.
Enhancements and Changes in Fast Models Portfolio 11.1
Support for breakpoints for vector catching has been added to the Fast Models of M-profile CPUs
Partial ITM support. Support for a subset of the architectural debug feature, Instrumentation Trace Macrocell (ITM), has been added to the Fast Models of M-profile CPUs that support it. ITM behavior is strongly dependent on microarchitecture, so many parts of the feature are not implemented in Fast Models. For details of the level of support of ITM, see the section of the Fast Models Reference Manual relating to each CPU component.
architecture-versionparameter removed from AEMv8M core. The parameter accepted one value, '8', meaning 'v8-M', which is the only architecture supported by the AEMv8M model.
Enhancement to the
MMU_TRANSMTI trace source on core components. The
MMU_TRANStrace source has two new fields
STAGE2_PERM. The new fields indicate the permission checks that will be applied to accesses in the page. The format of the new fields can be found using the ListTraceSources plugin.
GGA (Generic Graphics Accelerator) and GRM (Graphics Register Model) can work together to help graphics software stack verification in Fast Models 11.1. GRM implements ARM Mali graphics hardware without shader support and it can work with or without GGA. With GGA support, the end-user can view the rendering result in the Fast Models visualization window, and can use the error code checking feature to verify app correctness.
Graphics APIs supported:
New features in Fast Models 11.1:
- Adds Vulkan support (Beta)
- Adds gpu_reset signal port support for GRM
- Adds prot_mode_m0 signal port for protected mode content access control for GRM.
- 2x Mali Cube FPS improvement for GGA
Preferred host GPU hardware and driver:
- The preferred graphics card model is nVidia GT730 and the corresponding
driver versions are:
- Ubuntu : 367.57 and above
- Windows : 368.39 and above
- Ubuntu : 384.47 and above
- Graphics cards supported for other vendors cover:
- AMD. The typical model is R7 240 and the driver versions are:
- Ubuntu : 15.30 and above released by AMD officially
- Windows : 15.12 and above
- Intel HD Graphics. The typical model is HD Graphics 530 and driver
- Ubuntu : Not supported due to unqualified native driver
- Windows : 10.18.15.4279
- AMD. The typical model is R7 240 and the driver versions are:
Target GPU supported for GRM:
- GPU Kernel Device Drivers can be found at https://developer.arm.com/products/software/mali-drivers/bifrost-kernel
- This is tested with bifrost-kernel r2p0-03rel0
- Mali-G72 (Beta)
- This is tested with bifrost-kernel r2p0-03rel0
Target OSes supported:
- Android 4.4.2
- Android 6.0.1
- Android 7.0.0
- Some limitations for Vulkan support
- Can only support 64-bit target, and 32-bit target can't be supported yet.
- Can only support linux host, and windows host can't be supported yet.
- Only nVidia graphics driver is verified on host.
- Only core specification is supported.
- The following issues are for GLES only. They depend on the Mali OpenGL ES Emulator:
- Doesn't support GLES v3.1 AEP and v3.2.
- GLES extension API shadow2DEXT can't be correctly supported in GLES Shading Language.
- GLES APIs glTexSubImage and glCopyTexSubImage2D have errors for some special formats like GL_ALPHA.
- Android applications using GPU resources in multi-threaded manner are not well supported and might lead to unpredictable behavior.
- Some corner cases may fail on AMD and Intel HD Graphics cards due to native graphics driver issues.
- For Intel HD Graphics card, a driver version above 10.18.15.4279 may bring unexpected failures for some corner cases.
- For applications that only do single frame rendering, the rendering result is invisible in Fast Model visualization window.
- The MMU inside GPU can't be verified using GRM.
Benchmark list verified:
- Mali SDK Samples
- GFX Bench v2.7.5 and v3.0.11
- AnTuTu 3D Rating
- GPU Benchmark 3D v1.2.3
- Unity Benchmark v1.1.1
- Mali SDK Samples
To make Vulkan (Beta) feature work, create symbolic link
/vendor/lib64/hw/vulkan.<ro.board.platform>.so. For example:
adb remount adb shell sudo ln -s /vendor/lib64/egl/libGLES_vimpl.so /vendor/lib64/hw/vulkan.fvp.so
ScalableVectorExtension plug-in has been added. It enables AEMv8-A processor models to execute SVE instructions.
RealTimeLimiter default setting has changed from true to false.
DynamIQ(FCM) is a new type of platform introduced in 11.0 that includes one cluster of Cortex-A55 and Cortex-A75 combined to form an FVP_Base. These platforms include the flexible Cortex-A55+Cortex-A75 FVP_Base DynamIQ which provides the subclusterX.NUM_CORES parameters to configure the number of Cortex-A55 and Cortex-A75 instances within the cluster at runtime. Each subcluster within the DynamIQ cluster can be configured independently by using the parameters exposed with the subclusterX.param_name prefix where X=0 or 1.
Partial powerdown of L3 Cache is implemented. Two new related parameters have been added to FCM model:
More information can be found here: https://developer.arm.com/docs/100453/0002
As a result of switching to the SystemC scheduler and deprecating the Fast Models internal scheduler, the following effects can be observed:
- Simulations aren't reproducible in terms of scheduling of threads and events between versions after 11.0 and previous releases.
- CADI reset is not supported any more and returns eslapi::CADI_STATUS_CmdNotSupported.
- Default quantum is now 10000 and can be set on the comamnd line through -Q.
- min sync latency can also be set at the command line through -M. Default is 100.
- Fast Models will deprecate TarmacTraceV8, resulting in a single TarmacTrace plugin.
- The folder structure in FastModelsPortfolio will be refactored in a future release.
- Fast Models will deprecate VS2013 in the November'17 release.
- Excessive license checkouts may appear in client license diagnostics (FLEXLM_DIAGNOSTICS=3). However, the correct number of licenses are actually checked out.
- VFS has been removed. Please use Virtio P9.
- ARM926, ARM968, ARM1136 and ARM1176 models are now deprecated and should not be used. These will be removed in an upcoming release.
Compilers and Operating Systems supported by Fast Models
- RedHat 6
- RedHat 7
- Ubuntu 14.04
- Ubuntu 16.04
- Windows 7
- Windows 10
- GCC-4.8.3 and GCC-4.8.4
- Visual Studio 2013 - Update 4
- Visual Studio 2015 - Update 3 (Support added in Fast Models 11.1)
- The following warning is produced when compiling Fast Models with Visual Studio
Unknown compiler version - please run the configure tests and report the resultsThis occurs due to the Accellera SystemC library using an older version of the Boost library which is not aware of any versions after Visual Studio 2013.
FLEXnet license management utilities
FLEXnet server binaries are no longer shipped with the product; if you need them, download them from https://developer.arm.com/products/software-development-tools/license-management/downloads.
Release 11.1 of Fast Models requires a newer version of the FLEXnet license management utilities. If you are using floating licenses, you need to upgrade to version 18.104.22.168 (or later) of the FLEXnet license management utilities. Prior versions are not compatible.
License queueing support
When using floating licenses, if all available licenses are in use, models and tools can be configured to queue until a license is available. This is enabled by setting the environment variable FM_LICENSE_QUEUE_TIMEOUT to a timeout value in seconds. The default value of 0 disables this feature.
Note that enabling this feature may cause model initialisation to take a long time, as models will wait for a license to become available until the timeout period expires, rather than failing immediately.
Linaro images and command lines tested in this release
All A-profile platforms available in this release have been validated against the following Linaro images: Android 16.12 for v8-A platforms and Android 15.03 for v7-A platforms.
The command lines tested are:
FVP_Base_AEMv8A-AEMv8A \ -C pctl.startup=0.0.0.0 -C bp.secure_memory=0 -C cache_state_modelled=0 -C bp.pl011_uart0.untimed_fifos=1 \ -C bp.secureflashloader.fname=bl1.bin -C bp.flashloader0.fname=fip.bin \ -C bp.ve_sysregs.mmbSiteDefault=0 -C bp.virtioblockdevice.image_path=fvp.img \ --data cluster0.cpu0=Image@0x80080000 \ --data cluster0.cpu0=fdt.dtb@0x82000000 \ --data cluster0.cpu0=ramdisk.img@0x84000000
EVS_Base_AEMv8A-AEMv8A.x \ -C Base.pctl.startup=0.0.0.0 -C Base.bp.secure_memory=0 -C Base.cache_state_modelled=0 -C Base.bp.pl011_uart0.untimed_fifos=1 \ -C Base.bp.secureflashloader.fname=bl1.bin -C Base.bp.flashloader0.fname=fip.bin \ -C Base.bp.ve_sysregs.mmbSiteDefault=0 -C Base.bp.virtioblockdevice.image_path=fvp.img \ --data Image@0x80080000 \ --data fdt.dtb@0x82000000 \ --data ramdisk.img@0x84000000(This command line is also valid for SVPs)
FVP_VE_Cortex-A15x1-A7x1 \ -C motherboard.flashloader0.fname=boot/rtsm/uefi_rtsm_ve-ca15.bin -C motherboard.flashloader1.fname=uefi-vars.fd \ -C motherboard.flashloader1.fnameWrite=uefi-vars.fd -C motherboard.mmc.p_mmc_file=linaro.img \ -C motherboard.pl011_uart0.unbuffered_output=true -C motherboard.smsc_91c111.enabled=1 \ -C motherboard.hostbridge.userNetworking=1
EVS_LinuxBoot_Cortex-A15x2 \ -C Base.motherboard.flashloader0.fname=boot/rtsm/uefi_rtsm_ve-ca15.bin -C Base.motherboard.flashloader1.fname=uefi-vars.fd \ -C Base.motherboard.flashloader1.fnameWrite=uefi-vars.fd -C Base.motherboard.mmc.p_mmc_file=linaro.img \ -C Base.motherboard.pl011_uart0.unbuffered_output=true -C Base.motherboard.smsc_91c111.enabled=1 \ -C Base.motherboard.hostbridge.userNetworking=1(This command line is also valid for SVPs)
Outstanding CTModel issues
Models only support some types of memory breakpoints. Currently the error message returned if an unsupported type is used may not clearly indicate that the breakpoint type is unsupported.
CADI methods deprecated for use in Fast Models 11.1:
When attempting to debug an ISIM system, if you launch Model Debugger from System Canvas and then specify an application to load this causes an error in Model Debugger (Error using application...), and the model and application fail to load.
Workaround: Launch Model Debugger without specifying an application, and then load the application from within Model Debugger itself using File -> Load Application Code.
A15 bus transactions are not bus accurate.
CADI and MTI names for CP15 registers are different.
Cache state modelling configuration is now verified at simulation start and the simulation will exit with an error message if an incorrect configuration is detected in the platform. For example:
Error: MyPlatform: Incompatible Cache Configuration Cache state modelling is on in my_platform.cci Cache state modelling is off in my_platform.core.l2_cache
PVBus Fan out is not supported and a bus decoder is required in order to do this.
When semi-hosting is enabled on SystemC model and a read from stdin is done within the target software, the semi-hosting call from CADI does not originate from the SystemC thread. Consequently the complete simulation becomes blocked if the semi-hosting call cannot complete due to no user input.
Cache models may output debug messages on stderr even with --quiet.
The Watchpoint mask does not have the expected effect.
When writing to MDSCR_EL1.SS on AEMv8A, it does not change status until an ERET is executed. This should be consistently managed by the has_delayed_sysreg parameter.
In some circumstances, the model will boot more slowly when an operating system filesystem image is used in read-only mode. The workaround is to make sure that the image is writeable.
The shareable override functionality of CCI400 does not work. The slave interface shareable override register exists and may be read and written but has no functionality.
The value of cpu.register_reset_data and cpu.scramble_unknowns_at_reset should be reflected in the bits of CNTHCTL_EL2 which reset value is UNKNOWN.
When EL3 == AArch32 and executing in AArch32 Secure EL1 (SVC_s), an update of the CNTP_CTL_S causes the tarmac log to print an update of CNTPS_CTL_EL1.
Breakpoints must be set after loading the image to be run, otherwise these will not be hit during execution even if the addresses are accessed.
Elf object loader ignores SHT_REL/SHT_RELA sections.
Cortex-A53, A35 and A32 lack the Advanced SIMD Engine-present parameter.
A17 BROADCAST parameters should be at cluster level, not cpu level.
AEMv8M model missing array of NS stcalib ports. These models are present in other Cortex-M models.
force_on_from_start on CMN600 does not work correctly which means coherent transactions are not allowed through the CMN600.
The read-only register ICDABR on the Corex-R8 is incorrectly modelled as read/write.
PPU v1.1 exposes signals in CADI that are not functional in the model, including smpen, standbtwfi and ppuhwstat.
CADIExecReset is no longer supported and CADIExecGetResetLevels does not throw an error.
MTI source ASYNC_MEMORY_FAULT FAULT field for R4/R5 is not always in ESR format which makes it difficult to interpret.
When using the AEMv8A-AEMv8A the parameter internal_vgic should always be false.
DynamIQ does not support all cluster models.
The Help output in SVP platforms lists "-f" command line shorthand being used for both "--config-file" and "--fast". Using "-f" will act as "--fast". In order to load a configuration file please use "--config-file" option instead.
Outstanding tools issues
ModelDebugger does not display the correct values for wTasKMaskId.
The Cortex-M0 model exposes a VTOR register via CADI, but this register in not present in hardware.
When both TARGET_MAXVIEW and TARGET_SYSTEMC_ISIM are enabled only the isim_simulator gets generated by SimGen, not the CADI library.
On Windows, .bmp files are copied into the top Build folder for FVP_MPS2 models. They are not accessible to the isim_system generated in the internal platform/flavor dependent folder. An easy workaround is to manually copy them into that folder.
Feedback on this product
If you have any comments or suggestions about this product, contact firstname.lastname@example.org and give:
The product name.
The product revision or version.
An explanation with as much information as you can provide. Include symptoms and diagnostic procedures if appropriate.