Intel® Simics® Simulator for Intel® FPGAs: Agilex™ 5 Virtual Platform User Guide

ID 786901
Date 11/16/2024
Public
Document Table of Contents

6. Troubleshooting Issues When Migrating Software from Intel® Simics® to Hardware

The following table describes a list of issues that were identified when switching from the simulation model of the Agilex™ 5 device and virtual platform to a real hardware platform, along with the symptom of the failure and the root cause. The table also indicates the reason why the issues could not be caught on the Simulation model and how they can be fixed in the HPS software. The table provides additional information, such as if the issue is related to the HPS booting flow or not.

For Intel® Simics® users, the information in this table is helpful to identify the areas that may not be exercised in the model and those that will require a special attention during the HPS software development before transitioning to real hardware.

Table 29.  Troubleshooting Issues When Migrating Software
Issue observed during software bring-up in hardware Is the issue related to booting? Root Cause Why is the issue not seen in the Intel® Simics® Model? Fix in the Software
The DDR access fails when trying to boot in hardware Yes CCU and MPFE are not initialized before accessing the DDR. Intel® Simics® does not support CCU and MPFE. It supports only the register model. Configure CCU and MPFE registers correctly before accessing DDR.
Booting with SMMU enabled fails or ADMA error seen when booting up Yes SMMU is not configured correctly. For Versions 24.1 or earlier, Intel® Simics® does not support any instances of SMMU.

For Versions 24.2 and later, the model includes SMMU support.

Implement one of the following solutions:
  • Solution 1: Disable SMMU in the software and proceed with booting.
  • Solution 2: Configure SMMU and boot it again.
The DDR and other peripherals' access fails when trying to boot in hardware Yes Firewall registers are not configured to allow secure and non-secure transactions as per the software state. Firewall is not supported. Only the register model is available in Intel® Simics® . Configure the software firewall for secure and non-secure transactions.

PSS peripherals are not functional. For example, USB and Ethernet

Yes Clock manager's main and peripheral PLLs are not configured. In Intel® Simics® , a majority of PSS peripherals are not driven by the clock and power of the target system. Timing critical peripherals (TSN, timer, and CPU) are driven with fixed clock as defined by the target system. Configure the clock and power manager registers to supply the correct clock and power to the peripherals during the initial stage of boot as per hardware architectural specification (HAS).

SDMMC device access fails.

(Applicable only if the boot source is SDMMC)

Yes SDMMC voltage-level registers are not configured. Intel® Simics® does not model the voltage-level details. Configure SDMMC voltage-signaling register as per the HAS.
Hardware Coherency: Without flushing cache, external initiator agents (DMA and TCU) do not see the same view of memory as core. For example, DMA descriptor created is in cache and DMA encounters invalid DMA descriptor. No Cache not flushed to maintain the hardware coherency. Intel® Simics® does not model hardware cache, and for Versions 24.1 or earlier, Intel® Simics® did not support any instances of SMMU.

For Versions 24.2 and later, the model includes SMMU support.

.

Implement one of the following solutions:

  • Solution 1: Flush or invalidate cache in core as per the scenario. This method is referred as software coherency.
  • Solution 2: Currently, SMMU global bypass register overrides memory attributes to achieve hardware cache coherency. Attributes must be outer sharable and memory type must be cached to achieve hardware coherency.

Bad block management, ECC handling, and recovery mechanism feature fails. For example, NAND, DDR.

No Not available Intel® Simics® does not model bad block management, ECC handling, and recovery mechanism. The software handles the bad block and the NAND host handles the ECC handling.
USB 2.0: Unable to attach the USB 3.1 device to the USB 2.0 port No USB 3.1 device does not support high-speed descriptors. Intel® Simics® USB 3.1 device is not backward-compatible to connect to the USB 2.0 port (high-speed). Configure the USB 2.0 host.
USB 2.0: No full-speed device support No USB 1.1 device does not support full-speed descriptors. Intel® Simics® does not model USB 1.1 devices. Configure the USB 2.0 host.
Virtual to physical address translation SMMU-dependent fails. No SMMU is not configured before accessing any translation path. For Versions 24.1 or earlier, Intel® Simics® does not support any instances of SMMU.

For Versions 24.2 and later, the model includes SMMU support.

Configure SMMU as per the HAS.