Patent ID: 7634596

Claim:
An integrated circuit device having dynamic peripheral function to external input-output connection remapping, comprising: a plurality of peripheral functions; a plurality of mapping registers; a plurality of drivers; a plurality of receivers; a plurality of external input-output connections, wherein each one of the plurality of external input-output connections is coupled to an input of a respective one of the plurality of receivers and an output of a respective one of the plurality of drivers; a plurality of first multiplexers, each of the plurality of first multiplexers has a plurality of inputs, an output and a control input, wherein each input of the plurality of first multiplexers is coupled to an output of a respective one of the plurality of receivers, each output of the plurality of first multiplexers is coupled to a respective input of the plurality of peripheral functions and each control input of the plurality of first multiplexers is coupled to a respective one of the plurality of mapping registers, wherein the plurality of mapping registers control what outputs of the plurality of receivers are coupled to which inputs of the plurality of peripheral functions; a plurality of second multiplexers, each of the plurality of second multiplexers has a plurality of inputs, an output and a control input, wherein each input of the plurality of second multiplexers is coupled to a data output of a respective one of the plurality of peripheral functions, each output of the plurality of second multiplexers is coupled to a data input of a respective one of the plurality of drivers and each control input of the plurality of second multiplexers is coupled to a respective one of the plurality of mapping registers, wherein the plurality of mapping registers control what inputs of the plurality of drivers are coupled to which data outputs of the plurality of peripheral functions; and a plurality of third multiplexers, each of the plurality of third multiplexers has a plurality of inputs, an output and a control input, wherein each input of the plurality of third multiplexers is coupled to a control output of a respective one of the plurality of peripheral functions, each output of the plurality of third multiplexers is coupled to a control input of a respective one of the plurality of drivers and each control input of the plurality of third multiplexers is coupled to a respective one of the plurality of mapping registers, wherein the plurality of mapping registers control what outputs of the plurality of peripheral functions control operating characteristics of the plurality of drivers.