Gate array with built-in programming circuitry

Abstract: A field programmable gate array having anti-fuse crosspoints. The input and output circuits of the gate array are especially designed so that the low voltage logic modules are not affected by high programming voltages. Each logic module is designed to be part of the programming circuit, rather than being isolated from it.

Description: TECHNICAL FIELD OF THE INVENTION This invention relates to electronic circuits, and more particularly to a field programmable gate array with anti-fuse connections. BACKGROUND OF THE INVENTION Field programmable gate arrays are a type of programmable logic device, having a programmable array of logic modules. Each logic module comprises of at least one logic gate. These logic modules are interconnected with a matrix of conductive lines, which intersect at crosspoints that may be selectively made conductive or non-conductive during a programming process. For example, if a connection is not wanted at a certain crosspoint, a fuse at the crosspoint is blown. By programming the interconnections among the logic cells, the gate array is made to realise a desired logical function. A recent development in programmable gate arrays is the use of anti-fuses instead of fuses at the crosspoints. The devices are programmed by applying a voltage to close electrical connections. Usually, the voltages used for the programming inputs are high in relation to the voltage required for operation after programming. "Proceedings of the IEEE Custom Integrated Circuit Conference", pages 1541-1544, on which the preamble of claim 1 is based, proposes such an arrangement. A problem with programming anti-fuses of gate arrays is that the higher programming voltage inputs must be isolated from the lower voltage circuits of the logic portions of the gate array. One approach to achieving such isolation is to interpose isolation transistors between each logic module and its associated anti-fuses. These isolation transistors are usually large and thus require extra space on the chip. The invention provides a logic module for a field programmable gate array having anti-fuse cross-points to be connected to an output circuit and an input circuit, characterised in that: said output circuit has two N-channel metal oxide silicon transistors, and has at least one connection point for connecting an output of said output circuit to the anti-fuse crosspoints; and said input circuit has two high voltage transistors arranged in a totem pole configuration, and has at least one connection point for connecting the anti-fuse crosspoints to the inputs of said high-voltage transistors. The input circuit and output circuit may be configured so that programming voltages may be applied to the crosspoints without damage to the logic circuits of the logic module. A technical advantage of the invention is that it makes it possible to construct circuitry in which the need for an isolation transistor of a field programmable gate array device is eliminated. At the same time, the fuse specification can be reduced, and a lower voltage swing increases speed and decreases power consumption of these devices. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an output node of a logic module and an array of anti-fuse crosspoints. Figure 2 is a block diagram of the input end of a logic module and an array of anti-fuse crosspoints. Figure 3 illustrates how a number of logic modules and anti-fuse crosspoints may be interconnected to form a programmable gate array. DETAILED DESCRIPTION OF THE INVENTION Figures 1 and 2 illustrate an output circuit 11 and an input circuit 21 of a logic module 10, respectively, and related anti-fuses 12 and interconnection lines. Anti-fuses 12 are manufactured as open gaps, but are programmed in the manner explained below. Unprogrammed anti-fuses 12 are also represented as crosspoints. Figure 3 illustrates how logic module 10, anti-fuses 12, and the interconnection lines are part of a larger array 30, which may contain any number of logic modules 11 and anti-fuses 12. Thus, logic module 10 and anti-fuses 12 may be generally described as being part of a field programmable gate array. The process of closing the gaps of a selected anti-fuse 12 is herein referred to as "programming" the anti-fuse 12. Logic module 10 can be any circuit used to realize one or more logic gates. Each logic module 10 may have more than one output circuit 11 or input circuit 21, such as are shown in Figures 1 and 2. The gates realized by logic module 10 may be specific logic gates, such as AND or OR gates or their complements. Alternatively, logic module 10 may be "universal" in the sense that it is capable of realizing 2° functions of n independent binary input variables. These various forms of logic module 10 are commercially available. A feature of the invention is that, because of the configuration of the input and output circuits of logic module 10, the programming circuit includes logic module 10. As explained below, special transistors, combined with a particular range of programming voltages, eliminate the need for isolation transistors. Each anti-fuse 12 is associated with a programming input circuit, N, which may be connected to a programming voltage, Vpp, if that anti-fuse 12 is to be programmed. The value of Vpp is typically about twice the operational voltage of the gate array after programming, Vcc. However, as explained below, the value of Vpp is limited by other features of the invention. For purposes of example herein, Vcc is assumed to be Vpp/2. In the programming methods described below, each node N is connected to Vcc when the corresponding anti-fuse 12 is not to be programmed. Figure 1 is a block diagram of an output circuit 11 of a logic module 10, its associated anti-fuses 12, and a programming switch 13. Two horizontal interconnection lines, H0 and H1, and three vertical lines, V0 - V2, are available to connect logic module 10 to other logic modules 10. Output circuit 11 serves as the output node to logic module 10. It is a pull-up circuit, comprised of two NMOS transistors 14a and 14b. NMOS transistors 14a and 14b are metal-oxide-silicon unipolar transistors having a negatively charged semiconductor channel. The on/off conditions of NMOS transistors 14a and 14b are controlled by two control lines 15a and 15b. These control lines 15a and 15b carry control signals used during programming of the gate array, as explained below. For purposes of example, Figure 1 shows three horizontal anti-fuses 12H0 - 12H2, and a 2 x 3 array of vertical anti-fuses 12V00 - 12V22. However, a different number of anti-fuses 12 could be used. The number and arrangement of anti-fuses 12 associated with each logic module 10 depends on the interconnections to be made available to other logic modules 10 of the gate array 30. To program one of the horizontal anti-fuses 12H0 - 12H2, line 15a is high so that transistor 14a is on, and line 15b is low so that transistor 14b is off. The corresponding node of the anti-fuse to be programmed is at Vpp. For example, if fuse 12H2 is to be programmed, N2 is at Vpp. If none of the horizontal anti-fuses 12 is to be programmed, line 15a is low and line 15b is high, so that transistors 14a and 14b are off and on, respectively. Thus, the maximum voltage across horizontal anti-fuses 12 is Vcc, which is insufficient to program them. To program one of the vertical anti-fuses, 12V00 - 12V22, line 15a is high and line 15b is low so that transistors 14a and 14b are on and off, respectively. The corresponding node N of the anti-fuse 12 to be programmed is at Vpp. For example, if anti-fuse 12V11 is to be programmed, nodes N4 and N6 are at Vcc and node N5 is at Vpp. If none of the vertical anti-fuses 12 is to be programmed, line 15a is low and line 15b is high, so that transistors 14a and 14b are off and on, respectively. Thus, the voltage across vertical anti-fuses 12 is approximately Vcc - V T , which keeps them from being programmed. Another approach to programming is to tri-state the output circuit 11 and use programming switch 13 to program anti-fuses 12. Programming switch 13 is used to switch from Vcc to ground. If switch 13 is set at ground, the selected anti-fuse will be programmed, otherwise it will not. For programming, the node N associated with the anti-fuse to be programmed is set to Vpp. When the output of input circuit 11 is tri-stated for programming, Vpp must be less than the breakdown voltage of transistors 14a and 14b. In other words, anti-fuses 12 and transistors 14a and 14b must be selected so that their breakdown voltage is less than the voltage needed to program the anti-fuses 12. For example, if the breakdown voltage of transistors 14a and 14b is 12 volts, Vpp cannot exceed 12 volts and Vcc (Vpp/2) is equal to or less than 6 volts. Thus, the programming range of anti-fuses 12 must be above 6 volts and less than 12 volts. Figure 2 is a block diagram of the input circuit 21 of a logic module 10, and associated anti-fuses 12 and interconnection lines. Again, the particular number of anti-fuses 12 associated with a particular input circuit 21 is a design choice. Input circuit 21 serves as the input node for logic module 10, and is comprised of two high-voltage transistors 22a and 22b. In the preferred embodiment, the high voltage characteristic of transistors 22a and 22b is implemented with thick oxide. For example, for a programming voltage Vpp of 12 volts, the range of oxide thickness is approximately 250 to 300 angstroms. Transistors 22a and 22b can have a V T of approximately 1.6 volts to receive a 3.5 volt logic high signal from the output of previous stages, for zero through current. Programming switch 23 is used in a manner similar to programming switch 13 of Figure 1. For programming, switch 23 is used to connect the interconnection line H to ground. For example, to program anti-fuse 12H1, node N2 is connected to Vpp. Nodes N1 and N3 are at the operational voltage Vcc. Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments will be apparent to persons skilled in the art.

Claims: A logic module for a field programmable gate array (30) having anti-fuse cross-points (12) connected to an output circuit (11) and an input circuit (21), characterised in that: said output circuit (11) has two serially connected N-channel metal oxide silicon transistors (14), whose common output connection point provides an output of said output circuit (11) to the anti-fuse crosspoints (12); and said input circuit (21) has two high voltage transistors (22) arranged in a totem pole configuration, whose common input connection point is connected to the anti-fuse crosspoints (12). The logic module of claim 1, wherein said input circuit transistors (22) are thick oxide transistors. The logic module of claim 1 or claim 2, wherein said output circuit (11) and said input circuit (21) are capable of receiving a programming voltage of approximately twice the operational voltage (Vcc) at said connection points. The logic module of claim 3, wherein said programming voltage is less than the breakdown voltage of said transistors (14) of said output circuit (11). A logic module for a field programmable gate array according to any one of claims 1 to 4, comprising: a matrix of interconnection lines (H,V) for connecting via said anti-fuse crosspoints (12). The logic module of claim 5, comprising a programming switch for switching between a programming voltage and ground.

Inventors: CHEN KUEING-LONG, LIU DAVID KUAN-YU, CHEN, KUEING-LONG, LIU, DAVID KUAN-YU
Applicants: TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS INCORPORATED
Application year: 1991
Main classification: H03K19
IPC codes: H03K19