Patent ID: 7786749

Claim:
An integrated circuit device comprising: a plurality of logic elements, each logic element having a plurality of input leads and at least one output lead, and having a programmable circuit to cause said logic element to perform a selected logic function; a group of interconnect lines; a first programmable connection circuit for programmably connecting each of said input leads of a logic element to at least one of said group of interconnect lines, and for programmably connecting said at least one output lead of a logic element to at least one of said group of interconnect lines; a programmable switch circuit for programmably connecting each of said interconnect lines to at least one other of said interconnect lines; whereby each of said logic elements can be programmed to perform a selected one of a plurality of logic functions, and said logic elements can be connected to each other in a selectable manner; a testing circuit for generating at least one test signal and having a plurality of output leads and for receiving at least one input lead; a second programmable connection circuit for programmably connecting each of said output leads of the testing circuit to each of said input leads of each logic element, and for programmably connecting said at least one output lead of each logic element to at least one input lead of said test circuit; and a plurality of AND gates connected in series having a first end and a second end, with each AND gate having at least two inputs and one output, with one of the two inputs of an AND gate connected to receive an output lead of a different logic element, and with the second input of each AND gate, except for the AND gate at the first end, connected to receive the output of an adjacent AND gate in the series, with the second input of the AND gate at the first end connected to a high voltage source, and with the output of the AND gate at the second end connected to the testing circuit; whereby each of said logic elements can be tested by the testing circuit.