A PROGRAMMABLE MACROCELL USING EPROM OR EEPROM TRANSISTORS FOR ARCHITECTURE CONTROL IN PROGRAMMABLE LOGIC CIRCUITS

Abstract: A programmable macrocell 28 for use in an integrated circuit device including an electronic circuit 32 responsive to control signals and operative to perform particular opera­ tions selected by the control signals on input data signals and to develop commensurate output signals, and one or more architecture control circuits 30 each including a programmable EPROM device 34 which when programmed generates a logic signal of a first state and when unprogram­ med generates a logic signal of a second state, a read and write control circuit 36 responsive to input program data signals and a corresponding address signal and operative to program the EPROM device 34 by applying a programming potential thereto, and a sensing circuit 38 for sensing the programmed or unprogrammed status of the EPROM device 34 and for developing a commensurate control signal for input to the electronic circuit 32.

Description: The present invention relates generally to programmable logic circuitry, and more particularly, to the use of EPROM or EEPROM transistor elements in programmable integrated circuit logic array devices for the purpose of architecture control. In the use of integrated circuit devices (ICs) it is desirable that the devices be programmable so that their operation may be tailored to fit particular applications. Furthermore, it is desirable that a menu of features be provided from which an end user of the IC can choose to best suit his particular application. Selection of items from a menu can be described as configuring the architecture of the IC and various means of selecting IC architectures are currently used. Two commonly used methods are (1) to provide mask options and (2) to provide "mode" or "control" registers (storage elements) whose register outputs act as architecture controls. However, each of these methods have associated disadvantages. The first method referred to, i.e. wherein masks used to manufacture the IC are programmed, has the drawback that the configuration of the IC must be implemented during the manufacturing process. Typically, such programming is accomplished during the metal masking step in the production of the IC. The disadvantage of this approach is that configuration selections must be made prior to completion of the manufacturing operation, thereby causing long lead times and many production and inventory problems associated with manufacturing, testing and inventorying the custom IC devices. In addition if changes are later required all previous inventory that has matured beyond the point in manufacturing where customization takes place will be obsolete and thus useless. The second method, i.e. the use of mode registers, solved the lead time, manufacturing and inventory problems in that the IC parts could be configured by the user after manufacture was completed. In other words, if changes were required, the IC device could be reprogrammed by writing new values into the mode register. The disadvantage of this approach is that register data is lost when power is removed from the system. As a consequence, applications of devices having such features are limited. A paper by S. A. Kazmi entitled "Implementing custom designs with erasable programmable logic devices" in ELECTRO AND MINI/MICRO NORTHEAST, New York, 23-25 April 1985, pages 1-6, describes a flexible architecture logic circuit in which the usual fusible links determining the architecture of the logic circuit are replaced directly by EPLs, thereby enabling the architecture to be electrically programmed and reprogrammed by programming of the EPLs. The programming of the EPLs directly determines the architecture of the logic circuit in which they are incorporated. Patent Specification US-A-4488246 discloses a programmable logic circuit in which EPROM transistors incorporated within an array of the logic circuit itself are directly programmed by input program and address data in order to determine the architecture of the logic circuit and the state of the EPROM transistors sensed as the output of the circuit. The Applicant's own published International Patent Application WO 85/05202, which was published on 21st November 1985 and therefore only constitutes prior art under Article 54(3) and (4)EPC, discloses in the context of a programmable logic array device, electronic logic circuit means responsive to at least one control signal and operable to perform a particular logic function on at least one input data signal to generate at least one commensurate output signal and programmable control means for providing selective architecture control to cause said logic circuit means to have particular configurations. The present invention aims to provide an improved means of providing selective architecture control in programmable logic array devices using reprogrammable memory devices. Accordingly, the present invention provides a programmable integrated circuit logic array device as claimed in claim 1. Briefly, a preferred embodiment of the present invention includes a circuit which employs EPROM (or EEPROM) transistors to provide selective architecture control in an IC device. The basic circuit is comprised of an EPROM transistor in combination with read and write control circuitry and sense circuitry. Typically, the drain and gate of the EPROM transistor are controlled by the read and write control circuitry while the source of the transistor is connected to ground. The sense circuitry is also connected to the drain of the transistor and is used to determine the programmed or unprogrammed state thereof, and in response to produce an output signal which is used to control other circuitry in the IC device. In order that the invention may be more readily understood embodiments thereof will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram illustrating an EPROM transistor configured for use as an architectural control element; Figure 2 is a generalised block diagram showing the basic components of an architecture control circuit in accordance with the present invention; Figure 3 is a schematic circuit illustrating specific embodiments of the present invention used in a transmission gate multiplexor circuit; Figure 4 is a diagram schematically illustrating use of the present invention in an inversion control circuit; Figure 5 is a diagram schematically illustrating use of the present invention in a digital multiplexer circuit; Figure 6 is a diagram schematically illustrating use of the present invention in a transmission gate multiplexer circuit; and Figure 7 is a diagram schematically illustating use of the present invention in a transmission gate inversion control circuit. By way of introduction, a schematic diagram is shown in Fig. 1 of a well known prior art EPROM switching circuit which can be used in accordance with the present invention to generate a control signal. For purposes of this discussion an N-channel transistor is representationally shown, it being understood that a P-channel device could similarly be used. Furthermore, it is to be understood that the term EPROM is intended to include both EPROM and EEPROM devices. In Fig. 1, the EPROM transistor 1⊘ has a control gate 12 connected to an input terminal 14, a source 16 connected to circuit ground, and a drain 18 connected to an output node 2⊘ and through a load resistor 22 to a supply voltage Vcc at a terminal 24. If it is assumed that the floating gate 13 of the transistor is initially unprogrammed then the transistor can be expected to work as follows. Whenever a positive voltage greater than a certain threshold voltage (Vt) is applied to the control gate 12, a channel will be induced under the gate region of the transistor, which allows current to flow between the drain region and the source region. In a typical N-channel floating gate device Vt is approximately 1.5 volts. The signals which are typically applied to a control gate are normally between ⊘ volts and 5 volts. With no input voltage applied to terminal 14, it will be appreciated that transistor 1⊘ will be in a non-conducting or OFF state and node 2⊘ will be pulled up through load element 22 to Vcc and thus be in a logic 1 state. If on the other hand, an input voltage Vcc (nominally +5 volts) is applied to the gate 12, transistor 1⊘ will be caused to conduct (turn ON) creating a current path between terminal 24 and circuit ground through load element 22. The load element 22 and transistor 1⊘ are designed such that the control signal appearing at node 2⊘, with transistor 1⊘ conducting, will be less than the threshold voltage of a circuit to be controlled by the control signal. Thus, with transistor 1⊘ turned ON, node 2⊘ will be pulled toward ground potential and will thus be at a logic ⊘ state. The effective threshold of transistor 1⊘ will be changed by causing charges to be trapped on the floating gate 13. More particularly, electrons can be caused to flow to the floating gate 13 by applying a high voltage (typically 21 volts) to the control gate and the drain (by means not illustrated). When the high voltage is removed, charges will remain trapped on the floating gate 13 and cause the effective threshold of the device to be increased to a value greater than the voltage which would normally be applied to the control gate 12. The application of such high voltage and the subsequent charge trapping on the floating gate 13 is called "programming". After transistor 1⊘ has been programmed, if a 5 volt signal such as Vcc is applied to gate 12 no channel will be created between the source and drain, and no current will flow therebetween. Accordingly, transistor 1⊘ will remain in its OFF condition causing node 2⊘ to be pulled up to Vcc through load element 22. The control signal developed at node 2⊘ will thus be greater than the threshold voltage of the circuit to be controlled, and will thus be considered to be at a logic 1 state. The EPROM device can thus be thought of as a programmable switch. In the unprogrammed state, the switch opens and closes in response to the application of ⊘ volts or 5 volts, respectively, to the control gate 12. On the other hand, in the programmed state the switch will always be open regardless of whether ⊘ volts or 5 volts is applied to control gate 12. Under normal environmental conditions charges will stay trapped on the floating gate for very long periods of time, typically greater than 1⊘ years. Referring now to Fig. 2. of the drawing, a generalized block diagram is presented representatively showing a macrocell 28 including an architectural control circuit 3⊘ connected to logic or other circuitry 32 to be controlled. In accordance with the present invention, circuit 3⊘ is comprised of an EPROM (or EEPROM) transistor 34, Read and Write Control subcircuitry 36, and sense subcircuitry 38. Typically, the drain 4⊘ and gate 42 of transistor 34 will be controlled by the Read and Write Control circuit 36, while the source 44 of the transistor is tied to ground. The sense circuit 38 couples the drain 4⊘ to the circuitry 32 to be controlled. Furthermore, circuit 38 "senses" the programmed or unprogrammed state of transistor 34 and produces a corresponding logic 1 or logic ⊘ output signal at 46 which is used to control one or more subcircuits of circuitry 32. Although illustrated as a single EPROM architecture control circuit 3⊘, in the usual case a plurality of such circuits are combined to allow selective characterization of the operation of a particular logic or other circuit such as that depicted at 32. It will be appreciated, however, that the intended function of the several architecture control circuits is to input logic 1's and ⊘'s to particular gates of the controlled circuit thus allowing the operational characteristics of such circuit to be tailored to fit a particular application. Turning now to Fig. 3 of the drawing, a detailed schematic of an embodiment of the present invention is shown in an application in which EPROM control circuits are used to control a Transmission Gate Multiplexer circuit. In this embodiment, three Architectural Control circuits 3⊘, 3⊘' and 3⊘'' are shown in combination with multiplexing circuitry generally indicated at 33, which is in turn used to control the signal communication between the output, feedback and I/O of an AND-OR Logic Array 440. The overall architectural control system includes the three control circuits 3⊘, 3⊘' and 3⊘'' which respectively include the Read and Write Control subcircuits 36, 36' and 36'' the EPROMs 34, 34' and 34'' and the sense subcircuits 38, 38' and 38''. As mentioned, the circuitry 33 to be controlled is a three input transmission gate multiplexor consisting of switching transistors 5⊘, 52 and 54 which forms part of an AND-OR array macrocell of the type disclosed in co-pending Patent Application WO 85/05202 and assigned to the assignee of the present application. As illustrated, transistor 5⊘ selectively connects the output of AND-OR array 44⊘ to an amplifier 56 in a feedback loop, transistor 52 selectively connects the output of a D-flip-flop to amplifier 56, and transistor 54 selectively connects I/O pad 64 to amplifier 56 via an I/O driver 62. It will be appreciated that by means of the control circuits 3⊘, any combination of the gates 5⊘-54 may be actuated to specially configure the illustrated array. Referring now to circuit 3⊘, observe that control circuit 36 is comprised of a P-channel load transistor 1⊘2, three pull-down transistors 1⊘3, 1⊘4 and 1⊘5, the gates of which are connected to address terminals 121, 122, and 123, a blocking transistor 1⊘6, a level shifter or translator circuit consisting of three P-channel transistors 1⊘7, 1⊘8, and 1⊘9, and two N-channel transistors 11⊘ and 111, the output of the translator circuit being connected to the gate of EPROM 34. Circuit 36 also includes a P-channel transistor 113 and an N-channel transistor 114 the gates which are connected to a program data input terminal 112 and invert an input applied thereto, and a transistor 115 the gate of which is connected to the drains of transistors 113 and 114. The source 116 of transistor 115 is connected to the drain of EPROM 34. Sense circuit 38 includes a gating transistor 132, a P-channel load device 134 and a Schmidt Trigger Circuit 135 including a P-channel transistor 136 and N-channel transistors 137-139. The output node 141 of Schmidt trigger circuit 135 is coupled to the gate of transistor 5⊘ of the multiplexing circuit 33. Similarly, the other two (or more) control circuits consisting of read/write circuits 36' and 36'', EPROM transistors 34' and 34'' and sense circuits 38' and 38'' are respectively coupled to the gates of transistors 52 and 54. It should be understood that each of the circuits 36, 36' and 36'' share a common data line 112 and common address lines 121-123. The use of inverters to interface appropriate address lines to 36' and 36'' allow selection of a particular one of the EPROMs 34', 34'' to be programmed by the data signal input on the program data input line. Operation of the illustrated circuit may be explained as follows: Assume initially that the EPROM transistors 34, 34' and 34'' are in their erased state and it is desired to write a value to the floating gates. For purposes of this discussion a description of the "Write" operation for only transistor 34 will be given although such operations for 34' and 34'' will be similar. During writing, the Vpp/Vcc line is switched to Vpp (typically 21 volts). Transistor 1⊘2 serves as a load transistor and transistors 1⊘3, 1⊘4 and 1⊘5 are pull down transistors making up a 3 input NOR gate. If the address inputs 121, 122, and 123 are all logic ⊘ then the output of the NOR gate at node 1⊘1 will be a logic 1. With Vcc at the gate of transistor 1⊘6 it will be rendered conductive and the logic 1 will be passed to node 117. Because the gate of transistor 1⊘6 is connected to Vcc, the initial node voltage at 117 will be Vcc-Vt, or approximately 4 volts. This will be high enough to turn transistor 11⊘ ON, but not enough to turn P-channel transistor 1⊘8 OFF. With transistor 11⊘ ON, node 118 begins to be pulled toward ground. This turns P-channel transistor 1⊘7 ON and pulls node 117 toward Vpp which turns transistor 1⊘8 fully OFF. With node 118 at ground, N-channel transistor 111 is OFF and P-channel transistor 1⊘9 is ON causing node 119 to be pulled up to Vpp which is the desired programming gate voltage for EPROM transistor 38. Line 112 contains the data to be programmed. If the data on line 112 is a logic ⊘, then transistor 115 will be turned ON and the EPROM transistor 34 will be programmed as the drain 133 of transistor 34 is pulled to Vpp through N-channel transistor 115. If the signal input on line 112 is a logic 1 transistor 115 will remain OFF and the EPROM transistor will not be programmed. Once the EPROM transistor 34 is programmed, it can be sensed by Sense circuit 38. During the normal operation (after programming), line 112 is forced to a logic 1, Vpp/Vcc is forced to Vcc and lines 121, 122 and 123 are forced to logic ⊘, thus node 119 will be at a Vcc level. The Sense circuit works as follows: First, assume that transistor 34 is in its erased state. With 5 volts applied to its gate it will be turned ON. P-channel transistor 134 acts as a load element for transistor 34 through pass gate transistor 132. The sizes of transistors 132, 134 and EPROM 34 are chosen such that node 14⊘ will be near ground (logic ⊘) when EPROM 34 is in its erased state. This level is sensed by Schmidt trigger circuit 135. A logic ⊘ on node 14⊘ produces a logic 1 on node 141. Thus, an erased EPROM (unprogrammed) transistor will be sensed as a logic 1. Next, assume that the EPROM 34 has been programmed and is in its OFF state. Then with 5 volts on its gate it will still be in an OFF configuration. This will be sensed by the Schmidt trigger and a logic ⊘ will be output at 141. Thus, a programmed EPROM transistor produces a logic ⊘ at node 141. In a similar manner, EPROM transistors 34' and 34'' can be programmed by their respective Read/Write Control circuits 36' and 36''. Having programmed EPROM transistors 34 34' and 34'', the control signals developed on lines 142, 242 and 342 are used to control the transmission multiplexer (TMUX). Typically, in a TMUX only one path is active. For example, assume the gate of transistor 5⊘ is at a logic 1, and the gates of transistors 52 and 54 are at logic ⊘, then data from the AND/OR Logic Array 44⊘ will be passed via line 442 through transistor 5⊘ to node 444 where it will be amplified by the multiplex amplifier 56 and (in this illustration) passed back to the AND/OR Array 44⊘. If transistor 52 had been selected (rather than 5⊘) than data from the D flip-flop 6⊘ would have been fed back to the AND/OR Array 44⊘. If transistor 54 had been selected, then I/O pad data would have been passed through amplifier 56 to the AND/OR Array 44⊘. Many other circuits can also be controlled by EPROM architecture control circuits of the type described. For example, Fig. 4 shows an inversion control circuit in which an EPROM architecture control circuit 7⊘ generates a control signal C on a control line 72. By applying the control signal C to one input of an exclusive NOR gate 74, the output signal Y at 76 will be either the same as, or the logical inversion of, the logic signal I input at 78. The following truth table illustrates the application: C I Y 0 0 0 0 1 1 1 0 1 1 1 0 It will thus be appreciated that when C = ⊘, Y = I, and when C = 1, Y = I . Fig. 5. illustrates a digital multiplexer in which a plurality of EPROM architecture control circuits 8⊘, 81 and 82, provide control signals C1, C2,...Cn for the multiplexing circuitry consisting of AND gates 83, 84 and 85, the outputs of which are fed into an OR gate 86. The output Y of OR gate 86 will be the logical OR of all signals I1, I2,... In whose control signals C1, C2...Cn are set to logic 1. The logic equation for this circuit is: Y = C1 I1 + C2 I2 +...Cn · In By way of example, if C1 = ⊘, C2 = 1, and C3 through Cn = ⊘, then Y = I2 In Fig. 6 another version of a multiplexer circuit is shown wherein pass gates T1, T2... Tn are controlled by EPROM architecture control circuits 87, 88, and 89. In this type of circuit, normally referred to as a Transmission Gate Multiplexer, only one of the pass gates can be enabled or a conflict will exist at node 9⊘ and the output signal Y will be indeterminate. Assuming only one control signal, for example C1, is at a logic 1 state then the circuit works as follows: Transistor T1 is turned ON and transistors T2...Tn are turned OFF. Signal DS1 will then be passed to node 9⊘. If DS1 is a logic ⊘, then node 9⊘, will also be pulled to logic ⊘, and the output 91 of inverter 92 will be at logic 1, which turns OFF transistor TP1. The output Y from inverter 93 will thus be at logic ⊘. Next, assume DS1 goes to a logic 1. Initially node 9⊘ can only go as high as Vcc-Vt (assuming the logic 1 level of C1 is Vcc). Inverter 92 is designed such that Vcc-Vt is enough to begin pulling node 94 low. This will turn Tp1 ON and pull node 9⊘ to Vcc. Output Y will then go to logic 1 in response to a logic ⊘ at node 94. In Fig. 7 a special case of the transmission gate multiplexer is shown in which an EPROM architectural control circuit 95 is used to accomplish inversion control. In this circuit, two transmission gates T1 and T2 are controlled by an EPROM architecture control bit C. Depending upon the state of the invert control line 96, either T1 will be ON and T2 will be OFF or T1 will be OFF and T2 will be ON. If T1 is ON, the logic signal Z will be passed to node 97 and thereafter through the multiplexer amplifier (as in Fig. 6) to the output 98. In this case, the output 98 will have the same logical values as input Z. If, on the other hand, T2 is ON, the logic signal Z will be inverted by the inverter gate 99 and passed to node 97 and thence to the output 98. In this case, output 98 will be the logical complement of the input signal Z. Thus, the circuit shown in Fig. 7 acts as a programmable inverter under control of an EPROM control bit.

Claims: A programmable integrated circuit logic array device comprising: electronic logic circuit means (32) responsive to at least one commensurate control signal (46) and operable to perform a particular logic function on at least one input data signal to generate at least one commensurate output data signal, and programmable control means (30) for providing selective architectural control to cause said electronic logic circuit means (32) to have particular configurations, characterised in that said electronic logic circuit means (32) includes a multiplexing means (33) which has a plurality of first inputs each for receiving at least one input data signal and a plurality of second inputs (142, 242, 342) for receiving commensurate control signals developed by said programmable control means (30), and which develops an output signal as selected by a particular one of said commensurate control signals, and said programmable control means (30) includes: a plurality of reprogrammable memory devices (34), each of which may be programmed to generate either a logic signal of a first state or a logic signal of a second state, a plurality of programming means (36), each connected to one of said reprogrammable memory devices (34) and responsive to input program data signal (112) and corresponding address signals (121-123) and operative to program a corresponding reprogrammable memory device (34) by applying a programming potential thereto, and a plurality of sense means (38), each connected to one of said reprogrammable memory devices for sensing the state of the logic signal generated thereby and for developing said commensurate control signal for controlling said multiplexing means (33) and thus said electronic logic circuit means (32). A programmable integrated circuit logic array device according to claim 1, wherein each programming means (36) comprises a programming circuit (113-115) responsive to an input program data signal (112) and operative to apply a programming potential to a corresponding reprogrammable memory device (34), a NOR gate (103, 104, 105) responsive to an address signal (111-123) and operative to develop a logic output (101), and switching means (107-111) responsive to said logic output (101) of said NOR gates and operative to couple said programming potential to the reprogrammable memory device (34) to effect programming thereof. A programmable integrated circuit logic array device according to claim 2, wherein said programming circuit (113-115) includes a first switching element (115) for coupling said programmable potential to said reprogrammable memory device (34) and an inverting circuit (113-114) for inverting said program data signal (112). A programmable integrated circuit logic array device according to any preceding claim, wherein each sense means (38) includes a Schmidt trigger circuit (135) coupled to the memory device (34) and operative to develop a commensurate control signal corresponding to the state of the logic signal generated by the reprogrammable memory device (34). A programmable integrated circuit logic array device according to any preceding claim, wherein said multiplexing means (33) includes a plurality of AND gates (83-85), each of which is connected to at least one of said first inputs and one of said second inputs, the outputs of said AND gates being ORed together (86) to develop said selected output signal. A programmable integrated circuit logic array device according to any one of claims 1 to 4, wherein said multiplexing means (33) includes an exclusive NOR gate (74). A programmable integrated circuit logic array device according to any preceding claim, wherein the reprogrammable memory device (34) is an EPROM transistor. A programmable integrated circuit logic array device according to any preceding claim , wherein the reprogrammable memory device is an EEPROM transistor.

Inventors: CHAN, YIU-FAI, FRANKOVICH, ROBERT J., HARTMAN, ROBERT F., OU, JUNG-SHING, SO, HOCK CHUEN, WONG, SAU-CHING
Applicants: ALTERA CORPORATION
Application year: 1986
Main classification: H03K19
IPC codes: H01L29, H03K19, H01L21, H03K17, G11C17, G11C16