Есть два основных подхода, которые можно использовать. Многие типы FPGA хранят свою конфигурацию в защелках, которые выбираются с внешнего устройства (обычно EEPROM) при запуске; внешнее устройство не требуется ПЛИС после того, как оно было прочитано. Изменения в EEPROM во время работы устройства не вступят в силу, пока FPGA не получит команду перезагрузить его содержимое. Таким образом, для устройства, которое было бы полностью неработоспособным без ПЛИС, перепрограммировать эту ПЛИС во время работы; однако, если что-то идет не так во время записи в ЭСППЗУ, устройство может быть неработоспособным до тех пор, пока не будет перезаписано внешним устройством или пока оно не будет перезаписано (состояние, которое иногда называют «заблокированным»).
Альтернативный подход, который часто полезен для CPLD, чьи ячейки EEPROM «непосредственно» управляют их функциональностью (в отличие от копирования в защелки), состоит в том, чтобы иметь систему, которая может работать с ограниченными функциональными возможностями, даже когда программируемое устройство находится в бесполезном состоянии. Если таких ограниченных функциональных возможностей достаточно для перепрограммирования CPLD, устройство может быть защищено от «блокировки». Например, беспроводное устройство может использовать CPLD для управления своими беспроводными функциями и другими функциями. Обычный метод перепрограммирования CPLD может состоять в том, чтобы получить изображение в RAM через беспроводную связь, а затем использовать это изображение для перепрограммирования CPLD. При программировании файлов беспроводная связь может быть непригодна до перепрограммирования CPLD. Однако, чтобы система могла восстановиться, процессор может содержать «значение по умолчанию»