1. A method, comprising routing an input signal to an output of a programmable interconnect matrix via a multi-level routing architecture by first selecting the input signal at a first one of a first number of switching elements of a first level of the multi-level routing architecture to produce an intermediate signal and then selecting the intermediate signal from among a number of inputs equal to the first number of switching elements at a second switching element of a second level of the multi-level routing architecture.