CA1255364A - Configurable logic element - Google Patents
Configurable logic elementInfo
- Publication number
- CA1255364A CA1255364A CA000502720A CA502720A CA1255364A CA 1255364 A CA1255364 A CA 1255364A CA 000502720 A CA000502720 A CA 000502720A CA 502720 A CA502720 A CA 502720A CA 1255364 A CA1255364 A CA 1255364A
- Authority
- CA
- Canada
- Prior art keywords
- configurable
- signals
- input
- lead
- binary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/28—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
- G11C19/282—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements with charge storage in a depletion layer, i.e. charge coupled devices [CCD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
- H03K19/1736—Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/153—Arrangements in which a pulse is delivered at the instant when a predetermined characteristic of an input signal is present or at a fixed time interval after this instant
- H03K5/1534—Transition or edge detectors
Abstract
CONFIGURABLE LOGIC ELEMENT
William S. Carter ABSTRACT
A configurable logic circuit achieves versatility by including a configurable combinational logic element, a configurable storage circuit, and a configurable output select logic. The input signals to the configurable combinational logic element are input signals to the configurable logic circuit and feedback signals from the storage circuit. The storage circuit may be configured to operate as a D flip flop with or without set and reset inputs, an RS latch, a transparent latch with or without set and reset inputs, or as an edge detector. In conjunc-tion with the combinational logic element, the storage circuit may also operate as a stage of a shift register or counter. The output select logic selects output signals from among the output signals of the combinational logic element and the storage circuit.
William S. Carter ABSTRACT
A configurable logic circuit achieves versatility by including a configurable combinational logic element, a configurable storage circuit, and a configurable output select logic. The input signals to the configurable combinational logic element are input signals to the configurable logic circuit and feedback signals from the storage circuit. The storage circuit may be configured to operate as a D flip flop with or without set and reset inputs, an RS latch, a transparent latch with or without set and reset inputs, or as an edge detector. In conjunc-tion with the combinational logic element, the storage circuit may also operate as a stage of a shift register or counter. The output select logic selects output signals from among the output signals of the combinational logic element and the storage circuit.
Description
~LZ~53~4 FIELD OF THE INVENTION
This inventlon relates to a configurable logic element in general and in particular, to a configurable logic element which is composed of a configurable combinational logic element, a configurable storage element and a configurable output select logic. The output signals of the configurable storage element serve as input signals to both the configurable combina-tional logic and the output select logic. The output signals of the output select logic are selected from the output signals of the combinational logic element and the output signals of the ~;~ storage element.
~ACKGROUND OF THE INVENTION
In Canadian patent application Serial No. 478,752, filed April 10, 1985 by Ross H. Freeman and entitled "CONFIGURABLE
LOGIC ARRAY", a structure is described which allows changing the conflguration of a finished integrated circuit from time to time (even when the integrated circuit is installed in a system) `; to provide any one of a plurality of logical func-tions from ; the same integrated circuit. This is accomplished by providing a number of "configurable logical elements" (herein referred -to - as "configurable logic elements") each of which is capable of being configured to implement any one of a plurality of logic functions depending on the task which it is called upon to per-form. By configurable logic element is mean-t a combination of devices which are capable of being electrically interconnected by switches operated in response to control bits stored on the , ~
~` '`' -: .~ .. .. -.:-.. . ...
: - .. , :: : : -. .
:
3~5~36a~
-la- 70128-110 chip (or transmitted to the chip) to perform any one of a plurality of logical functions. The configurable logic element disclosed in application No. 478,752 may include all of ~25~
( -2- ~
l the circuit elements necessary to provide one or more of
This inventlon relates to a configurable logic element in general and in particular, to a configurable logic element which is composed of a configurable combinational logic element, a configurable storage element and a configurable output select logic. The output signals of the configurable storage element serve as input signals to both the configurable combina-tional logic and the output select logic. The output signals of the output select logic are selected from the output signals of the combinational logic element and the output signals of the ~;~ storage element.
~ACKGROUND OF THE INVENTION
In Canadian patent application Serial No. 478,752, filed April 10, 1985 by Ross H. Freeman and entitled "CONFIGURABLE
LOGIC ARRAY", a structure is described which allows changing the conflguration of a finished integrated circuit from time to time (even when the integrated circuit is installed in a system) `; to provide any one of a plurality of logical func-tions from ; the same integrated circuit. This is accomplished by providing a number of "configurable logical elements" (herein referred -to - as "configurable logic elements") each of which is capable of being configured to implement any one of a plurality of logic functions depending on the task which it is called upon to per-form. By configurable logic element is mean-t a combination of devices which are capable of being electrically interconnected by switches operated in response to control bits stored on the , ~
~` '`' -: .~ .. .. -.:-.. . ...
: - .. , :: : : -. .
:
3~5~36a~
-la- 70128-110 chip (or transmitted to the chip) to perform any one of a plurality of logical functions. The configurable logic element disclosed in application No. 478,752 may include all of ~25~
( -2- ~
l the circuit elements necessary to provide one or more of
2 -the functions provided by, for example, an AND gate,
3 flip-flop, inverter, NOR gate, exclusive OR gate, and
4 combinations of these functions to orm more complex functions. The particular function to be carried out by a configurable logic element is determined by control 7 signals applied to the configurable logic element from 8 control logic. Depending on the control signals, a 9 configurable logic element can function as an AND gate, an OR gate, a NOR gate, a NAND gate, or an exclusive OR
11 gate or any one of a number of other logic functions 12 without change in physical structure. Structure is 13 provided on chip to allow any one of a plurality of 14 functions to be implemented by the configurable logic element. This is done by providing control logic to 16 store and generate control signals which control the 17 configuration of the configurable logic element.
18 In one embodiment, the control signals are stored 19 and transmitted by control logic formed integrally with and as part of the integrated circuit chip containing the 21 configurable logic elements. ~owever, if desired, the 22 control information can be stored and/or generated outside 23 the integrated circuit and transmitted through pins to 24 the configurable logic element.
In general, a given set of control signals in the 26 form of control bits is transmitted from the control 27 logic to a configurable logic element to control the 28 configuration of that configurable logic element. The 29 actual sèt of control bits ~rovided to the configurable 30 logic element on the integrated circuit chip depends on 31 the function to be carried out by the configurable logic 32 element on the chip.
34 S~MARY OF THE INVENTION
A configurable logic element is disclosed which 36 provides great versatility in the selection of the func-37 tion it is capable of implementing. The configura~le ~ ~ `''`
: .,.,~:;
' : ' :~ : ' '': ~
-~ 53 70128-110 locJlc element includes a combinational logic element, a storage element, and an OUtpllt select logi.c, each of which is configured by control hits. Selected input si~nals to the configurable logic element toge~her wi~h selected "feedback" signals from the storage element are the input signals to the comb:Lnational logic elemenk.
The input signals to the con:Eigurable logic element together wlth the output signals of the combinational logic element provide input signals to the configurable storage element. The output select logic provicles output signals which are selected from the output signals of the combinational :Logic element and the storage ~ element.
; In accordance ~ith a broad aspect of the invention there is provided a conficJurable logic element comprising: means for receiving a first plurality of N binary illpUt signals; means for receiving a second plurality of M binary feedback signals; means : for selec:ting K of said M-~N binary signals (where K~N-~M~;
; combinational logic means for receiving said K binary signals from said means for selecting, said combinational logic means having a plurality of configurations including at least a first ~ 20 configuration in which said combinational logic means generates a first set of binary output signals, each of which represents a function of some of said K binary signals and a second configuration in which said configurahle combinational logic means generates a second set of binary output signals, each of which represents a function of some of said K binary signals, wherein the set of functions represented by said first set of binary signals i5 not the same as ~he set of functions represented by 3 ;
~' ' ~ , ~ `,'''"' `' ' ' ,' `~' ,~ . ,, ,,. ~
25S3~
said second set of binary signals; a configurable storage circuit comprising: a pluxa:lity of input leads for receiving a plurality of input signals, said input signals corresponding to said input leads on a one-to-one basis, said input signals comprising selected ones of said binary output signals of said combinational logic means and selec~ed ones of said N binary input signals, memory means for storing data, said memory means having at least a first and a second input lead and at least one output lead; first means having a first configuration in which said first means provides a first selected one of said inpllt signals of said con-figurable storage circuit to said first input lead of said memory means; second means having a first and a second configuration in which said second means provides a second and a third selected, one, respectively, of said input signals of sa.id configurable storage circuit to saicl second input lead of said memory means, said memory means generating said second plurality of M binary ~ signals i.n response ~o said signals provided by said first and ; said second means; and a configurable select logic comprising:
means for receiving said output signals generated by said com-20 binational logic means and said M binary signals generated by said configurable storage circuit, and means for selecting output signals from among the signals received by said select logic.
In accordance with another broad aspect of the invention there is provided a configurable logic element comprising: means for receiving a first plurality of N binary input signals; means for receiving a second plurality of M binary feedback signals;
means for selecting K of said M+N binary signals of said first and ; ' ~
: 3a ~`
.. .:. .
: ' `: ~:'' -. '. -~ ;
3l :2S~64 701~8-110 saicl secorld plurality ~1here KsN~I); configurable combinational logic means comprising: first configurahle means for receiving said K binary input signals, said first configurable means having at least a first configu.ration in which said $irst configurable means generates a first set of output si~nals said first set being a first subset of saicl K input'signals, and a second configuration in which said first configurable means generates a second set of output signals said seconcl set being a second subset of said K
input signals! wherein said first set is not equal to said second set; first memory means having a plurality of storage locations, each of said sto~age locations for storing a binary bit; first location selection means for receiving said output signals of said first configurable means and for selecting a storage location within said first memory means in response to said output signals of said first conflgurable means and for providing a ~irst output signal representing the binary bit stored in said selected storage location within said first memory; a configurable storage clrcuit ~omprising, a plurality of input leads for receiving a plurality ::
of input signals said input siynals corresponding to said input leads on a one-to-one basisj said input signals comprising selected ones o~ said output signals of said first location selection means and selected ones of said N binary input signals;
memory,~eans for storing data, said memory means having at least a first~and a second input lead~and at least one output lead; first . ~ : :
means,having a first configuration in which said first means provides a first selected one of sald input slgnals of said con-fi~rable storage circuit to said:first input lead of said memory i~ ~
~ 3b ,i : ... s~ ~
~2553~
70128-llO
means; second means having a first and a second configuration in whi~h said second means provides a second and a third selected one, respectively, of said input signals of said configurable storage clrcuit to said second input lead of said memory means r said memory means generating said second plurality of M binary signals in response to said signals provided by said first and said second means; and a configurable select logic comprising:
means for receiving the output signals produced by said first location selection means of said~combinational logic and said M
binary signals; and means for selecting output signals from among the signals received by said select logic.
In accordance with another broad aspect of the invention there is provided a configurable combinational logic circuit comprising: flrst configurable means for receiving K binary input signals, said first configurable means having at least a first configuration in which said first configurable means generates a first set of output signals said first set being a first subset of said K input signals, and a second configuration in which said ` ~ ~
~ first configurable means generates a second set of out signals : : :
~ 20 said second set being a second subse~ of said K input signals :: : : :
wherein said firs~t set is not equal to said second set; first ~membry means having a plurality o f storage locations, each of said , : : :::::~: ;~ storage locations for storing a:binary bit; first location s~elect1on means for receivtng~said~output signals of said first con$1~urable means and for selecting a storage location within said first memor~ mean.s in response to said output si~nals of said first configurable means and for providing a first output signal :
~ : : 3c ~5 ~
- '' ,' ~ ` :`". :
.
~255364 representing ~he binary ~it stored in said selected storaqe location within said first memory.
In accordance with another broad aspect of the invention there is provided a configurable storage circuit comprising:
memory means for storing lata, said memory means having at least a first and a second inpu~ lead; a first set o~ one or more input :Leads corresponding to said first input lead, each input lead of said first set for receiving a corresponding input signal; a second set of one or more input leads corresponding to said second input lead, each input lead of said second set for receiving a corresponding input signal; first means which, for each given lead in said first setr has a corresponding conflguration in which said first means provides the input signal on said giv~n lead to said first input lead; second means which, for each given lead in said second set, has a corresponding first configuration in which said second means provides the input signal on said given lead to said :
, ~
second lead; said memory means generating one or more output signals in response to said signals provided:by said first means and sald second means.
~ In accordance with~another broad aspect of the invention thers lS provided a con~l~gurable logic~element~comprising: means for receiving a first plurality of N binary input signals; means or~receiving a second plurallty of M binary feedhack signals;
means~for selecting~K of said M~N~binary signals ~where K5N+M)~;
combinational logic means for receiving said K binary signals from said means for seleating, ssld ~onfigurable combinational loglc mesns having a plurality of conigurations ~or generating binary 3d:
1 ` ` ,~: ' ` ` ' ' ' ' ' ` ' i "' ` ' '" ` ~ . .`
'`
,, ,'' ''`,` , ~553~i4 output signals; a configurable storage circuit for receiving selected ones of saicl binary output signals of said configurable combinational logic means ancl selected ones of said N binary input signals and for generati.ny said M hinary feedback signals, said ~onfigurable storage circuit having a plurality of conflgura~ions;
and a configurable select logic comprising means for receiving said output signals qenerated by said combinational logic means and said M binary signals generat0d by said configurable storage circuit and means for selecting output signals from among the signals received by said select logic.
This invention will be more fully understood with reference to the following detailed description and accompanyinq ;~ drawings.
,. ~ ~ens~
Figure 1 illustrates some of the various logic functions capable of being implemen~ed by a configurable logic element in a co~nfigurahle logic array;
Figure 2 illustrates the internal logic structure of one possible configurable logic element capable of implementing a number of useful functions of two variables A and B;
. ~
~ ~ Figure 3A illustrates a 16 bit RAM circuit wherein any :, one of sixteen possible input states is capable of being ide~ntified~and 2l6 functlons are capable of being implemented.
Figure 3B illustra~es a selection structure for ; selecting any one of sixteen bits capable of implementing 2~6 . .:
~ functions, for transmittal to an output lead;
: ;~
~ Figure 3C illustrates one possible Karnaugh map for the ~ . :
~ 3e :
-- ~255i36~
701~8-110 structure of Figure 3A;
Eigure 3~ illustrates the logic gates represented by placing a binary one in the Karnaugh map o~ Figure 3C at the intersections of the first and second rows and the first column.
~: :
:. :
': : ~ .
: ::
~: 20 ~
. : : :
:~ :
"
`: : :
.. ~. ~ : :
::
, :.~ ~ ' : ''. ', . . ':
~ ~ : : ' ,' ~'.," ' '': '`' ' ~2553 Ei~
Figure 4A illustrates a plurality of configurable logic elements (shown as nine logic elements) formed on an integrated circuit chip together with programmable interconnects formed between selected leads to yield desired logic functions and with selected input/output pads and interconnections of the leads between logic element;
Figure 4B shows the key to the cross-connections between crossing conductive leads in Figure 4A;
Figure 5 represents a portion of the circuitry of a novel combination static and dynamic shift register appropriate for use with the configurable logic array of this invention;
Figures 6A through 6H represent wave forms of use in `
explaining the operation of the structure of Figure 5;
Figure 7 shows a configurable logic element according to the present invention;
' Figure 8 shows one embodiment of the configurable logic element of Figure 7; and Figure 9 shows one embodiment of the storage element 121 of Figure 8.
`~ 20 DETAILED DESCRIPTION
, The following detailed description of this invention i ~ ls meant to be illustrative only and not limiting. Other ~ embodiments of this invention will be o~vious to those skiIled in `~ the art in view of the following disclosure.
, . .
~ An understanding of the configurable logic elements i and general interconnect structure of the configurable logic :
' .: :: - :., ;~
. . :: .
~2~;536~
-4a- 70128-110 array descri.bed in copending Canadian Patent Application Serial No. 478,752, filed April 10, 1985 on an invention of Ross H.~. Freeman, entitled "Configurable Logic Array" is helpful to understand the present invention.
Figure 1 illustrates certain logic functions capable of being implemented by a configurable logic element. The ~:i :' ,' ',', ~ :
, .
. ~ :
., -. ~
:: .
, :
~5~;36~
~` 5 ~-l 28 functions shown in Figure 1 are merely illustrative and 2 other elements not shown can, if desired, be implemented 3 by a configurable logic element. The following functions 4 are shown:
Element Function 6 1 AND gate 7 2 NAND gate 8 3 AND gate with inverted input 9 4 NAND gate with inverted input OR gate ll 6 NOR gate 12 7 exclusive OR gate 13 8 : exclusive NOR gate 14 9 3 input AND gate 3 input NAND gate 16 11 3 input OR gate 17 12 3 input NOR gate 18 13 OR gate with one input comprising AND gate lg 14 NOR gate with one input comprising AND gate AND gate with one input comprising OR gate 21 16 NAND gate with one input com~rising OR gate 22 17 3 input AND gate with one input inverted 23 18 3 input NAND gate with one inverted inpu-t 24 19 3 input OR gate with one inverted input 3 ~ NOR gate with one inverted input 26 21 one of two inputs multiplexer 27 22 inverting one of~ two inputs multiplexer 28 23 "D" flip flop with reset 29 2~ Set-Reset latch . : :
"D" flip-flop with reset and inverted 31 ~ output 32 26 Set-reset latch with:reset and inverted 33 ~ output 34 27 "D" fllp-flop with~set 35~ 28 'iD" flip-flop~with set and inverted output 36 Of:course, other logic functions can also be imple-37 mented in a configurable logic element.
38 ~ ; :
. :. . -:: :-,. .
~: ~:: .: - ' ::- ' : ' :
. :. :::---: , .. ..
. ~ . . ....
: , . .,.,.. : ~ ., :: , .
: - : . . ,~ - ., . : : ; : . .
.
~ 25536~
, , . {
1 Figure 2 illustrates the internal logic structure of 2 one possible configurable logic element which is capable of implementing all useful basic functions of the two 4 variables A and B, with the functions being selected by configuration control signals CO, CO, C1, C1, ... through 6 C5 on control leads CO, CO, ... through C5. (In this 7 example, all control leads are connected to the gates of 8 N channel enhancement mode pass -transistors.) To implement 9 an AND gate function using the structure shown in Figure 2, the input leads labeled A and B are shunted past invert-11 ers 21 and 22, respectively, to AND gate 25 by high level 12 signals on the C1 and CO configuration control leads 13 which, being connected to the gates of N channel enhance-14 ment mode pass transistors 29c and 29d, causé pass tran-sistors 29c and 29d to turn on.
16 Low level signals are applied to the configuration 17 control leads C0 and C1, thus blocking the output signals 18 of inverters 21 and 22 from AND gate 25. In addition, a 19 high level signal on lead C5 is applied to enable AND
gate 25. Thus three input AND gate 25 functions as a 21 two-input AND gate with respect to the signals A and B.
22 The output signal of AND gate 25 provides one input 23 signal to NOR gate 26. A second input signal to NOR gate 24 26 is provided by the output signal of AND gate 24. The output signal of AND gate 24 is held at a logical O by 26 applying a logical O to configuration control lead C4.
27 Thus the control signals C2 and C3 are "don't cares", 28 that is, these signals can be high or low without affect-29 ing the output signal of AN~ gate 24. Since the output sianal of AND gate 24 is a logical 0, and since the r ' ~ ~tR~e L ~ ~e control input signal to NOR gate 26 is a logi-32 cal 0, it is easy to see that AND gate 25, AND gate 24 33 and NOR gate 26 function together as a NAND gate with 34 respect to input signals A and B. Since the tri-state control signal input to NOR gate 27 is a logical O (except 36 during reset), NOR gate 27 serves as an inverter with 37 respect to the output signal of NOR gate 26. The output . . : , :
. . :
: ; -, :, . .. :
ii53~4 ,, ( signal of NOR gate 26 is applied to the gate of N channel transistor 29a (the source of which is grounded and the drain of which is connected to output lead 28) and the 4 complement of the output signal o~ NOR gate 26 is applied to the gate of N channel transistor 29b (the source of 6 which is connected to a power supply and the drain of 7 which is connected to both the output lead 28 and the 8 drain of N channel transistor 29a). Thus, transistors 9 29a and 29b function as an inverter with respect to the output signal of NOR gate 26. Thus, the structure of 11 Figure 2 configured as described above performs the 12 function of an AND gate with respect to the signals A and 13 B. Other logic functions can also be produced by appro-1~ priate selection of the control signals to be supplied to the configuration control leads CO through C5 to activate 16 the appropriate pass transistors and gates within the 17 strUcture-18 Figure 3A illustrates a 16 bit RAM capable of producing 19 an output signal in response to any one of sixteen possible combinations of input signals. Thus input signals A and 21 B control the X decoder to select any one of the four 22 columns in the 16 bit RAM. Input signals C and D control 23 the Y decoder to select any one of the four rows in the 2~ 16 bit RAM. The 16 bit RAM produces an output signal representative of the bit at the intersection of the 26 selected row and column. There are 16 such intersections 27 and thus sixteen such bits. There are 216 possible 28 combinations of functions capable of being represented by 29 16 bits. T~us, if a NOR gate is to b~ simulated by the 16 bits in the R~, the Karnough map for the RAM would be 31 as shown in ;Figure 3C. In Figure 3C all bits are "O"32 except the bit at the intersection of the first row 33 (representing ~=O, B=O) and the first column (representing 34 C=0, D=0). Should a less frequently used function be desired to be generated by the 16 bit RAM, (for example, 36 should a "1" output signal be desired for A=1, B=O, C=O
37 and D=O~ then a binary "1" is stored at the intersection o :
~ . ~
:
: - : :. ., :,~
. . , ::
:.. . . .
: . . : .~ ,., . , . :
- : : . ...
: - . : .
:. . ,.:
~2~;53~
( 8- ~
1 of the second row and the first column. Should a binary ~ "1" be desired both when A=0, B=0, C=0 and D=0 and also 3 when A=l, B=0, C=0 and D=0, then a binary "1" is stored 4 at each of the intersections of the first column with the first row and the second row. The logic circuit repre-6 sented by this loading of the RAM is as shown in Figure 7 3D. Thus the RAM of Figure 3A represents an elegant and 8 simple implementation of any one of 216 logic functions.
9 Figure 3B shows another structure for yielding any ~, one of sixteen select bits. Each of registers 0-15 in 1~. the vertical column to the left labeled "16 Select Bits", 12 contains a selected signal, either a binary 1 or 0. By 13 selecting the proper combination of A, B, C, and D, a 14 particular bi-t stored in a particular one of the sixteen locations in the 16 Select Bits register is transmitted 16 to the output lead. Thus, for example, to transmit -the 17 bit in the "1" register to the output lead, the signal A, 18 B, C, D is applied to the leads so labeled. To transmit 19 the signal labeled "lS" in the sixteenth location in the 16 Select Bits register to the output lead, the signal A, 21 B, 2, and D is applied to the appropriate columns.
22 Again, any one of 216 logic functions can be implemented 23 using this structure.
24 Figures 4A illustrates a configurable logic array containing nine configurable logical elements. As shown 26 in Figure 4a, each CLE of the nine CLEs 40-1 through 40-9 27 has a plurality of input leads and one or more output 28 leads. Each input lead has a plurality of access junctions 29 each connécting a selected general interconnect lead to the input lead. The access junctions for inpu-t lead 2 of 31 CLE 40-7 are labeled Al through A4 in Figure 4a. The 32 access junctions for the other input leads are indicated 33 schematically but are not labeled for the sake of clarity.
34 Similarly, each output lead of each CI.E has a plurality of access junctions each connecting the output lead to a 36 corresponding one of the general interconnect leads. The 37 access junctions are indicated schematically for each -, , :. , :
, ~ 53~
1 output lead of each CLE in Figure 4a. The access junc-2 tions for the output lead of CLE 40-7 are labeled B1 ~ through B5. Tlle leads in Figure 4a which are neither 4 input leads nor output leads are called general inter-connect leads and the junctions in Figure 4a which are 6 not access junctions for input and output leads are 7 called general interconnect junctions. As shown in 8 Figure 4A, nine logic elements are placed on an integrated 9 circuit chip together with programmable access junctions , and a general interconnect structure which comprises 11 general interconnect leads and programmable general 12 interconnect junctions for connecting various leads to 13 other leads. The general interconnect structure includes 1~ a set of general interconnect leads and of programmable junctions interconnecting the general interconnect leads 16 having the property that for each general interconnect 17 lead in the general interconnect structure there is a 18 programming of the general interconnect junctions which 19 connects the given general interconnect lead to one or more o-ther leads in the general interconnect structure.
21 Moreover, there is a programming of the junctions (both 22 access and general interconnect) such that for any given 23 output lead of any CLE in the CLA, and for any given 24 input lead of any other CLE in the CLA, there is a pro-gramming of the junctions such that the given output lead 26 is connected to the given inpu-t lead. An electrical path 27 from a given output lead to a given input lead always 28 contains at least two access junctions and at least a 29 portion of a general interconnect lead. For example, one electrical path from the output lead of CLE 40-8 to the 31 second input lead of CLE 40-9 contains access junctions 32 A7 and B7 and the marked portion P of a general intercon-33 nect lead. Typicallyj an electrical path from an output 34 lead of one CLE to an input lead of another CLE will also contain one or more general interconnect junctions. Each 36 of logic elements 40-l through 40-9 represents a collection 37 of circuitry such as that shown in Figure 2 or some - . : .,~ ....
.:; ,. :. -.
. : : , : -:~ ~ . , , . :: , . . -~25i5364 -lo-1 similar structure capable of being configured as described above in Figure 2 to perform any one of a number of logic - functions. To program the circuitry (both the configurable 4 interconnect switches and the configurable logic elements), selected signals are applied to input leads identified as 6 configuration control input leads thereby to generate a 7 desired logical function in each of the logic elements 8 and to interconnect the logic elements as desired. In 9 Figure 4A, no specific lead has been identified as an input lead for the configuration control signals. However, 11 any particular I/O pad can be selected for this purpose.
12 The configuration control bits can be input into the 13 configurable logic array either in series or in parallel 14 depending upon design considerations where they are typically stored in a programming register (shown in 16 Figure 5). Alternatively, the configuration control bits 17 may be stored in a memory on chip. In addition, another 18 I/O pad will be used for an input clock signal which is 19 used, inter alia, for the loading of the configuration control signals into the programming register. When the 21 configurable logic array shown in Figure 4A has been 22 configured, selected output signals of logic elements 23 40-1 through 40-9 are provided to selected I/O pads.
24 Figure 4B illustrates the meaning of the junction symbols used in Figure 4A.
26 To configure a logic element such as logic element 27 40-1 ~Figure 4A), a number of bits must be applied to the 28 configuration controI leads such as leads C0 through CS, 29 as shown, for example, in Figure 2. To do this a shift register, for example, is utilized as part of each configu-31 rable logic element. Figure 5 illustrates a shift register 32 which may be~used. The shift register of Figure 5 is 33 illustrated showin~ two basic storage celIs. Each storage 3~ cell is capable of storing one bit of information. of course, an actual shift register will contain as many 36 storage cells as required to configure the logic element 37 of which the shift register is a part, to its desired . ~
::
:~ :
::: -, :::-: : .:
- :: . .
.~, " . :, , ~ ' ( ~5~36~
, 1 configuration. In operation, an input signal is applied 2 to input lead 58. This input signal (shown in Figure 6D) 3 contains bit stream to be stored ln the shift register as ~ configuration control bits to configure the configurable logic element to perform a desired logic function or to 6 configure (program) an access junction or a general 7 interconnect junction between general interconnect leads 8 in a manner to be described shortly. Thus the sequence 9 of pulses applied to input lead 58 represents those pulses which when stored in the storage cells of the 11 shift register will activate the configuration control 12 bits in the proper manner to achieve the desired functional 13 and/or interconnection result. For example, if the 14 circuit of Figure 2 is to be configured to form an AND
gate, the pulses C0, Cl, C2, C3, C4, and C5 would be 16 represented by 1,l,~,X, 0,1.
17 The sequence of pulses applied to input lead 58 is 18 synchronized with clocking pulses ~1 and ~2 applied to 19 leads 57 and 59 respectively. Thus in the first period of operation clocking pulse ~1 goes high (Fig. 6A), 21 clocking pulse ~2 is low (Fig. 6B), the hold signal lFig.
22 6C) is low during shifting thereby facilitating the 23 passage of data through sequentially connected cells 5-1, 24 5-2 et al. of the shift register. To shift the pattern 01010 into the shift register, the following operations 26 occur: The input signal on lead 58 is low during approx-27 imately the first half cycle of the clocking period tl.
28 The output signal Ql of inverter 51-1 goes to a high 29 level in response to the low level input signal and ~1 high to enable pass transistor 53-1. Some time through 31 the first clocking period tl, the clock signal ~1 goes 32 low (Fiq. 6A) and the clock~signal ~2 shortly thereafter 33 goes hlgh ~Fig. 6B) to enable pass transistor 55-1.
34 Consequently, the high level output signal Ql is trans-mitted to the input lead of~inverter 52-1 by enabled pass 36 transistor 55-1 and thereby produces a low level output 37 signal Ql on the output lead of inverter 52-1. Thus at ::-: ~ : ~ . ::, -: . -:~, : , : . :. : . : ,.:
-.~ : :.:, ;. ; ,,, ~25~i364 the end of period tl, the output signal Q1 (Figure 6F) from inverter 52-1 is low level. The output signals Q2 and Q2 from inverters 51-2 and 52-2 in the second cell are still indeterminate because no known signal has yet propagated to the second storage cell 5-2 to change the signals of these inverters to a known ; state.
. At the beginning of the second period (labelle~. I't2ll in :
Figure 6A), ~1 goes high (Figure 6A) and ~2 is low (Figure 6B) ; having gone low before period tl ended. The input signal . 10 (Figure 6D) now has risen to a high level representing a `.~ binary 1 and thus the output signal Ql of inverter 51-1 has gone low. The outputsignal Ql of lnverter 52-1 remains low because : ;
::: pass transistor 55-1 is held off by the low level ~2 signal.
Some time through the second period ~1 goes low followed a fraction of t.ime.later ~y ~2 going high. At this time, the output sig-.~' :
nal Ql is transmitted through pass transistor 55-1 to inverter :: ~ 52-1 thereby driving the output signal Q1 from inventer 52-1 to high level. Meanwile, during period t2 the previous low ~; level signal on Ql has driven the output signal Q2 of inverter ::.
51-2~to a high level when Ql was at a high level to enable pass transistor 53-2 and the change in ~2 from a low level to a high level in the second half of per1od t2 to enable pass transis-tor : 55-2 drives the output signal Q2 from:inverter 52-2 to a low level. In this manner,~ the~;input slgnal on lead 58 (Figure 6D) is transmitted through each. of the cells 5-1, 5-2, 5--3 et al. in the shift register. Upon the transfer into the shift register of ~255364 -12a- 70128-110 the de~ired information, the hold sLgnal (Figure 5C) is enakled (i.e., driven to a high level) therebv to connect the feedback leads 50-1, 50-2, and 50-3 et al. from the output leads of inverters 52 to the input leads of inverters 51 so as to hold the lnformation then in each cell indefinitely. In operation, the signal stored in a given cell e.g. 5-1 is connected to a configuration control or to an interconnect pass device such as devices 60-1 and 60-2; illustrated schematically in Figure 5.
:
~,:
:~ :
~ ~ :
:; : :
~2S~364 ( -13-2 The output signals Ql~ Q1~ Q2' Q2' etc-~ of the shif-t register are directly connected to the (configuration) control inputs of a logic element or the pass devices of 4 the general interconnect junctions.
When ~1 is low, ~2 and hold may be brought high, 6 thus holding the data indefinitely. The entire shift 7 register may be set or cleared by setting or clearing the 8 input with ~1 and ~2 both high and HOLD low. Enough 9 set/reset time must be allowed for the signal to propagate ~, the entire length of the shift register to clear the 11 shift register in this manner. Naturally this time is 12 dependent upon the length of the shift register.
13 The shift register operates in its dynamic phase by 14 storing the information being shifted as charge on the lS gates of the transistors (not shown in Figure 5 but 16 well-known) comprising innc~ne~c~r~ 551-1, 52-1, 51-2, 52-2 17 et al. of the shift register. These inverters are of 18 well-known design and will not be described in detail.
19 The use of~dynamic shift register is important because a dynamic shift register uses six transistors and thus 27 takes up very little area. The dynamic shift register is 22 converted to a static latch by adding only one transistor.
23 Thus the dynamic shift register lstatic latch) can be 24 easily fabricated as part of a configurable logic element without adding significant complexi~y to the circuit or 26 consuming significant semiconductor area. Because of the 27 "hold" signal, the dynamic shift register can become a 28 static latch because placing the shift register on hold 29 automatically refreshes the data. Thu~ a separate refresh circuit is not needed.
31 It is apparent from the above description that the 32 dynamic shift register (static latch) circuit does not 33 need refreshing once it has been latched into a hold 34 state. This is accomplished by use of the feedback circuit comprising lead 50-1 and pass transistor 54-1 in 36 cell 5-l, for example.
: . :
: , , . .; ~ : -:
, .
~: . , :~ :. : :
~;~5S364 Figure 7 shows a hlock diagram of the configurable lo~ic element 99 of ~he present invention which includes configurable combina~ional logic 100, configurable storage circuit 120 and conflgurable output select logic 140. The combinational logic 100 re~eives the N binary input signals to the configurable logic element 99 and ~ ~inary "feedback" signals from storage circuit 120. Combinational logic 100 is configurable into a plurality of configurations. ~ach confiyuration implements one or more selected combinational logic functions of one or more selected subsets of the input si~nals to the combinational logic. Since combinational logic 100 is confiyurable, i~ can he employed to implement a variety of dif~erent functions~ Moreover, two or more selected functions may be implemented simultaneously, appearing on separate output leads of the configurable logic element 100. In more cletail, combinational lo~ic 100 selects K binary input . :
signals from among its M~N binary input slgnals (K~M-~N).
Combinational logic circuit 100 is responsive to a plurality of sets of values of a first set of configuration signals including at least a first set of values for which confiyurable combinational logic 100 implements a first set of functions, each o~ which is a function of some of said K binary signals, and a second set of values for which configurable combinational logic lOO~:implements a sçcond set of functions, each of which is a :function of some of said ~ binary signals, where said first set of functions is not the same as said second set of functions. In one embocliment combin~ational iogic 100 has a first configuration which implements a selectable 1 of 2 binary valued functions of these 3.4 -~5536~
7012~-110 K binary signals and a second configuration which implements both (K~l) a selectable 1 of the Z binary valued functions of a first (K-l) of the K selected binary input signals and a selectable 1 of ~ K-l) the 2 binary value functions of a second selected tK-l) f the K sele~ted binary input signals. (The second set ~, ::;
,, ZO
..
~: :
:
~: :
. ~ :
:`: ::
.
'~
14a .
: ~
~ .
: , , ( ~25~3~ -15-1 of K-1 signals need not be distinct from the first set.) 2 The operation of combinational logic 100 will be more ~ readily understood after a consideration of the specific 4 embodiment described in Fig. 8 which is explained hereafter.
Storage circuit 120 is also configurable and may be 6 programmed to implement, depending on the configuration, 7 one or more storage elements each of which may be, for 8 example, a transparent la-tch with set and reset, a D
9 flip-flop with set and reset, an edge detector, a stage , of a shift register, or a stage of a counter. Configurable ll storage circuit 120 receives the output signals of combina-12 tional logic 100 on bus 161 as well as a clock signal and 13 selected ones of the N input signals of combinational 14 logic 100 on input bus 160. Output select logic 140 is configured to provide output signals which are selected 16 from among the out~ut signals of the combinational logic 17 element and the storage circuit.
18 Fig. 8 shows the details of one e~ odiment of the 19 configurable logic element 99 in Fig. ~. In Fig. 8, the four input signals to the configurable logic element 99 21 are denoted by A, B, C, D (i.e., N=4). Since the storage 22 circuit 120 provides only a single feedback signal Q to 23 switch 107, M=1. In Fig. 8, K=4 since the signals A, B;
24 C and either D or Q are selected from among the five signals A, B, C, D, and Q. Configurable combinational 26 logic element 100 includes configurable switches lO1 27 through 107, 113, and 114, 8-bit R~s 108 and 109, one of 28 eight gelect logics 1~10 and~lll, multiplexer 112, and 29 configuration control~lead 115 to switches 113 and 114.
Each of the configurable switches is configured by control 31 bits from a programming register (not shown) on leads 32 (not shown except for lead 115) as previousl~ explained.
33~ Switch lOl may be configured to provide signal A as its 34 output signal or it may be configured to provide signal B
as its output signal. ~Simllarly, each of the switches 36 10? through 107 may be configured to provide a selected 1 37 of its two input signals as its output signal. Thus, for 3~ example, for one selection of configuration control bits, ', ~ ' ' , " ` ' ' ' :: ' ' '.',.',. :
`'' ' '' ` ~ ." ' "', ` ' ' .' "' ~ ` "' ` ~ ' ` ` ' ~L2S~364 swit~h 107 provides signa]. D and the binary signals A, C, and D
are provided to both one of eight select logic 110 and one of eight select logic 111 by switches 101 through 103 and 104 through 107, respec~ively. For each of the eight possible combinations of binary signals A, C and D, select logic 110 selects a uni~ue storage element in RAM 108 and outputs the bit stored in the selected loca~ion. One of eight select logic 111 operates similarly with respe~t to 8-~it RAM 109. Multiplexer 112 provides ei~her the output signal from select logic 110 or ~he output signal from select logic 111, depending on the state of signal B.
For ~his configuration, the control bit applied on lead 115 causes switches 113 and 114 to simultaneously pass the output signal ~rom multiplexer 112 to output leads F1 and F2 of combinational logic element 100. The two 8-bit RAMs 108 and 109 can be programmed with binary bits in 216 different ~ays. Each choice of ; programming of the 8-bik RAMs causes the combinational logic of element lOO to~ implement one of the 216=22 pos~ible logic ~20~ functions of the four binary varlables A, B, C and D. (Here K=4.) (A logic function is a binary valued function o~ binary variables.) ~ ~
For another selection of configuration control bits, swltch~107 provides feedback slgnal Q from storage circult 120 and s~71tches 101 through 103 and 104~through 107 and 113 and 114 ar~
configured as before. Then the combinational logic element 100 ; implements on~ o~ the 216722 poss1~ble~log1c functlons of the four binary var1ables ~, B, C and Q~for each choice of programm~ing of ~Z~5~i3~4~
70128~110 the two 8-bit RA~IS 108 and lO9. (Here again K=4.) For another selection of configuration control bits, switches 101 through 103 provide signals A, C and Q, and s~7itches 104 through 106 provide signals Br C, and Q, respectively, and the control signal applied to lead 115 causes switches 113 and 114 to provide ~he output signa:L of select 110 on lead F2 and the output signal of select 111 on lead F1, respectively. Thus, this con-figuration implements on lead F1 one of the 28=22 logic functions of the three binary variables A, C, and Q for each of the 28 possible programmings of 8-bit RAM 108 and on lead F2 implements one of the 2B logic functions of the three binary variables B, C
and Q for each of the 2 =2 possible programmings of RAM 109.
In cJeneral, for any first seleetion of three of the four variables A, B, C and D/Q, and for any second selection of three ;~ of the four variables A, B, C and DtQ, there is a configuration of :, :
the eombinational logic element 100 which implements one of the -~ 23 : ~ 2 logic functions of the first selection of -three variables on output Iead F2 for each of the 28 possible programmings of 8-bit RAM:108 a~d one of the 22 logic functions of ~he second selection 30 ;~ of three variables on output lead F1 for each of the 28 possible prog;ramminys of RAM 109.
, . ~: ~ . :
In another:embodiment (not shown), each of the 8-bit RAMs Day be "subdivided" by prov~idl~ng each with two additional one of four select logic so that any four binary functions of two of the variables A~ B. C and D/Q are implemented on four additional d~
: ~. : -;
- .. ..
, ~25536~
7312~-110 output leads of ~he eomb:Lnational logic element 100. Similarly, in another embodiment (not shown) a 32 bit RAM and the signals A, B, C, and D and the feedback signal Q are all used (so that K=5) ~ to implement in one configuration one of the 2~ binary functions ; corresponding to each programming of the 32 bit RAM (here N=4, M=1, and K=5). In another configuration (not shown) N=4, M=l, K=S, and a first binary function F1 of the variables A, B. C a second binary function F2 of the variables ~, C. D and a third binary fullction F3 of the variables B, C, D, Q are implemented.
It is important to observe that 2~ 2K2 ~ 2K3 = 2K where Ki' is the number of variables of which Fi is a function for i=l, 2, 3.
Re~urning to Figure 8, it is also important `:
~' : 20 ~'' :. ~
::: 30 , : :
~ 17a , :. .~, . .
' ~ , : .,,, ~.
- : ~
~ 25 ~36 4 ( -18-to observe that conflgurable switches 101, 102 and 103 select a subset of their input signals and provide the 3 selected subset of input signals on a one-to-one basis to 4 selected input leads of circuit 110. For example, in response to one set of values of configuxation signals, 6 configurable switches 101, 102 and 103 prcvide signal A
7 to lead 110-3, signal B to lead 110-2, and signal C to 8 lead 110-1.
9 The output signals on leads F1 and F2 are input signals to configurable storage circuit 120. Signals A, 11 C, and D are also input signals to storage circuit 120.
12 Configurable storage circuit 120 includes programmable 13 switches 122, 123, 126, 127 and 128, exclusive OR gates 14 124, 129 and 130, AND gates 125, 131 and 132, and storage element 121. Storage element 121 has a set, reset, data 16 and cloc~ input leads denoted by S, R, D and ~k, respec-17 tively, and output leads QFF and QLA-18 Switches 123, 126, 127 and 128 are each configured 19 to select one of their input signals as an output signal.
The set, clock, and reset functions associated with the 21 set, clock, and reset input leads of storage element 121 22 are all active high but each may be rendered active 10~7 " ,, '~ relative to the output signal of switches 123, 127, and 24 129 respectively by applying a logical 1 to the leads INVS, INVC, and INVR of exclusive or gates 124, 129, and 26 130 respectively. (If a logical 0 is applied to leads 27 INVS, INVC, and INVR, the polarity of the output signals 28 of the exclusive-or gates~124, 129, and 130 is the same 29 as that of the input signals. If a lo~ical l is applied to leads INVS; INVC, and INVR, the output signals of 31 exclusive-or gates 124, 129, and 130 are the inverse of 32 the input signals-) 33 The AND~ gates 125~, 131, and~132 are enabled by 34 applying a~logical 1 to the input leads ENS, ENC, and ENR
respectively (and disabled by;applying a logical 0). If 36 a~logical 0 is applied ~to~one of the input leads ENS, 37 ENC, or ENR, the output of the AND gate is a logical 0 ; ~ ~
"::
~: : - .. , -,. ,: : . .
~ ,.. .: :
,~: ~ - .
~ . : .
. .
3L 2~iS36~ -19- f and the associated ~unction of memory circuit 121 is disabled regardless of the state of the corresponding exclusive OR gate- QFF provides a flip-flop output signal and QLA provides a latch output signal as explained later in eonjunction with Fig. 9. Configurable switch 6 122 selects one of the binary singals on leads QFF and QLA and the output signal Q of switch 122 is an input 8 signal to the output select logic 140 and to the configu-rable combinational logic 100. i, Fig. 9 shows one embodiment of memory circuit 121.
Memory element 121 comprises two "D" latches LAl and LA2 12 connected in series thereby implementing a flip-flop.
13 Latch LAl includes N chànnel pass transistors Pl and P2 14 and NOR gates Gl and G2. The gates of pass transistors Pl and P2 are controlled by the signals CK and CK, respec-16 tively. Similarly, latch LA2 ineludes N channel pass 17 transistors P3 and P4 and NOR gates G3 and G4. The gates ~8 o transistors P3 and P4 are controlled by the signals CK
19 and CK, respectively. The D input lead is the data input lead of latch LA1. The S input lead serves as the set 2L input lead of latch LA1 and as the reset input lead of 22 lateh LA2. The R input lead serves as the reset input ~3 lead of latch LA1 and as the set input lead of latch LA2.
24 The output signal~QLA of NOR gate Gl is connected to the data input lead of~latch LA2. The output lead QLA is 26 eonnected to the output lead of NOR gate G2 of latch LA1 27 and the output lead QPF is connected to the output lead of NOR gate G3 of latch LA2.
~:: :: ",~ , : ~ G~ Configurable storage circuit 120 (Fig. 8) operates as a transparent latch with s~t and reset by configuring 31 ~switch~122 to connect~output Iead Q to output lead QLA.
32 The output~signal on~lead ~QLA follows the input signal 3~3 ~while the clock signal GK is low. The output signal on 34 QLA is held when the clock signal CK goes high, turning off pass transistor Pl and~turning on pass transistor P2.
3~6 Thus, the data~slgnal 15 transmltted to output lead QLA.
,.~: :: :
: ~ .. : .. .
- ... .. ~ .
- ' ; ~
:,; ~ . ..': . -.
~ : . . . .
: . , :
( ~5536~ -20 2 Storage circuit 120 may also be configured to operate as a D flip-flop with set and reset. In this configura-3 tion, switch 126 is configured -to select the signal on 4 lead Fl and gates 125, 131 and 132 are enabled by applying a logical 1 to leads ENS, ENC, and ENR, respectively.
6 Finally, switch 122 is configured to select the output 7 signal on lead QFF of storage element 121. Storage ~ element 120 may also be configured as a D flip-flop 9 without set and reset by modifying the above configura-tion by applying a logical zero to leads ENS and ENR.
11 Configurable storage circuit 120 may also be config-12 ured to be an RS latch by enabling AND gates 125 and 132, 13 and disabling AND gate 131 so that a logical 0 input 14 signal is provided on the Ck input lead of storage element 121. The logical 0 on lead Ck turns off pass transistor 16 P3 and turns on pass transistor P4. switch 122 is then 17 configured to select the output signal on QFF~
18 Finally, storage circuit 120 may also be configured 19 to be an edge detector. For example, to configure storage element I20 as a rising edge detector, AND gate 125 is 21 disabled to provide a logical 0 on input lead S, AND gate 22 131 is enabled to pass a clock signal to input lead Ck, 23 and switch 126 is configured to select input lead 126a so 24 that a logical 1 is provided to input lead D. AND gate 132 is enabled. A logical 1 reset signal forces the 26 output signal on QFF to a logical 0. A low clock signal 27 turns off pass transistor P2 and P3 and turns on pass Z~ transistor Pl, permitting NOR gate G1 to invert the 29 logical 1 on lead D, thus providing a logical 0 on node QLA. When the clock signal rises, transistors Pl and P4 31 are ~urned off, transistors P2~ and P3 are turned on, and 32 the logical 0 on node QLA is inverted by NOR gate 23, 33 thus providing a logical 1 on output lead QFF which 34 signals that a rising~edge has been detected. QFF is 3$ then reset to 0 using the reset input and the edge detector 36 is then ready to detect;the next rising edge. (Note that 37 when the clock signal falls, transistors P2 and P3 are . .
( ~25536~ -21-1 turned off and transistor P4 is turned on, and the signal 2 on QFF remains a logical 0 and does not change state 3 until the next rising edge.) 4 Similarly, storage circuit 120 may be configured as a falling edge detector by applying a logical one signal 6 to lead INVC of exclusive-or gate 129. Clearly, storage 7 circuit 120 may also serve as a stage of a shift register 8 or a stage of a counter.
9 The output select logic 140 includes configurable switches 141 and 142 which are each configured to select 11 an output signal from among the output signals on leads 12 F1 and F2 from the combinational logic lO0 and the output 13 signal of storage element 120.
14 The above embodiments are intended to be exemplary and not limiting. It will be obvious in view of the 16 disclosures made above that various substitutions and 17 modifications may be made without departing from the 18 spirit and scope of the invention.
19 In the claims which follow, the phase "means having a configuration in which said means'! performs a particular 21 function is used in place of the detailed wording "means 22 which are capable of being configured in response to a 23 selected set of values of a set of configuration signals 24 and which, when configured by said selected set of values,"
performs a particular function.
.~
: 38 ` ~ ' , ,' ` ' ' ` '` '' ' ,,, ' ' ~ , " '` ' ` ' '` ` ` '~' ''.; ' '' `' ' ', '~
, ,
11 gate or any one of a number of other logic functions 12 without change in physical structure. Structure is 13 provided on chip to allow any one of a plurality of 14 functions to be implemented by the configurable logic element. This is done by providing control logic to 16 store and generate control signals which control the 17 configuration of the configurable logic element.
18 In one embodiment, the control signals are stored 19 and transmitted by control logic formed integrally with and as part of the integrated circuit chip containing the 21 configurable logic elements. ~owever, if desired, the 22 control information can be stored and/or generated outside 23 the integrated circuit and transmitted through pins to 24 the configurable logic element.
In general, a given set of control signals in the 26 form of control bits is transmitted from the control 27 logic to a configurable logic element to control the 28 configuration of that configurable logic element. The 29 actual sèt of control bits ~rovided to the configurable 30 logic element on the integrated circuit chip depends on 31 the function to be carried out by the configurable logic 32 element on the chip.
34 S~MARY OF THE INVENTION
A configurable logic element is disclosed which 36 provides great versatility in the selection of the func-37 tion it is capable of implementing. The configura~le ~ ~ `''`
: .,.,~:;
' : ' :~ : ' '': ~
-~ 53 70128-110 locJlc element includes a combinational logic element, a storage element, and an OUtpllt select logi.c, each of which is configured by control hits. Selected input si~nals to the configurable logic element toge~her wi~h selected "feedback" signals from the storage element are the input signals to the comb:Lnational logic elemenk.
The input signals to the con:Eigurable logic element together wlth the output signals of the combinational logic element provide input signals to the configurable storage element. The output select logic provicles output signals which are selected from the output signals of the combinational :Logic element and the storage ~ element.
; In accordance ~ith a broad aspect of the invention there is provided a conficJurable logic element comprising: means for receiving a first plurality of N binary illpUt signals; means for receiving a second plurality of M binary feedback signals; means : for selec:ting K of said M-~N binary signals (where K~N-~M~;
; combinational logic means for receiving said K binary signals from said means for selecting, said combinational logic means having a plurality of configurations including at least a first ~ 20 configuration in which said combinational logic means generates a first set of binary output signals, each of which represents a function of some of said K binary signals and a second configuration in which said configurahle combinational logic means generates a second set of binary output signals, each of which represents a function of some of said K binary signals, wherein the set of functions represented by said first set of binary signals i5 not the same as ~he set of functions represented by 3 ;
~' ' ~ , ~ `,'''"' `' ' ' ,' `~' ,~ . ,, ,,. ~
25S3~
said second set of binary signals; a configurable storage circuit comprising: a pluxa:lity of input leads for receiving a plurality of input signals, said input signals corresponding to said input leads on a one-to-one basis, said input signals comprising selected ones of said binary output signals of said combinational logic means and selec~ed ones of said N binary input signals, memory means for storing data, said memory means having at least a first and a second input lead and at least one output lead; first means having a first configuration in which said first means provides a first selected one of said inpllt signals of said con-figurable storage circuit to said first input lead of said memory means; second means having a first and a second configuration in which said second means provides a second and a third selected, one, respectively, of said input signals of sa.id configurable storage circuit to saicl second input lead of said memory means, said memory means generating said second plurality of M binary ~ signals i.n response ~o said signals provided by said first and ; said second means; and a configurable select logic comprising:
means for receiving said output signals generated by said com-20 binational logic means and said M binary signals generated by said configurable storage circuit, and means for selecting output signals from among the signals received by said select logic.
In accordance with another broad aspect of the invention there is provided a configurable logic element comprising: means for receiving a first plurality of N binary input signals; means for receiving a second plurality of M binary feedback signals;
means for selecting K of said M+N binary signals of said first and ; ' ~
: 3a ~`
.. .:. .
: ' `: ~:'' -. '. -~ ;
3l :2S~64 701~8-110 saicl secorld plurality ~1here KsN~I); configurable combinational logic means comprising: first configurahle means for receiving said K binary input signals, said first configurable means having at least a first configu.ration in which said $irst configurable means generates a first set of output si~nals said first set being a first subset of saicl K input'signals, and a second configuration in which said first configurable means generates a second set of output signals said seconcl set being a second subset of said K
input signals! wherein said first set is not equal to said second set; first memory means having a plurality of storage locations, each of said sto~age locations for storing a binary bit; first location selection means for receiving said output signals of said first configurable means and for selecting a storage location within said first memory means in response to said output signals of said first conflgurable means and for providing a ~irst output signal representing the binary bit stored in said selected storage location within said first memory; a configurable storage clrcuit ~omprising, a plurality of input leads for receiving a plurality ::
of input signals said input siynals corresponding to said input leads on a one-to-one basisj said input signals comprising selected ones o~ said output signals of said first location selection means and selected ones of said N binary input signals;
memory,~eans for storing data, said memory means having at least a first~and a second input lead~and at least one output lead; first . ~ : :
means,having a first configuration in which said first means provides a first selected one of sald input slgnals of said con-fi~rable storage circuit to said:first input lead of said memory i~ ~
~ 3b ,i : ... s~ ~
~2553~
70128-llO
means; second means having a first and a second configuration in whi~h said second means provides a second and a third selected one, respectively, of said input signals of said configurable storage clrcuit to said second input lead of said memory means r said memory means generating said second plurality of M binary signals in response to said signals provided by said first and said second means; and a configurable select logic comprising:
means for receiving the output signals produced by said first location selection means of said~combinational logic and said M
binary signals; and means for selecting output signals from among the signals received by said select logic.
In accordance with another broad aspect of the invention there is provided a configurable combinational logic circuit comprising: flrst configurable means for receiving K binary input signals, said first configurable means having at least a first configuration in which said first configurable means generates a first set of output signals said first set being a first subset of said K input signals, and a second configuration in which said ` ~ ~
~ first configurable means generates a second set of out signals : : :
~ 20 said second set being a second subse~ of said K input signals :: : : :
wherein said firs~t set is not equal to said second set; first ~membry means having a plurality o f storage locations, each of said , : : :::::~: ;~ storage locations for storing a:binary bit; first location s~elect1on means for receivtng~said~output signals of said first con$1~urable means and for selecting a storage location within said first memor~ mean.s in response to said output si~nals of said first configurable means and for providing a first output signal :
~ : : 3c ~5 ~
- '' ,' ~ ` :`". :
.
~255364 representing ~he binary ~it stored in said selected storaqe location within said first memory.
In accordance with another broad aspect of the invention there is provided a configurable storage circuit comprising:
memory means for storing lata, said memory means having at least a first and a second inpu~ lead; a first set o~ one or more input :Leads corresponding to said first input lead, each input lead of said first set for receiving a corresponding input signal; a second set of one or more input leads corresponding to said second input lead, each input lead of said second set for receiving a corresponding input signal; first means which, for each given lead in said first setr has a corresponding conflguration in which said first means provides the input signal on said giv~n lead to said first input lead; second means which, for each given lead in said second set, has a corresponding first configuration in which said second means provides the input signal on said given lead to said :
, ~
second lead; said memory means generating one or more output signals in response to said signals provided:by said first means and sald second means.
~ In accordance with~another broad aspect of the invention thers lS provided a con~l~gurable logic~element~comprising: means for receiving a first plurality of N binary input signals; means or~receiving a second plurallty of M binary feedhack signals;
means~for selecting~K of said M~N~binary signals ~where K5N+M)~;
combinational logic means for receiving said K binary signals from said means for seleating, ssld ~onfigurable combinational loglc mesns having a plurality of conigurations ~or generating binary 3d:
1 ` ` ,~: ' ` ` ' ' ' ' ' ` ' i "' ` ' '" ` ~ . .`
'`
,, ,'' ''`,` , ~553~i4 output signals; a configurable storage circuit for receiving selected ones of saicl binary output signals of said configurable combinational logic means ancl selected ones of said N binary input signals and for generati.ny said M hinary feedback signals, said ~onfigurable storage circuit having a plurality of conflgura~ions;
and a configurable select logic comprising means for receiving said output signals qenerated by said combinational logic means and said M binary signals generat0d by said configurable storage circuit and means for selecting output signals from among the signals received by said select logic.
This invention will be more fully understood with reference to the following detailed description and accompanyinq ;~ drawings.
,. ~ ~ens~
Figure 1 illustrates some of the various logic functions capable of being implemen~ed by a configurable logic element in a co~nfigurahle logic array;
Figure 2 illustrates the internal logic structure of one possible configurable logic element capable of implementing a number of useful functions of two variables A and B;
. ~
~ ~ Figure 3A illustrates a 16 bit RAM circuit wherein any :, one of sixteen possible input states is capable of being ide~ntified~and 2l6 functlons are capable of being implemented.
Figure 3B illustra~es a selection structure for ; selecting any one of sixteen bits capable of implementing 2~6 . .:
~ functions, for transmittal to an output lead;
: ;~
~ Figure 3C illustrates one possible Karnaugh map for the ~ . :
~ 3e :
-- ~255i36~
701~8-110 structure of Figure 3A;
Eigure 3~ illustrates the logic gates represented by placing a binary one in the Karnaugh map o~ Figure 3C at the intersections of the first and second rows and the first column.
~: :
:. :
': : ~ .
: ::
~: 20 ~
. : : :
:~ :
"
`: : :
.. ~. ~ : :
::
, :.~ ~ ' : ''. ', . . ':
~ ~ : : ' ,' ~'.," ' '': '`' ' ~2553 Ei~
Figure 4A illustrates a plurality of configurable logic elements (shown as nine logic elements) formed on an integrated circuit chip together with programmable interconnects formed between selected leads to yield desired logic functions and with selected input/output pads and interconnections of the leads between logic element;
Figure 4B shows the key to the cross-connections between crossing conductive leads in Figure 4A;
Figure 5 represents a portion of the circuitry of a novel combination static and dynamic shift register appropriate for use with the configurable logic array of this invention;
Figures 6A through 6H represent wave forms of use in `
explaining the operation of the structure of Figure 5;
Figure 7 shows a configurable logic element according to the present invention;
' Figure 8 shows one embodiment of the configurable logic element of Figure 7; and Figure 9 shows one embodiment of the storage element 121 of Figure 8.
`~ 20 DETAILED DESCRIPTION
, The following detailed description of this invention i ~ ls meant to be illustrative only and not limiting. Other ~ embodiments of this invention will be o~vious to those skiIled in `~ the art in view of the following disclosure.
, . .
~ An understanding of the configurable logic elements i and general interconnect structure of the configurable logic :
' .: :: - :., ;~
. . :: .
~2~;536~
-4a- 70128-110 array descri.bed in copending Canadian Patent Application Serial No. 478,752, filed April 10, 1985 on an invention of Ross H.~. Freeman, entitled "Configurable Logic Array" is helpful to understand the present invention.
Figure 1 illustrates certain logic functions capable of being implemented by a configurable logic element. The ~:i :' ,' ',', ~ :
, .
. ~ :
., -. ~
:: .
, :
~5~;36~
~` 5 ~-l 28 functions shown in Figure 1 are merely illustrative and 2 other elements not shown can, if desired, be implemented 3 by a configurable logic element. The following functions 4 are shown:
Element Function 6 1 AND gate 7 2 NAND gate 8 3 AND gate with inverted input 9 4 NAND gate with inverted input OR gate ll 6 NOR gate 12 7 exclusive OR gate 13 8 : exclusive NOR gate 14 9 3 input AND gate 3 input NAND gate 16 11 3 input OR gate 17 12 3 input NOR gate 18 13 OR gate with one input comprising AND gate lg 14 NOR gate with one input comprising AND gate AND gate with one input comprising OR gate 21 16 NAND gate with one input com~rising OR gate 22 17 3 input AND gate with one input inverted 23 18 3 input NAND gate with one inverted inpu-t 24 19 3 input OR gate with one inverted input 3 ~ NOR gate with one inverted input 26 21 one of two inputs multiplexer 27 22 inverting one of~ two inputs multiplexer 28 23 "D" flip flop with reset 29 2~ Set-Reset latch . : :
"D" flip-flop with reset and inverted 31 ~ output 32 26 Set-reset latch with:reset and inverted 33 ~ output 34 27 "D" fllp-flop with~set 35~ 28 'iD" flip-flop~with set and inverted output 36 Of:course, other logic functions can also be imple-37 mented in a configurable logic element.
38 ~ ; :
. :. . -:: :-,. .
~: ~:: .: - ' ::- ' : ' :
. :. :::---: , .. ..
. ~ . . ....
: , . .,.,.. : ~ ., :: , .
: - : . . ,~ - ., . : : ; : . .
.
~ 25536~
, , . {
1 Figure 2 illustrates the internal logic structure of 2 one possible configurable logic element which is capable of implementing all useful basic functions of the two 4 variables A and B, with the functions being selected by configuration control signals CO, CO, C1, C1, ... through 6 C5 on control leads CO, CO, ... through C5. (In this 7 example, all control leads are connected to the gates of 8 N channel enhancement mode pass -transistors.) To implement 9 an AND gate function using the structure shown in Figure 2, the input leads labeled A and B are shunted past invert-11 ers 21 and 22, respectively, to AND gate 25 by high level 12 signals on the C1 and CO configuration control leads 13 which, being connected to the gates of N channel enhance-14 ment mode pass transistors 29c and 29d, causé pass tran-sistors 29c and 29d to turn on.
16 Low level signals are applied to the configuration 17 control leads C0 and C1, thus blocking the output signals 18 of inverters 21 and 22 from AND gate 25. In addition, a 19 high level signal on lead C5 is applied to enable AND
gate 25. Thus three input AND gate 25 functions as a 21 two-input AND gate with respect to the signals A and B.
22 The output signal of AND gate 25 provides one input 23 signal to NOR gate 26. A second input signal to NOR gate 24 26 is provided by the output signal of AND gate 24. The output signal of AND gate 24 is held at a logical O by 26 applying a logical O to configuration control lead C4.
27 Thus the control signals C2 and C3 are "don't cares", 28 that is, these signals can be high or low without affect-29 ing the output signal of AN~ gate 24. Since the output sianal of AND gate 24 is a logical 0, and since the r ' ~ ~tR~e L ~ ~e control input signal to NOR gate 26 is a logi-32 cal 0, it is easy to see that AND gate 25, AND gate 24 33 and NOR gate 26 function together as a NAND gate with 34 respect to input signals A and B. Since the tri-state control signal input to NOR gate 27 is a logical O (except 36 during reset), NOR gate 27 serves as an inverter with 37 respect to the output signal of NOR gate 26. The output . . : , :
. . :
: ; -, :, . .. :
ii53~4 ,, ( signal of NOR gate 26 is applied to the gate of N channel transistor 29a (the source of which is grounded and the drain of which is connected to output lead 28) and the 4 complement of the output signal o~ NOR gate 26 is applied to the gate of N channel transistor 29b (the source of 6 which is connected to a power supply and the drain of 7 which is connected to both the output lead 28 and the 8 drain of N channel transistor 29a). Thus, transistors 9 29a and 29b function as an inverter with respect to the output signal of NOR gate 26. Thus, the structure of 11 Figure 2 configured as described above performs the 12 function of an AND gate with respect to the signals A and 13 B. Other logic functions can also be produced by appro-1~ priate selection of the control signals to be supplied to the configuration control leads CO through C5 to activate 16 the appropriate pass transistors and gates within the 17 strUcture-18 Figure 3A illustrates a 16 bit RAM capable of producing 19 an output signal in response to any one of sixteen possible combinations of input signals. Thus input signals A and 21 B control the X decoder to select any one of the four 22 columns in the 16 bit RAM. Input signals C and D control 23 the Y decoder to select any one of the four rows in the 2~ 16 bit RAM. The 16 bit RAM produces an output signal representative of the bit at the intersection of the 26 selected row and column. There are 16 such intersections 27 and thus sixteen such bits. There are 216 possible 28 combinations of functions capable of being represented by 29 16 bits. T~us, if a NOR gate is to b~ simulated by the 16 bits in the R~, the Karnough map for the RAM would be 31 as shown in ;Figure 3C. In Figure 3C all bits are "O"32 except the bit at the intersection of the first row 33 (representing ~=O, B=O) and the first column (representing 34 C=0, D=0). Should a less frequently used function be desired to be generated by the 16 bit RAM, (for example, 36 should a "1" output signal be desired for A=1, B=O, C=O
37 and D=O~ then a binary "1" is stored at the intersection o :
~ . ~
:
: - : :. ., :,~
. . , ::
:.. . . .
: . . : .~ ,., . , . :
- : : . ...
: - . : .
:. . ,.:
~2~;53~
( 8- ~
1 of the second row and the first column. Should a binary ~ "1" be desired both when A=0, B=0, C=0 and D=0 and also 3 when A=l, B=0, C=0 and D=0, then a binary "1" is stored 4 at each of the intersections of the first column with the first row and the second row. The logic circuit repre-6 sented by this loading of the RAM is as shown in Figure 7 3D. Thus the RAM of Figure 3A represents an elegant and 8 simple implementation of any one of 216 logic functions.
9 Figure 3B shows another structure for yielding any ~, one of sixteen select bits. Each of registers 0-15 in 1~. the vertical column to the left labeled "16 Select Bits", 12 contains a selected signal, either a binary 1 or 0. By 13 selecting the proper combination of A, B, C, and D, a 14 particular bi-t stored in a particular one of the sixteen locations in the 16 Select Bits register is transmitted 16 to the output lead. Thus, for example, to transmit -the 17 bit in the "1" register to the output lead, the signal A, 18 B, C, D is applied to the leads so labeled. To transmit 19 the signal labeled "lS" in the sixteenth location in the 16 Select Bits register to the output lead, the signal A, 21 B, 2, and D is applied to the appropriate columns.
22 Again, any one of 216 logic functions can be implemented 23 using this structure.
24 Figures 4A illustrates a configurable logic array containing nine configurable logical elements. As shown 26 in Figure 4a, each CLE of the nine CLEs 40-1 through 40-9 27 has a plurality of input leads and one or more output 28 leads. Each input lead has a plurality of access junctions 29 each connécting a selected general interconnect lead to the input lead. The access junctions for inpu-t lead 2 of 31 CLE 40-7 are labeled Al through A4 in Figure 4a. The 32 access junctions for the other input leads are indicated 33 schematically but are not labeled for the sake of clarity.
34 Similarly, each output lead of each CI.E has a plurality of access junctions each connecting the output lead to a 36 corresponding one of the general interconnect leads. The 37 access junctions are indicated schematically for each -, , :. , :
, ~ 53~
1 output lead of each CLE in Figure 4a. The access junc-2 tions for the output lead of CLE 40-7 are labeled B1 ~ through B5. Tlle leads in Figure 4a which are neither 4 input leads nor output leads are called general inter-connect leads and the junctions in Figure 4a which are 6 not access junctions for input and output leads are 7 called general interconnect junctions. As shown in 8 Figure 4A, nine logic elements are placed on an integrated 9 circuit chip together with programmable access junctions , and a general interconnect structure which comprises 11 general interconnect leads and programmable general 12 interconnect junctions for connecting various leads to 13 other leads. The general interconnect structure includes 1~ a set of general interconnect leads and of programmable junctions interconnecting the general interconnect leads 16 having the property that for each general interconnect 17 lead in the general interconnect structure there is a 18 programming of the general interconnect junctions which 19 connects the given general interconnect lead to one or more o-ther leads in the general interconnect structure.
21 Moreover, there is a programming of the junctions (both 22 access and general interconnect) such that for any given 23 output lead of any CLE in the CLA, and for any given 24 input lead of any other CLE in the CLA, there is a pro-gramming of the junctions such that the given output lead 26 is connected to the given inpu-t lead. An electrical path 27 from a given output lead to a given input lead always 28 contains at least two access junctions and at least a 29 portion of a general interconnect lead. For example, one electrical path from the output lead of CLE 40-8 to the 31 second input lead of CLE 40-9 contains access junctions 32 A7 and B7 and the marked portion P of a general intercon-33 nect lead. Typicallyj an electrical path from an output 34 lead of one CLE to an input lead of another CLE will also contain one or more general interconnect junctions. Each 36 of logic elements 40-l through 40-9 represents a collection 37 of circuitry such as that shown in Figure 2 or some - . : .,~ ....
.:; ,. :. -.
. : : , : -:~ ~ . , , . :: , . . -~25i5364 -lo-1 similar structure capable of being configured as described above in Figure 2 to perform any one of a number of logic - functions. To program the circuitry (both the configurable 4 interconnect switches and the configurable logic elements), selected signals are applied to input leads identified as 6 configuration control input leads thereby to generate a 7 desired logical function in each of the logic elements 8 and to interconnect the logic elements as desired. In 9 Figure 4A, no specific lead has been identified as an input lead for the configuration control signals. However, 11 any particular I/O pad can be selected for this purpose.
12 The configuration control bits can be input into the 13 configurable logic array either in series or in parallel 14 depending upon design considerations where they are typically stored in a programming register (shown in 16 Figure 5). Alternatively, the configuration control bits 17 may be stored in a memory on chip. In addition, another 18 I/O pad will be used for an input clock signal which is 19 used, inter alia, for the loading of the configuration control signals into the programming register. When the 21 configurable logic array shown in Figure 4A has been 22 configured, selected output signals of logic elements 23 40-1 through 40-9 are provided to selected I/O pads.
24 Figure 4B illustrates the meaning of the junction symbols used in Figure 4A.
26 To configure a logic element such as logic element 27 40-1 ~Figure 4A), a number of bits must be applied to the 28 configuration controI leads such as leads C0 through CS, 29 as shown, for example, in Figure 2. To do this a shift register, for example, is utilized as part of each configu-31 rable logic element. Figure 5 illustrates a shift register 32 which may be~used. The shift register of Figure 5 is 33 illustrated showin~ two basic storage celIs. Each storage 3~ cell is capable of storing one bit of information. of course, an actual shift register will contain as many 36 storage cells as required to configure the logic element 37 of which the shift register is a part, to its desired . ~
::
:~ :
::: -, :::-: : .:
- :: . .
.~, " . :, , ~ ' ( ~5~36~
, 1 configuration. In operation, an input signal is applied 2 to input lead 58. This input signal (shown in Figure 6D) 3 contains bit stream to be stored ln the shift register as ~ configuration control bits to configure the configurable logic element to perform a desired logic function or to 6 configure (program) an access junction or a general 7 interconnect junction between general interconnect leads 8 in a manner to be described shortly. Thus the sequence 9 of pulses applied to input lead 58 represents those pulses which when stored in the storage cells of the 11 shift register will activate the configuration control 12 bits in the proper manner to achieve the desired functional 13 and/or interconnection result. For example, if the 14 circuit of Figure 2 is to be configured to form an AND
gate, the pulses C0, Cl, C2, C3, C4, and C5 would be 16 represented by 1,l,~,X, 0,1.
17 The sequence of pulses applied to input lead 58 is 18 synchronized with clocking pulses ~1 and ~2 applied to 19 leads 57 and 59 respectively. Thus in the first period of operation clocking pulse ~1 goes high (Fig. 6A), 21 clocking pulse ~2 is low (Fig. 6B), the hold signal lFig.
22 6C) is low during shifting thereby facilitating the 23 passage of data through sequentially connected cells 5-1, 24 5-2 et al. of the shift register. To shift the pattern 01010 into the shift register, the following operations 26 occur: The input signal on lead 58 is low during approx-27 imately the first half cycle of the clocking period tl.
28 The output signal Ql of inverter 51-1 goes to a high 29 level in response to the low level input signal and ~1 high to enable pass transistor 53-1. Some time through 31 the first clocking period tl, the clock signal ~1 goes 32 low (Fiq. 6A) and the clock~signal ~2 shortly thereafter 33 goes hlgh ~Fig. 6B) to enable pass transistor 55-1.
34 Consequently, the high level output signal Ql is trans-mitted to the input lead of~inverter 52-1 by enabled pass 36 transistor 55-1 and thereby produces a low level output 37 signal Ql on the output lead of inverter 52-1. Thus at ::-: ~ : ~ . ::, -: . -:~, : , : . :. : . : ,.:
-.~ : :.:, ;. ; ,,, ~25~i364 the end of period tl, the output signal Q1 (Figure 6F) from inverter 52-1 is low level. The output signals Q2 and Q2 from inverters 51-2 and 52-2 in the second cell are still indeterminate because no known signal has yet propagated to the second storage cell 5-2 to change the signals of these inverters to a known ; state.
. At the beginning of the second period (labelle~. I't2ll in :
Figure 6A), ~1 goes high (Figure 6A) and ~2 is low (Figure 6B) ; having gone low before period tl ended. The input signal . 10 (Figure 6D) now has risen to a high level representing a `.~ binary 1 and thus the output signal Ql of inverter 51-1 has gone low. The outputsignal Ql of lnverter 52-1 remains low because : ;
::: pass transistor 55-1 is held off by the low level ~2 signal.
Some time through the second period ~1 goes low followed a fraction of t.ime.later ~y ~2 going high. At this time, the output sig-.~' :
nal Ql is transmitted through pass transistor 55-1 to inverter :: ~ 52-1 thereby driving the output signal Q1 from inventer 52-1 to high level. Meanwile, during period t2 the previous low ~; level signal on Ql has driven the output signal Q2 of inverter ::.
51-2~to a high level when Ql was at a high level to enable pass transistor 53-2 and the change in ~2 from a low level to a high level in the second half of per1od t2 to enable pass transis-tor : 55-2 drives the output signal Q2 from:inverter 52-2 to a low level. In this manner,~ the~;input slgnal on lead 58 (Figure 6D) is transmitted through each. of the cells 5-1, 5-2, 5--3 et al. in the shift register. Upon the transfer into the shift register of ~255364 -12a- 70128-110 the de~ired information, the hold sLgnal (Figure 5C) is enakled (i.e., driven to a high level) therebv to connect the feedback leads 50-1, 50-2, and 50-3 et al. from the output leads of inverters 52 to the input leads of inverters 51 so as to hold the lnformation then in each cell indefinitely. In operation, the signal stored in a given cell e.g. 5-1 is connected to a configuration control or to an interconnect pass device such as devices 60-1 and 60-2; illustrated schematically in Figure 5.
:
~,:
:~ :
~ ~ :
:; : :
~2S~364 ( -13-2 The output signals Ql~ Q1~ Q2' Q2' etc-~ of the shif-t register are directly connected to the (configuration) control inputs of a logic element or the pass devices of 4 the general interconnect junctions.
When ~1 is low, ~2 and hold may be brought high, 6 thus holding the data indefinitely. The entire shift 7 register may be set or cleared by setting or clearing the 8 input with ~1 and ~2 both high and HOLD low. Enough 9 set/reset time must be allowed for the signal to propagate ~, the entire length of the shift register to clear the 11 shift register in this manner. Naturally this time is 12 dependent upon the length of the shift register.
13 The shift register operates in its dynamic phase by 14 storing the information being shifted as charge on the lS gates of the transistors (not shown in Figure 5 but 16 well-known) comprising innc~ne~c~r~ 551-1, 52-1, 51-2, 52-2 17 et al. of the shift register. These inverters are of 18 well-known design and will not be described in detail.
19 The use of~dynamic shift register is important because a dynamic shift register uses six transistors and thus 27 takes up very little area. The dynamic shift register is 22 converted to a static latch by adding only one transistor.
23 Thus the dynamic shift register lstatic latch) can be 24 easily fabricated as part of a configurable logic element without adding significant complexi~y to the circuit or 26 consuming significant semiconductor area. Because of the 27 "hold" signal, the dynamic shift register can become a 28 static latch because placing the shift register on hold 29 automatically refreshes the data. Thu~ a separate refresh circuit is not needed.
31 It is apparent from the above description that the 32 dynamic shift register (static latch) circuit does not 33 need refreshing once it has been latched into a hold 34 state. This is accomplished by use of the feedback circuit comprising lead 50-1 and pass transistor 54-1 in 36 cell 5-l, for example.
: . :
: , , . .; ~ : -:
, .
~: . , :~ :. : :
~;~5S364 Figure 7 shows a hlock diagram of the configurable lo~ic element 99 of ~he present invention which includes configurable combina~ional logic 100, configurable storage circuit 120 and conflgurable output select logic 140. The combinational logic 100 re~eives the N binary input signals to the configurable logic element 99 and ~ ~inary "feedback" signals from storage circuit 120. Combinational logic 100 is configurable into a plurality of configurations. ~ach confiyuration implements one or more selected combinational logic functions of one or more selected subsets of the input si~nals to the combinational logic. Since combinational logic 100 is confiyurable, i~ can he employed to implement a variety of dif~erent functions~ Moreover, two or more selected functions may be implemented simultaneously, appearing on separate output leads of the configurable logic element 100. In more cletail, combinational lo~ic 100 selects K binary input . :
signals from among its M~N binary input slgnals (K~M-~N).
Combinational logic circuit 100 is responsive to a plurality of sets of values of a first set of configuration signals including at least a first set of values for which confiyurable combinational logic 100 implements a first set of functions, each o~ which is a function of some of said K binary signals, and a second set of values for which configurable combinational logic lOO~:implements a sçcond set of functions, each of which is a :function of some of said ~ binary signals, where said first set of functions is not the same as said second set of functions. In one embocliment combin~ational iogic 100 has a first configuration which implements a selectable 1 of 2 binary valued functions of these 3.4 -~5536~
7012~-110 K binary signals and a second configuration which implements both (K~l) a selectable 1 of the Z binary valued functions of a first (K-l) of the K selected binary input signals and a selectable 1 of ~ K-l) the 2 binary value functions of a second selected tK-l) f the K sele~ted binary input signals. (The second set ~, ::;
,, ZO
..
~: :
:
~: :
. ~ :
:`: ::
.
'~
14a .
: ~
~ .
: , , ( ~25~3~ -15-1 of K-1 signals need not be distinct from the first set.) 2 The operation of combinational logic 100 will be more ~ readily understood after a consideration of the specific 4 embodiment described in Fig. 8 which is explained hereafter.
Storage circuit 120 is also configurable and may be 6 programmed to implement, depending on the configuration, 7 one or more storage elements each of which may be, for 8 example, a transparent la-tch with set and reset, a D
9 flip-flop with set and reset, an edge detector, a stage , of a shift register, or a stage of a counter. Configurable ll storage circuit 120 receives the output signals of combina-12 tional logic 100 on bus 161 as well as a clock signal and 13 selected ones of the N input signals of combinational 14 logic 100 on input bus 160. Output select logic 140 is configured to provide output signals which are selected 16 from among the out~ut signals of the combinational logic 17 element and the storage circuit.
18 Fig. 8 shows the details of one e~ odiment of the 19 configurable logic element 99 in Fig. ~. In Fig. 8, the four input signals to the configurable logic element 99 21 are denoted by A, B, C, D (i.e., N=4). Since the storage 22 circuit 120 provides only a single feedback signal Q to 23 switch 107, M=1. In Fig. 8, K=4 since the signals A, B;
24 C and either D or Q are selected from among the five signals A, B, C, D, and Q. Configurable combinational 26 logic element 100 includes configurable switches lO1 27 through 107, 113, and 114, 8-bit R~s 108 and 109, one of 28 eight gelect logics 1~10 and~lll, multiplexer 112, and 29 configuration control~lead 115 to switches 113 and 114.
Each of the configurable switches is configured by control 31 bits from a programming register (not shown) on leads 32 (not shown except for lead 115) as previousl~ explained.
33~ Switch lOl may be configured to provide signal A as its 34 output signal or it may be configured to provide signal B
as its output signal. ~Simllarly, each of the switches 36 10? through 107 may be configured to provide a selected 1 37 of its two input signals as its output signal. Thus, for 3~ example, for one selection of configuration control bits, ', ~ ' ' , " ` ' ' ' :: ' ' '.',.',. :
`'' ' '' ` ~ ." ' "', ` ' ' .' "' ~ ` "' ` ~ ' ` ` ' ~L2S~364 swit~h 107 provides signa]. D and the binary signals A, C, and D
are provided to both one of eight select logic 110 and one of eight select logic 111 by switches 101 through 103 and 104 through 107, respec~ively. For each of the eight possible combinations of binary signals A, C and D, select logic 110 selects a uni~ue storage element in RAM 108 and outputs the bit stored in the selected loca~ion. One of eight select logic 111 operates similarly with respe~t to 8-~it RAM 109. Multiplexer 112 provides ei~her the output signal from select logic 110 or ~he output signal from select logic 111, depending on the state of signal B.
For ~his configuration, the control bit applied on lead 115 causes switches 113 and 114 to simultaneously pass the output signal ~rom multiplexer 112 to output leads F1 and F2 of combinational logic element 100. The two 8-bit RAMs 108 and 109 can be programmed with binary bits in 216 different ~ays. Each choice of ; programming of the 8-bik RAMs causes the combinational logic of element lOO to~ implement one of the 216=22 pos~ible logic ~20~ functions of the four binary varlables A, B, C and D. (Here K=4.) (A logic function is a binary valued function o~ binary variables.) ~ ~
For another selection of configuration control bits, swltch~107 provides feedback slgnal Q from storage circult 120 and s~71tches 101 through 103 and 104~through 107 and 113 and 114 ar~
configured as before. Then the combinational logic element 100 ; implements on~ o~ the 216722 poss1~ble~log1c functlons of the four binary var1ables ~, B, C and Q~for each choice of programm~ing of ~Z~5~i3~4~
70128~110 the two 8-bit RA~IS 108 and lO9. (Here again K=4.) For another selection of configuration control bits, switches 101 through 103 provide signals A, C and Q, and s~7itches 104 through 106 provide signals Br C, and Q, respectively, and the control signal applied to lead 115 causes switches 113 and 114 to provide ~he output signa:L of select 110 on lead F2 and the output signal of select 111 on lead F1, respectively. Thus, this con-figuration implements on lead F1 one of the 28=22 logic functions of the three binary variables A, C, and Q for each of the 28 possible programmings of 8-bit RAM 108 and on lead F2 implements one of the 2B logic functions of the three binary variables B, C
and Q for each of the 2 =2 possible programmings of RAM 109.
In cJeneral, for any first seleetion of three of the four variables A, B, C and D/Q, and for any second selection of three ;~ of the four variables A, B, C and DtQ, there is a configuration of :, :
the eombinational logic element 100 which implements one of the -~ 23 : ~ 2 logic functions of the first selection of -three variables on output Iead F2 for each of the 28 possible programmings of 8-bit RAM:108 a~d one of the 22 logic functions of ~he second selection 30 ;~ of three variables on output lead F1 for each of the 28 possible prog;ramminys of RAM 109.
, . ~: ~ . :
In another:embodiment (not shown), each of the 8-bit RAMs Day be "subdivided" by prov~idl~ng each with two additional one of four select logic so that any four binary functions of two of the variables A~ B. C and D/Q are implemented on four additional d~
: ~. : -;
- .. ..
, ~25536~
7312~-110 output leads of ~he eomb:Lnational logic element 100. Similarly, in another embodiment (not shown) a 32 bit RAM and the signals A, B, C, and D and the feedback signal Q are all used (so that K=5) ~ to implement in one configuration one of the 2~ binary functions ; corresponding to each programming of the 32 bit RAM (here N=4, M=1, and K=5). In another configuration (not shown) N=4, M=l, K=S, and a first binary function F1 of the variables A, B. C a second binary function F2 of the variables ~, C. D and a third binary fullction F3 of the variables B, C, D, Q are implemented.
It is important to observe that 2~ 2K2 ~ 2K3 = 2K where Ki' is the number of variables of which Fi is a function for i=l, 2, 3.
Re~urning to Figure 8, it is also important `:
~' : 20 ~'' :. ~
::: 30 , : :
~ 17a , :. .~, . .
' ~ , : .,,, ~.
- : ~
~ 25 ~36 4 ( -18-to observe that conflgurable switches 101, 102 and 103 select a subset of their input signals and provide the 3 selected subset of input signals on a one-to-one basis to 4 selected input leads of circuit 110. For example, in response to one set of values of configuxation signals, 6 configurable switches 101, 102 and 103 prcvide signal A
7 to lead 110-3, signal B to lead 110-2, and signal C to 8 lead 110-1.
9 The output signals on leads F1 and F2 are input signals to configurable storage circuit 120. Signals A, 11 C, and D are also input signals to storage circuit 120.
12 Configurable storage circuit 120 includes programmable 13 switches 122, 123, 126, 127 and 128, exclusive OR gates 14 124, 129 and 130, AND gates 125, 131 and 132, and storage element 121. Storage element 121 has a set, reset, data 16 and cloc~ input leads denoted by S, R, D and ~k, respec-17 tively, and output leads QFF and QLA-18 Switches 123, 126, 127 and 128 are each configured 19 to select one of their input signals as an output signal.
The set, clock, and reset functions associated with the 21 set, clock, and reset input leads of storage element 121 22 are all active high but each may be rendered active 10~7 " ,, '~ relative to the output signal of switches 123, 127, and 24 129 respectively by applying a logical 1 to the leads INVS, INVC, and INVR of exclusive or gates 124, 129, and 26 130 respectively. (If a logical 0 is applied to leads 27 INVS, INVC, and INVR, the polarity of the output signals 28 of the exclusive-or gates~124, 129, and 130 is the same 29 as that of the input signals. If a lo~ical l is applied to leads INVS; INVC, and INVR, the output signals of 31 exclusive-or gates 124, 129, and 130 are the inverse of 32 the input signals-) 33 The AND~ gates 125~, 131, and~132 are enabled by 34 applying a~logical 1 to the input leads ENS, ENC, and ENR
respectively (and disabled by;applying a logical 0). If 36 a~logical 0 is applied ~to~one of the input leads ENS, 37 ENC, or ENR, the output of the AND gate is a logical 0 ; ~ ~
"::
~: : - .. , -,. ,: : . .
~ ,.. .: :
,~: ~ - .
~ . : .
. .
3L 2~iS36~ -19- f and the associated ~unction of memory circuit 121 is disabled regardless of the state of the corresponding exclusive OR gate- QFF provides a flip-flop output signal and QLA provides a latch output signal as explained later in eonjunction with Fig. 9. Configurable switch 6 122 selects one of the binary singals on leads QFF and QLA and the output signal Q of switch 122 is an input 8 signal to the output select logic 140 and to the configu-rable combinational logic 100. i, Fig. 9 shows one embodiment of memory circuit 121.
Memory element 121 comprises two "D" latches LAl and LA2 12 connected in series thereby implementing a flip-flop.
13 Latch LAl includes N chànnel pass transistors Pl and P2 14 and NOR gates Gl and G2. The gates of pass transistors Pl and P2 are controlled by the signals CK and CK, respec-16 tively. Similarly, latch LA2 ineludes N channel pass 17 transistors P3 and P4 and NOR gates G3 and G4. The gates ~8 o transistors P3 and P4 are controlled by the signals CK
19 and CK, respectively. The D input lead is the data input lead of latch LA1. The S input lead serves as the set 2L input lead of latch LA1 and as the reset input lead of 22 lateh LA2. The R input lead serves as the reset input ~3 lead of latch LA1 and as the set input lead of latch LA2.
24 The output signal~QLA of NOR gate Gl is connected to the data input lead of~latch LA2. The output lead QLA is 26 eonnected to the output lead of NOR gate G2 of latch LA1 27 and the output lead QPF is connected to the output lead of NOR gate G3 of latch LA2.
~:: :: ",~ , : ~ G~ Configurable storage circuit 120 (Fig. 8) operates as a transparent latch with s~t and reset by configuring 31 ~switch~122 to connect~output Iead Q to output lead QLA.
32 The output~signal on~lead ~QLA follows the input signal 3~3 ~while the clock signal GK is low. The output signal on 34 QLA is held when the clock signal CK goes high, turning off pass transistor Pl and~turning on pass transistor P2.
3~6 Thus, the data~slgnal 15 transmltted to output lead QLA.
,.~: :: :
: ~ .. : .. .
- ... .. ~ .
- ' ; ~
:,; ~ . ..': . -.
~ : . . . .
: . , :
( ~5536~ -20 2 Storage circuit 120 may also be configured to operate as a D flip-flop with set and reset. In this configura-3 tion, switch 126 is configured -to select the signal on 4 lead Fl and gates 125, 131 and 132 are enabled by applying a logical 1 to leads ENS, ENC, and ENR, respectively.
6 Finally, switch 122 is configured to select the output 7 signal on lead QFF of storage element 121. Storage ~ element 120 may also be configured as a D flip-flop 9 without set and reset by modifying the above configura-tion by applying a logical zero to leads ENS and ENR.
11 Configurable storage circuit 120 may also be config-12 ured to be an RS latch by enabling AND gates 125 and 132, 13 and disabling AND gate 131 so that a logical 0 input 14 signal is provided on the Ck input lead of storage element 121. The logical 0 on lead Ck turns off pass transistor 16 P3 and turns on pass transistor P4. switch 122 is then 17 configured to select the output signal on QFF~
18 Finally, storage circuit 120 may also be configured 19 to be an edge detector. For example, to configure storage element I20 as a rising edge detector, AND gate 125 is 21 disabled to provide a logical 0 on input lead S, AND gate 22 131 is enabled to pass a clock signal to input lead Ck, 23 and switch 126 is configured to select input lead 126a so 24 that a logical 1 is provided to input lead D. AND gate 132 is enabled. A logical 1 reset signal forces the 26 output signal on QFF to a logical 0. A low clock signal 27 turns off pass transistor P2 and P3 and turns on pass Z~ transistor Pl, permitting NOR gate G1 to invert the 29 logical 1 on lead D, thus providing a logical 0 on node QLA. When the clock signal rises, transistors Pl and P4 31 are ~urned off, transistors P2~ and P3 are turned on, and 32 the logical 0 on node QLA is inverted by NOR gate 23, 33 thus providing a logical 1 on output lead QFF which 34 signals that a rising~edge has been detected. QFF is 3$ then reset to 0 using the reset input and the edge detector 36 is then ready to detect;the next rising edge. (Note that 37 when the clock signal falls, transistors P2 and P3 are . .
( ~25536~ -21-1 turned off and transistor P4 is turned on, and the signal 2 on QFF remains a logical 0 and does not change state 3 until the next rising edge.) 4 Similarly, storage circuit 120 may be configured as a falling edge detector by applying a logical one signal 6 to lead INVC of exclusive-or gate 129. Clearly, storage 7 circuit 120 may also serve as a stage of a shift register 8 or a stage of a counter.
9 The output select logic 140 includes configurable switches 141 and 142 which are each configured to select 11 an output signal from among the output signals on leads 12 F1 and F2 from the combinational logic lO0 and the output 13 signal of storage element 120.
14 The above embodiments are intended to be exemplary and not limiting. It will be obvious in view of the 16 disclosures made above that various substitutions and 17 modifications may be made without departing from the 18 spirit and scope of the invention.
19 In the claims which follow, the phase "means having a configuration in which said means'! performs a particular 21 function is used in place of the detailed wording "means 22 which are capable of being configured in response to a 23 selected set of values of a set of configuration signals 24 and which, when configured by said selected set of values,"
performs a particular function.
.~
: 38 ` ~ ' , ,' ` ' ' ` '` '' ' ,,, ' ' ~ , " '` ' ` ' '` ` ` '~' ''.; ' '' `' ' ', '~
, ,
Claims (24)
1. A configurable logic element comprising:
means for receiving a first plurality of N
binary input signals;
means for receiving a second plurality of M
binary feedback signals;
means for selecting K of said M+N binary signals (where K?N+M);
combinational logic means for receiving said K
binary signals from said means for selecting, said combinational logic means having a plurality of configurations including at least a first configuration in which said combi-national logic means generates a first set of binary output signals, each of which represents a function of some of said K binary signals and a second configuration in which said configurable combinational logic means generates a second set of binary output signals, each of which represents a function of some of said K
binary signals, wherein the set of functions represented by said first set of binary signals is not the same as the set of functions repre-sented by said second set of binary signals;
a configurable storage circuit comprising:
a plurality of input leads for receiving a plurality of input signals, said input signals corresponding to said input leads on a one-to-one basis, said input signals comprising selected ones of said binary output signals of said combinational logic means and selected ones of said N binary input signals, memory means for storing data, said memory means having at least a first and a second input lead and at least one output lead;
first means having a first configuration in which said first means provides a first selected one of said input signals of said con-figurable storage circuit to said first input lead of said memory means;
second means having a first and a second configuration in which said second means provides a second and a third selected one, respectively, of said input signals of said configurable storage circuit to said second input lead of said memory means, said memory means generating said second plurality of M binary signals in response to said signals provided by said first and said second means; and a configurable select logic comprising:
means for receiving said output signals gener-ated by said combinational logic means and said M
binary signals generated by said configurable storage circuit, and means for selecting output signals from among the signals received by said select logic.
means for receiving a first plurality of N
binary input signals;
means for receiving a second plurality of M
binary feedback signals;
means for selecting K of said M+N binary signals (where K?N+M);
combinational logic means for receiving said K
binary signals from said means for selecting, said combinational logic means having a plurality of configurations including at least a first configuration in which said combi-national logic means generates a first set of binary output signals, each of which represents a function of some of said K binary signals and a second configuration in which said configurable combinational logic means generates a second set of binary output signals, each of which represents a function of some of said K
binary signals, wherein the set of functions represented by said first set of binary signals is not the same as the set of functions repre-sented by said second set of binary signals;
a configurable storage circuit comprising:
a plurality of input leads for receiving a plurality of input signals, said input signals corresponding to said input leads on a one-to-one basis, said input signals comprising selected ones of said binary output signals of said combinational logic means and selected ones of said N binary input signals, memory means for storing data, said memory means having at least a first and a second input lead and at least one output lead;
first means having a first configuration in which said first means provides a first selected one of said input signals of said con-figurable storage circuit to said first input lead of said memory means;
second means having a first and a second configuration in which said second means provides a second and a third selected one, respectively, of said input signals of said configurable storage circuit to said second input lead of said memory means, said memory means generating said second plurality of M binary signals in response to said signals provided by said first and said second means; and a configurable select logic comprising:
means for receiving said output signals gener-ated by said combinational logic means and said M
binary signals generated by said configurable storage circuit, and means for selecting output signals from among the signals received by said select logic.
2. A configurable logic element as in Claim 1 wherein said second means of said configurable storage circuit has a third configuration in which said second means provides the complement of said second selected one of said input signals to said second input lead of said memory means.
3. A configurable logic element comprising:
means for receiving a first plurality of N
binary input signals;
means for receiving a second plurality of M
binary feedback signals;
means for selecting K of said M+N binary signals of said first and said second plurality (where K?N+M);
configurable combinational logic means com-prising:
first configurable means for receiving said K binary input signals, said first config-urable means having at least a first configura-tion in which said first configurable means generates a first set of output signals said first set being a first subset of said K input signals, and a second configuration in which said first configurable means generates a second set of output signals said second set being a second subset of said K input signals, wherein said first set is not equal to said second set;
first memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
first location selection means for receiving said output signals of said first configurable means and for selecting a storage location within said first memory means in response to said output signals of said first configurable means and for providing a first output signal representing the binary bit stored in said selected storage location within said first memory;
a configurable storage circuit comprising:
a plurality of input leads for receiv-ing a plurality of input signals said input signals corresponding to said input leads on a one-to-one basis, said input signals comprising selected ones of said output signals of said first location selection means and selected ones of said N binary input signals, memory means for storing data, said memory means having at least a first and a second input lead and at least one output lead;
first means having a first configura-tion in which said first means provides a first selected one of said input signals of said configurable storage circuit to said first input lead of said memory means;
second means having a first and a second configuration in which said second means provides a second and a third selected one, respectively, of said input signals of said configurable storage circuit to said second input lead of said memory means, said memory means generating said second plurality of M binary signals in response to said signals provided by said first and said second means; and a configurable select logic comprising:
means for receiving the output signals produced by said first location selection means of said combinational logic and said M binary signals; and means for selecting output signals from among the signals received by said select logic.
means for receiving a first plurality of N
binary input signals;
means for receiving a second plurality of M
binary feedback signals;
means for selecting K of said M+N binary signals of said first and said second plurality (where K?N+M);
configurable combinational logic means com-prising:
first configurable means for receiving said K binary input signals, said first config-urable means having at least a first configura-tion in which said first configurable means generates a first set of output signals said first set being a first subset of said K input signals, and a second configuration in which said first configurable means generates a second set of output signals said second set being a second subset of said K input signals, wherein said first set is not equal to said second set;
first memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
first location selection means for receiving said output signals of said first configurable means and for selecting a storage location within said first memory means in response to said output signals of said first configurable means and for providing a first output signal representing the binary bit stored in said selected storage location within said first memory;
a configurable storage circuit comprising:
a plurality of input leads for receiv-ing a plurality of input signals said input signals corresponding to said input leads on a one-to-one basis, said input signals comprising selected ones of said output signals of said first location selection means and selected ones of said N binary input signals, memory means for storing data, said memory means having at least a first and a second input lead and at least one output lead;
first means having a first configura-tion in which said first means provides a first selected one of said input signals of said configurable storage circuit to said first input lead of said memory means;
second means having a first and a second configuration in which said second means provides a second and a third selected one, respectively, of said input signals of said configurable storage circuit to said second input lead of said memory means, said memory means generating said second plurality of M binary signals in response to said signals provided by said first and said second means; and a configurable select logic comprising:
means for receiving the output signals produced by said first location selection means of said combinational logic and said M binary signals; and means for selecting output signals from among the signals received by said select logic.
4. A configurable logic element as in Claim 3 wherein said configurable combinational logic means further comprises:
second configurable means for receiving said K
binary input signals, said second configurable means having at least a first configuration in which said second configurable means generates a third set of output signals, said third set being a third subset of said K input signals, and a second configuration in which said second configurable means generates a fourth set of output signals, said fourth set being a fourth subset of said K
input signals, wherein said third set is not equal to said fourth set;
second memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
second location selection means for receiving said output signals of said second configurable means and for selecting a storage location within said second memory means in response to said output signals of said second configurable means, said second location selection means providing a second output signal representing the data bit stored in said selected storage location within said second memory;
steering logic means for receiving said first and said second output signals of said first and said second location selection means, said steering logic means having a first configuration in which said steering logic means provides a first output signal equal to said first output signal of said first location selection means and a second output signal equal to said second output signal of said second location selection means, said steering logic means having a second configuration in which said steering logic means provides an output signal equal to a selected one of said first and said second output signals of said first and said second location selection means, wherein said input signals of said configurable storage circuit further comprise selected ones of said output signals of said steering logic means, and wherein said means for receiving the output signals in said configurable select logic receives said output signals of said steering logic means.
26a
second configurable means for receiving said K
binary input signals, said second configurable means having at least a first configuration in which said second configurable means generates a third set of output signals, said third set being a third subset of said K input signals, and a second configuration in which said second configurable means generates a fourth set of output signals, said fourth set being a fourth subset of said K
input signals, wherein said third set is not equal to said fourth set;
second memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
second location selection means for receiving said output signals of said second configurable means and for selecting a storage location within said second memory means in response to said output signals of said second configurable means, said second location selection means providing a second output signal representing the data bit stored in said selected storage location within said second memory;
steering logic means for receiving said first and said second output signals of said first and said second location selection means, said steering logic means having a first configuration in which said steering logic means provides a first output signal equal to said first output signal of said first location selection means and a second output signal equal to said second output signal of said second location selection means, said steering logic means having a second configuration in which said steering logic means provides an output signal equal to a selected one of said first and said second output signals of said first and said second location selection means, wherein said input signals of said configurable storage circuit further comprise selected ones of said output signals of said steering logic means, and wherein said means for receiving the output signals in said configurable select logic receives said output signals of said steering logic means.
26a
5. A configurable logic element as in Claim 4 wherein said second means of said configurable storage circuit has a third configuration in which said second means provides the complement of said second selected one of said input signals to said second input lead of said memory means.
6. A configurable logic element as in Claim 4 wherein the number of signals in each of said first, said second, said third and said fourth sets of output signals of said first and second configurable means of said configurable combinational logic means is L where L is a selected positive integer less than or equal to K.
7. A configurable logic element as in Claim 6 wherein L = K - 1.
8. A configurable logic element as in Claim 7 wherein said first memory means comprises 2K-1 storage locations, each of said storage locations being capable of being programmed and reprogrammed and wherein said second memory means comprises 2K-1 storage locations, each of said storage locations being capable of being programmed and reprogrammed.
9. A configurable logic element as in Claim 1 or 2, wherein said second means of said configurable storage circuit includes means for generating a first constant signal and has a fourth configuration in which said second means provides said first constant signal to said second lead.
10. A configurable logic element as in Claim 1 or 2, wherein said second means of said configurable storage circuit includes means for generating a first constant signal and has a fourth configuration in which said second means provides said first constant signal to said second lead and wherein said first means of said configurable storage circuit includes means for generating a second constant signal and means for generating a third constant signal and wherein said first means has a second and a third configuration in which it provides said second and said third constant signal, respectively, to said first input lead.
11. A configurable logic element as in Claim 1 or 2, wherein said second means of said configurable storage circuit includes means for generating a first constant signal and has a fourth configuration in which said second means provides said first constant signal to said second lead and wherein said first means of said configurable storage circuit includes means for generating a second constant signal and means for generating a third constant signal and wherein said first means has a second and a third configuration in which it provides said second and said third constant signal, respectively, to said first input lead and wherein said first input lead of said memory means of said configurable storage circuit is a data input lead, said second input lead of said memory means of said configurable storage circuit is a clock input lead, and wherein said memory means further comprises a set and a reset input lead.
-28a- 70128-110
-28a- 70128-110
12. A configurable combinational logic circuit comprising:
first configurable means for receiving K binary input signals, said first configurable means having at least a first configuration in which said first configurable means generates a first set of output signals said first set being a first subset of said K input signals, and a second configuration in which said first configurable means generates a second set of out signals said second set being a second subset of said K
input signals wherein said first set is not equal to said second set;
first memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
first location selection means for receiving said output signals of said first configurable means and for selecting a storage location whithin said first memory means in response to said output signals of said first configurable means and for providing a first output signal representing the binary bit stored in said selected storage location within said first memory.
first configurable means for receiving K binary input signals, said first configurable means having at least a first configuration in which said first configurable means generates a first set of output signals said first set being a first subset of said K input signals, and a second configuration in which said first configurable means generates a second set of out signals said second set being a second subset of said K
input signals wherein said first set is not equal to said second set;
first memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
first location selection means for receiving said output signals of said first configurable means and for selecting a storage location whithin said first memory means in response to said output signals of said first configurable means and for providing a first output signal representing the binary bit stored in said selected storage location within said first memory.
13. A configurable combinational logic circuit as in Claim 12 further including:
second configurable means for receiving said K
binary input signals, said second configurable means having at least a first configuration in which said second configurable means generates a third set of output signals, said third set being a third subset of said K input signals, and a second configuration in which said second configurable means generates a fourth set of output signals, said fourth set being a fourth subset of said K input signals, wherein said third set is not equal to said fourth set;
second memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
second location selection means for receiving said output signals of said second configurable means and for selecting a storage location within said second memory means in response to said output signals of said second configurable means, said second location selection means providing a second output signal representing the data bit stored in said selected storage location within said second memory;
steering logic means for receiving said first and said second output signals of said first and said second location selection means, said steering logic means having a first configuration in which said steering logic means provides a first output signal equal to said first output signal of said first location selection means and a second output signal equal to said second output signal of said second location selection means, said steering logic means having a second configuration in which said steering logic means provides an output signal equal to a selected one of said first and said second output signals of said first and said second location selection means;
second configurable means for receiving said K
binary input signals, said second configurable means having at least a first configuration in which said second configurable means generates a third set of output signals, said third set being a third subset of said K input signals, and a second configuration in which said second configurable means generates a fourth set of output signals, said fourth set being a fourth subset of said K input signals, wherein said third set is not equal to said fourth set;
second memory means having a plurality of storage locations, each of said storage locations for storing a binary bit;
second location selection means for receiving said output signals of said second configurable means and for selecting a storage location within said second memory means in response to said output signals of said second configurable means, said second location selection means providing a second output signal representing the data bit stored in said selected storage location within said second memory;
steering logic means for receiving said first and said second output signals of said first and said second location selection means, said steering logic means having a first configuration in which said steering logic means provides a first output signal equal to said first output signal of said first location selection means and a second output signal equal to said second output signal of said second location selection means, said steering logic means having a second configuration in which said steering logic means provides an output signal equal to a selected one of said first and said second output signals of said first and said second location selection means;
14. A configurable logic element as in Claim 13 wherein the number of signals in each of said first, said second, said third and said fourth sets of output signals is L where L is a selected positive integer less than or equal to K.
15. A configurable logic circuit as in Claim 14 wherein L = K - 1.
16. A configurable logic element as in Claim 15 wherein said first memory means comprises 2K-1 storage locations, each of said storage locations being capable of being programmed and reprogrammed and wherein said second memory means comprises 2K-1 storage locations, each of said storage locations being capable of being programmed and reprogrammed.
17. A configurable storage circuit comprising:
memory means for storing data, said memory means having at least a first and a second input lead;
a first set of one or more input leads corres-ponding to said first input lead, each input lead of said first set for receiving a corresponding input signal;
a second set of one or more input leads corres-ponding to said second input lead, each input lead of said second set for receiving a corresponding input signal;
first means which, for each given lead in said first set, has a corresponding configuration in which said first means provides the input signal on said given lead to said first input lead;
second means which, for each given lead in said second set, has a corresponding first configuration in which said second means provides the input signal on said given lead to said second lead;
said memory means generating one or more output signals in response to said signals provided by said first means and said second means.
memory means for storing data, said memory means having at least a first and a second input lead;
a first set of one or more input leads corres-ponding to said first input lead, each input lead of said first set for receiving a corresponding input signal;
a second set of one or more input leads corres-ponding to said second input lead, each input lead of said second set for receiving a corresponding input signal;
first means which, for each given lead in said first set, has a corresponding configuration in which said first means provides the input signal on said given lead to said first input lead;
second means which, for each given lead in said second set, has a corresponding first configuration in which said second means provides the input signal on said given lead to said second lead;
said memory means generating one or more output signals in response to said signals provided by said first means and said second means.
18. A configurable storage circuit as in Claim 17 wherein said second means, for some given lead in said second set, has a corresponding second configuration for providing the complement of the signal on said some given lead to said second lead.
19. A configurable storage circuit as in Claim 17 wherein said second means includes means for generating a first constant signal and has a configuration in which said second means provides said first constant signal to said second lead.
20. A configurable storage circuit as in Claim 19 wherein said first means includes means for generating a second constant signal and means for generating a third constant signal and wherein said first means has a first and a second additional configuration in which it provides said second and said third constant signals, respectively, to said first input lead.
21. A configurable logic element comprising:
means for receiving a first plurality of N
binary input signals;
means for receiving a second plurality of M
binary feedback signals;
means for selecting K of said M+N binary signals (where K?N+M);
combinational logic means for receiving said K
binary signals from said means for selecting, said configurable combinational logic means having a plurality of configurations for generating binary output signals;
a configurable storage circuit for receiving selected ones of said binary output signals of said configurable combinational logic means and selected ones of said N binary input signals and for generating said M binary feedback signals, said configurable storage circuit having a plurality of configurations; and a configurable select logic comprising means for receiving said output signals generated by said combinational logic means and said M binary signals generated by said configurable storage circuit and means for selecting output signals from among the signals received by said select logic.
means for receiving a first plurality of N
binary input signals;
means for receiving a second plurality of M
binary feedback signals;
means for selecting K of said M+N binary signals (where K?N+M);
combinational logic means for receiving said K
binary signals from said means for selecting, said configurable combinational logic means having a plurality of configurations for generating binary output signals;
a configurable storage circuit for receiving selected ones of said binary output signals of said configurable combinational logic means and selected ones of said N binary input signals and for generating said M binary feedback signals, said configurable storage circuit having a plurality of configurations; and a configurable select logic comprising means for receiving said output signals generated by said combinational logic means and said M binary signals generated by said configurable storage circuit and means for selecting output signals from among the signals received by said select logic.
22. A configurable logic element as in Claim 6, 7, or 8 wherein said second means of said configurable storage circuit includes means for generating a first constant signal and has a fourth configuration in which said second means provides said first constant signal to said second lead.
23. A configurable logic element as in Claim 6, 7, or 8 wherein said second means of said configurable storage circuit includes means for generating a first constant signal and has a fourth configuration in which said second means provides said first constant signal to said second lead and wherein said first means of said configurable storage circuit includes means for generating a second constant signal and means for generating a third constant signal and wherein said first means has a second and a third configuration in which it provides said second and said third constant signal, respectively, to said first input lead.
24. A configurable logic element as in Claim 6, 7, or 8 wherein said second means of said configurable storage circuit includes means for generating a first constant signal and has a fourth configuration in which said second means provides said first constant signal to said second lead and wherein said first means of said configurable storage circuit includes means for generating a second constant signal and means for generating a third constant signal and wherein said first means has a second and a third configuration in which it provides said second and said third constant signal, respectively, to said first input lead and wherein said first input lead of said memory means of said configurable storage circuit is a data input lead, said second input lead of said memory means of said configurable storage circuit is a clock input lead, and wherein said memory means further comprises a set and a reset input lead.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/706,429 US4706216A (en) | 1985-02-27 | 1985-02-27 | Configurable logic element |
US06/706,429 | 1985-02-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1255364A true CA1255364A (en) | 1989-06-06 |
Family
ID=24837522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000502720A Expired CA1255364A (en) | 1985-02-27 | 1986-02-26 | Configurable logic element |
Country Status (5)
Country | Link |
---|---|
US (2) | US4706216A (en) |
JP (2) | JPS61224520A (en) |
CA (1) | CA1255364A (en) |
DE (3) | DE3645221C2 (en) |
GB (1) | GB2171546B (en) |
Families Citing this family (409)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151623A (en) * | 1985-03-29 | 1992-09-29 | Advanced Micro Devices, Inc. | Programmable logic device with multiple, flexible asynchronous programmable logic blocks interconnected by a high speed switch matrix |
US5225719A (en) * | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
EP0229144B1 (en) * | 1985-07-12 | 1992-01-15 | Anamartic Limited | Wafer-scale integrated circuit memory |
ES2002307A6 (en) * | 1985-09-11 | 1988-08-01 | Pilkington Micro Electronics | Semi-conductor integrated circuits. |
GB2184268B (en) * | 1985-12-13 | 1989-11-22 | Anamartic Ltd | Fault tolerant memory system |
GB8621357D0 (en) * | 1986-09-04 | 1986-10-15 | Mcallister R I | Hinged barrier semiconductor integrated circuits |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US5451887A (en) * | 1986-09-19 | 1995-09-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
US5477165A (en) * | 1986-09-19 | 1995-12-19 | Actel Corporation | Programmable logic module and architecture for field programmable gate array device |
US5172014A (en) * | 1986-09-19 | 1992-12-15 | Actel Corporation | Programmable interconnect architecture |
US5187393A (en) * | 1986-09-19 | 1993-02-16 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US4983959A (en) * | 1986-10-01 | 1991-01-08 | Texas Instruments Incorporated | Logic output macrocell |
IT1206265B (en) * | 1987-02-27 | 1989-04-14 | Texas Instruments Italia Spa | DOUBLE DOOR RAM MEMORY COMPLEX WITH USER-BASED VARIABLE ORGANIZATION |
JP2567463B2 (en) * | 1987-10-02 | 1996-12-25 | 川崎製鉄株式会社 | Programmable input / output circuit |
US5068603A (en) * | 1987-10-07 | 1991-11-26 | Xilinx, Inc. | Structure and method for producing mask-programmed integrated circuits which are pin compatible substitutes for memory-configured logic arrays |
DE3875909T2 (en) * | 1987-11-20 | 1993-05-13 | Kawasaki Steel Co | PROGRAMMABLE LOGICAL DEVICE. |
JPH0646707B2 (en) * | 1988-06-30 | 1994-06-15 | 川崎製鉄株式会社 | Programmable logic element |
JPH01171321A (en) * | 1987-12-25 | 1989-07-06 | Kawasaki Steel Corp | Programmable logic element |
JPH0611113B2 (en) * | 1988-01-14 | 1994-02-09 | 川崎製鉄株式会社 | Programmable logic element |
US4864161A (en) * | 1988-05-05 | 1989-09-05 | Altera Corporation | Multifunction flip-flop-type circuit |
ATE131643T1 (en) * | 1988-10-05 | 1995-12-15 | Quickturn Systems Inc | METHOD OF USING ELECTRONICALLY RECONFIGURABLE GATE FIELD LOGIC AND DEVICE PRODUCED THEREFROM |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
US4984192A (en) * | 1988-12-02 | 1991-01-08 | Ultrasystems Defense Inc. | Programmable state machines connectable in a reconfiguration switching network for performing real-time data processing |
US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
GB8828828D0 (en) | 1988-12-09 | 1989-01-18 | Pilkington Micro Electronics | Semiconductor integrated circuit |
IT1225638B (en) * | 1988-12-28 | 1990-11-22 | Sgs Thomson Microelectronics | LOGIC DEVICE INTEGRATED AS A NETWORK OF DISTRIBUTED MEMORY LINKS |
JPH02222217A (en) * | 1989-02-22 | 1990-09-05 | Toshiba Corp | Programmable logic circuit |
GB8906145D0 (en) * | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US4940909A (en) * | 1989-05-12 | 1990-07-10 | Plus Logic, Inc. | Configuration control circuit for programmable logic devices |
US5343406A (en) * | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
US5644496A (en) * | 1989-08-15 | 1997-07-01 | Advanced Micro Devices, Inc. | Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses |
US5233539A (en) * | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5231588A (en) * | 1989-08-15 | 1993-07-27 | Advanced Micro Devices, Inc. | Programmable gate array with logic cells having symmetrical input/output structures |
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5260881A (en) * | 1989-10-30 | 1993-11-09 | Advanced Micro Devices, Inc. | Programmable gate array with improved configurable logic block |
US5185706A (en) * | 1989-08-15 | 1993-02-09 | Advanced Micro Devices, Inc. | Programmable gate array with logic cells having configurable output enable |
US5255203A (en) * | 1989-08-15 | 1993-10-19 | Advanced Micro Devices, Inc. | Interconnect structure for programmable logic device |
JPH0654873B2 (en) * | 1989-09-04 | 1994-07-20 | 株式会社東芝 | Programmable logic device |
US5400262A (en) * | 1989-09-20 | 1995-03-21 | Aptix Corporation | Universal interconnect matrix array |
US5377124A (en) * | 1989-09-20 | 1994-12-27 | Aptix Corporation | Field programmable printed circuit board |
US5099453A (en) * | 1989-09-29 | 1992-03-24 | Sgs-Thomson Microelectronics, Inc. | Configuration memory for programmable logic device |
US5003204A (en) * | 1989-12-19 | 1991-03-26 | Bull Hn Information Systems Inc. | Edge triggered D-type flip-flop scan latch cell with recirculation capability |
US5140193A (en) * | 1990-03-27 | 1992-08-18 | Xilinx, Inc. | Programmable connector for programmable logic device |
US5267187A (en) * | 1990-05-10 | 1993-11-30 | Xilinx Inc | Logic structure and circuit for fast carry |
US5295090A (en) * | 1992-05-10 | 1994-03-15 | Xilinx, Inc. | Logic structure and circuit for fast carry |
CA2037142C (en) * | 1990-05-10 | 1996-05-07 | Hung-Cheng Hsieh | Logic structure and circuit for fast carry |
US5055718A (en) * | 1990-05-11 | 1991-10-08 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5198705A (en) * | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
DE69029390T2 (en) * | 1990-09-15 | 1997-06-12 | Ibm | Programmable circuit for neural logic |
US5363319A (en) * | 1990-09-29 | 1994-11-08 | Kabushiki Kaisha Toshiba | Logic simulator |
DE69133311T2 (en) * | 1990-10-15 | 2004-06-24 | Aptix Corp., San Jose | Connection substrate with integrated circuit for programmable connection and sample analysis |
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US5107146A (en) * | 1991-02-13 | 1992-04-21 | Actel Corporation | Mixed mode analog/digital programmable interconnect architecture |
US5220213A (en) * | 1991-03-06 | 1993-06-15 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5416367A (en) * | 1991-03-06 | 1995-05-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5122685A (en) * | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5322812A (en) * | 1991-03-20 | 1994-06-21 | Crosspoint Solutions, Inc. | Improved method of fabricating antifuses in an integrated circuit device and resulting structure |
US5255221A (en) * | 1991-04-02 | 1993-10-19 | At&T Bell Laboratories | Fully configurable versatile field programmable function element |
EP0512536B1 (en) * | 1991-05-10 | 1998-09-30 | Kabushiki Kaisha Toshiba | Programmable logic unit circuit |
US5338984A (en) * | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260611A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic array having local and long distance conductors |
US5260610A (en) * | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
US5550782A (en) * | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US20020130681A1 (en) | 1991-09-03 | 2002-09-19 | Cliff Richard G. | Programmable logic array integrated circuits |
US5371422A (en) * | 1991-09-03 | 1994-12-06 | Altera Corporation | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements |
US6759870B2 (en) | 1991-09-03 | 2004-07-06 | Altera Corporation | Programmable logic array integrated circuits |
US5436575A (en) * | 1991-09-03 | 1995-07-25 | Altera Corporation | Programmable logic array integrated circuits |
US5883850A (en) * | 1991-09-03 | 1999-03-16 | Altera Corporation | Programmable logic array integrated circuits |
US5633830A (en) * | 1995-11-08 | 1997-05-27 | Altera Corporation | Random access memory block circuitry for programmable logic array integrated circuit devices |
AU2679392A (en) * | 1991-09-23 | 1993-04-27 | Aptix Corporation | Universal interconnect matrix array |
US5513124A (en) * | 1991-10-30 | 1996-04-30 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning method |
DE9114200U1 (en) * | 1991-11-14 | 1993-03-18 | Siemens Ag, 8000 Muenchen, De | |
USRE35977E (en) * | 1992-05-08 | 1998-12-01 | Altera Corporation | Look up table implementation of fast carry arithmetic and exclusive-or operations |
US5258668A (en) * | 1992-05-08 | 1993-11-02 | Altera Corporation | Programmable logic array integrated circuits with cascade connections between logic modules |
US5274581A (en) * | 1992-05-08 | 1993-12-28 | Altera Corporation | Look up table implementation of fast carry for adders and counters |
US5254886A (en) * | 1992-06-19 | 1993-10-19 | Actel Corporation | Clock distribution scheme for user-programmable logic array architecture |
US5331226A (en) * | 1992-07-23 | 1994-07-19 | Xilinx, Inc. | Logic cell for field programmable gate array having optional input inverters |
US5365125A (en) * | 1992-07-23 | 1994-11-15 | Xilinx, Inc. | Logic cell for field programmable gate array having optional internal feedback and optional cascade |
US5646547A (en) * | 1994-04-28 | 1997-07-08 | Xilinx, Inc. | Logic cell which can be configured as a latch without static one's problem |
US5386154A (en) * | 1992-07-23 | 1995-01-31 | Xilinx, Inc. | Compact logic cell for field programmable gate array chip |
US5304871A (en) * | 1992-07-24 | 1994-04-19 | Actel Corporation | Programmable interconnect architecture employing leaky programmable elements |
DE4224804C1 (en) * | 1992-07-27 | 1994-01-13 | Siemens Ag | Programmable logic circuitry |
DE4224805A1 (en) * | 1992-07-27 | 1994-02-03 | Siemens Ag | Configurable logic cell for field programmable gate array - has device for performing combinational logic function coupled to device which is set to operate as D=type or toggle flip=flop |
WO1994003979A1 (en) * | 1992-07-29 | 1994-02-17 | Xilinx, Inc. | Logic cell for field programmable gate array having optional input inverters |
CA2091860A1 (en) * | 1992-07-29 | 1994-01-30 | F. Erich Goetting | Configuration control unit for programming a field programmable gate array and reading array status |
US5317698A (en) * | 1992-08-18 | 1994-05-31 | Actel Corporation | FPGA architecture including direct logic function circuit to I/O interconnections |
JP2746502B2 (en) * | 1992-08-20 | 1998-05-06 | 三菱電機株式会社 | Apparatus and method for manufacturing semiconductor integrated circuit device and electronic circuit device |
JP3462534B2 (en) * | 1992-08-28 | 2003-11-05 | テキサス インスツルメンツ インコーポレイテツド | Programmable logic circuit and method |
US5425036A (en) * | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
US5329179A (en) * | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
JPH06125067A (en) * | 1992-10-12 | 1994-05-06 | Mitsubishi Electric Corp | Semiconductor integrated circuit and designing method therefor |
GB9223226D0 (en) * | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5434514A (en) * | 1992-11-19 | 1995-07-18 | Altera Corporation | Programmable logic devices with spare circuits for replacement of defects |
US5414377A (en) * | 1992-12-21 | 1995-05-09 | Xilinx, Inc. | Logic block with look-up table for configuration and memory |
GB9303084D0 (en) * | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
US5317212A (en) * | 1993-03-19 | 1994-05-31 | Wahlstrom Sven E | Dynamic control of configurable logic |
US5311080A (en) * | 1993-03-26 | 1994-05-10 | At&T Bell Laboratories | Field programmable gate array with direct input/output connection |
US5483178A (en) * | 1993-03-29 | 1996-01-09 | Altera Corporation | Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers |
US5809281A (en) * | 1993-03-30 | 1998-09-15 | Altera Corporation | Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM |
US5432467A (en) * | 1993-05-07 | 1995-07-11 | Altera Corporation | Programmable logic device with low power voltage level translator |
US5381058A (en) * | 1993-05-21 | 1995-01-10 | At&T Corp. | FPGA having PFU with programmable output driver inputs |
AU6958694A (en) * | 1993-05-28 | 1994-12-20 | Regents Of The University Of California, The | Field programmable logic device with dynamic interconnections to a dynamic logic core |
IL109921A (en) * | 1993-06-24 | 1997-09-30 | Quickturn Design Systems | Method and apparatus for configuring memory circuits |
US5399922A (en) * | 1993-07-02 | 1995-03-21 | Altera Corporation | Macrocell comprised of two look-up tables and two flip-flops |
JP3176482B2 (en) * | 1993-07-07 | 2001-06-18 | 富士通株式会社 | Logic simulation equipment |
US5444394A (en) * | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
GB2280293B (en) * | 1993-07-19 | 1997-12-10 | Hewlett Packard Co | Architecture for programmable logic |
US6460131B1 (en) | 1993-08-03 | 2002-10-01 | Xilinx Inc. | FPGA input output buffer with registered tristate enable |
US5457410A (en) * | 1993-08-03 | 1995-10-10 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
JP3708541B2 (en) * | 1993-08-03 | 2005-10-19 | ザイリンクス, インコーポレイテッド | FPGA based on microprocessor |
US5410194A (en) * | 1993-08-11 | 1995-04-25 | Xilinx, Inc. | Asynchronous or synchronous load multifunction flip-flop |
US5523705A (en) * | 1993-08-24 | 1996-06-04 | Intel Corporation | Apparatus and method for selecting and buffering inputs of programmable logic devices |
US5506517A (en) * | 1993-09-01 | 1996-04-09 | Lattice Semiconductor Corporation | Output enable structure and method for a programmable logic device |
US5629886A (en) * | 1993-09-02 | 1997-05-13 | Xilinx, Inc. | Method and structure for providing fast propagation of a carry signal in a field programmable gate array |
US6154053A (en) * | 1993-09-02 | 2000-11-28 | Xilinx, Inc. | Look-ahead carry structure with homogeneous CLB structure and pitch larger than CLB pitch |
US5481206A (en) | 1993-09-02 | 1996-01-02 | Xilinx, Inc. | Circuit for fast carry and logic |
US5898319A (en) * | 1993-09-02 | 1999-04-27 | Xilinx, Inc. | Method and structure for providing fast conditional sum in a field programmable gate array |
US5349250A (en) * | 1993-09-02 | 1994-09-20 | Xilinx, Inc. | Logic structure and circuit for fast carry |
US5546018A (en) * | 1993-09-02 | 1996-08-13 | Xilinx, Inc. | Fast carry structure with synchronous input |
US6288570B1 (en) | 1993-09-02 | 2001-09-11 | Xilinx, Inc. | Logic structure and circuit for fast carry |
DE69430320T2 (en) * | 1993-12-13 | 2002-10-10 | Lattice Semiconductor Corp | APPLICATION-SPECIFIC MODULES IN A PROGRAMMABLE LOGIC BLOCK |
US5742179A (en) * | 1994-01-27 | 1998-04-21 | Dyna Logic Corporation | High speed programmable logic architecture |
US5504440A (en) * | 1994-01-27 | 1996-04-02 | Dyna Logic Corporation | High speed programmable logic architecture |
US5614844A (en) * | 1994-01-27 | 1997-03-25 | Dyna Logic Corporation | High speed programmable logic architecture |
US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
US5369314A (en) * | 1994-02-22 | 1994-11-29 | Altera Corporation | Programmable logic device with redundant circuitry |
US5581200A (en) * | 1994-03-04 | 1996-12-03 | Gudger; Keith H. | Stored and combinational logic function generator without dedicated storage elements |
US5805834A (en) * | 1994-03-30 | 1998-09-08 | Zilog, Inc. | Hot reconfigurable parallel bus bridging circuit |
US5781756A (en) * | 1994-04-01 | 1998-07-14 | Xilinx, Inc. | Programmable logic device with partially configurable memory cells and a method for configuration |
US5550843A (en) * | 1994-04-01 | 1996-08-27 | Xilinx, Inc. | Programmable scan chain testing structure and method |
US5682107A (en) * | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
US5453706A (en) * | 1994-04-01 | 1995-09-26 | Xilinx, Inc. | Field programmable gate array providing contention free configuration and reconfiguration |
US5504439A (en) * | 1994-04-01 | 1996-04-02 | Xilinx, Inc. | I/O interface cell for use with optional pad |
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US6294928B1 (en) | 1996-04-05 | 2001-09-25 | Altera Corporation | Programmable logic device with highly routable interconnect |
US6181162B1 (en) | 1994-04-10 | 2001-01-30 | Altera Corporation | Programmable logic device with highly routable interconnect |
US5802540A (en) * | 1995-11-08 | 1998-09-01 | Altera Corporation | Programming and verification address generation for random access memory blocks in programmable logic array integrated circuit devices |
US5617573A (en) * | 1994-05-23 | 1997-04-01 | Xilinx, Inc. | State splitting for level reduction |
US5442306A (en) * | 1994-09-09 | 1995-08-15 | At&T Corp. | Field programmable gate array using look-up tables, multiplexers and decoders |
US5450022A (en) * | 1994-10-07 | 1995-09-12 | Xilinx Inc. | Structure and method for configuration of a field programmable gate array |
DE9417335U1 (en) * | 1994-10-28 | 1994-12-15 | Guenther Baeuerle Gmbh | Coupling module |
US5761099A (en) * | 1994-11-04 | 1998-06-02 | Altera Corporation | Programmable logic array integrated circuits with enhanced carry routing |
US5815726A (en) * | 1994-11-04 | 1998-09-29 | Altera Corporation | Coarse-grained look-up table architecture |
US5581199A (en) * | 1995-01-04 | 1996-12-03 | Xilinx, Inc. | Interconnect architecture for field programmable gate array using variable length conductors |
US5592105A (en) * | 1995-01-20 | 1997-01-07 | Xilinx, Inc. | Configuration logic to eliminate signal contention during reconfiguration |
US6181158B1 (en) * | 1995-01-20 | 2001-01-30 | Xilinx, Inc. | Configuration logic to eliminate signal contention during reconfiguration |
US5742180A (en) * | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5537057A (en) * | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5581198A (en) * | 1995-02-24 | 1996-12-03 | Xilinx, Inc. | Shadow DRAM for programmable logic devices |
US5847577A (en) * | 1995-02-24 | 1998-12-08 | Xilinx, Inc. | DRAM memory cell for programmable logic devices |
US6049223A (en) * | 1995-03-22 | 2000-04-11 | Altera Corporation | Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory |
US5757207A (en) * | 1995-03-22 | 1998-05-26 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
GB2290895A (en) * | 1995-04-10 | 1996-01-10 | Memory Corp Plc | Shift register with comparator |
EP0823091A1 (en) * | 1995-04-28 | 1998-02-11 | Xilinx, Inc. | Microprocessor with distributed registers accessible by programmable logic device |
US5625301A (en) * | 1995-05-18 | 1997-04-29 | Actel Corporation | Flexible FPGA input/output architecture |
US5646546A (en) * | 1995-06-02 | 1997-07-08 | International Business Machines Corporation | Programmable logic cell having configurable gates and multiplexers |
US5751165A (en) * | 1995-08-18 | 1998-05-12 | Chip Express (Israel) Ltd. | High speed customizable logic array device |
US5784313A (en) * | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5821773A (en) * | 1995-09-06 | 1998-10-13 | Altera Corporation | Look-up table based logic element with complete permutability of the inputs to the secondary signals |
US5777489A (en) * | 1995-10-13 | 1998-07-07 | Mentor Graphics Corporation | Field programmable gate array with integrated debugging facilities |
US5592102A (en) * | 1995-10-19 | 1997-01-07 | Altera Corporation | Means and apparatus to minimize the effects of silicon processing defects in programmable logic devices |
US5712806A (en) * | 1995-10-30 | 1998-01-27 | International Business Machines Corporation | Optimized multiplexer structure for emulation systems |
US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5650734A (en) * | 1995-12-11 | 1997-07-22 | Altera Corporation | Programming programmable transistor devices using state machines |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
IL116792A (en) * | 1996-01-16 | 2000-01-31 | Chip Express Israel Ltd | Customizable integrated circuit device |
US5744980A (en) * | 1996-02-16 | 1998-04-28 | Actel Corporation | Flexible, high-performance static RAM architecture for field-programmable gate arrays |
US5726484A (en) * | 1996-03-06 | 1998-03-10 | Xilinx, Inc. | Multilayer amorphous silicon antifuse |
US5726584A (en) * | 1996-03-18 | 1998-03-10 | Xilinx, Inc. | Virtual high density programmable integrated circuit having addressable shared memory cells |
US5869979A (en) | 1996-04-05 | 1999-02-09 | Altera Corporation | Technique for preconditioning I/Os during reconfiguration |
US6107822A (en) | 1996-04-09 | 2000-08-22 | Altera Corporation | Logic element for a programmable logic integrated circuit |
US5977791A (en) * | 1996-04-15 | 1999-11-02 | Altera Corporation | Embedded memory block with FIFO mode for programmable logic device |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
JPH09320284A (en) * | 1996-05-31 | 1997-12-12 | Nec Corp | Semiconductor integrated circuit and setting method for state of terminal |
US5952847A (en) * | 1996-06-25 | 1999-09-14 | Actel Corporation | Multiple logic family compatible output driver |
US6034547A (en) | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
US6624658B2 (en) * | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
US5781032A (en) * | 1996-09-09 | 1998-07-14 | International Business Machines Corporation | Programmable inverter circuit used in a programmable logic cell |
US5805477A (en) * | 1996-09-26 | 1998-09-08 | Hewlett-Packard Company | Arithmetic cell for field programmable devices |
US5825202A (en) * | 1996-09-26 | 1998-10-20 | Xilinx, Inc. | Integrated circuit with field programmable and application specific logic areas |
DE19639935C1 (en) | 1996-09-27 | 1998-04-23 | Siemens Ag | Circuit arrangement with combinatorial blocks arranged between registers |
DE19639937C1 (en) * | 1996-09-27 | 1998-03-12 | Siemens Ag | Circuit arrangement with combinatorial blocks arranged between registers |
US5841967A (en) * | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
US5760611A (en) * | 1996-10-25 | 1998-06-02 | International Business Machines Corporation | Function generator for programmable gate array |
US5883526A (en) * | 1997-04-17 | 1999-03-16 | Altera Corporation | Hierarchical interconnect for programmable logic devices |
US6005410A (en) * | 1996-12-05 | 1999-12-21 | International Business Machines Corporation | Interconnect structure between heterogeneous core regions in a programmable array |
DE19651075A1 (en) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Unit for processing numerical and logical operations, for use in processors (CPU's), multi-computer systems, data flow processors (DFP's), digital signal processors (DSP's) or the like |
DE19654593A1 (en) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Reconfiguration procedure for programmable blocks at runtime |
DE19654595A1 (en) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0 and memory bus system for DFPs as well as building blocks with two- or multi-dimensional programmable cell structures |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654846A1 (en) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Process for the independent dynamic reloading of data flow processors (DFPs) as well as modules with two- or multi-dimensional programmable cell structures (FPGAs, DPGAs, etc.) |
JP3961028B2 (en) | 1996-12-27 | 2007-08-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Data flow processor (DFP) automatic dynamic unloading method and modules with 2D or 3D programmable cell structure (FPGA, DPGA, etc.) |
US5841296A (en) * | 1997-01-21 | 1998-11-24 | Xilinx, Inc. | Programmable delay element |
US6133751A (en) | 1998-08-05 | 2000-10-17 | Xilinx, Inc. | Programmable delay element |
US6029236A (en) * | 1997-01-28 | 2000-02-22 | Altera Corporation | Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM |
US5936426A (en) * | 1997-02-03 | 1999-08-10 | Actel Corporation | Logic function module for field programmable array |
DE19704044A1 (en) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Address generation with systems having programmable modules |
US6034536A (en) * | 1997-02-05 | 2000-03-07 | Altera Corporation | Redundancy circuitry for logic circuits |
US6091258A (en) * | 1997-02-05 | 2000-07-18 | Altera Corporation | Redundancy circuitry for logic circuits |
DE19704728A1 (en) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Method for self-synchronization of configurable elements of a programmable module |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (en) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internal bus system for DFPs, as well as modules with two- or multi-dimensional programmable cell structures, for coping with large amounts of data with high networking effort |
US5914616A (en) * | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
US5920202A (en) * | 1997-02-26 | 1999-07-06 | Xilinx, Inc. | Configurable logic element with ability to evaluate five and six input functions |
US5963050A (en) | 1997-02-26 | 1999-10-05 | Xilinx, Inc. | Configurable logic element with fast feedback paths |
US5889411A (en) * | 1997-02-26 | 1999-03-30 | Xilinx, Inc. | FPGA having logic element carry chains capable of generating wide XOR functions |
US6201410B1 (en) | 1997-02-26 | 2001-03-13 | Xilinx, Inc. | Wide logic gate implemented in an FPGA configurable logic element |
US6204689B1 (en) | 1997-02-26 | 2001-03-20 | Xilinx, Inc. | Input/output interconnect circuit for FPGAs |
US5942913A (en) * | 1997-03-20 | 1999-08-24 | Xilinx, Inc. | FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines |
US6014038A (en) * | 1997-03-21 | 2000-01-11 | Lightspeed Semiconductor Corporation | Function block architecture for gate array |
US6421251B1 (en) | 1997-05-02 | 2002-07-16 | Axis Systems Inc | Array board interconnect system and method |
US6389379B1 (en) | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6134516A (en) * | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
US6009256A (en) * | 1997-05-02 | 1999-12-28 | Axis Systems, Inc. | Simulation/emulation system and method |
US6026230A (en) * | 1997-05-02 | 2000-02-15 | Axis Systems, Inc. | Memory simulation system and method |
US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6249143B1 (en) | 1997-05-23 | 2001-06-19 | Altera Corporation | Programmable logic array integrated circuit with distributed random access memory array |
WO1998053401A1 (en) * | 1997-05-23 | 1998-11-26 | Altera Corporation | Redundancy circuitry for programmable logic devices with interleaved input circuits |
US5960191A (en) | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US6006321A (en) * | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
US6128215A (en) | 1997-08-19 | 2000-10-03 | Altera Corporation | Static random access memory circuits |
US9092595B2 (en) | 1997-10-08 | 2015-07-28 | Pact Xpp Technologies Ag | Multiprocessor having associated RAM units |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US6072332A (en) * | 1997-10-14 | 2000-06-06 | Altera Corporation | Variable depth memories for programmable logic devices |
US6157210A (en) * | 1997-10-16 | 2000-12-05 | Altera Corporation | Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits |
US6191611B1 (en) | 1997-10-16 | 2001-02-20 | Altera Corporation | Driver circuitry for programmable logic devices with hierarchical interconnection resources |
US6185724B1 (en) | 1997-12-02 | 2001-02-06 | Xilinx, Inc. | Template-based simulated annealing move-set that improves FPGA architectural feature utilization |
US6069490A (en) * | 1997-12-02 | 2000-05-30 | Xilinx, Inc. | Routing architecture using a direct connect routing mesh |
US6223313B1 (en) | 1997-12-05 | 2001-04-24 | Lightspeed Semiconductor Corporation | Method and apparatus for controlling and observing data in a logic block-based asic |
US6611932B2 (en) | 1997-12-05 | 2003-08-26 | Lightspeed Semiconductor Corporation | Method and apparatus for controlling and observing data in a logic block-based ASIC |
US6172519B1 (en) * | 1997-12-18 | 2001-01-09 | Xilinx, Inc. | Bus-hold circuit having a defined state during set-up of an in-system programmable device |
DE19861088A1 (en) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Repairing integrated circuits by replacing subassemblies with substitutes |
DE19807872A1 (en) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Method of managing configuration data in data flow processors |
US6177808B1 (en) * | 1998-04-30 | 2001-01-23 | Compaq Computer Corporation | Integration of bidirectional switches with programmable logic |
US6467017B1 (en) | 1998-06-23 | 2002-10-15 | Altera Corporation | Programmable logic device having embedded dual-port random access memory configurable as single-port memory |
US6201404B1 (en) | 1998-07-14 | 2001-03-13 | Altera Corporation | Programmable logic device with redundant circuitry |
US6184707B1 (en) | 1998-10-07 | 2001-02-06 | Altera Corporation | Look-up table based logic element with complete permutability of the inputs to the secondary signals |
KR100301809B1 (en) * | 1998-11-24 | 2001-09-06 | 김영환 | Data I / O Buffer Control Circuit_ |
US6400180B2 (en) * | 1999-02-25 | 2002-06-04 | Xilinix, Inc. | Configurable lookup table for programmable logic devices |
US6150838A (en) | 1999-02-25 | 2000-11-21 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
US6245634B1 (en) | 1999-10-28 | 2001-06-12 | Easic Corporation | Method for design and manufacture of semiconductors |
US6331733B1 (en) | 1999-08-10 | 2001-12-18 | Easic Corporation | Semiconductor device |
US6236229B1 (en) | 1999-05-13 | 2001-05-22 | Easic Corporation | Integrated circuits which employ look up tables to provide highly efficient logic cells and logic functionalities |
US6697387B1 (en) * | 1999-06-07 | 2004-02-24 | Micron Technology, Inc. | Apparatus for multiplexing signals through I/O pins |
CN1378665A (en) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | Programming concept |
US20040225865A1 (en) * | 1999-09-03 | 2004-11-11 | Cox Richard D. | Integrated database indexing system |
US6947882B1 (en) | 1999-09-24 | 2005-09-20 | Mentor Graphics Corporation | Regionally time multiplexed emulation system |
US6756811B2 (en) * | 2000-03-10 | 2004-06-29 | Easic Corporation | Customizable and programmable cell array |
US6331790B1 (en) | 2000-03-10 | 2001-12-18 | Easic Corporation | Customizable and programmable cell array |
JP2004506261A (en) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | Pipeline CT protocol and CT communication |
ATE437476T1 (en) | 2000-10-06 | 2009-08-15 | Pact Xpp Technologies Ag | CELL ARRANGEMENT WITH SEGMENTED INTERCELL STRUCTURE |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US7484081B1 (en) | 2000-10-10 | 2009-01-27 | Altera Corporation | Method and apparatus for protecting designs in SRAM-based programmable logic devices |
US6507212B1 (en) | 2000-11-02 | 2003-01-14 | Lattice Semiconductor Corporation | Wide input programmable logic system and method |
US6990555B2 (en) | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
WO2005045692A2 (en) | 2003-08-28 | 2005-05-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9436631B2 (en) | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US9141390B2 (en) | 2001-03-05 | 2015-09-22 | Pact Xpp Technologies Ag | Method of processing data with an array of data processors according to application ID |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7400668B2 (en) | 2001-03-22 | 2008-07-15 | Qst Holdings, Llc | Method and system for implementing a system acquisition function for use with a communication device |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7624204B2 (en) * | 2001-03-22 | 2009-11-24 | Nvidia Corporation | Input/output controller node in an adaptable computing environment |
US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US7433909B2 (en) * | 2002-06-25 | 2008-10-07 | Nvidia Corporation | Processing architecture for a reconfigurable arithmetic node |
US6720796B1 (en) | 2001-05-06 | 2004-04-13 | Altera Corporation | Multiple size memories in a programmable logic device |
US6605962B2 (en) | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US7076595B1 (en) | 2001-05-18 | 2006-07-11 | Xilinx, Inc. | Programmable logic device including programmable interface core and central processing unit |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
ATE478381T1 (en) | 2001-06-20 | 2010-09-15 | Richter Thomas | DATA PROCESSING PROCEDURES |
JP3580785B2 (en) | 2001-06-29 | 2004-10-27 | 株式会社半導体理工学研究センター | Look-up table, programmable logic circuit device having look-up table, and method of configuring look-up table |
US20030020082A1 (en) * | 2001-07-25 | 2003-01-30 | Motorola, Inc. | Structure and method for fabricating semiconductor structures and devices for optical switching |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US7420392B2 (en) * | 2001-09-28 | 2008-09-02 | Xilinx, Inc. | Programmable gate array and embedded circuitry initialization and processing |
US6781407B2 (en) | 2002-01-09 | 2004-08-24 | Xilinx, Inc. | FPGA and embedded circuitry initialization and processing |
US6696856B1 (en) | 2001-10-30 | 2004-02-24 | Lightspeed Semiconductor Corporation | Function block architecture with variable drive strengths |
US6489806B1 (en) * | 2001-11-14 | 2002-12-03 | Lattice Semiconductor Corporation | Zero-power logic cell for use in programmable logic devices |
US6983405B1 (en) | 2001-11-16 | 2006-01-03 | Xilinx, Inc., | Method and apparatus for testing circuitry embedded within a field programmable gate array |
US6996758B1 (en) | 2001-11-16 | 2006-02-07 | Xilinx, Inc. | Apparatus for testing an interconnecting logic fabric |
US6886092B1 (en) * | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US7602740B2 (en) | 2001-12-10 | 2009-10-13 | Qst Holdings, Inc. | System for adapting device standards after manufacture |
US20030108012A1 (en) * | 2001-12-12 | 2003-06-12 | Quicksilver Technology, Inc. | Method and system for detecting and identifying scrambling codes |
US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
US7403981B2 (en) * | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
WO2003060747A2 (en) | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurable processor |
US6820248B1 (en) | 2002-02-14 | 2004-11-16 | Xilinx, Inc. | Method and apparatus for routing interconnects to devices with dissimilar pitches |
WO2003071432A2 (en) | 2002-02-18 | 2003-08-28 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US6976160B1 (en) | 2002-02-22 | 2005-12-13 | Xilinx, Inc. | Method and system for controlling default values of flip-flops in PGA/ASIC-based designs |
US6754882B1 (en) | 2002-02-22 | 2004-06-22 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
US7007121B1 (en) | 2002-02-27 | 2006-02-28 | Xilinx, Inc. | Method and apparatus for synchronized buses |
US6934922B1 (en) | 2002-02-27 | 2005-08-23 | Xilinx, Inc. | Timing performance analysis |
US6839874B1 (en) | 2002-02-28 | 2005-01-04 | Xilinx, Inc. | Method and apparatus for testing an embedded device |
US7111217B1 (en) | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
US7187709B1 (en) | 2002-03-01 | 2007-03-06 | Xilinx, Inc. | High speed configurable transceiver architecture |
US7088767B1 (en) | 2002-03-01 | 2006-08-08 | Xilinx, Inc. | Method and apparatus for operating a transceiver in different data rates |
US7111220B1 (en) | 2002-03-01 | 2006-09-19 | Xilinx, Inc. | Network physical layer with embedded multi-standard CRC generator |
US6961919B1 (en) | 2002-03-04 | 2005-11-01 | Xilinx, Inc. | Method of designing integrated circuit having both configurable and fixed logic circuitry |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7493375B2 (en) | 2002-04-29 | 2009-02-17 | Qst Holding, Llc | Storage and delivery of device features |
US6777977B1 (en) * | 2002-05-01 | 2004-08-17 | Actel Corporation | Three input field programmable gate array logic circuit configurable as a three input look up table, a D-latch or a D flip-flop |
US6774667B1 (en) | 2002-05-09 | 2004-08-10 | Actel Corporation | Method and apparatus for a flexible chargepump scheme for field-programmable gate arrays |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US6973405B1 (en) | 2002-05-22 | 2005-12-06 | Xilinx, Inc. | Programmable interactive verification agent |
US6891394B1 (en) | 2002-06-04 | 2005-05-10 | Actel Corporation | Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers |
US7378867B1 (en) | 2002-06-04 | 2008-05-27 | Actel Corporation | Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers |
US6970012B2 (en) * | 2002-06-10 | 2005-11-29 | Xilinx, Inc. | Programmable logic device having heterogeneous programmable logic blocks |
US6772405B1 (en) | 2002-06-13 | 2004-08-03 | Xilinx, Inc. | Insertable block tile for interconnecting to a device embedded in an integrated circuit |
US6844757B2 (en) | 2002-06-28 | 2005-01-18 | Lattice Semiconductor Corp. | Converting bits to vectors in a programmable logic device |
US6992503B2 (en) * | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US20040004251A1 (en) * | 2002-07-08 | 2004-01-08 | Madurawe Raminda U. | Insulated-gate field-effect thin film transistors |
US7112994B2 (en) * | 2002-07-08 | 2006-09-26 | Viciciv Technology | Three dimensional integrated circuits |
US7129744B2 (en) * | 2003-10-23 | 2006-10-31 | Viciciv Technology | Programmable interconnect structures |
US7312109B2 (en) * | 2002-07-08 | 2007-12-25 | Viciciv, Inc. | Methods for fabricating fuse programmable three dimensional integrated circuits |
US7673273B2 (en) | 2002-07-08 | 2010-03-02 | Tier Logic, Inc. | MPGA products based on a prototype FPGA |
US7085973B1 (en) | 2002-07-09 | 2006-08-01 | Xilinx, Inc. | Testing address lines of a memory controller |
WO2004021176A2 (en) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US20070083730A1 (en) * | 2003-06-17 | 2007-04-12 | Martin Vorbach | Data processing device and method |
US6765427B1 (en) | 2002-08-08 | 2004-07-20 | Actel Corporation | Method and apparatus for bootstrapping a programmable antifuse circuit |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7043511B1 (en) | 2002-08-30 | 2006-05-09 | Lattice Semiconductor Corporation | Performing conditional operations in a programmable logic device |
US7099426B1 (en) | 2002-09-03 | 2006-08-29 | Xilinx, Inc. | Flexible channel bonding and clock correction operations on a multi-block data path |
US7434080B1 (en) | 2002-09-03 | 2008-10-07 | Actel Corporation | Apparatus for interfacing and testing a phase locked loop in a field programmable gate array |
WO2004038599A1 (en) | 2002-09-06 | 2004-05-06 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7092865B1 (en) | 2002-09-10 | 2006-08-15 | Xilinx, Inc. | Method and apparatus for timing modeling |
US6803787B1 (en) | 2002-09-25 | 2004-10-12 | Lattice Semiconductor Corp. | State machine in a programmable logic device |
US6750674B1 (en) | 2002-10-02 | 2004-06-15 | Actel Corporation | Carry chain for use between logic modules in a field programmable gate array |
US6885218B1 (en) | 2002-10-08 | 2005-04-26 | Actel Corporation | Parallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA |
US8643162B2 (en) | 2007-11-19 | 2014-02-04 | Raminda Udaya Madurawe | Pads and pin-outs in three dimensional integrated circuits |
US7812458B2 (en) * | 2007-11-19 | 2010-10-12 | Tier Logic, Inc. | Pad invariant FPGA and ASIC devices |
US7269814B1 (en) | 2002-10-08 | 2007-09-11 | Actel Corporation | Parallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA |
US7042756B2 (en) * | 2002-10-18 | 2006-05-09 | Viciciv Technology | Configurable storage device |
US7084666B2 (en) * | 2002-10-21 | 2006-08-01 | Viciciv Technology | Programmable interconnect structures |
US6937064B1 (en) * | 2002-10-24 | 2005-08-30 | Altera Corporation | Versatile logic element and logic array block |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US8276135B2 (en) * | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US6727726B1 (en) | 2002-11-12 | 2004-04-27 | Actel Corporation | Field programmable gate array architecture including a buffer module and a method of distributing buffer modules in a field programmable gate array |
US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US7111110B1 (en) * | 2002-12-10 | 2006-09-19 | Altera Corporation | Versatile RAM for programmable logic device |
US6946871B1 (en) * | 2002-12-18 | 2005-09-20 | Actel Corporation | Multi-level routing architecture in a field programmable gate array having transmitters and receivers |
US7385420B1 (en) | 2002-12-27 | 2008-06-10 | Actel Corporation | Repeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks |
US6891396B1 (en) | 2002-12-27 | 2005-05-10 | Actel Corporation | Repeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks |
US7255437B2 (en) * | 2003-10-09 | 2007-08-14 | Howell Thomas A | Eyeglasses with activity monitoring |
US6838902B1 (en) * | 2003-05-28 | 2005-01-04 | Actel Corporation | Synchronous first-in/first-out block memory for a field programmable gate array |
US6825690B1 (en) | 2003-05-28 | 2004-11-30 | Actel Corporation | Clock tree network in a field programmable gate array |
US7375553B1 (en) | 2003-05-28 | 2008-05-20 | Actel Corporation | Clock tree network in a field programmable gate array |
US7385419B1 (en) | 2003-05-30 | 2008-06-10 | Actel Corporation | Dedicated input/output first in/first out module for a field programmable gate array |
US6867615B1 (en) * | 2003-05-30 | 2005-03-15 | Actel Corporation | Dedicated input/output first in/first out module for a field programmable gate array |
US7609297B2 (en) | 2003-06-25 | 2009-10-27 | Qst Holdings, Inc. | Configurable hardware based digital imaging apparatus |
US7693703B2 (en) * | 2003-08-01 | 2010-04-06 | Mentor Graphics Corporation | Configuration of reconfigurable interconnect portions |
US7421014B2 (en) * | 2003-09-11 | 2008-09-02 | Xilinx, Inc. | Channel bonding of a plurality of multi-gigabit transceivers |
US7176716B2 (en) * | 2003-12-24 | 2007-02-13 | Viciciv Technology | Look-up table structure with embedded carry logic |
US7317264B2 (en) * | 2003-11-25 | 2008-01-08 | Eaton Corporation | Method and apparatus to independently control contactors in a multiple contactor configuration |
US7019557B2 (en) * | 2003-12-24 | 2006-03-28 | Viciciv Technology | Look-up table based logic macro-cells |
US7030651B2 (en) * | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
US7336097B2 (en) * | 2003-12-24 | 2008-02-26 | Viciciv, Inc. | Look-up table structure with embedded carry logic |
US7176713B2 (en) * | 2004-01-05 | 2007-02-13 | Viciciv Technology | Integrated circuits with RAM and ROM fabrication options |
KR100564611B1 (en) * | 2004-02-14 | 2006-03-29 | 삼성전자주식회사 | Damping structure for hard disk drive |
US7030652B1 (en) | 2004-04-23 | 2006-04-18 | Altera Corporation | LUT-based logic element with support for Shannon decomposition and associated method |
US7489164B2 (en) * | 2004-05-17 | 2009-02-10 | Raminda Udaya Madurawe | Multi-port memory devices |
US8612772B1 (en) | 2004-09-10 | 2013-12-17 | Altera Corporation | Security core using soft key |
US8566616B1 (en) | 2004-09-10 | 2013-10-22 | Altera Corporation | Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like |
DE102005048525A1 (en) * | 2005-10-07 | 2007-04-12 | Micronas Gmbh | Circuit architecture for an integrated circuit |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US7486111B2 (en) * | 2006-03-08 | 2009-02-03 | Tier Logic, Inc. | Programmable logic devices comprising time multiplexed programmable interconnect |
US7555424B2 (en) | 2006-03-16 | 2009-06-30 | Quickturn Design Systems, Inc. | Method and apparatus for rewinding emulated memory circuits |
US8067970B2 (en) * | 2006-03-31 | 2011-11-29 | Masleid Robert P | Multi-write memory circuit with a data input and a clock input |
US20080024165A1 (en) * | 2006-07-28 | 2008-01-31 | Raminda Udaya Madurawe | Configurable embedded multi-port memory |
US20080182021A1 (en) * | 2007-01-31 | 2008-07-31 | Simka Harsono S | Continuous ultra-thin copper film formed using a low thermal budget |
US7456653B2 (en) * | 2007-03-09 | 2008-11-25 | Altera Corporation | Programmable logic device having logic array block interconnect lines that can interconnect logic elements in different logic blocks |
US7508231B2 (en) | 2007-03-09 | 2009-03-24 | Altera Corporation | Programmable logic device having redundancy with logic element granularity |
US7743296B1 (en) | 2007-03-26 | 2010-06-22 | Lattice Semiconductor Corporation | Logic analyzer systems and methods for programmable logic devices |
US7536615B1 (en) | 2007-03-26 | 2009-05-19 | Lattice Semiconductor Corporation | Logic analyzer systems and methods for programmable logic devices |
US7635988B2 (en) * | 2007-11-19 | 2009-12-22 | Tier Logic, Inc. | Multi-port thin-film memory devices |
US20090128189A1 (en) * | 2007-11-19 | 2009-05-21 | Raminda Udaya Madurawe | Three dimensional programmable devices |
US7573293B2 (en) * | 2007-12-26 | 2009-08-11 | Tier Logic, Inc. | Programmable logic based latches and shift registers |
US7573294B2 (en) * | 2007-12-26 | 2009-08-11 | Tier Logic, Inc. | Programmable logic based latches and shift registers |
US7602213B2 (en) * | 2007-12-26 | 2009-10-13 | Tier Logic, Inc. | Using programmable latch to implement logic |
US7795913B2 (en) * | 2007-12-26 | 2010-09-14 | Tier Logic | Programmable latch based multiplier |
US7735045B1 (en) * | 2008-03-12 | 2010-06-08 | Xilinx, Inc. | Method and apparatus for mapping flip-flop logic onto shift register logic |
WO2010011813A1 (en) * | 2008-07-23 | 2010-01-28 | Alkermes, Inc. | Complex of trospium and pharmaceutical compositions thereof |
US8230375B2 (en) | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
US8661394B1 (en) | 2008-09-24 | 2014-02-25 | Iowa State University Research Foundation, Inc. | Depth-optimal mapping of logic chains in reconfigurable fabrics |
US8438522B1 (en) | 2008-09-24 | 2013-05-07 | Iowa State University Research Foundation, Inc. | Logic element architecture for generic logic chains in programmable devices |
US8159266B1 (en) | 2010-11-16 | 2012-04-17 | Raminda Udaya Madurawe | Metal configurable integrated circuits |
US8159268B1 (en) | 2010-11-16 | 2012-04-17 | Raminda Udaya Madurawe | Interconnect structures for metal configurable integrated circuits |
US8159265B1 (en) | 2010-11-16 | 2012-04-17 | Raminda Udaya Madurawe | Memory for metal configurable integrated circuits |
US8959010B1 (en) | 2011-12-08 | 2015-02-17 | Cadence Design Systems, Inc. | Emulation system with improved reliability of interconnect and a method for programming such interconnect |
US8743735B1 (en) | 2012-01-18 | 2014-06-03 | Cadence Design Systems, Inc. | Emulation system for verifying a network device |
CN102611431B (en) * | 2012-03-08 | 2014-12-24 | 无锡华大国奇科技有限公司 | Register with combinational logic path |
US8595683B1 (en) | 2012-04-12 | 2013-11-26 | Cadence Design Systems, Inc. | Generating user clocks for a prototyping environment |
US10447276B2 (en) | 2015-10-27 | 2019-10-15 | Andapt, Inc. | Power management integrated circuit integrating field effect transistors and programmable fabric |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4911432A (en) * | 1972-05-30 | 1974-01-31 | ||
US3967251A (en) * | 1975-04-17 | 1976-06-29 | Xerox Corporation | User variable computer memory module |
US4357678A (en) * | 1979-12-26 | 1982-11-02 | International Business Machines Corporation | Programmable sequential logic array mechanism |
DE3342354A1 (en) | 1983-04-14 | 1984-10-18 | Control Data Corp., Minneapolis, Minn. | SOFT PROGRAMMABLE LOGIC ARRANGEMENT |
-
1985
- 1985-02-27 US US06/706,429 patent/US4706216A/en not_active Expired - Lifetime
-
1986
- 1986-02-14 JP JP61030608A patent/JPS61224520A/en active Granted
- 1986-02-26 CA CA000502720A patent/CA1255364A/en not_active Expired
- 1986-02-26 GB GB8604761A patent/GB2171546B/en not_active Expired
- 1986-02-27 DE DE3645221A patent/DE3645221C2/de not_active Expired - Lifetime
- 1986-02-27 DE DE19863606406 patent/DE3606406A1/en active Granted
- 1986-02-27 DE DE3645224A patent/DE3645224C2/de not_active Expired - Lifetime
- 1986-03-28 US US06/845,287 patent/US4758985A/en not_active Expired - Lifetime
-
1991
- 1991-10-09 JP JP3290528A patent/JPH0645912A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
GB8604761D0 (en) | 1986-04-03 |
DE3645221C2 (en) | 1992-04-23 |
JPH0446488B2 (en) | 1992-07-30 |
US4706216A (en) | 1987-11-10 |
DE3645224C2 (en) | 1992-02-20 |
GB2171546A (en) | 1986-08-28 |
GB2171546B (en) | 1989-10-18 |
JPH0645912A (en) | 1994-02-18 |
US4758985A (en) | 1988-07-19 |
DE3606406A1 (en) | 1986-08-28 |
JPS61224520A (en) | 1986-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1255364A (en) | Configurable logic element | |
EP0177261B1 (en) | Configurable logic array | |
US4442508A (en) | Storage cells for use in two conductor data column storage logic arrays | |
USRE34363E (en) | Configurable electrical circuit having configurable logic elements and configurable interconnects | |
US4870302A (en) | Configurable electrical circuit having configurable logic elements and configurable interconnects | |
US4034356A (en) | Reconfigurable logic array | |
US4992680A (en) | Programmable logic device having a plurality of programmable logic arrays arranged in a mosaic layout together with a plurality of interminglingly arranged interfacing blocks | |
EP0224004A3 (en) | Interconnected multiport flip-flop logic circuit interconnected multiport flip-flop logic circuit | |
GB2202355A (en) | Configurable storage circuit | |
US4990800A (en) | Mode selector for use in semiconductor memory device | |
EP0204034B1 (en) | Configurable logic array | |
GB1573661A (en) | Digital logic circuit | |
ATE64250T1 (en) | CIRCUIT ARRANGEMENT WITH A MATRIX MEMORY ARRANGEMENT FOR VARIABLE ADJUSTABLE DELAY OF DIGITAL SIGNALS. | |
GB2170671A (en) | Read only memory | |
US4431926A (en) | Counter controlled signal generator | |
US4754432A (en) | Nonvolatile multiconfigurable circuit | |
EP0085489B1 (en) | Improved storage logic array circuit | |
US4918657A (en) | Semiconductor memory device provided with an improved precharge and enable control circuit | |
US5524226A (en) | Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines | |
JPS5927624A (en) | Integrated circuit possible for logical change | |
CA1274882A (en) | Configurable electrical circuit having configurable logic elements and configurable interconnects | |
SU1282147A1 (en) | Device for controlling memory access | |
RU2030115C1 (en) | Electronic key of morse code | |
US3391395A (en) | Coincident current memory utilizing storage diodes | |
JPS5849955B2 (en) | functional memory cell |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |