1. An ASIC configured to couple to a circuit board, the ASIC comprising: a plurality of functional units each having a plurality of connections; a plurality of output pins configured to couple the ASIC to a circuit board; a plurality of output programmable clients, each of said plurality of output pins associated with a corresponding output programmable client, and each output programmable client comprising: an output associated with said output pin, and a plurality of inputs, said inputs associated with a subset of said plurality of connections of said plurality of functional units; wherein each output programmable client is programmable to selectively connect one of said plurality of inputs to said output; a plurality of input pins configured to couple the ASIC to the circuit board; a plurality of input programmable clients, each of said plurality of input pins associated with a corresponding programmable client, and each input programmable client comprising: an input associated with said input pin, and a plurality of outputs, said outputs associated with a subset of said plurality of connections of said plurality of functional units; and wherein each input programmable client is programmable to selectively connect one of said plurality of outputs to said input.