cpldupdate tool allows the user to program on-board CPLDs on supporting NVIDIA products. The on-board CPLDs, as well as the core engine for programing them, are provided by Lattice Semiconductors.
cpldupdate accepts VME files as input and programs the appropriate CPLD on the device. The CPLD ID is embedded in the VME file. The user need not be aware of the board composition.
A VME file is the data file for use with the ispVM Embedded programming software. The file is essentially a binary version of an SVF file. SVF commands and data are stored in a binary format (with optional compression) for efficient storage and processing by embedded microprocessors. The ispVM Embedded software, provided as source code in C, interprets the VME data to manipulate the JTAG signals of connected target devices.
cpldupdate tool was provided by Lattice Semiconductors and was modified to fit NVIDIA needs.
For NVIDIA Quantum and Spectrum-2 switches, the CPLD update can be performed via GPIO instead using the firmware interface. By default, cpldupdate will use GPIO for Quantum and Spectrum-2 switches (if
"--dev" option is specified), However, the user can use the
"--fw" option to run cpldupdate via the firmware. Alternatively, the user can dismiss the
"--dev" flag and use the
For NVIDIA Spectrum-1 switches (SN2201), the CPLD update must be performed via GPIO. The user must use the "--uncustomized" option in addition to the "--gpio" option in this case.
- CPLD bearing board
# cpldupdate [option] vme_file [vme_file]
|--dev <device>||<device> (e.g. lid-N, /dev/mst/mt4115_pciconf0)|
|--gpio||Update CPLD using GPIO.|
|--fw||Update CPLD using FW.|
|--idcode <num_of_bits>||Run IDCODE command and exits.|
|--print-progress||Print progress indication.|
|--uncustomized||Update CPLD via GPIO on NVIDIA Spectrum-1 (SN2201) switches|
# cpldupdate --dev /dev/mst/mt52000_pciconf0 ./cpld000039_v0100.vme Lattice Semiconductor Corp. ispVME(tm) V12.2 Copyright 1998-2012. Customized for Mellanox products. Processing virtual machine file (./cpld000039_v0100.vme)...... +=======+ | PASS! | +=======+