1. A computer readable storage medium comprising computer executable instructions that, when executed by a processor, perform a method comprising: displaying a first user module and a second user module for selection by a user, the first user module identifying a first configuration for a circuit block that is reconfigurable by a microcontroller, and the second user module identifying a second, different configuration for the circuit block; receiving an input from a user to select the first user module and the first configuration or the second user module and the second configuration; generating instructions that, when processed by the microcontroller, reconfigure the circuit block to function according to the selected configuration; and displaying a resource assignment window reflecting a number of reconfigurable circuit blocks that are available to be reconfigured by the microcontroller.