Programmable Logic Devices (PLDs) and the more flexible Field Programmable Gate Arrays (FPGAs) are both types of programmable hardware. OpenOCD can support programming them. Although PLDs are generally restrictive (cells are less functional, and there are no special purpose cells for memory or computational tasks), they share the same OpenOCD infrastructure. Accordingly, both are called PLDs here.
As it does for JTAG TAPs, debug targets, and flash chips (both NOR and NAND), OpenOCD maintains a list of PLDs available for use in various commands. Also, each such PLD requires a driver.
They are referenced by the number shown by the pld devices command, and new PLDs are defined by pld device driver_name.
Defines a new PLD device, supported by driver driver_name, using the TAP named tap_name. The driver may make use of any driver_options to configure its behavior.
Loads the file filename into the PLD identified by num. The file format must be inferred by the driver.
Drivers may support PLD-specific options to the pld device definition command, and may also define commands usable only with that particular type of PLD.