Managing FPGA/EPLD/BIOS Firmware

About Managing FPGA/EPLD/BIOS Firmware

Cisco switches contain several programmable logical devices (PLDs) that provide hardware functionalities in all modules. PLDs include electronic programmable logic devices (EPLDs) and field programmable gate arrays (FPGAs). Cisco provides periodic PLD image upgrades to enhance hardware functionality or to resolve known issues.

In Cisco ACI, there is no need for you to manually manage FPGA/EPLD/BIOS firmware individually or explicitly. Instead, when ACI switches are managed by APICs and the regular firmware upgrade is performed for switches through the APICs, the appropriate FPGA/EPLD/BIOS firmware that is included in the ACI switch image itself (such as aci-n9000-dk9.14.2.1i.bin) will be automatically applied.

However, when a switch boots up with an ACI switch image without going through the upgrade triggered through the APICs, the FPGA/EPLD/BIOS firmware running in the ACI switch will not be upgraded with the appropriate versions from the ACI switch image. This may result in a mismatched FPGA/EPLD/BIOS version. This may occur on a switch if you received it through a new order, Product Returns & Replacements (RMA), or when you convert the switch from standalone NX-OS software to ACI switch software.

Prior to Cisco APIC release 5.2(1) and ACI switch release 15.2(1), at such times, you had to downgrade the switch once and then perform the upgrade to the desired version through the APICs in order to upgrade FPGA/EPLD/BIOS versions to the appropriate ones.

Starting from Cisco APIC release 5.2(1) and ACI switch release 15.2(1), ACI switches will automatically upgrade the FPGA/EPLD/BIOS based on the booting ACI switch image during a normal boot up sequence for the following components, even if it’s not an upgrade operation performed through the APICs:

  • Leaf switches and box-type spine switches: EPLD/FPGA/BIOS is automatically upgraded on the switch itself

  • Modular-type spine switches: EPLD/FPGA/BIOS is automatically upgraded on these components:

    • Supervisor module

    • Linecard module

    • Fabric module

When one of the supported components listed above boots up, the system automatically performs the following actions to determine if the EPLD/FPGA/BIOS image is in sync with the Cisco ACI or NX-OS image:

  1. The system compares the BIOS versions and performs an upgrade at the BIOS level if it finds that the images are out of sync.

  2. The system compares the EPLD/FPGA versions and performs an upgrade at the EPLD/FPGA level if it finds that the images are out of sync.

  3. If the system has to perform an upgrade at any of the levels (at the BIOS level or at the EPLD/FPGA level), the system then performs a power cycle on that component (the switch, supervisor module, linecard module, or fabric module).

These automatic FPGA/EPLD/BIOS upgrades during a normal boot up sequence is performed per component. For instance, when a new linecard module is inserted and boots up with the base ACI switch image downloaded from the supervisor module, only the new linecard module is power-cycled to apply the FPGA/EPLD/BIOS from the base ACI switch image. Other modules will not be impacted.

Guidelines and Restrictions When Managing FPGA/EPLD/BIOS Firmware

  • Note the following component-specific considerations:

    • For supervisor modules: Because ACI switches operate in cold-standby, when the active supervisor module is reloaded, the entire box is reloaded. Therefore, when the FPGA/EPLD/BIOS upgrade during a normal boot up sequence is required for both active and standby supervisor modules or only for the active module, a power cycle will be performed on both the active and the standby supervisor module at the same time. If the FPGA/EPLD/BIOS upgrade is required only on the standby module, a power cycle will be performed only on the standby module and the active module will remain up and running.

    • For system controllers: The FPGA/EPLD/BIOS on the system controllers (SCs) on modular switches are not upgraded during the normal boot up sequence. If the EPLD/FPGA/BIOS version on the system controllers does not match with the base ACI switch image, you still need to perform an upgrade of the switch itself through the APICs.

  • There are known Memory Technology Device (MTD) intermittent mount issues, where the automatic FPGA/EPLD/BIOS upgrades are not triggered on some linecard modules and fabric modules on certain MTD-based boards. If the Embedded MultiMediaCard (EMMC) or MTD has gone bad, the automatic FPGA/EPLD/BIOS upgrades will not get triggered.

  • Entering the command show system reset-reason at the upper board level provides information on the reason for the reset when the automatic FPGA/EPLD/BIOS upgrades are triggered. However, entering the command at the linecard or fabric module level (for example, show system reset-reason module 3) does not produce any information.