Fast Models Tools 8.0 Release Notes
(version 8.0:37 dated 2012/12/07 17:25:08 GMT)

Introduction

Detailed documentation can be found in the 'doc' subfolder for Fast Models Tools and the 'Docs' subfolder for the Fast Models Portfolio.

A significant number of the examples in the Fast Models Portfolio 8.0 documentation make use of images containing 3rd-party IP. These have been split out into a separate 'Third Party IP' package that can be downloaded from:

http://connect.arm.com
http://silver.arm.com

Not installing these images will mean that any examples that require dhrystone.axf, dhrystone_v7m.axf or the Linux images will not be functional, as well as any example using OSCI System C 2.2 and TLM 2.0.

Enhancements and changes in the Fast Models Tools 8.0 release

Fast Models 8.0 includes the following enhancements/changes:

ARM AEMv8

Fast Models now adds support for the 64 bit Architecture Envelope Model, AEMv8. The following variants are introduced in the Fast Models 8.0 release, each with supporting peripherals:

- ARMAEMv8AMPCT
- configurable MPCore processor.
- ARMAEMv8AMPx1CT - 1-core MPCore processor.
- ARMAEMv8AMPx4CT - 4-core MPCore processor.
- ARMAEMv8AUPCT - configurable UPCore processor.

Overview

The processors in these models are based on ARMv8 architectural specifications. The ARMv8 architecture is an extension to the ARMv7 architecture. The ARMv8 architecture extends the existing 32-bit architecture by introducing two execution states,the 32-bit AArch32 and the 64-bit AArch64.

Cache/TLB visibility

Visibility of cache and TLB components in A5, A7 and A15 models.

To enable cache and TLB CADI targets, the following environment variables should be set:

ARM Cortex-A15:
FM_EXPOSE_A15_TLB_CADI=1
FM_EXPOSE_A15_CACHE_CADI=1

ARM Cortex-A7:
FM_EXPOSE_A7_TLB_CADI=1
FM_EXPOSE_A7_CACHE_CADI=1

ARM Cortex-A5:
FM_EXPOSE_A5_TLB_CADI=1
FM_EXPOSE_A5_CACHE_CADI=1

To use cache CADI, the underlying cache model should be enabled by setting the following model parameters:

l1_icache-state_modelled
l1_dcache-state_modelled
l2_cache-state_modelled

Currently, searching by index is the only supported way to see the cache and TLB contents. This is done by setting the CACHE_SEL and TLB_SEL registers. Also the cache and TLB compoonents should be selected when starting the model from the ModelDebugger.

New CoreLink400 controllers

Added support for the following CoreLink controllers:

- DMC-400 - Dynamic Memory Controllers
- TZC-380 - TrustZone Address Space Controller

SystemC enhancements

Slave DMI support

- AMBAPV2PVBus and AMBAPVACE2PVBus.
- get_direct_mem_ptr() is now supported.
- is_dmi_allowed() is now supported.

Limitations

- get_direct_mem_ptr(): FM will only return one naturally aligned 4k page per DMI request.
- get_direct_mem_ptr(): FM cannot return DMI access for any subrange of a 4k page. FM will always completely (READ_WRITE) deny DMI access for partially covered 4k pages.
- get_direct_mem_ptr(): DMI read/write latency gets lost (always 0 in response).
- PVBus2AMBAPV(ACE): invalidate_direct_mem_ptr(): FM propagates invalidate_direct_mem_ptr() only for 4k pages for which DMI has previously been requested (and granted or not granted) by any master, not for every 4k page in the address range given in the original invalidate_direct_mem_ptr().
- invalidate_direct_mem_ptr(): FM will call invalidate_direct_mem_ptr() once or twice per 4k page.
- invalidate_direct_mem_ptr(): FM may invalidate 4k pages also for pages for which DMI has been previously rejected.
- all TLM slaves which support DMI must call invalidate_direct_mem_ptr() when their memory content changes.

Global counter

It is now possible to export a Memory Mapped Counter module as a SystemC component.

ARM Cortex-A7 example

The following variants of ARM Cortex-A7 examples are included:

- ARM Cortex-A7x1
- ARM Cortex-A7x2
- ARM Cortex-A7x4

CADIIPC remote connection

- Stability and performance improvements when connecting to models using the CADI interface.

- It is now possible to connect to models running on a remote machine.

CADI Client Integration Kit

The CADI Client Integration Kit (CCIK) is now shipped as standard with the Fast Models package. CCIK installation is not selected by default. The user should select the option during installation.

64 bit host model support for v5 and v6 architecture cores

64 bit host models for ARM926CT, ARM1136CT and ARM1176CT are supported.

Memory subsystem enhancements

The memory subsystem on Cortex R4 no longer generates spurious transactions to fetch instructions.

Deprecated in the Fast Models Tools 8.0 release

SystemC single instance will be removed from the next release of Fast Models.

Removed from the Fast Models Tools 8.0 release

Microsoft Visual Studio 2005 support has been removed.

CADI1.1 support has been removed.

Platform requirements for Microsoft Windows

When running Microsoft Windows XP or Microsoft Windows 7 it is recommended to use machines with at least 2GB RAM, and preferably at least 4GB for best performance. To use audio a 2GHz, or faster, Intel Core2Duo, or similar performing, processor is recommended.

Operating system: Microsoft Windows XP 32 Bit SP2 or SP3. Microsoft Windows 7 32 bit RTM or SP1, Professional or Enterprise editions. Microsoft Windows 7 64 bit RTM or SP1, Professional or Enterprise editions.

Compiler: Microsoft Visual Studio 2008 with Service Pack 1 and the Microsoft Visual Studio 2008 Service Pack 1 ATL Security Update. Microsoft Visual Studio 2010 with Service Pack 1.

Runtime Libraries: Fast Models Portfolio does not contain the Microsoft Visual Studio 2008 SP1 or Microsoft Visual Studio 2010 SP1 runtime libraries.

The Fast Models tools require the Microsoft Visual Studio 2008 SP1 runtime libraries to be installed. These must be downloaded from Microsoft.

Models built with Microsoft Visual Studio 2008 SP1 or Microsoft Visual Studio 2010 SP1 require the Microsoft Visual Studio 2008/2010 SP1 Redistributable Package to be installed in order to run.

64-bit host model support: In order to build 64-bit host models on Microsoft Windows, a host platform with a 64-bit CPU and a 64-bit version of Microsoft Windows is required, note that Microsoft Windows XP 64 is not supported. Microsoft Visual Studio 2008 SP1 and the Microsoft Visual Studio 2008 Service Pack 1 ATL Security Update or Microsoft Visual Studio 2010 SP1 is required.

Additional project configurations are available for most recently created System Canvas projects and selected updated example projects. To build for a Microsoft Windows host choose either 'Win64-Debug-VC2008', 'Win64-Release-VC2008', 'Win64-Debug-VC2010', or 'Win64-Release-VC2010'.

Please e-mail support-esl@arm.com with any comments.

To view the documentation, Adobe Acrobat or Reader needs to be installed on the system.

Platform requirements for Linux

When running on Linux it is recommended to use machines with at least 2GB RAM, and preferably at least 4GB for best performance. To use audio a 2GHz, or faster, Intel Core2Duo, or similar performing, processor is recommended.

Operating system: Red Hat Enterprise Linux 4 (on either 32 or 64 bit architecture) Red Hat Enterprise Linux 5 (on either 32 or 64 bit architecture) Red Hat Enterprise Linux 6 (on either 32 or 64 bit architecture)

Compiler:

When building models for 32bit hosts, Fast Models 8.0 for Linux supports the following compilers: - gcc 4.1.2 (built against at least binutils 2.17) - gcc 4.4.4

When building models for 64bit hosts, Fast Models 8.0 for Linux supports the following compiler: - gcc 4.1.2 (built against at least binutils 2.17) - gcc 4.4.4

64-bit host model support: In order to build 64-bit host models on Linux a host platform with a 64-bit CPU and a 64 bit version of RedHat Enterprise Linux version 4 or above is required. GCC 4.1.2 or upwards is required.

Additional project configurations are available for most recently created System Canvas projects and selected updated example projects. To build for a Linux 64-bit host, start System Canvas and change the 'Active Project Configuration' to one of the 'Linux64-Release-GCC' configurations, then rebuild the project.

To view the documentation, Adobe Acrobat or Reader needs to be installed on the system.

License management utilities

If you are using floating licenses, you must use FLEXnet license management utilities version 9.2 or higher. FLEXnet 10.8 license management utilities are available as an optional installable component in the product installer.

Use the highest version of the license management utilities provided with any ARM tools you are using. It is recommended to setup the user environment running applications of the Fast Models product only for one armlmd license server, because spreading Fast Models license features over different servers could result in license denials for certain features.

For more instructions on installing licenses please consult the ARM online documentation:

Using the ARM Profiler with Fast Models 8.0

Fast Models version 8.0 supports ARM Profiler version 2.1, as shipped in ARM RealView Development Studio 4.0 SP2, and later. It does not support the use of ARM Profiler 2.0 or earlier, which was shipped in ARM RealView Development Studio 4.0 and 4.0 SP1.

If you currently have ARM Profiler 2.0 and wish to use the ARM Profiler with Fast Models 8.0, it will be necessary to upgrade to ARM RVDS 4.0 SP2. Please contact ARM support for further details.

Outstanding issues

Installation

- Limitations on Linux: The installer does not work if install paths contain spaces. (TA-621466/SDDKW-4153)

- Non-Latin characters, e.g. Japanese or Korean characters must not be used in installation or project file paths, as they can cause corrupted installations or failure to find the specified libraries. (TA-491064/SDDKW-2566) - It should be avoided to run two uninstaller instances at the same time. (TA-642168/SDDKW-4506)

GUI

- It is not possible to stop the build process on Microsoft Windows 7. (SDDKW-9286)

- Sgcanvas re-centers view on 'Save All'. (TA-498619/SDDKW-2656)

- 'Files' Tab marks project files as modified (*) even after 'Save All' although the file was actually saved. (TA-555667/SDDKW-3291)

- Error messages are sometimes not completely visible. (TA-529467/SDDKW-2972)

- Double-clicking a newly created file using 'Add New..' in context menu of 'Files' tab reports an error. Workaround: Save project after addition, then open file. (TA-521914/SDDKW-2928)

- The project is not updated automatically if a repository file used by the project is modified via the built-in source editor. Workaround: Reopen the project after editing (TA-584565/SDDKW-3751)

- Improved support for non-Latin characters in the build log provided in the System Canvas on Microsoft Windows. To utilize the new feature you need to set an environment variable, SG_VS_LANG, to one of the following values depending on the configuration of Microsoft Visual Studio. For example if your Microsoft Visual Studio is setup to use Big5 then set SG_VS_LANG to 'Big5'.

Possible values for SG_VS_LANG: Big5 -- Chinese Big5-HKSCS -- Chinese eucJP -- Japanese eucKR -- Korean GB2312 -- Chinese GBK -- Chinese GB18030 -- Chinese JIS7 -- Japanese Shift-JIS -- Japanese SJIS -- Japanese TSCII -- Tamil utf8 -- Unicode, 8-bit utf16 -- Unicode KOI8-R -- Russian KOI8-U -- Ukrainian ISO8859-1 -- Western ISO8859-2 -- Central European ISO8859-3 -- Central European ISO8859-4 -- Baltic ISO8859-5 -- Cyrillic ISO8859-6 -- Arabic ISO8859-7 -- Greek ISO8859-8 -- Hebrew, visually ordered ISO8859-8-i -- Hebrew, logically ordered ISO8859-9 -- Turkish ISO8859-10 ISO8859-13 ISO8859-14 ISO8859-15 -- Western IBM 850 IBM 866 CP874 CP1250 -- Central European CP1251 -- Cyrillic CP1252 -- Western CP1253 -- Greek CP1254 -- Turkish CP1255 -- Hebrew CP1256 -- Arabic CP1257 -- Baltic CP1258 Apple Roman TIS-620 -- Thai

(TA-727375/SDDKW-7591)

- In the System Canvas 'Run' dialog box, the command line for running ModelDebugger or ModelShell needs editing so that there are quotes added around the model argument, if there are spaces in the path to the model library. (SDDKW-13782)

Model generation

- #include preprocessor statements in behaviors are not recognized. Use the 'includes' section in LISA+ instead (TA-497563/SDDKW-2620)

- A single forward tick in sufficiently large (> 4KB) LISA files crashes simgen/GUI (TA-493478/SDDKW-2589)

- It is not possible to return references as return values of protocol behaviors (TA-542970/SDDKW-3100)

- Parameters: - For unsigned 64 bit parameters it is not possible to specify min() and max() outside the range of signed 64 bit [0..0x7fffffffffffffff]. To ensure range check please implement checking in the model. (TA-636220/SDDKW-4364)

- In component instantiation statements, assigning values to integer parameters which are not wide enough to hold, or assigning values of inverse sign does not issue warnings. In the first case, simple truncation occurs. In the second, the bit-pattern of the incoming value is reinterpreted according to the parameter's signedness (TA-634166/SDDKW-4343).

- Debug section: Unpublishing a subcomponent to which parameters are forwarded results in build error. (TA-674668/SDDKW-4892)

- The implementation of behaviors of ports with multiple instances is duplicated for each instance. This has undesirable effects, e.g. when using static variables (TA-710768/SDDKW-5267)

- VC2010 model builds print the MSBuild warnings MSB8012 $(TargetName) does not match the Linker's OutputFile property and $(TargetPath) does not match the Linker's OutputFile property. These warnings are harmless and can be ignored. (SDDKW-18633)

- When cleaning a SystemC Export with Multiple Instantiation (MI) example on Windows with Microsoft Visual C++ VC2010, you might see an error message like this: "File '...\examples\SystemCExport\MI\..._sc_sg_wrapper_Win32-Release-VC2010.vcproj' was not found. VCUPGRADE process failed!" This is issued by Microsoft Visual C++ VCUPGRADE tool, which is used by SimGen to clean the example's projects. It can be safely ignored and the example's nMakefile will delete all generated files anyway. (SDDKW-18744)

LISA language

- Port array size and REGISTER reg_number cannot come from a #define (TA-487368/SDDKW-2552)

- Preprocessor directives do not work in the very first line of a *.lisa file (TA-450529/SDDKW-2074)

- Declaring a behavior as returning "char const *" gives a parser error (TA-679719/SDDKW-4963)

- Parameter write behaviors should not be called before init() (TA-674517/SDDKW-4888)

Debugging

- Model Debugger: ModelDebugger cannot load 64-bit CADI libraries. (SDDKW-10292)

- Model Debugger fails to show the model configuration dialog box when loading 64 bit models. (SDDKW-11267)
\r\n - RVD 3.1/4.0: - RVD does not recognize that a model was killed or shut down. The connection will still be marked as 'connected'. Disconnecting may lead to issues and crashes, especially if a new SystemC Export model or model_shell with the CADI server enabled was started. Workaround: A new RVD session should be used for each new model_shell session. (TA-507866)

- SystemC Export models: A number of successive connections to the same SystemC model in the same RVD session will confuse/crash RVD (TA-508977)

- Parameters with large default values aren't exposed correctly in RVD (TA-485867)

- RVD does not report model initialization errors or warnings correctly. Please refer to messages printed to the console or in Model Shell / Model Debugger.

System C export

- Port arrays are not supported when exported to SystemC. (TA-633766/SDDKW-4336)

Support

For support requests including defect notifications, enhancement requests and other feedback, please contact us at support-esl@arm.com.