Background of the Invention
1. Field of the Invention
The present invention relates to programmed logic arrays and more particularly to a 2-bit partitioning circuit for a dynamic, programmed logic array.
2. Description of the Prior Art
The programmed logic arrays (PLA's) are read-only structures that are programmed to perform both sequential and combinational logic. The combinational logic is implemented by means of sum-of-product functions as performed by AND arrays and OR arrays in cascade. The sequential logic is achieved by means of storage elements in the form of flip-flips or registers that may be driven in either a set/reset or toggle mode as a function of the pattern stored in a portion of the OR array. The feedback register is connected to internal inputs to the AND array through a feedback path that is internal to the PLA chip.
The PLA has basically a table look-up structure, where the AND array forms the look-up library and the OR array forms the resultant output for the operation. The AND array consists of many product terms (words) and is partitioned into two sections: the external field and the feedback field from the feedback register. Both of these fields are processed in parallel in the AND array to select words in the OR array. The OR array performs the logical OR operation on the values written in the selected words. The OR array is also partitioned into two fields: one field is gated to the external outputs, the other operates on the feedback register.
The total function of an array may be thought of as a sum-of-product expression. Because the product formation is done in the decoder, that part of the array is termed the AND or SEARCH array. Similarly, as the summing is done in what for a conventional memory would be the bit pattern, that part is termed the OR or READ array. In a conventional PLA, the true and complement values of the primary inputs are provided to the SEARCH or AND array. Thus, for two primary inputs A and B, the signals A, A, B and B are formed as inputs to the SEARCH array. Suppose that the input signals to the SEARCH array were defined as
Un = An + Bn
Vn = An + Bn
Xn = An + Bn
Yn = An + Bn.
Providing such signals implements 2-bit partitioning. The extension of arrays by means of 2-bit partitioning generally provides more efficient implementation of functions by reducing the number of array product terms required.
Summary of the Invention
It is an object of the present invention to provide a dynamic circuit for performing 2-bit partitioning for a PLA with only one clock time to perform two levels of logic.
It is another object to provide a dynamic circuit for performing 2-bit partitioning which is simple, uses low power and is fast. These and other objects are provided by the present invention which provides a 2-bit partitioning circuit for a dynamic programmed logic array which introduces two stages of delay in the signal path in one clock cycle, with minimum power dissipation. The circuit has two primary inputs and four outputs which serve as inputs to a bootstrap driver which produces an output signal to the programmed logic array. A basic path through the circuit consists of two stages, the first stage comprising two active devices (FET's) and a first capacitive means. The first primary input is connected to the gate of one of the active devices, and the first capacitive means comprises a capacitor connected to a common drain/source node a of the two active devices. The second stage comprises three active devices (FET's) and a second capacitive means. The gate of a first one of the three active devices is connected to the node a, and the three active devices are all connected to a common drain/source node b which is also connected as a gate input to a FET included in the bootstrap driver. The second primary input is connected to the gate of one of the three active devices in the second stage. A first phase voltage is applied to the gate or source terminals of the active devices in both stages, and a second phase voltage is applied to the bootstrap driver. The major portion of the capacitance of the second stage is provided by the capacitance of the bootstrap driver. The stages are dynamic with the discharge speed of the first stage being much faster than that of the second stage, thereby enabling a signal to propagate through the two stages in one clock cycle, with the only power dissipation being that required to charge the two capacitive means.
Brief Description of the Drawings
FIG. 1a is a block diagram of the 2-bit partitioning circuit and FIG. 1b is a circuit diagram of a path through the 2-bit partitioning circuit, illustrative of the present invention;
FIGS. 2a through 2h are timing diagrams showing the clocks and output signals at various points of the circuit shown in FIG. 1b for two illustrative conditions;
FIG. 3a is a circuit diagram of a conventional bootstrap driver, and FIGS. 3b and 3c are cross-sectional views of the driver structure for the different modes of operation indicated.
Description of the Preferred Embodiments
Referring to FIG. 1a, there is shown a circuit block diagram of a two bit partitioning circuit incorporating the input decoder of the present invention. The input decoder is indicated by the circuitry within the broken line circle 10 shown in both FIGS. 1a and 1b. The two primary inputs A and B are applied on lines 14 and 16, respectively, to input inverters 18 and 20. The primary inputs A and B as well as the inverted signals A and B formed by inverters 18 and 20 are applied to decoders in the form of NOR circuits 22, 24, 26, 28 which provide the signals A + B, A + B, A + B and A + B thereby implementing 2-bit partitioning. The output of the decoders 22, 24, 26 and 28 is applied to the programmed logic arrays via bootstrap drivers 30, 32, 34 and 36.
Referring to FIG. 1b, there is shown the input decoder 10 for the 2-bit partitioning circuit which is connected between the primary input lines 14 and 16 and the output line 38 to the bootstrap driver 32 for the programmed logic array (PLA). Circuit 10 consists of two stages, the first stage comprising two active devices (FETs) 1 and 2 and a capacitor 7. The first primary input line 14 is connected to the gate of FET 1 and the capacitor 7 is connected to a common node a of FETs 1 and 2. The second stage comprises three active devices, shown as FETs 3, 4 and 5, and a second capacitor 8. Capacitors 7 and 8 are also indicated by C.sub.1 and C.sub.BS, respectively. For purposes of the description, each of the field effect transistors (FETs 1-5) shown in FIG. 1b is an N-channel enhancement mode device which is OFF or non-conducting with zero potential between its gate and source electrode, and is rendered conductive when a positive pulse of sufficient amplitude is applied to the gate electrode.
Capacitor C.sub.1 is connected to a common node a of FETs 1 and 2, which node a is also connected to the gate electrode of FET 4. The electrodes of each of the three FETs 3, 4 and 5 in the second stage are connected to a common node b which is indicated by the output line 38 connected as a gate input to a FET 6 in the bootstrap driver 32. The second primary input B is connected via line 16 to the gate of FET 5 in the second stage. A pulsed source, indicated by .phi.1, provides a phase voltage to the common node d which is electrically connected to the gates of FETs 2 and 3 and to the electrodes of FETs 1, 4 and 5 as shown. A second pulsed source indicated by .phi.2 provides a phase voltage at node e to an electrode of FET 6 of the bootstrap driver. Each of the phase voltages provided by pulsed sources .phi.1 and .phi.2 is a positive voltage +V at the respective clock intervals as shown by the waveforms of FIGS. 2a and 2b. The drain terminals of FETs 2 and 3 are connected at line 40 to a positive voltage source V.sub.dd. The bootstrap capacitor C.sub.BS is connected between the node e and the gate of FET 6. The output of the bootstrap driver 32 is applied via node c to the array.
The operation of the circuit 10 of FIG. 1b is as follows. When .phi.1 goes high to a positive voltage, FETs 2 and 3 are turned on to pre-charge nodes a and b to Vdd. No static power dissipation occurs since the source of FETs 1, 4 and 5, i.e., node d, is high.
Two primary input conditions must now be considered to illustrate the circuit operation. For the first condition input A is low and input B is low. For the second condition, input A is high and input B is low. Considering now the first condition where both inputs A and B are low, .phi..sub.1 goes low turning off FETs 2 and 3. Device 1 is off since input A is low. Since node a is high, device 4 turns on when node d (.phi..sub.1) falls below the threshold voltage of device 4, causing node b to discharge through device 4. FIGS. 2a and 2b represent the voltage waveforms at nodes d and e, respectively, and FIGS. 2c, 2d and 2e represent the waveforms of nodes a, b, and c, respectively, for the first condition described above. Dotted line 42 indicates the time when node d (.phi..sub.1) falls below the threshold voltage of device 4. It is noted that there must be sufficient time between .phi..sub.1 going low and .phi..sub.2 going high for node b to completely discharge. Also, the node b is held low through device 4 after .phi..sub.1 falls, since node a remains high.
FIG. 3a is circuit diagram showing the capacitances of the bootstrap driver, and FIG. 3b shows the cross-sectional view of the bootstrap driver for the first condition described above. As is well known in the art, the bootstrap driver comprises a conventional FET device designed with additional metal and a thin oxide region producing the bootstrap capacitance C.sub.BS, which includes a depletion layer capacitance and an oxide capacitance.
Continuing with the description of the operation of the circuit 10 for the first input description, with node b low, the capacitance Cox of the bootstrap driver 32 is switched to position 1, as shown by the FIGS. 3a and 3b. Thus, the only capacitance connecting node e to node b is the parasitic capacitance Cpgd between the gate and drain electrodes: when .phi.2 goes high, node b remains low since the parasitic coupling from Cpgd is small and, in addition, device 4 is turned on clamping node b to ground. The parasitic coupling would be computed as follows: ##EQU1## if it were not for the clamp through device 4. Since device 6 is off node c remains low and there is no output signal from the driver 32.
The circuit operation for the second condition will now be described wherein input A is high and input B is low. The voltage waveforms at the nodes a, b and c are shown in FIGS. 2f, 2g and 2h, respectively. Also, FIG. 3C shows a cross-sectional view of structure of the bootstrap driver for second condition. Input phase voltage .phi.1 goes low, turning off FETs 2 and 3. When the voltage between input A and .phi.1(d) and node a and .phi.1(d) is greater than the threshold voltage of FETs 1 and 4, a race condition exists, i.e., both the device 1 and the device 4 attempt to discharge. At this point, the capacitance of node b is approximately Cox since node b is high and the bootstrap capacitance of FIG. 3a is in position 2, for the reason that the surface under the capacitance is inverted as shown in FIG. 3c connecting it to diffusion e.
If the ratio of ##EQU2## where WLR is the width to length ratio of the respective FET device indicative of the current carrying capacity, then node a will discharge more rapidly than node b. In addition, the voltage on the gate of device 1 is fixed whereas the voltage on the gate of device 4 is decreasing. Therefore, node a will discharge whereas node b will remain high, thereby providing the desired result shown in FIGS. 2f and 2g.
After the phase voltage .phi.1 falls, node b is high, device 6 is turned on, there is an inversion layer under the gate and the capacitance Cox is connected to diffusion e through this inversion layer, as shown in FIG. 3c. When the phase voltage .phi.2(e) goes high, the gate of device 6 (node b) is pulled higher through the bootstrap capacitance Cox which keeps device 6 on as the output node c rises. If Cox is a significant portion of the total capacitance on node b, node b will be bootstrapped to a voltage high enough to keep device 6 turned on such that the output voltage on node c will rise to approximately the .phi.2 phase voltage, as shown in FIG. 2h. It should be noted that devices 3, 4 and 5 are all off during this operation allowing node b to be bootstrapped to approximately Vdd + V.phi..sub.2.
Summarizing the operation of the circuit of FIG. 1b, during the up transition of .phi..sub.1, nodes a and b are charged to V.sub.dd. The conditions of interest when .phi..sub.1 goes low are input B low and input A both low and high. In the first condition where input A is low, FET 1 will be off node a will remain high and node b will discharge through FET 4. The second condition involves a race condition with input A high and input B low since both nodes a and b will attempt to discharge. The circuit is designed so that for this case node a will discharge and node b will remain high. Two things make this possible. First, because of the bootstrap capacitance C.sub.ox, node b is more heavily loaded and therefore the C/WLR ratio of node b is greater than the C/WLR ratio of node a. Secondly, the voltage on input A is fixed whereas the voltage on node a is falling which makes the race go in the right direction.
The circuit shown in FIG. 1b can also be used as a buffer stage for providing capacitive isolation. More specifically, if the A input line 14 shown in FIG. 1b were a heavily loaded capacitive node, which is to be coupled into the bootstrap driver 32, then the circuit indicated by the dotted line 10 in FIG. 1b, with the exception of the input B line 16 and the FET 5, would be used to provide capacitive isolation between the heavily loaded input A and the bootstrap driver 32. It is noted that since the above description of the operation of the circuit of FIG. 1b involves two conditions where the input B is at a low level and therefore the FET 5 is in the off state, then the buffer circuit will function in an identical manner as to that previously described. Let us assume that the capacitance at the A input line 14 is referred to as C.sub.A, the capacitance at the node b on the line is referred to as C.sub.b, and the relationship of the two capacitances is that C.sub.A is much greater than C.sub.b. If input A were connected directly into the bootstrap driver 32, the bootstrap driver would not function. This is caused by the large capacitance C.sub.A on the bootstrap driver input which prevents the bootstrapping action from taking place. Employment of the circuit 10, with the exception of FET 5, provides capacitive isolation between the input node A and node b with the logical level between such nodes being the same. Such capacitive isolation provided by this circuit thereby enables the bootstrap driver to function. The capacitive isolation or buffer circuit 10 shown in FIG. 1b, in conjunction with the bootstrap driver, can be used (a) between an AND array and an OR array of a programmed logic array, and (b) on the outputs of an OR array of a PLA.
While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention.