Release History

The latest Fast Models release version is reported at the top right of this page.

Details on What's New, and links to the Release Notes are provided below.

Subscribe to the Changelog RSS feed to receive alerts when future Fast Models releases become available.

 

Fast Models

Version 11.12

Released: September 22, 2020

What's new in 11.12

New features and enhancements

  • Added support for the following CPUs and System IP:
    • Cortex-M33 r1
    • MMU-700
    • CMN-650
    • GIC-600AE
  • Neoverse N2, Cortex-R82, and GIC-700 models are at beta stage and are not included in the main package.
  • VirtioNet has been enhanced to expose Hostbridge CADI and Iris debug interfaces.
  • Added new command-line options to install the package without user interaction.

Deprecated and removed features

Removed support for PyCADI. It has been replaced by iris.debug.

Advance notice

Support for Android 10 in GGA/GRM will be available in a future release pending an upstream patch.

Release Note for Release History 11.12

Detailed documentation can be found in the Docs subfolder for Fast Models Portfolio and at https://developer.arm.com/products/system-design/fast-models/docs.

A significant number of the examples in Fast Models Portfolio 11.12 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 means that examples that require Dhrystone or the Linux images will not be functional, as well as examples using Accellera SystemC.

Enhancements and changes in Fast Models Portfolio 11.12

  • Support has been added for the following CPUs and System IP:

    • Cortex-M33 r1

    • MMU-700

    • CMN-650

    • GIC-600AE

  • A new branch prediction plugin has been added which supports the following features:

    • Running various branch predictor algorithms.

    • Logging the overall performance of a specified branch predictor.

    • Logging the performance of every branch.

    • MTI trace events.

    • Integration with PMU counters.

    • Integrating a user-defined predictor.

  • Neoverse N2, Cortex-R82, and GIC-700 models are at beta stage and are not included in the main package. Contact support@arm.com for more information.

  • VirtioNet has been enhanced to expose Hostbridge CADI and Iris debug interfaces.

  • We have removed support for PyCADI. It has been replaced by iris.debug. See the documentation for information on migrating from fm.debug to iris.debug: Iris Python Debug Scripting User Guide

  • To install the package without the need for user interaction, use the new --i-accept-the-end-user-license-agreement command-line option.

    Note: using this option means you have read and accepted the terms and conditions of the End User License Agreement for the product and version installed.

    This option can be followed by either or both of these options:

    • --basepath <path>. Set the base directory for the installation.

    • --licpath <path>. Set the location of the license file.

  • SimGen now requires sgproj files to explicitly set a target.

Notice

  • Support for Android 10 GGA/GRM will be available in a future release pending an upstream patch. Contact support@arm.com for current status.

  • The number of ports in many CPUs is expected to change in the next release, Fast Models 11.13.

  • Fast Models scheduler deprecation:

    This notice is intended for users who build simulation platforms running on the Fast Models scheduler and not the SystemC scheduler.

    Note that all the platforms and models delivered as part of the Fast Models package already use the SystemC scheduler, so this change only affects users who build their own platforms using Fast Models tools.

    Support for the Fast Models scheduler will be dropped in March 2021. This means support for dependent targets will be removed and any Simgen projects that depend on the Fast Models scheduler will become obsolete.

    To find out if a project depends on the legacy scheduler, look for TARGET_ISIM_DEPRECATED = 1 in the sgproj (simgen project) file. Plan to migrate them to the SystemC target TARGET_SYSTEMC_ISIM = 1 by either regenerating them using sgcanvas or manually replacing TARGET_ISIM_DEPRECATED with TARGET_SYSTEMC_ISIM, depending on how they were created.

  • CLREXMON(REQ/ACK)signals will be removed from DynamIQ DSU/Theodul based models in a future release.

  • The Fastline feature supported by FastlineTrace.so is deprecated in this release and will be removed from the product in a future release.

  • In 2018, the CADI debug interface was deprecated and is being replaced by the new Iris debug interface. Removal of the CADI debug interface from the product was planned for Q4 2020, but is being delayed to give customers more time to migrate to Iris. Watch for subsequent release note entries related to the new removal date of CADI.

  • If you are using floating licenses, this version of Fast Models requires FLEXnet server version 11.16.6.0 or later. See instructions below for obtaining the server.

  • The planned removal of GCC 4.9.2 has been extended to the Q1 2021 Fast Models release. The Q1 2021 Fast Models release will be the last release to support GCC 4.9.

  • Visual Studio 2015 will be removed in the Q4 2020 Fast Models release.

  • RHEL6 will be removed in the Q4 2020 Fast Models release.

  • The folder structure in FastModelsPortfolio will be refactored in a future release.

  • The default parameter values for HostBridge and VirtioNet will change in a future release.

  • Model Shell and the related SimGen target (TARGET_MAXVIEW) are deprecated. They will be removed in a future release.

  • The zstdint.h and zinttypes.h supplied headers are deprecated and will be removed from the product in the future. Use the standard cstdint and cinttypes files instead.

  • The TxThread.h and TxRunnable.h supplied headers, and the TxThread and TxRunnable types, are deprecated and will be removed from the product in the future. Use the standard library thread facilities instead.

  • Support for MxScript will be removed from Model Debugger in a future release. Use Iris Python Debug Scripting instead.

Fast Models limitations

This section contains information on limitations for models that are new in this release or new limitations that have been identified for existing models.

For more information, refer to the Fast Models Reference Manual at https://developer.arm.com/docs/100964/latest.

  • When checking the components in Iris for the FVP_Base_Cortex-A57x1, an issue has been found with the names of GICv3 CPU interface components. Their names might not be correct.

  • Building Fast Models with gcc version 7.3.1 causes link errors and hence gcc version 7.3.1 is not supported.

  • There is an issue with Iris not exposing the IPA memory space, which will be resolved in the next release (FM 11.13).

  • Improvements to ClockTimer[64] component to ensure clocks run correctly when switching frequencies:

    Previously, it was possible for a Clock component to run even if the connection to the clk_in input was missing. This is no longer possible and designs that erroneously relied on the old behavior might not function correctly. For example, software running on the design might hang.

  • DynamIQ (FCM):

    For flexible Cortex-A55+Cortex-A75 clusters, there is a known issue related to presentation of parameters and CADI targetNames to CADI clients when cpu instances in the first subcluster are configured to be less than 4. CADI targetNames and parameters for cpu[0-3] are always shown from the Cortex-A55 subcluster, when viewed by CADI clients.

  • DMC-620 Dynamic Memory Controller Fast Model:

    • No support for address striping.
    • Works with linear addresses and not in rank,bank,row,column form.
    • Includes error injection and detection mechanisms and syndrome registers support only for 2 out of the 6 RAS error types.
    • Scrubbing functionality is not provided.
    • Does not implement direct read or write commands.
    • Does not implement any performance counters.
  • CMN-600 Coherent Mesh Network:

    • The model implements version r1p1 of the RTL specification and includes CAL (Component Aggregation Layer) functionality that was added in r3p0.
    • The model supports a new revision parameter to select between r1p1 and r3p0 implementations.
    • CAL r2 and r3 features are supported. Further testing of these features is planned.
    • The following CML (Coherent Multi-chip Links) r3 features are supported:
      • LDID-based CML routing
      • CCIX port aggregation support
      Further testing of these features is planned.
    • Deprecated FASTSIM_CMN_INTERNAL_RNSAM. Use model parameter force_rnsam_internal instead. Note that force_rnsam_internal is TRUE by default now. If this parameter is FALSE and the topology has a RNFxESAM, the external bit (bit[31]) of the RNSAM children pointer will be enabled. This bit is the only functionality governed by this parameter.

    • Added a new parameter enable_rnsam_to_hnf_wider_hash to enable support for wider hashes for the RNSAM to HNF communication. If this variable is enabled, then bits[47:6] from the PA are used in the hashing function. By default, bits[47:12] are used.

    • Removed parameter enable_snf_hashing.

    • Deprecated the following environment variables. Use the newly added parameters print_cmn_config, print_cmn_ccix_config, and skip_cmn_confing_check instead:

      • FASTSIM_CMN_DUMP_CONFIG

      • FASTSIM_CCIX_CONFIG_DUMP

      • FASTSIM_CMN_SKIP_CONFIG_CHECK

    • The following parameters are deprecated and will be removed in the next release. Update the mesh topology file to move devices.

      • default_hni_port

      • rnf_index_to_nodeid

      • rni_index_to_nodeid

      • rnd_index_to_nodeid

      • snf_index_to_nodeid

      • sbsx_index_to_nodeid

      • hni_index_to_nodeid

  • Pipeline Model plug-in:

    For the InOrder PipelineModel source example plugin, libtinfo-dev needs to be installed on Ubuntu 16.04.

  • The cp15sdisable port/parameter is removed from some cores that do not support AArch32 at EL3.

Compilers and Operating Systems supported by Fast Models

  • RedHat 6 with GCC-6.4.0 and GCC-4.9.2.
  • RedHat 7 with GCC-6.4.0 and GCC-4.9.2.
  • Ubuntu 16.04 with GCC-6.4.0 and GCC-7.3.0.
  • Ubuntu 18.04 with GCC-7.3.0.
  • Windows 10 with Visual Studio 2015 - Update 3 and Visual Studio VS2017 - version 15.9.11 or later.
  • Visual Studio 2017. The following Visual Studio 2017 components are required:
    • Visual C++ ATL for x86 and x64.
    • Visual C++ MFC for x86 and x64.
    Notice to users of Visual Studio 2019. Although vc2019 is not yet supported, you can still use vc2017 with Visual Studio 2019. For instructions, see the Fast Models User Guide.

Hardware requirements for Generic Graphics Accelerator (GGA)

GGA has been validated on the NVIDIA GT 730 or later graphics cards with the following driver versions:

  • 390.77 and above for Ubuntu.
  • 390.77 and above for Windows.

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.

If you are using floating licenses, Fast Models 11.12 requires FLEXnet server version 11.16.6.0 or later. Please plan to upgrade your license server accordingly.

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 18.07 for v8-A platforms and Android 15.03 for v7-A platforms.

The command lines tested are:

  • v8-A (examples):

    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)
  • v7-A (examples):

    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 issues

  • GGA issues:

    • On Windows hosts, a Linux target OS running Wayland has known issues.

  • Setting R52 flash and llpp size to zero is not sufficient to make them unrouteable.

  • Models only support some types of memory breakpoints. Currently the error message returned if an unsupported type is used might not clearly indicate that the breakpoint type is unsupported.

  • CADI methods deprecated for use in Fast Models 11.12:

    • CADICallbackObj
      • appliOpen()
      • appliClose()
      • cycleTick()
      • killInterface()
  • A15 bus transactions are not bus accurate.

  • CADI and MTI names for CP15 registers are different.

  • When semihosting is enabled on a SystemC model and a read from stdin is done within the target software, the semihosting call from CADI does not originate from the SystemC thread. Consequently the complete simulation becomes blocked if the semihosting call cannot complete due to no user input.

  • 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.

  • Cortex-A53, Cortex-A35 and Cortex-A32 lack the Advanced SIMD Engine-present parameter.

  • A17 BROADCAST parameters should be at the cluster level, not at the cpu level.

  • DynamIQ does not support all cluster models.

  • On Linux, a program that dynamically loads a model shared object file using dlopen() must be linked with the pthread library (-lpthread), even if the program is otherwise single-threaded. Failure to do so may result in a segmentation fault, or other abnormal termination, possibly with the message 'Enable multithreading to use std::thread: Operation not permitted', depending on the libstdc++ version. The underlying defect is a libstdc++ bug (#67791) which has been exposed by migrating the model to C++11 threads.

  • CCN5xx models do not expose CCNCache sub-component parameters in System Canvas.

Outstanding tools issues

  • Model Debugger 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.

  • 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.

  • Neoverse-N1/Neoverse-E1 Fast Models:

    • DBGEN, SPIDEN, NIDEN, and SPIDEN signals in the model have per-core instances instead of per-cluster.
    • The cfgsdisable signal will be removed in a future release.

Feedback on this product

If you have any comments or suggestions about this product, contact support-esl@arm.com 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.