1. A method of implementing an integrated circuit (IC), the method comprising: a) receiving a first IC design that performs a set of user functions during a particular user design cycle, wherein each user design cycle comprises a plurality of sub-cycles of a second IC design comprising a plurality of reconfigurable circuits; b) assigning the user functions to the plurality of sub-cycles; and c) assigning each user function performed during a particular sub-cycle to a particular reconfigurable circuit of the second IC design, wherein each particular reconfigurable circuit may perform a plurality of operations for a plurality of user functions of the first IC design in a plurality of different sub-cycles.