A three-dimensional semiconductor device, comprising: a programmable logic
circuit constructed in a first module layer, said logic circuit input to
output responses configurable to a user specification by configuring a
plurality of control signals, each control signal received at a
regulatory node in the logic circuit; and a configuration circuit
constructed in a second module layer, said configuration circuit further
comprising: a plurality of memory elements, each memory element having
either one or two outputs, each memory element capable of storing one of
two binary data values, each output coupled to one of said control
signals, each control signal having either the same polarity of the
stored memory bit or the opposite polarity of the stored memory bit; and
a memory programming method to access each of said memory elements to
alter the stored data value between said two binary data values to
configure the control signals; wherein, the second module layer is
positioned substantially above the first module layer in the
semiconductor device.