A programmable logic system includes a reconfigurable programmable logic device
and configuration storage that stores at least two configurations. A default configuration
loads first and then loads the desired user application configuration. If the user
application configuration fails, the system saves data regarding the failure and
then returns to the default configuration for recovery. The default configuration,
after reading the failure data, causes an operator to be called to intervene, or
loads a different (e.g., previous) configuration if one is available in configuration
storage. The system is particularly useful where the user can update configurations
remotely. In an alternative mode, the system stores only the user configuration
(which is loaded first) and the default configuration. If a newly-loaded configuration
fails, the default configuration is loaded and signals the operator or takes other
action short of loading a different configuration.