Fast Model License Feature Mismatch: Cortex-A9MP vs. Cortex-A9UP

The core issue revolves around a licensing mismatch when attempting to run a Fast Model simulation for a Cortex-A9MP (Multi-Processor) configuration using a license intended for a Cortex-A9UP (Uni-Processor) model. The error message explicitly states that the license checkout for the feature FM_ARM_Public and SG_ARM_Cortex-A9MP_CT has been denied, with the error code -5 indicating that the requested feature does not exist in the provided license file. This discrepancy arises because the Fast Model portfolio is highly modular, and each configuration (e.g., Cortex-A9UP vs. Cortex-A9MP) requires a specific license feature. The Cortex-A9UP license does not include permissions for running multi-processor configurations, leading to the denial of the license checkout request.

The error message also highlights the license path being used, which includes both a user-specified license file (/home/my/tool/setup_files/license.dat) and a system-wide license file (/opt/arm/licenses/license.dat). Despite the presence of these files, the license manager (FlexNet) is unable to find the required features (FM_ARM_Public and SG_ARM_Cortex-A9MP_CT) within the provided license. This indicates that the license file does not contain the necessary entitlements for the Cortex-A9MP model, even though it may be valid for other configurations such as Cortex-A9UP.

The simulation environment attempts to initialize the Cortex-A9MP model but fails during the license verification phase, resulting in the termination of the simulation process. The error is logged in the simulation engine (SCXSimulationEngine.cpp), which is part of the Fast Models framework. This framework relies on the FlexNet licensing system to validate the availability of specific features before allowing the simulation to proceed. The absence of the required license features triggers the error, preventing the simulation from running.

License Configuration and Feature Entitlement Mismatch

The root cause of this issue lies in the mismatch between the license configuration and the intended simulation model. The license file provided (/home/my/tool/setup_files/license.dat) contains entitlements for the Cortex-A9UP model, as evidenced by the license information displayed: Cortex-A9UP Fast Model 45 DY NL Eval. This license is valid for uni-processor configurations of the Cortex-A9 but does not extend to multi-processor configurations such as Cortex-A9MP. The Fast Models portfolio differentiates between these configurations, and each requires a distinct license feature.

The error message specifically mentions two features that are missing from the license file: FM_ARM_Public and SG_ARM_Cortex-A9MP_CT. The FM_ARM_Public feature is a general license for ARM Fast Models, while SG_ARM_Cortex-A9MP_CT is specific to the Cortex-A9MP configuration. The absence of these features in the license file indicates that the license is not configured for multi-processor simulations. This is further confirmed by the evaluation nature of the license, which is limited to uni-processor configurations and has an expiration date of 2022-07-15.

Another contributing factor is the license path configuration. The environment variable ARMLMD_LICENSE_FILE is set to point to the user-specified license file (/home/my/tool/setup_files/license.dat) and the system-wide license file (/opt/arm/licenses/license.dat). However, neither of these files contains the necessary entitlements for the Cortex-A9MP model. The FlexNet licensing system scans these files sequentially and fails to find the required features, resulting in the error code -5 (No such feature exists).

The evaluation license provided is also time-bound, which adds another layer of complexity. If the current date exceeds the license’s end date (2022-07-15), the license would be invalid, further compounding the issue. However, in this case, the primary cause is the feature mismatch rather than the expiration date.

Resolving License Mismatch and Obtaining Correct Entitlements

To resolve this issue, the first step is to obtain a license that includes the necessary features for the Cortex-A9MP model. This can be achieved by contacting ARM’s licensing support team ([email protected]) and requesting an evaluation or permanent license for the Cortex-A9MP configuration. When making the request, it is essential to specify the exact features required (FM_ARM_Public and SG_ARM_Cortex-A9MP_CT) to ensure that the new license covers the intended use case.

Once the correct license is obtained, the next step is to update the license path configuration. The environment variable ARMLMD_LICENSE_FILE should be set to point to the new license file. For example, if the new license file is located at /home/my/tool/setup_files/new_license.dat, the environment variable should be updated as follows:

export ARMLMD_LICENSE_FILE=/home/my/tool/setup_files/new_license.dat

This ensures that the FlexNet licensing system can locate the correct license file during the simulation startup process. It is also advisable to verify the contents of the new license file to confirm that it includes the required features (FM_ARM_Public and SG_ARM_Cortex-A9MP_CT). This can be done using the lmutil tool provided by FlexNet, which allows users to inspect the contents of a license file.

After updating the license configuration, the simulation should be restarted to verify that the issue has been resolved. If the license is correctly configured, the simulation should initialize without encountering the license error. The terminal output should indicate that the simulation is running successfully, with no errors related to license checkout.

In cases where obtaining a new license is not immediately feasible, an alternative approach is to modify the simulation configuration to use a model that is covered by the existing license. For example, if the Cortex-A9UP model is sufficient for the current testing requirements, the simulation can be reconfigured to use this model instead of the Cortex-A9MP model. This approach avoids the need for a new license but may limit the scope of the simulation.

Finally, it is important to ensure that the license file is not corrupted or improperly formatted. A corrupted license file can also result in license checkout errors, even if the correct features are present. Verifying the integrity of the license file using tools such as lmutil can help identify and resolve such issues.

By following these steps, the license mismatch issue can be effectively resolved, allowing the Fast Model simulation to proceed without further interruptions. Proper license management and configuration are critical to ensuring the smooth operation of ARM Fast Models, particularly when working with complex multi-processor configurations such as Cortex-A9MP.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *