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.