Soft programmable logic array
AssigneeControl Data Corporation
InventorDavid R. Resnick
Life of this patent
Estimating the term…
Loading patent…
AssigneeControl Data Corporation
InventorDavid R. Resnick
Estimating the term…
A programmable logic array is constructed of independently controllable logic building blocks of two types and special output logic to perform desired logic functions. The first building block is a functional element which is capable of performing any logical function of its input data to create output data. The functional elements shown are based on three inputs with a single output. The second basic type of building block is a pass-through/hold device which may either pass its input directly through as an output, or which may latch and hold the input until clocked. A plurality of logic levels or ranks of elements of the first type and ranks of the second type are interconnected so that the output can be various functions of the inputs. The logic array described here has first and second logic levels consisting of functional elements followed by a third level of pass-through/hold devices. The fourth and fifth logic levels are functional elements and pass-through/hold devices. The seventh and eighth logic levels are represented by another level of functional elements and pass-through/hold devices. Finally, the output logic is a plurality of output enable gates connected to tri-state buffers. The tri-state buffers may be high, low or floating. The output enable gate functions to either cause a direct pass-through of the input logic signal or activates the tri-state buffer to operate on the output logic level. The logic array is configured and controlled by input control bits to characterize the operation of each functional element and pass-through/hold device so that it functions either to produce combinations of input logic levels or to achieve particular logic states or a combination of the two functional modes. The output enable gates are controlled like the functional elements to either enable or disable tri-state control of the output buffers.
A soft programmable logic array for selectively providing every possible function for operating on a set of data input thereto such that any one of said possible functions may be performed in a single pass, having:
A soft programmable logic array comprising:
A soft programmable logic array comprised of:
A soft programmable logic array for performing a preselected logic function on a data input function comprising:
In a single integrated circuit chip a programmable logic array (having at least data inputs to receive data from off-chip, configuration logical data inputs to receive configuration data which determines the logical equations which operate on the data from the data inputs, and data outputs) which can provide, on said data outputs, the solution to every possible logic equation applied to the data input to said logic array, and which can provide further logical operations on these solutions such that complex, multistep logic equations may operate on a given set of input data, and wherein said programmable logic array may be programmed and reprogrammed by configuration logical data (the logical or physical control of which may occur on- or off-chip) to provide during the normal operation of the system into which such array is incorporated a repeatable or changeable logical configuration to operate on any set of data input thereto wherein said array comprises:
A programmable logic array having a plurality of functional element means each having an output, a set of configuration inputs, and a set of data inputs which are uniquely assigned to each functional element means and having internal logic whereby said configuration inputs cause the output on one pass to be a predetermined one or other subset of all possible logic functions of the data inputs;
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Controllable logic circuits: using multiplexers
Using elementary logic circuits as components: controllable logic circuits
Pulse technique
Term ended 13 Dec 2005 (estimated)
USPTO file history isn’t available for this patent, so only indexed dates are shown.
The present invention relates to a type of circuit known as a programmable logic array. Typically, programmable logic or very large scale integrated circuit (VLSI) circuit chips. These programmable logic array chips are of a type that when manufactured, the particular logic function of the circuit is not determined. A programmable logic array chip is designed so that the logic function of the chip may be subsequently determined. Most of such prior art chips are hard programmable in that they contain fuses or other elements which are permanantly burned or blown out in order to determine the logic function of the device. The present invention relates to a soft programmable device in that any particular device may be repeatedly programmed with the same or with different logic functions through a process of inputting logic functional data, which is sometimes known as characterization data. Although a soft programmable logic array requires the loading of characterization data in order to function, the logic array of the present invention is not merely a memory device. The characterization data is used to control the particular logic functions to be performed at particular logic levels in the array. In addition, chips according to the present invention are arranged with four quadrants or sectors and control circuitry on each chip so that several independent arrays are on one chip with common functional control.
Known to applicant in the prior art is U.S. Pat. No. 3,818,252 which shows a plurality of word lines and digit lines as inputs to an array which contains fuses for the programmable elements. This patent shows, in effect, a variation of a standard programmable logic array having two levels for the production of a sum of products type of function, but does not anticipate the present multi-level soft programmable logic array. U.S. Pat. No. 4,233,667 also shows a programmable logic array, but which does not anticipate the present invention in structure or capability.
U.S. Pat. No. 3,912,914 shows a programmable switching module which can become extremely complex for any particularly large switching function to be employed since the programming control for any switching function must be brought off the particular chip by individual wires to control the switching function. The present invention is programmed by inserting a stream of characterizing data which controls the various logic elements as a result of a characterizing process. Other patents known to applicant in the prior art are U.S. Pat. Nos. 3,855,536, 3,976,983 and 4,293,783, all of which show logic arrays but which either require programming control through external logic pins or which have limitations on the particular logic functions that may be accomplished.
FIGS. 1A, 1B and 1C are intended to be viewed in left-to-right order, side-by-side, and represent a detailed logic diagram of one embodiment of the present invention.
FIG. 2 is a detailed logic diagram of one of the functional elements according to the present invention and shown in FIGS. 1A, 1B and 1C.
FIG. 3 is a detailed logic diagram of a pass-through/hold device according to the present invention and shown in FIGS. 1A, 1B and 1C.
FIGS. 1A, 1B and 1C contain, in left-to-right, side-by-side order, a detailed logic diagram of a soft programmable logic array 10 according to one embodiment of the present invention. The logical data inputs occur at the left-hand side of the diagram and progress through the various logic levels so that outputs, according to the predetermined programmed logic function, occur at the right-hand side of the diagram.
A plurality of functional elements 12, 14, 16, 18, 20, 22, 24 and 26 make up the first logic level of the logic arra 10 according to the present invention. Functional elements 12 through 26 are all identical and the structure of functional element 12 is shown in detail in FIG. 2. Each functional element has three data inputs. The data inputs to functional element 12 are shown as A, B and C with number notation to show the particular functional element number. Similar notation is used for the data inputs for all eight functional elements of the first logic level. Each functional element, 12 through 26, has a single output which is interconnected with the remainder of the logic array 10, as shown in the diagram. A second level of logic is formed of six functional elements 28, 30, 32, 34, 36 and 38. The six functional elements, 28 through 38, are connected to six pass-through/hold devices 40, 42, 44, 46, 48 and 50. These pass-through/hold devices are all identical and a detailed diagram of a pass-through/hold device 40 is shown in FIG. 3. These six pass-through/hold devices constitute the third logic level of the present embodiment of the invention. The outputs of these six pass-through/hold devices are connected as shown in the diagram.
The fourth level of logic in this embodiment of the present invention consists of four functional elements 52, 54, 56 and 58 which receive inputs as shown on the diagram. The outputs of these four functional elements of the fourth logic level are connected as inputs to four pass-through/hold devices which constitutes the fifth logic level. The pass-through/hold devices 60, 62, 64 and 66 constitute the fifth logic level. The sixth logic level consists of two functional elements 68 and 70. The outputs of functional elements 68 and 70 provide inputs to function/pass-through elements 72 and 74 which constitute the eighth logic level of this embodiment according to the present invention. In this figure, each functional element has a number with a prefix of FE with a particular element number. Similarly, all of the pass-through/hold devices are numbered with a particular number and the prefix FP.