Nova Patents
CA2116332C

Programme logic cell and array

Abstract

An improved programmable logic cell (1) foruse in a programmable logic array comprising cellswhich are arranged in two-dimensional matrix ofrows and columns and are interconnected by a two-dimensional array of direct connections between acell (1) and its four nearest neighbors, one to its left(or to the West) (3a, 3b, 7a, 7b) and one to its right(or to the East) (5a, 5b, 9a, 9b), one above it (or tothe North) (2a, 2b, 6a, 6b) and one below it (or tothe South) (4a, 4b, 8a, 8b). Each cell receives input(s) from each of its nearest neighbors and addition-al inputs) from a bus, pin, or neighbor and may beprogrammed to generate a variety of logical func-tions at its outputs which connect to the cell's fournearest neighbors. The core of the improved logiccell (fig.2) comprises two upstream gates (21, 23)the outputs of which feed two downstream gates(28, 41), one of which is an exclusive-OR gate (28)which feeds a downstream register (33). Additionalprogrammable connections and other logic aug-ment the cell core to produce cell embodimentswhich can be configured to efficiently implementvarious logical functions. Among the functionswhich may be implemented by the improved cellare a number of two-level combinational functions(such as multiplexing) and sequential functions(such as counting and shifting). A variety of cellembodiments based on the improved cell core are illustrated.

CA2116332C, drawing sheet 1
Sheet 1 of 22

Term

Term ended

Expired 28 August 2012, 14.1 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

36 claims: 9 independent, 27 dependent

  1. 1
    - 24 The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:1. A programmable logic circuit comprising: first, second and third logic gates, each having at least first and second inputs and at least a first output, said first and second inputs to the third logic gate being connected to the first outputs of the first and second logic gates, respectively;and a configurable-interconnect element having a first input and first and second outputs, said first output being connected to the first input of the first logic gate and said second output being connected to the first input of the second logic gate, the configurable-interconnect element also having means for generating first, second, third and fourth states such that when the configurable-interconnect element is in the first state, the value of the first output of the configurable-interconnect element is such that the value of the first output of the first logic gate is determined by the value(s) of the input(s) to the first logic gate other than its first input and the value of the second output of the configurable-interconnect element is such that the value of the first output of the second logic gate is determined by the value(s) of the input(s) to the second logic gate other than its first input, and when the configurable-interconnect element is in the second state, one output of the configurable-interconnect element is equal to the value of the first input of the configurable-interconnect element and the other output is equal to the logical inverse of the value of the first input to the configurable-interconnect element, when the configurable-interconnect element is in the third state, the value of the first output of the configurable-interconnect element is equal to the value - 25 of the first input of the configurableinterconnect element and the value of the second output of the configurable-interconnect element is such that the first output of the second logic gate is determined by 5 the value(s) of the input(s) to the second logic gate other than its first input, and when the configurableinterconnect element is in the fourth state, the value of the first output of the configurable-interconnect element is such that the value of the first output of 10 the first logic gate is determined by the value(s) of the input(s) to the first logic gate other than its first input and the value of the second output of the configurable-interconnect element is such that the first output of the second logic gate provides a 15 constant value output such that the third logic gate performs a logical inversion function from its first input to its first output.
  2. 4
    A programmable logic circuit comprising:first, second and third logic gates, each having at least first and second inputs and at least a 35 first output, said first and second inputs to the third logic gate being connected to the first outputs of the first and second logic gates, respectively;21 1 6 3 3 2 - 26 a configurable-interconnect element having a first input and first and second outputs, said first output being connected to the first input of the first logic gate and said second output being connected to the first input of the second logic gate;and a register having a data input and a data output, the delta input being connected to the first output of the third logic gate.
  3. 16
    A programmable logic cell for use in a programmable logic cell array, said cell comprising:first, second, and third cell inputs;at least a first cell output;first, second and third logic gates, each having at least first and second inputs and at least a first output, said first and second inputs to the third logic gate being connected to the first outputs of the first and second logic gates, respectively;a configurable-interconnect element having a first input and first and second outputs, said first output being connected to the first input of the first logic gate and said second output being connected to the first input of the second logic gate;means for connecting the first cell input to the first input of the first logic gate;means for connecting the second cell input to the first input of the second logic gate;means for connecting the third cell input to 2 1 1 6 3 3 2 - 28 the first input of the configurable-interconnect element;and means for connecting the output of the third logic gate to the first cell output.
  4. 17
    In a programmable logic array, said array including a means for supplying K configuration control signals and their logical inverses, a programmable default-output multiplexer responsive to the 10 configuration control signals for connecting one of K input terminals or a default value to an output terminal, said multiplexer comprising:K pass gates, wherein each pass gate can connect one of the K input terminals to the output 15 terminal when activated by the value of one of the K configuration control signals and its logical inverse, each pass gate comprising an N-type MOS transistor including drain, source, and gate terminals, wherein the drain terminal connects to one of the K input 20 terminals, the source terminal connects to the output terminal, and the gate terminal connects to one of the K configuration control signals, and a P-type MOS transistor including drain, source, and gate terminals, wherein the source terminal connects to one of the K 25 input terminals, the drain terminal connects to the output terminal, and the gate terminal connects to the logical inverse of the configuration control signal;and a chain of K MOS transistors for supplying a 30 default value to the output terminal when none of the K pass gates is activated, each of the K MOS transistors in the chain including drain, source and gate terminals, wherein the chain is formed by connecting the source terminal of each MOS transistor in the chain 35 to the drain terminal of the next MOS transistor in the chain, one of the source/drain terminals at an end of the chain connects to a means for supplying a default A φ 2 1 1 6 3 3 2 value and the source/drain terminal at the other end of the chain connects to the output terminal of the multiplexer, and the gate voltage of each MOS transistor in the chain is determined by a different 5 one of the K configuration control signals which control the K pass gates whereby all MOS transistors in the chain are conducting only when all the K pass gates are not activated. 10
  5. 18
    A multiplexer as defined in claim 17, wherein the MOS transistors in the chain are N-type MOS transistors, t.he gate terminal of each N-type MOS transistor in the chain connects to the logical inverse of a different one of the K configuration control 15 signals, and t.he means for supplying a default value supplies a low value.
  6. 19
    A multiplexer as defined in claim 17, wherein the MOS transistors in the chain are P-type MOS 20 transistors, the gate terminal of each P-type MOS transistor in the chain connects to a different one of the K configuration control signals, and the means for supplying a default value supplies a high value. 25
  7. 20
    A programmable logic cell for use in a programmable logic array, said logic cell comprising:means for supplying a configuration control;first, second and third cell inputs;a cell output;30 first and second logic gates each having first and second inputs;a third logic gate having at least two inputs ;means for connecting said first cell input to 35 said first input of said first logic gate;means for connecting said second cell input to said first input of said second logic gate;- 30 means responsive to the configuration control for connecting either said third cell input or a constant logical value to said second input of said first logic gate;5 means responsive to the configuration control for connecting either an inverted form of said third cell input or a constant logical value to said second input of said second logic gate;means for connecting the output of said first 10 logic gate to an input of said third logic gate;means for connecting the output of said second logic gate to an input of said third logic gate;and means for connecting the output of said third 15 logic gate to the cell output.
  8. 29
    A programmable logic array comprising:25 a plurality of logic cells, wherein each cell except those at the edges of the array has four nearest-neighbor cells, one to the left (or West), one to the right (or East), one above (or to the North),and one below (or to the South) so as to form an array in 30 which said logic cells are aligned in rows and columns, each cell comprising: means for supplying a configuration control;four A inputs, one received from each of the nearest-neighbor cells;four B inputs, one received from each of the four nearest-neighbor cells;first, second and third logic gates, each , 2116332 ' A having at least first and second inputs and at least a first output, said first and second inputs to the third logic gate being connected to the outputs of the first and second logic gates, respectively;5 a configurable-interconnect element having a first input and first and second outputs, said first output being connected to the first input of the first logic gate and said second output being connected to the first input of the second logic gate;10 means programmably responsive to the configuration control means for connecting one of theA inputs to the second input of the first logic gate;means programmably responsive to the 15 configuration control means for connecting one of the B inputs to the second input of the second logic gate ;and means responsive to the configuration control means for connecting the output of the third logic gate 20 to the A inputs and/or the B inputs of the four nearest-neighbor cells.
  9. 33
    A programmable logic array comprising:a plurality of logic cells, wherein each cell except those at the edges of the array has four nearest-neighbor cells, one to the left (or West), oneto the right (or East), one above (or to the 10 North),and one below (or to the South) so as to form an arrayin which said logic cells are aligned in rows andcolumns, each cell comprising: means for supplying a configuration control;four inputs, one received from each of the 15 nearest-neighbor cells;first, second and third logic gates, each having at least first and second inputs and at least afirst output, said first and second inputs to thethird logic gate being connected to the first outputsof the 20 first and second logic gates, respectively;a configurable-interconnect element having afirst input and first and second outputs, said firstoutput being connected to the first input of the first logic gate and said second output being connected 25 to the first input of the second logic gate;means programmably responsive to the configuration control means for connecting one of the four nearest-neighbor inputs to the second input to the first logic gate;30 means programmably responsive to the configuration control means for -connecting one of the four nearest-neighbor inputs to the second input to the second logic gate;North output-selecting means for connecting 35 one of a plurality of candidate North outputs, including the inputs from the South, East, and West nearest-neighbor cells and the output of the third i 2116332 logic gate, to an input of the nearest-neighbor cell to the North;South output-selecting means for connecting one of a plurality of candidate South outputs, 5 including the inputs from the North, East, and West nearest-neighbor cells and the output of the third logic gate, to an input of the nearest-neighbor cell to the South;East output-selecting means for connecting 10 one of a plurality of candidate East outputs, including the inputs from the North, South and West nearestneighbor cells and the output of the third logic gate, to an input of the nearest-neighbor cell to the East;and, 15 West, output-selecting means for connecting one of a plurality of candidate West outputs, including the inputs from the North, South, and East nearestneighbor cells and the output of the third logic gate, to an input of the nearest-neighbor cell to the West.