1. A programmable logic device (PLD), comprising: a configuration bus; a plurality of programmable hardware units coupled to the configuration bus, each of the programmable hardware units configurable with one of a plurality of functional modes; a plurality of switch devices to independently select one or more configuration patterns from a set of configuration patterns, each of the switch devices corresponding to one of the programmable hardware units; a plurality of configuration registers coupled to the configuration bus and commonly shared by the plurality of programmable hardware units, the configuration registers storing the set of configuration patterns, where each configuration pattern corresponds to one of the plurality of functional modes of the programmable hardware units; a memory storing a set of index groups, each index group including a set of indices, configured to identify one of the plurality of configuration registers by selecting a corresponding select line on a corresponding one of the switch devices using a corresponding index in the set of indices; and one or more of the plurality of programmable hardware units accessing the configuration pattern, via the configuration bus, from the selected configuration register for configuration with the configuration pattern retrieved from the selected configuration register.