Patent ID: 8004309

Claim:
A method for programming a Programmable Logic Device (PLD) comprising: providing a substrate including a logic layer having active circuitry fabricated on the substrate and at least one layer of third dimensional memory fabricated in contact with and directly above the substrate, the at least one layer of third dimensional memory in electrical communication with the active circuitry; selecting an input signal from a plurality of inputs that are electrically coupled with the active circuitry; maintaining routing data independent of the application of electrical power to the at least one layer of third dimensional memory by storing the routing data in at least one non-volatile register, each non-volatile register including at least one non-volatile memory element positioned in the at least one layer of third dimensional memory and non-volatile register logic included in the active circuitry and electrically coupled with the at least one non-volatile memory element; and routing the input signal to a routing line.