Patent ID: 6915518

Claim:
A method for allocating resources of one or more programmable logic devices (PLDs) to a plurality of functions in a system having one or more PLDs on which the functions are implemented, comprising: monitoring respective activity levels of the functions; detecting when the activity level of a first function is decreasing; selecting a subset of PLD resources that implement the first function; selecting a configuration bitstream for implementing a second function; reconfiguring the subset of PLD resources implementing the first function with the configuration bitstream of the second function; wherein the subset of PLD resources implementing the first function is reconfigured with the configuration bitstream of the second function only if the activity level of the second function is increasing; and if none of the functions have increasing activity levels, then reconfiguring the subset of PLD resources with a predetermined configuration bitstream and adding the subset of PLD resources to a reserve of PLD resources.