Hay dos enfoques generales que se pueden usar. Muchos tipos de FPGA mantienen su configuración en pestañas que se recuperan desde un dispositivo externo (generalmente una EEPROM) en el inicio; el FPGA no necesita el dispositivo externo después de haberlo leído. Los cambios en la EEPROM durante la operación del dispositivo no entrarán en vigencia hasta que se le indique a FPGA que vuelva a cargar su contenido. Por lo tanto, es posible que un dispositivo que esté completamente inoperable sin un FPGA reprograme ese FPGA durante la operación; sin embargo, si algo sale mal durante la escritura de la EEPROM, el dispositivo puede estar inoperable a menos que un dispositivo externo pueda reescribirlo (un estado a veces denominado "bloqueado").
Un enfoque alternativo, que a menudo es útil con CPLD cuyas celdas EEPROM "directamente" controlan su funcionalidad (a diferencia de ser copiadas a pestillos) es tener un sistema que pueda operar con funcionalidad limitada incluso cuando el dispositivo programable está en una estado inútil. Si tal funcionalidad limitada es suficiente para reprogramar el CPLD, el dispositivo puede ser inmune a "bricking". Por ejemplo, un dispositivo inalámbrico puede usar un CPLD para controlar su funcionalidad inalámbrica y otras características. El método normal para reprogramar el CPLD podría ser recibir una imagen en la RAM a través del enlace inalámbrico y luego usar esa imagen para reprogramar el CPLD. Si está programando archivos, el enlace inalámbrico puede ser inutilizable hasta que el CPLD se reprograme. Sin embargo, para permitir que el sistema se recupere, el procesador podría contener una imagen "predeterminada" para el CPLD que incluiría suficiente funcionalidad para operar el enlace inalámbrico.