|Publication number||US4468735 A|
|Application number||US 06/378,959|
|Publication date||Aug 28, 1984|
|Filing date||May 17, 1982|
|Priority date||May 30, 1981|
|Also published as||DE3121562A1, EP0066050A2, EP0066050A3, EP0066050B1|
|Publication number||06378959, 378959, US 4468735 A, US 4468735A, US-A-4468735, US4468735 A, US4468735A|
|Inventors||Volkmar Gotze, Gunther Potz|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (11), Non-Patent Citations (8), Referenced by (5), Classifications (7), Legal Events (5)|
|External Links: USPTO, USPTO Assignment, Espacenet|
Cv'=Fv·S2+S2·S1 (v=0, 1, 2 . . . n),
The invention generally relates to a programmable logic array (PLA). More particularly, the invention relates to a PLA of improved functional and physical integration density.
Programmable logic arrays are known in various forms, e.g. from the book "MOS/LSI Design and Application" by W. Carr and J. Mice, McGrau-Hill, l972, pp. 229 to 258. By means of a progrmmable logic array, combinatorial logic can be directly implemented in regular structures, particularly in matrix arrangements. Compared with earlier logic circuits which were not provided in regular structures, PLA's facilitate mass production as well as testing and stock keeping.
Beside programmable logic arrays whose logic or data pattern is permanently impressed during production, with no subsequent modifications being possible, there also have been described programmable logic arrays permitting alteration after manufacture. U.S. Pat. No. 3,987,286 assigned to the assignee of the present invention is an example of such an arrangement. There, through time-controlled release or inhibition of logic circuits of the matrix arrangements, different logic functions can be executed in one and the same PLA. This arrangement requires, however, that personalization data must be stored in additionally required shift register elements.
Further, multi-personalizations with specific coupling and logic elements are known which can adopt several states. Reference is made in this connection to IBM Technical Disclosure Bulletin, Vol. 17, No. 3, August 1974, pp. 811 and 812. However, owing to the components, and the low operational speed these concepts were not fully satisfactory.
From IBM Technical Disclosure Bulletin, Vol. 20, No. 10, March 1978, pp. 4016 to 4018, and U.S. Pat. No. 4,084, 152, highly integrated programmable logic circuit arrays are known, where remaining unused logic areas, i.e. redundant circuits, are reduced. A disadvantage of these circuit arrangements, however, is that they impose considerable restrictions on the expert when designing complex logic networks. This means that the high amount of flexibility from regular structures is lost with the consequences that the possible application field of this type of programmable logic arrays is very limited.
In applicant's co-pending U.S. patent application, Ser. No. 317,699 filed Nov. 2, 1981 and assigned to the assignee of the present invention which is now U.S. Pat. No. 4,445,202, a further improvement of these programmable logic arrays is disclosed which permits a higher functional density as well as a rapid electrical switching between different functions while avoiding the need for high re-programming voltages or specific circuit elements. More particularly, array logic or coupling elements are one-device FET cells whose gate electrodes are patterned in accordance with a respective personalization state at that particular crosspoint. For instance, in a two-fold personalization PLA, the coupling elements consist of FET's with two gate sections provided one beside the other. For a connection to be established in only one of the two possible functions at the respective crosspoint, one of the gate sections is connected to a control line provided for the functional selection. The remaining gate section is connected to the associated input line. A connection in the other functional mode is provided correspondingly with only the control lines being switched. If at the respective crosspoint a connection is to be effective in both functional modes, both gate sectiions are jointly connected to the respective input line. Although this type of a PLA offers a high semiconductor surface utilization and is therefore suitable for highly integrated structures, it is still desirable to take advantage of the relatively high amount of remaining redundant components or Don't Care positions in such a PLA structure.
Accordingly, it is an object of the invention to provide a programmable logic array with a further increased functional density.
It is another object of this invention to provide a programmable logic array with a quick electrical switching capability between different stored functions without a need for high voltages or special cell components for re-programming.
Yet another object of the invention is to provide in a highly integrated programmable logic array the activation of available redundant or Don't Care states of array cells.
In accordance with the invention a programmable logic array is comprised of double-personalized cells arranged in an AND and OR array. In order to activate otherwise redundant or Don't Care positions, control circuits are provided preceding the AND array as well as between the AND and the OR array. These control circuits consist of two-stage AND-OR circuits. For optimum utilization of the Don't Care positions and planes, each functional input can be switched to any discretionary functional line of the PLA. By providing an additional control line in the OR array, the control logic for the entire OR array can be reduced to only two AND circuits.
Owing to the activation of the Don't Care state of the cells within the PLA and the separate control means for the AND and the OR array of the PLA, there now exists a considerably increased number of accessible logic functions, which goes along with a significant reduction of circuit redundancy.
Through the newly introduced control circuits in the form of two-stage AND/OR circuits, an elegant control of the AND and OR arrays has become possible. Such a type of control circuit fits very well into the entire structure of the programmable logic array in highly integrated technique. The additional circuit space required for the control logic can thus be kept at a minimum.
The foregoing and other objects, features and advantages of the invention will be described with reference to the drawings which illustrate a preferred embodiment. In the drawings:
FIG. 1 is a block circuit diagram of a programmable logic array which in accordance with the invention is provided with control circuits arranged at the inputs of the AND array and between the AND and OR arrays;
FIG. 2 shows a schematic of a PLA employing the field effect transistor technnique, the PLA cells having two gate electrodes per field effect transistor;
FIG. 3 shows a PLA cell with activation of a Don't Care state;
FIG. 4A shows a further embodiment for the cell selection in the OR array as an alternative to the version of FIG. 2;
FIG. 4B shows the modified control logic for the selection type of FIG. 4A; and
FIG. 5 shows a schematic representation of part of a programmable logic circuit array in a personalized form of a two-fold addressable PLA with three optional functions, i.e. two's complement, full adder and decoder.
The programmable logic circuit array of FIG. 1 is particularly suitable for being made in a highly integrated mode, since it has a regular structure, and since the interposed control circuits also consist of a combination of AND and OR circuits. This programmable logic circuit array is comprised of an AND array 1 and an OR array 2. Control circuits STo to STn are provided preceding AND array 1 for selecting one of the possible cells. To each of the control circuits STo to STn control inputs S1 and S2 are jointly applied, as well as one respective functional input F0, F1, . . . Fn. The outputs of each control circuit STo to STn are marked F0', C0, C0', . . . , Fn', Cn, Cn'. This circuit for selecting one of the five possible states within the programmable logic array is to satisfy the following conditions for each functional line (with index v running from 0, 1, 2 . . . to n for AND array 1):
TABLE 1______________________________________Control Inputs PLA InputsS1 S2 PLA Function Fv' Cv Cv'______________________________________1 0 FKT1 Fv 1 00 0 FKT2 Fv 0 10 1 FKT3 0 Fv Fv______________________________________ Fv' = Fv · --S2 Cv = Fv · S2 + --S2 · S1 Cv' = Fv · S2 + --S2 · --S1
AND array 1 comprises product term (output) lines Po and Pm which act on the OR array via control circuits STPo to STPm, and their output lines P0', C0, C0', . . . Pm', Cm, Cm'. Also applied to control circuits STPo to STPm are control inputs S3 and S4. At the lower edge of OR array 2, the output (sum term) lines 3 of the programmable logic array are provided. The structure of control circuits STo to STn and STPo to STPm will be described below in connection with FIG. 2.
FIG. 2 shows a more detailed circuit diagram of a programmable logic circuit array suitable for maximum integration through the use of field effect transistors with two gate electrodes. Before describing the operation of this arrangement in detail, the structure and operation of one single cell according to FIG. 3 will be discussed. A single cell for the programmable logic circuit array described in FIG. 2 consists of a field effect transistor FET. This field effect transistor FET comprises two gate electrodes T1 and T2. One electrode of the field effect transistor FET, preferably the drain electrode, is connected via a line and a resistor R to a supply voltage V+. Further, there exist line Fv', provided vertically to this line, as well as line Cv and line Cv'. Line Fv' is the functional input line required in double personalization as indicated in Table 1 above for the two functions FKT1 and FKT2. The line connections to the two gate electrodes T1 and T2 of the respective cell FET have to correspond to this table.
If the Don't Care state of the FET is to be activated for a third function FKT3 the connections of FIG. 3 to T1 and T2 of the respective cell FET are to be established. These connections correspond to the activation condition: Cv=Cv'=Fv.
Up to now, this additional PLA cell state had not been used in the double personalization as mentioned above in connection with applicant's application Ser. No. 317,669 which is now U.S. Pat. No. 4,445,202 which is hereby expressly incorporated by reference for further explanation of the basic multi-addressable PLA structure and operation.
Returning to FIG. 2 the representation shows particularly the practical functional realization by means of cells and their wiring in accordance with FIG. 3. In the upper part of FIG. 2, there are control circuits ST0, ST1 and ST2 connected to the common control lines S1 and S2. Inputs F0, F1, F2 . . . are applied to these control circuits. For better utilization of the Don't Care positions the control circuits, e.g. STo, provide the possibility to feed in another input, e.g. Fv0 besides F0. Such a second input may be provided, for instance, by a wiring cross-connection from one of the other functional inputs Fv. In general, this allows a still higher degree of flexibility as to the assignment of the various input signals to particular control circuits of PLA input lines, respectively. If this additional degree of freedom is not needed the respective inputs, e.g. F0 and Fv0, are connected and designated F0 as generally indicated in FIG. 1. The same applies accordingly for all product terms, i.e., the input lines to control circuits STPo, STPl ... STPm.
As shown in detail for STo the control circuits are comprised of conventional AND and OR gates. They have an identical structure for all the control circuits STo, ST1 ... STn and (with with exception of the inverter output stages) for STPo, STPl . . . STPm. In this connection it is to be noted that this type of circuit structure, i.e., AND and OR gates, is well compatible with the (FET) technology of the AND and OR arrays forming the PLA.
In the control circuit embodiment shown in FIG. 2 the input signals for AND array 1, are converted into their respective inverted forms. It should be appreciated, however, that directly applying the input signals in true and complement form is likewise possible with a corresponding circuit reduction obtainable within the control circuits. At the outputs of the control circuits, e.g. STo, signals C0 and C0' as well as F0' are available in true and complement form. At the outputs of the other control circuits ST2, ST1, etc., the corresponding signals are available, as shown in FIG. 2. These output signal lines are collected column-wise and connected to the gate electrodes of the cell FET's of AND array 1 in such a manner that each control circuit has advantageously two associated columns, i.e. one with the true function F0', and the other with the complement function F0'. The output lines of AND array 1 are represented by the horizontal lines Po to Pm, five of which are shown in FIG. 2. These horizontal lines Po to Pm are connected at their left and via one respective resistor to supply voltage +V. Lines Po to Pm lead as input lines to control circuits STPo to STPm provided between AND array 1 and OR array 2. Five control circuits are indicated schematically in FIG. 2. Control circuits STPo to STPm are controlled by control signals S3 and S4. Additional inputs Pvo . . . Pvm can be connected to discretionary product term lines (Po . . . Pm) for the optimum utilization of the Don't Care position as mentioned above for further input signals, e.g. Fv0 applied to control circuit STo. The output lines of control circuits STPo to STPm are connected to the gate electrodes of one respective row of cells in OR array 2. The cells of OR array 2 are also comprised of a basic cell in accordance with FIG. 3. Vertically to the output lines of control circuits STPo to STPm there extend (sum term) lines 3 providing the PLA output. At their other end these lines are connected via a respective resistor to supply voltage +V.
The control circuits ST0, ST2, etc. for selecting one of the five possible cell states have to satisfy the conditions of each functional line in accordance with the Table 1 supra. Those functions are performed by the AND and OR circuits in control circuit STo. The circuit structure for control circuits STl to STm is analogous thereto, as is the structure of the further control circuits STPo to STPm provided between the AND and the OR array of the programmable logic array. The latter control circuits, however, need not to incorporate the inverter output stages indicated as part of STo. For the optimum utilization of the Don't Care states of a programmable logic circuit array, each functional input can be switched to any discretionary functional line of the programmable logic circuit array.
In the following, a listing of possible functional combinations will be given. As the AND and the OR array 1 and 2 can be controlled separately, nine logic functions can be realized, as shown from the following Table 2. The theoretically possible number of 16 combinations is reduced to 9 by excluding the conditions S1=S2=1 and S3=S4=1 which is in compliance with the earlier given Table 1.
TABLE 2______________________________________S1 S2 S3 S4 PLA Function______________________________________1 0 1 0 FKT10 0 0 0 FKT20 1 0 1 FKT31 0 0 0 FKT40 0 0 1 FKT50 1 1 0 FKT61 0 0 1 FKT70 0 1 0 FKT80 1 0 0 FKT9______________________________________
As pointed out above, control circuits ST0 to STn and STPO to STm can easily be integrated in the structure of the programmable logic circuit array also consisting of AND and OR circuits. Consequently, the additional surface required for these control circuits is relatively small.
Depending on the use of the programmable logic circuits, there is a difference as regards the number of inputs, the number of lines for the product terms, and the number of lines for the sum terms. In cases of a great number of product terms, the integration of an additional control line into OR array 2 is recommended. In this case any FET in the OR array can be wired with regard to its gate connections so that its selection is dependent on the occurrence of one of the signals designated (generally) Cv, Cv'or S4 as illustrated in FIG. 4A.
Thus, the control logic for the entire OR array 2 can be reduced to two logic AND circuits as depicted in FIG. 4B. As is apparent from the following Table 3 by the introduction of an additional control line (S4) in the OR array three OR array functions (A, B, C) can be selected. (The same would of course apply with respect to the AND array of the PLA, if necessary.) Thus a triple use of the array bits is possible where the third function is no longer restricted to array positions not occupied by the first and/or second conventional function personalization.
TABLE 3______________________________________ OR ArrayS3 S4 Cv Cv' S4 Function______________________________________0 0 0 1 0 A0 1 0 0 1 B1 0 1 0 0 C______________________________________
FIG. 5 is a schematic representation of part of the programmable logic circuit array in a personalized form. At the left there is a schematic representation of AND array 1, and at the right of OR array 2. Instead of control circuits STP0 to STP4, and ST0 to ST4, and ST0 to ST2 as shown in FIG. 2, the logic signals supplied by these control circuits to the individual column lines in AND array 1 are illustrated.
For the AND array 1 there are shown six vertical input lines for 3 inputs provided in their respective true and inverted representation. To these input lines there are applied the input signals as indicated in FIG. 5, e.g. A2, A2, A1, A1, A0, A0. The respective function to be performed with these signals is referred to as FKT 1, and is to produce the two's complement of a 3 digit binary number. The corresponding personalization symbol for this particular function is illustrated as a white triangle at the respective array crosspoints. FIG. 5 shows in the same manner as outlined above the input signals and personalization symbols for the two other functions, full adder, and decoder, which have been selected as illustrating application examples. They will be explained in more detail later.
The horizontal lines connecting AND array 1 with OR array 2 correspond to the product term lines. Finally the vertical sum term lines in OR array 2 provide the respective output or result signals for the particular functions FKT1, FKT2 and FKT3.
Table 4 below shows the logic conditions which apply for control signals S1 to S4 in order to produce each of the three PLA functions chosen as examples.
TABLE 4______________________________________S1 (= S3) S2 (= S4) PLA Function______________________________________1 0 FKT1: Two's Complement0 0 FKT2: Full Adder0 1 FKT3: Decoder______________________________________
In more detail, the logic combinations for the three chosen PLA functions FKT1, FKT2 and FKT3 are as follows:
______________________________________ Input: A0, A1, A2 Output: A0K, A1K, A2K______________________________________A2K = --A0 --A1 A2 + --A0 A1 A2 + A0 --A1 A2 + A0 A1 A2A1K = --A0 --A1 A2 + --A0 A1 --A2 + A0 -- A1 A2 + A0 A1 --A2A0K = A0 --A1 --A2 + --A0 A1 A2 + --A0 --A1 A2 + --A0 A1______________________________________--A2
Input: A0, B0, Carry-in (CIN)
Output: SUM; Carry-out (COU) SUM=A⊕B⊕C=ABC+ABC+ABC+ABC COU=C(A⊕B)+AB=ABC+ABC+ABC+ABC
Input: A0, B0
Output: 0, 1, 2, 3
The disclosed programmable logic array can be elegantly tested by selecting the activatable Don't Care positions in a double-addressing PLA on the basis of the following test principles:
(1) Establishing an unique assignment of the first or second function (first or second personalization plane) of AND array 1 to the test function (Don't Care plane) of OR array 2 for the testing of AND array 1.
(2) Establishing an unique assignment of the first or second function of OR array 2 to the test function of AND array 1 for testing OR array 2.
In this manner, each product term (output line of AND array) or sum term (output line of OR array) is tested through the selection of the activatable Don't Care positions in a double-addressing PLA.
While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3987286 *||Dec 20, 1974||Oct 19, 1976||International Business Machines Corporation||Time split array logic element and method of operation|
|US4053793 *||Mar 25, 1976||Oct 11, 1977||Siemens Aktiengesellschaft||Modular logic circuit for performing different logic functions|
|US4084152 *||Apr 4, 1977||Apr 11, 1978||International Business Machines Corporation||Time shared programmable logic array|
|US4103182 *||Sep 1, 1976||Jul 25, 1978||Hewlett-Packard Company||Programmable transfer gate array|
|US4177452 *||Jun 5, 1978||Dec 4, 1979||International Business Machines Corporation||Electrically programmable logic array|
|US4195352 *||Jul 8, 1977||Mar 25, 1980||Xerox Corporation||Split programmable logic array|
|US4208728 *||Dec 21, 1978||Jun 17, 1980||Bell Telephone Laboratories, Incorporated||Programable logic array|
|US4233667 *||Oct 23, 1978||Nov 11, 1980||International Business Machines Corporation||Demand powered programmable logic array|
|US4237542 *||Apr 28, 1978||Dec 2, 1980||International Business Machines Corporation||Programmable logic arrays|
|US4293783 *||Nov 1, 1978||Oct 6, 1981||Massachusetts Institute Of Technology||Storage/logic array|
|US4354228 *||Dec 20, 1979||Oct 12, 1982||International Business Machines Corporation||Flexible processor on a single semiconductor substrate using a plurality of arrays|
|1||*||IBM Technical Disclosure Bulletin, vol. 17, No. 3, Aug. 1974, pp. 811 812.|
|2||IBM Technical Disclosure Bulletin, vol. 17, No. 3, Aug. 1974, pp. 811-812.|
|3||IBM Technical Disclosure Bulletin, vol. 20, No. 10, Mar. 1978, "Increasing Chip Density by Space Sharing of Programmed Logic Arrays" by Balasubramanian et al., pp. 4016-4018.|
|4||*||IBM Technical Disclosure Bulletin, vol. 20, No. 10, Mar. 1978, Increasing Chip Density by Space Sharing of Programmed Logic Arrays by Balasubramanian et al., pp. 4016 4018.|
|5||IBM Technical Disclosure Bulletin, vol. 24, No. 2, Jul. 1981, "Three-Dimensional Programmable Logic Array" by Goetze et al., pp. 886-887.|
|6||*||IBM Technical Disclosure Bulletin, vol. 24, No. 2, Jul. 1981, Three Dimensional Programmable Logic Array by Goetze et al., pp. 886 887.|
|7||*||MOS/LSI Design and Application, by W. Carr and J. Mize, McGraw Hill 1972, pp. 229 258.|
|8||MOS/LSI Design and Application, by W. Carr and J. Mize, McGraw Hill 1972, pp. 229-258.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US4835679 *||Jan 14, 1986||May 30, 1989||Hitachi, Ltd.||Microprogram control system|
|US4858178 *||Sep 30, 1986||Aug 15, 1989||Texas Instruments Incorporated||Programmable sequence generator|
|US4880754 *||Jul 6, 1987||Nov 14, 1989||International Business Machines Corp.||Method for providing engineering changes to LSI PLAs|
|US8438522||Sep 24, 2008||May 7, 2013||Iowa State University Research Foundation, Inc.||Logic element architecture for generic logic chains in programmable devices|
|US8661394||Sep 24, 2008||Feb 25, 2014||Iowa State University Research Foundation, Inc.||Depth-optimal mapping of logic chains in reconfigurable fabrics|
|U.S. Classification||326/39, 326/13, 326/44, 708/232|
|May 17, 1982||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:GOTZE, VOLKMAR;POTZ, GUNTHER;REEL/FRAME:004000/0412
Effective date: 19820510
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, A COR
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GOTZE, VOLKMAR;POTZ, GUNTHER;REEL/FRAME:004000/0412
Effective date: 19820510
|Sep 2, 1986||CC||Certificate of correction|
|Nov 5, 1987||FPAY||Fee payment|
Year of fee payment: 4
|Oct 23, 1991||FPAY||Fee payment|
Year of fee payment: 8
|Jan 2, 1996||FPAY||Fee payment|
Year of fee payment: 12