Field programmable gate array having testable antifuse programming architecture and method therefore
First Claim
1. A field programmable gate array, comprising:
- a plurality of programming conductors extending parallel to one another in a first dimension;
a plurality of logic modules disposed in a row extending in said first dimension parallel to said plurality of programming conductors;
a plurality of first routing wire segments extending parallel to one another in a second dimension perpendicular to said first dimension, some of said first routing wire segments I being coupled to inputs of one of said logic modules, the others of said first routing wire segments O being coupled to outputs of said one of said logic modules;
a plurality of second routing wire segments extending parallel to one another in said first dimension and crossing said plurality of first routing wire segments;
a plurality of antifuses disposed to programmably couple selected ones of said first and second routing wires segments together; and
a plurality of programming transistors, each of said programming transistors having a first electrode coupled to a respective one of said first routing wire segments, each of said programming transistors having a second electrode coupled to one of said plurality of programming conductors, each of said programming transistors having a control electrode, wherein none of the control electrodes of the programming transistors coupled to the routing wire segments O is permanently connected to the control electrode of any programming transistor coupled to a routing wire segment I.
1 Assignment
0 Petitions
Accused Products
Abstract
A programming architecture for a field programmable gate array (FPGA) employing antifuses is disclosed. To test the integrity of programming conductors, programming transistors, routing wire segments and a combinatorial portion of a logic module of the unprogrammed FPGA (see FIG. 16), a combination of digital logic values is supplied onto the inputs of the combinatorial portion in a test mode. A defect is determined to exist if the correct digital value is not then output by the combinatorial portion. The digital value output by the combinatorial portion is captured in the flip-flop of the logic module and is shifted out of the FPGA in a scan out test mode. A programming transistor, programming conductor and routing wire segment structure is also disclosed which facilitates such testing. In one embodiment (see FIG. 15), the gate of no programming transistor coupled to an output routing wire segment of the logic module (such as transistor 216) is permanently connected to the gate of any programming transistor coupled to an input routing wire segment of the logic module (such as transistors 200, 201 and 202).
-
Citations
15 Claims
-
1. A field programmable gate array, comprising:
-
a plurality of programming conductors extending parallel to one another in a first dimension; a plurality of logic modules disposed in a row extending in said first dimension parallel to said plurality of programming conductors; a plurality of first routing wire segments extending parallel to one another in a second dimension perpendicular to said first dimension, some of said first routing wire segments I being coupled to inputs of one of said logic modules, the others of said first routing wire segments O being coupled to outputs of said one of said logic modules; a plurality of second routing wire segments extending parallel to one another in said first dimension and crossing said plurality of first routing wire segments; a plurality of antifuses disposed to programmably couple selected ones of said first and second routing wires segments together; and a plurality of programming transistors, each of said programming transistors having a first electrode coupled to a respective one of said first routing wire segments, each of said programming transistors having a second electrode coupled to one of said plurality of programming conductors, each of said programming transistors having a control electrode, wherein none of the control electrodes of the programming transistors coupled to the routing wire segments O is permanently connected to the control electrode of any programming transistor coupled to a routing wire segment I. - View Dependent Claims (2, 3, 4)
-
-
5. A method of testing an unprogrammed field programmable gate array employing antifuses, comprising:
-
supplying digital values onto inputs V of a combinatorial portion of a logic module so that an output of the combinatorial portion carries a digital value W, the output of the combinatorial portion being coupled to an output of the logic module; conducting the digital value W from the output of the logic module via a first routing wire segment and through a first programming transistor to a programming conductor, the first routing wire segment extending in a first dimension and the programming conductor extending in a second dimension perpendicular to said first dimension; and conducting the digital value W from the programming conductor through a second programming transistor and through a second routing wire segment to an input X of the logic module, the second routing wire segment extending parallel to said first routing wire segment, said digital value W determining a digital value Y present on an input lead of a sequential logic element of said logic cell. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of testing a programmable device, the programmable device comprising a plurality of logic modules and a programmable interconnect structure employing antifuses, each of the logic modules having a sequential logic element with a scan input lead and a scan output lead, the method comprising:
-
(a) outputting a digital signal from a first logic module of the programmable device; (b) conducting the digital signal through a programming conductor of the programmable device and back into the first logic module via a routing wire segment; (c) capturing the digital signal in a sequential logic element of the first logic module; and (d) conducting the digital signal from the first logic module via a scan output lead of the sequential logic element of the first logic module and into a second logic module via a scan input lead of a sequential logic element of the second logic module. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification