A system is provided for programming a configurable semiconductor device. The
system
includes a programmable controlling device, a programmable computing device, a
communication link, a configurable hardware device, a design tool with first computer
program code, and second computer program code. The configurable hardware device
has memory with a plurality of memory locations and coupled with the programmable
controlling device via the communication link. The design tool includes first computer
program code embodied in a programmable computing device. The second computer program
code is generated at least in part by the first computer program code and is embodied
in the programmable controlling device for: a) applying configuration data to selected
memory locations within the configurable hardware device to configure the configurable
hardware device; b) determining a location of a subset of at least one of (i) the
programmable memory locations in the configurable hardware device and (ii) the
configuration data to be modified; and c) determining a new data value to be applied
to the subset of at least one of (i) the memory locations in the configurable hardware
device and (ii) the configuration data. The design tool provides at least one of
configuration data, address data, and a data value algorithm usable in performing
at least one of a), b), and c). A method is also provided.