CA1255364A - Configurable logic element - Google Patents

Configurable logic element

Info

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
Application number
CA000502720A
Other languages
French (fr)
Inventor
William S. Carter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Application granted granted Critical
Publication of CA1255364A publication Critical patent/CA1255364A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • G11C19/282Digital 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]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators 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/037Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/153Arrangements 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/1534Transition 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.

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
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 ` ~ ' , ,' ` ' ' ` '` '' ' ,,, ' ' ~ , " '` ' ` ' '` ` ` '~' ''.; ' '' `' ' ', '~

, ,

Claims (24)

-22- I claim:
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.
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.
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
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
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.
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;
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.
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.
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.
CA000502720A 1985-02-27 1986-02-26 Configurable logic element Expired CA1255364A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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