Hay dos enfoques generales que uno puede usar. Muchos tipos de FPGA mantienen su configuración en pestillos que se obtienen de un dispositivo externo (generalmente una EEPROM) al inicio; FPGA no necesita el dispositivo externo después de haberlo leído. Los cambios en la EEPROM durante el funcionamiento del dispositivo no surtirán efecto hasta que se indique al FPGA que vuelva a cargar su contenido. Por lo tanto, es posible que un dispositivo que sería completamente inoperable sin un FPGA reprograme ese FPGA durante la operación; si algo sale mal durante la escritura de EEPROM, sin embargo, el dispositivo puede quedar inoperativo a menos que o hasta que pueda ser reescrito por un dispositivo externo (un estado a veces denominado "bloqueado").
Un enfoque alternativo, que a menudo es útil con CPLDs cuyas células EEPROM controlan "directamente" su funcionalidad (en lugar de ser copiadas en pestillos) es tener un sistema que pueda funcionar con una funcionalidad limitada incluso cuando el dispositivo programable está en un estado inútil. Si dicha funcionalidad limitada es suficiente para reprogramar el CPLD, el dispositivo puede ser inmune al 'bloqueo'. Por ejemplo, un dispositivo inalámbrico podría usar un CPLD para controlar su funcionalidad inalámbrica y otras características. El método normal de 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 se programan archivos, el enlace inalámbrico puede quedar inutilizable hasta que el CPLD se reprograme. Sin embargo, para permitir que el sistema se recupere, el procesador podría contener un "valor predeterminado"