Abstract:
A programmable logic array 100 which uses parallel transistor logic gates 150 arranged in a compact layout for fast signal propagation. One of logic planes 120 or 130 is prechargeable to substantially reduce power consumption using a simple, one-phase clock.

Description:
BACKGROUND 
     This invention relates to logic arrays capable of being programmed during fabrication as an integrated circuit device, and more particularly to a programmable logic array (PLA) which uses parallel transistor logic gates arranged in a compact layout for fast signal propagation, and which is prechargable. 
     A PLA 10, as shown on a small scale in FIG. 1, is a general purpose circuit which is later customized or programmed to perform predefined logical sum-of-product functions. A PLA is programmed by arranging for desired subsets of its input signals I1 through IM to be logically multiplied by a row of AND gates, known as the &#34;AND plane,&#34; to produce logical product terms T1 through TP known as &#34;minterms,&#34; and further by arranging for desired subsets of the P minterms to be logically added by a column of OR gates, known as the &#34;OR plane,&#34; to produce logical sum (of product) PLA output terms Z1 through ZN. The sum-of-product signals Z1 through ZN may be fed pack to other PLA input lines for sequential operations. 
     AND and OR gates, FIG. 2, can be implemented using the equivalent combination of a NOR gate with an inverter in the NOR gate input lines and output line, respectively, as in FIG. 3. As shown in FIG. 4, a parallel NOR gate 40 is implemented simply by connecting, in parallel, one transistor (43, 44) for each specified NOR gate input line (41,42). Assuming a &#34;true&#34; (&#34;logical one&#34;) input signal turns a transistor on, one true input signal causes current conduction through resistor R between the voltage supply V and ground, which causes the voltage at NOR output terminal 45 to drop from V to a &#34;false&#34; (&#34;logical zero&#34;) level, regardless of the value of other input signals applied to other input leads of NOR gate 40. If all parallel transistors are off, current is blocked, causing a &#34;true&#34; level voltage at NOR gate output terminal 45. 
     Alternatively, a series NOR gate can be implemented as in FIG. 5 by connecting one transistor (53, 54) for each specified NOR gate input line (51, 52), in series with a resistor R, between a voltage supply V and a ground potential. If one input signal is true, then that signal, inverted by an inverter (56, 57) to &#34;false&#34; and applied to the control gate of a transistor, prevents conduction through resistor R, and causes a &#34;false&#34; output signal at the series NOR gate output terminal 55 regardless of other NOR input signal values. If the transistors (53, 54) are all ON, the series conducts current through resistor R, causing a &#34;true&#34; output signal on output terminal 55. 
     The switching speed of a transistor logic gate is that time for an output signal to be provided in response to a set of input signals. Signals flow through any number of parallel transistors simultaneously, in one delay interval, but flow through series transistors one after the other, adding delay intervals. In a series logic gate, the gate capacitance of a first transistor is charged in order to turn on that transistor, in turn charging the gate and diffusion capacitances and turning on each successive transistor, slowing signal propagation. A PLA gate using a large number of series transistors is significantly slower than one using the same transistors connected in parallel. Besides having more capacitance to charge, N transistors in series each need to have N times the cross sectional area of a transistor in a parallel path to transfer the same amount of current with the same voltage drop. 
     Causing current flow through a bias resistor to establish an output node voltage, whether in a parallel circuit as in FIG. 4 or in a series circuit as in FIG. 5, uses current, wasting power, which is uneconomical and dissipates heat. The transistors must be large so they can transfer enough current to cause a large voltage drop across the resistor. 
     Power and transistor space can be saved by precharging the capacitance of an output node to a selected voltage and, depending upon the state of the input signals, either maintaining or discharging the precharged voltage to establish the output signal voltage. In this manner current doen not flow in the &#34;conductive stage&#34; as in the non-precharged, resistive circuits of FIGS. 4 and 5. 
     FIG. 6 shows an example of a prior art precharged, parallel NOR gate 60. An enable transistor 66 is provided in ground line 16 and bias resistor R (of FIG. 4) is replaced with precharge transistor 15. A &#34;precharge mode&#34; is initiated by a high clock signal, which turns off ground line transistor 16 so that there is no path from output node 65 to ground, and also turns on precharge transistor 15. A pulse of precharge current charges the capacitance of output node 65. In a second, &#34;output mode&#34; initiated when the clock signal is low, precharge transistor 15 is turned off, and ground line transistor 16 is turned on. If either signal A or B is true, the corresponding transistor 63 or 64 is turned on, establishing a conductive path from precharged node 65 to ground, discharging node 65 to the low level &#34;false&#34; voltage. If neither A nor B is true, neither transistor 63 nor 64 establishes a path to ground, and node 65 is maintained at the high level &#34;true&#34; voltage. 
     The output node precharge value corresponds to the condition of no current flow through the bias resistor in a resistive gate as in FIGS. 4 and 5, as shown in Table I. 
     
                       TABLE I______________________________________                   Output StateGate        Series/     CorrespondingType        Parallel    to Non-conduction______________________________________OR          Series      TrueOR          Parallel    FalseNOR         Series      FalseNOR         Parallel    TrueAND         Series      FalseAND         Parallel    TrueNAND        Series      TrueNAND        Parallel    False______________________________________ 
    
     In a PLA where AND gate minterm output leads are connected to OR gate product term input leads, precharging AND gate output signals true tends to force OR gate output signals true, which is incompatible with precharging OR gate output leads false. In this event, as the &#34;output mode&#34; is initiated, a conflict exists between the precharged state of the AND and OR arrays, possibly resulting in false triggering of the OR gates. AND gate output leads precharged true can be isolated by transistor switches from incompatible OR gate input leads. However, this requires a multi-phase clock to delay turning on the switches to enable the OR gate input leads until the AND gate output leads have discharged and settled in response to the input signals, to avoid mistriggering OR gates. However, multi-phase clocks are an expense and inconvenience to be avoided. 
     There remains a need for a PLA circuit which reduces power consumption without using slow series gates or using OR input disabling transistors and a multi-phase clock, which occupy additional circuit area and make the integrated circuit more expensive. 
     SUMMARY 
     The present invention achieves these and other objects by providing a PLA which uses high speed parallel transistor NOR gates, with inverters in their input lines to perform as AND gates, or in their output line to perform as OR gates. The PLA structure is laid out compactly to minimize signal path lengths and propagation delays, further increasing operating speed. The compact layout also minimizes the surface area occupied by, and hence the cost of, a PLA embodied in an integrated circuit chip. One of the logic planes, preferably the larger, is precharged to substantially reduce power consumption using a simple onephase clock. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a prior art PLA; 
     FIG. 2 is a diagram of the sum-of-products logic function performed on four signals input to a PLA in accordance with the prior art; 
     FIG. 3 is a prior art implementation of the FIG. 2 AND and OR logic functions using equivalent NOT and NOR functions; 
     FIG. 4 is a schematic diagram of a prior art parallel transistor NOR gate from which an AND gate or an OR gate can be formed by adding input or output inverters, respectively, as in FIG. 3; 
     FIG. 5 is a schematic diagram of a prior art series transistor NOR gate; 
     FIG. 6 is a schematic diagram of a prior art precharged parallel transistor N0R gate; 
     FIG. 7 is a top view of a portion of the layout of a PLA according to one embodiment of the invention; 
     FIG. 8 is a cross-section taken along line 8--8 in FIG. 7 through the left-most NOR gate in the AND plane and its minterm output line extending into the OR plane: and 
     FIG. 9 is a schematic diagram of the AND and OR planes as programmed in the layout of FIG. 7. 
    
    
     DETAILED DESCRIPTION 
     A PLA is used in a larger circuit environment operating under a convention, which may be that &#34;true&#34; (&#34;logical one&#34;) signals are represented by a relatively high Vdd voltage (5V) and &#34;false&#34; (&#34;logical zero&#34;) signals by a relatively low Vss voltage (ground). For this convention, the present invention is preferably implemented with complementary metal oxide semiconductor (CMOS) devices, and charges output nodes to a high voltage Vdd using enhancement mode P-channel &#34;pull-up&#34; transistors. The nodes are discharged to ground Vss using enhancement mode N-channel &#34;pull-down&#34; transistors. 
     FIG. 7 shows a top view of an example arrangement or &#34;layout&#34; of transistors and conductors making up PLA circuit 100 in a semiconductor chip. FIG. 8 is a cross section through the chip along line 8--8 in FIG. 7, as seen from the right. 
     PLA 100 receives a plurality of input signals; in the embodiment shown, signals A and B are received on input leads 101-A and 101-B, respectively. Inverters 105 and 106 provide complementary signal pairs A, A and B, B to AND plane 120. AND plane 120 receives a plurality of signals, (typically, between 4 and 32, in the embodiment of FIG. 7, four input signals) on polycrystalline silicon lines 125A, 125A, 125B, and 125B. NOR gates 122 serve to selectively, in response to clock signal CLK. apply the inverses of signals A, A, B, and B to polycrystalline silicon lines 125A, 125A, 125B, and 125B, respectively. 
     Programmed subsets of signals input to AND plane 120 are logically multiplied together to form P, typically between 4 and 48, logical product or &#34;minterm&#34; output signals T1 through TP. The P minterms are applied to input lines 135 of OR plane 130, where N programmed subsets of minterms are logically added to form N sum-of-product output signals Z1 through ZN. N is typically between 1 and 32. In this example, N=2. 
     PLA 100 constructed in accordance with the teachings of this invention foregoes precharging either AND plane 120 or OR plane 130 and thereby avoids using slower series logic gates or parallel logic gates with a multi-phase clock and extra input-disabling transistors. A single one-phase clock signal CLK applied via lead 108, FIGS. 7 and 9, disables and precharges preferably the plane with more output nodes, to minimize the number of gates using current through their bias resistors. In the preferred embodiment, the larger AND plane 120 is precharged. 
     AND plane 120 and OR plane 130 are implemented using parallel transistor NOR gates (124,134) with NOR gates 122 serving as inverters in the M input lines to the AND plane and with inverters 139 in the N output lines from the OR plane. NOR gate 150 has substantially the same cross section in AND plane 120, as shown in FIG. 8, and in OR plane 130, except generally different numbers (M and P) of transistor gate lines (125, 135), and programmed numbers of source-drain diffusions (126-127, 136-137) forming transistors (124, 134) with the gate lines. 
     In AND plane 120, for example, polycrystalline silicon lines 125 serve as control gate electrodes for a plurality of transistors 124 formed according to the predetermined sum-of-products function, using well known masking and ion implantation techniques, to form diffused regions 126 and 127. For each transistor 124, diffused region 126 on one side of the polycrystalline silicon line 125A through 125B serves as the source, and is connected to ground Vss through diffused line 160. The diffused region 127 on the other side of the polycrystalline silicon line 125A through 125B serves as the drain and is connected through electrical contacts 118 to a conductive lead 128 (typically aluminum) connected between precharge transistors 115 and a selected minterm output lead T1 through TP. In this manner, when a transistor 124 turns on in response to the signal applied to its polycrystalline silicon gate 125, its minterm metal line 128 is pulled to ground (Vss), thereby providing the desired minterm output signal. Line 128 is pulled to Vss when the minterm is false. 
     In FIG. 8, where NOR gate output metal line 128 crosses unselected input gate line 125B, source and drain regions are omitted, as indicated by dashed outline 129. Output nodes 128 are connected by electrical contacts 118 to all regions programmed for drain diffusions 127, or simply to all potential drain diffusion regions. 
     In an alternate embodiment, diffused region 160 is formed in a manner to make source and drain diffusions at all possible locations within AND plane 120, but electrical contacts 118 are only formed to allow selected transistors to pull down metal lines 128, in accordance with the desired sum-of-products function. 
     In the preferred embodiment of PLA 100 using 3 micron minimum width lines, a transistor 124 or 134 occupies only about 1/3 of a square mil. 
     The circuit formed by the example programming of the FIG. 7 PLA layout is shown in FIG. 9. Input NOR gates 122 serve as AND plane input signal inverters. Each gate 122 has a second input terminal connected to clock signal CLK lead 108. The high or &#34;true&#34; voltage level &#34;precharge&#34; portion of clock signal CLK applied to input NOR gates 122 forces all of the AND plane input signals on lines 125 to low or &#34;false&#34;, which turns off all of AND plane N channel NOR transistors 124, disconnecting and leaving minterm output nodes 128 floating. Simultaneously, a low voltage inverted clock signal CLK from lead 109 applied to polycrystalline silicon gate line 116 turns on AND plane pull-up P channel transistors 115, connecting the voltage supply diffusion Vdd 110 to floating AND minterm output nodes 128, precharging their capacitance to &#34;true&#34; voltage Vdd. 
     In the precharge mode, the high clock signal CLK on lead 108 turns off OR plane P channel pull up transistors 145. The AND plane output minterm lines 128 precharged to Vdd keep all of the OR plane N channel pull-down transistors 134 turned on, grounding OR sum term leads 138 to Vss diffusion 160. 
     The second half-cycle of clock signal CLK puts PLA 100 in the &#34;output mode.&#34; A high CLK signal applied to line 116 turns off P channel pull-up transistors 115. Simultaneously, the low CLK signal applied to the second terminal of each input NOR gate 122 enables AND plane input lines 121. AND plane input signals A,A,B,B are inverted by enabled NOR gates 122 and applied to the gates of NOR output transistors 124. A false signal on one (or more) AND plane input lines 101A through 101B causes a high voltage to appear on the corresponding gate line 125. This suffices to conduct current to ground from each output node minterm line 128 across which line 125 forms a pull-down transistor 124. 
     During the output mode, the low CLK signal on lead 108 turns on OR plane pull-up transistors 145. If all of the transistors 134 connected to a given OR plane metal sum-of-product term lead 138 are turned off by low minterm signals the associated OR plane pull-up transistor 145 raises the voltage of the connecting sum-of-product term output line 138, and this signal is in turn inverted by OR plane output inverters 139. Thus, if no minterm from AND plane 120 grounds an OR plane metal line 138, line 138 voltage is pulled high by associated pull-up transistor 145, and the high value is inverted by inverter 139 to provide a low or false output signal. 
     Conversely, if there are no false input signals to a given AND gate of AND plane 120, its minterm output line 128 is not grounded, and holds its &#34;true&#34; precharge signal. A true (high) signal on OR plane input line 135 keeps the corresponding NOR gate transistor 134 conducting, grounding OR plane metal line 138. Although OR plane pull-up transistors 145 stay on (in effect, acting as resistors) during the output mode, they are overridden by the larger OR plane pulldown transistors 134 which keep the line 138 voltage low. The low signal on line 138 is inverted into a high or &#34;true&#34; output signal Z. 
     The preferred embodiment of PLA 100 is capable of performing sum-of-product operations at a rate of 4 megahertz with 3 micron CMOS technology. A smaller geometry technology could run even faster. 
     A preferred embodiment has been illustrated, of which modifications and adaptations within the scope of the invention will occur to those skilled in the art. For example, the OR plane can be precharged instead of the AND plane. This is done by replacing each AND plane input NOR gate 122 with a NAND gate, and by inverting the clock signal so that during the precharge mode a low signal CLK is applied to the input NAND gates and to OR plane pull-up transistors 145 while a high signal CLK is applied to line 109 to AND plane pull-up transistors 115. In this manner, polysilicon gate lines 125 forced high in the precharge mode cause AND plane output lines 128 to be grounded, and low signals on OR plane input lines 135 turn off transistors 134, allowing OR output nodes 138 to be precharged to the &#34;true&#34; high voltage Vdd. The CLK signal is applied to the plane being precharged, and the clock signal to the grounded plane. 
     In alternate embodiments, interchanging all of the transistor types, logic convention, and voltage supply polarities obtains the same net result. A PLA circuit could also be constructed using depletion mode (normally on) CMOS transistors, or heavily doped and lightly doped (intrinsic) transistors of one conductivity type, although single conductivity type devices do not turn on to precharge, or turn off to stop discharge, as fully as CMOS devices. The invention is limited only by the scope of the following claims.