1. A programmable logic array, comprising: a plurality of spin transfer torque magnetic tunnel junction (MTJ) devices, arranged in an array; a plurality of programmable sources coupled to corresponding MTJ devices for changing the polarity of a free layer of each MTJ device; wherein a first group of the MTJ devices are arranged into an input plane, wherein a second group of the MTJ devices are arranged into an output plane, and wherein the input plane and the output plane are combined to form a logic function based on the relative polarities of the free layer of each MTJ device; and an output sense amplifier coupled to the output plane configured to detect a signal level on a column of the output plane and to generate a binary output based on a comparison of the signal level on the column of the output plane to a threshold signal level.