Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Recherche avancée dans les brevets | Historique Web | Connexion

Brevets

Numéro de publicationUS5208491 A
Type de publicationOctroi
Numéro de demande07/817,697
Date de publication4 mai 1993
Date de dépôt7 janv. 1992
Date de priorité7 janv. 1992
Numéro de publication07817697, 817697, US 5208491 A, US 5208491A, US-A-5208491, US5208491 A, US5208491A
InventeursGaetano Borriello, William H. C. Ebeling
Cessionnaire d'origineWashington Research Foundation
Liens externes: USPTO, Cession USPTO, Espacenet
Field programmable gate array
US 5208491 A
Résumé
A field programmable gate array (FPGA) comprising routing and logic blocks (RLBs) and segmented routing channels is disclosed. Each RLB is configurable to perform both logic functions and routing functions. A plurality of forwardly propagating RLBs (FPRLBs) and a plurality of backwardly propagating RLBs (BPRLBs) intermesh with one another to form a two-dimensional checkerboard array. Each column of the RLB array comprises a plurality of FPRLBs and BPRLBs in alternating sequence. Similarly, each row of the RLB array comprises a plurality of FPRLBs and BPRLBs in alternating sequence. The FPRLBs forwardly propagate signals and the BPRLBs backwardly propagate signals. Each FPRLB may receive a plurality of input signals from a plurality of FPRLBs in the preceding leftward column. Moreover, each FPRLB may output a plurality of output signals to a plurality of FPRLBs in the next rightward column. Similarly, each BPRLB may receive a plurality of input signals from a plurality of BPRLBs in the preceding rightward column and transmit a plurality of output signals to a plurality of BPRLBs in the next leftward column. A plurality of vertical segmented routing channels are disposed between the columns of RLBs, the vertical segmented routing channels accessible to the input and output of adjacent columns of RLBs.
Images(8)
Previous page
Next page
Revendications
The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A field programmable gate array comprising:
(a) a plurality of forwardly propagating routing and logic blocks (FPRLBs), each of said FPRLBs having means for receiving a plurality of input signals and a plurality of output signals; and
(b) a plurality of backwardly propagating routing and logic blocks (BPRLBs), each of said BPRLBs having means for receiving said plurality of input signals and said plurality of output signals, said BPRLBs intermeshing with said FPRLBs to form a two-dimensional checkerboard array, wherein the columns of said checkerboard array comprise a plurality of FPRLBs and BPRLBs arranged in alternating sequence and the rows of said checkerboard array comprise a plurality of FPRLBs and BPRLBs arranged in alternating sequence;
wherein each of said FPRLBs not on the periphery of said checkerboard array is communicatively connected to a plurality of BPRLBs in the same column such that said input signals and said output signals may be passed therebetween, wherein each of said BPRLBs not on the periphery of said checkerboard array is communicatively connected to a plurality of FPRLBs in the same column such that said input signals and said output signals may be passed therebetween, wherein each of said FPRLBs not on the periphery of said checkerboard array is communicatively connected to a plurality of FPRLBs in the immediately adjacent leftward column such that said input signals may be received therefrom and a plurality of FPRLBs in the immediately adjacent rightward column such that said output signals may be transmitted thereto, and wherein each of said BPRLBs not on the periphery of said checkerboard array is communicatively connected to a plurality of BPRLBs in the immediately adjacent leftward column such that said output signals may be transmitted thereto and a plurality of BPRLBs in the immediately adjacent rightward column such that said input signals may be received therefrom.
2. The apparatus of claim 1, further including a plurality of segmented routing channels, said segmented routing channels disposed between the columns of said checkerboard array, said segmented routing channels for receiving said output signals from and providing said input signals to said FPRLBs and BPRLBs in the columns of said checkerboard array immediately adjacent to the individual said segmented routing channels.
3. The apparatus of claim 2, wherein each of said FPRLBs not on the periphery of said checkerboard array provides said output signals to and receives said input signals from two said BPRLBs in the same column and that are directly adjacent above and below; and
wherein each of said BPRLBs not on the periphery of said checkerboard array provides said output signals to and receives input signals from two said FPRLBs in the same column and that are directly adjacent above and below.
4. The apparatus of claim 3, wherein each of said FPRLBs not on the periphery of said checkerboard array provides said output signals to two said FPRLBs located in the immediately adjacent rightward column and that are in adjacent rows immediately above and below;
wherein each of said FPRLBs not on the periphery of said checkerboard array receives said input signals from two said FPRLBs located in the immediately adjacent leftward column and that are in adjacent rows immediately above and below;
wherein each of said BPRLBs not on the periphery of said checkerboard array provides said output signals to two said BPRLBs located in the immediately adjacent leftward column and that are in adjacent rows immediately above and below; and
wherein each of said BPRLBs not on the periphery of said checkerboard array receives said input signals from two said BPRLBs located in the immediately adjacent rightward column and that are in adjacent rows immediately above and below.
5. The apparatus of claim 4, wherein one of said segmented routing channels is disposed between every pair of adjacent columns in said checkerboard array.
6. The apparatus of claim 5, wherein said segmented routing channels include a forwardly propagating segmented routing channel (FPSRC) and a backwardly propagating segmented routing channel (BPSRC);
said FPSRC for receiving said output signals from said FPRLBs in the immediately adjacent leftward column and providing said input signals to said FPRLBs in the immediately adjacent rightward column; and
said BPSRC for receiving said output signals from said BPRLBs in the immediately adjacent rightward column and providing said input signals to said BPRLBs in the immediately adjacent leftward column.
7. The apparatus of claim 6, wherein both said FPSRCs and said BPSRCs include a plurality of separate segmented bus lines.
8. The apparatus of claim 7, wherein said FPSRCs include seven bus lines:
two short bus lines, said two short bus lines receiving said output signals from four consecutive said FPRLBs in the immediately adjacent leftward column and providing said input signals to four consecutive said FPRLBs in the immediately adjacent rightward column;
two medium bus lines, said medium bus lines receiving said output signals from eight said FPRLBs in the immediately adjacent leftward column and providing said input signals to eight consecutive said FPRLBs in the immediately adjacent rightward column;
two long bus lines, said long bus lines receiving said output signals from sixteen said FPRLBs in the immediately adjacent leftward column and providing said input signals to sixteen consecutive said FPRLBs in the immediately adjacent rightward column; and
a global bus line receiving said output signals from all of said FPRLBs in the immediately adjacent leftward column and providing said input signals to all of said FPRLBs in the immediately adjacent rightward column.
9. The apparatus of claim 7, wherein said BPSRCs include seven bus lines:
two short bus lines, said two short bus lines receiving said output signals from four consecutive said BPRLBs in the immediately adjacent rightward column and providing said input signals to four consecutive said BPRLBs in the immediately adjacent leftward column;
two medium bus lines, said medium bus lines receiving said output signals from eight said BPRLBs in the immediately adjacent rightward column and providing said input signals to eight consecutive said BPRLBs in the immediately adjacent leftward column;
two long bus lines, said long bus lines receiving said output signals from sixteen said BPRLBs in the immediately adjacent rightward column and providing said input signals to sixteen consecutive said BPRLBs in the immediately adjacent leftward column; and
a global bus line receiving said output signals from all of said BPRLBs in the immediately adjacent rightward column and providing said input signals to all of said BPRLBs in the immediately adjacent leftward column.
10. The apparatus of claim 8, wherein said BPSRCs include seven bus lines:
two short bus lines, said two short bus lines receiving said output signals from four consecutive said BPRLBs in the immediately adjacent rightward column and providing said input signals to four consecutive said BPRLBs in the immediately adjacent leftward column;
two medium bus lines, said medium bus lines receiving said output signals from eight said BPRLBs in the immediately adjacent rightward column and providing said input signals to eight consecutive said BPRLBs in the immediately adjacent leftward column;
two long bus lines, said long bus lines receiving said output signals from sixteen said BPRLBs in the immediately adjacent rightward column and providing said input signals to sixteen consecutive said BPRLBs in the immediately adjacent leftward column; and
a global bus line receiving said output signals from all of said BPRLBs in the immediately adjacent rightward column and providing said input signals to all of said BPRLBs in the immediately adjacent leftward column.
11. The apparatus of claim 10, wherein said FPSRCs and said BPSRCs share at least one bus line.
12. The apparatus of claim 2, wherein one of said segmented routing channels is disposed between every pair of adjacent columns in said checkerboard array.
13. The apparatus of claim 12, wherein said segmented routing channels include a forwardly propagating segmented routing channel (FPSRC) and a backwardly propagating segmented routing channel (BPSRC);
said FPSRC for receiving said output signals from said FPRLBs in the immediately adjacent leftward column and providing said input signals to said FPRLBs in the immediately adjacent rightward column; and
said BPSRC for receiving said output signals from said BPRLBs in the immediately adjacent rightward column and providing said input signals to said BPRLBs in the immediately adjacent leftward column.
14. The apparatus of claim 13, wherein both said FPSRCs and said BPSRCs include a plurality of separate segmented bus lines.
15. The apparatus of claim 14, wherein said FPSRCs include seven bus lines:
two short bus lines, said two short bus lines receiving said output signals from four consecutive said FPRLBs in the immediately adjacent leftward column and providing said input signals to four consecutive said FPRLBs in the immediately adjacent rightward column;
two medium bus lines, said medium bus lines receiving said output signals from eight said FPRLBs in the immediately adjacent leftward column and providing said input signals to eight consecutive said FPRLBs in the immediately adjacent rightward column;
two long bus lines, said long bus lines receiving said output signals from sixteen said FPRLBs in the immediately adjacent leftward column and providing said input signals to sixteen consecutive said FPRLBs in the immediately adjacent rightward column; and
a global bus line receiving said output signals from all of said FPRLBs in the immediately adjacent leftward column and providing said input signals to all of said FPRLBs in the immediately adjacent rightward column.
16. The apparatus of claim 14, wherein said BPSRCs include seven bus lines:
two short bus lines, said two short bus lines receiving said output signals from four consecutive said BPRLBs in the immediately adjacent rightward column and providing said input signals to four consecutive said BPRLBs in the immediately adjacent leftward column;
two medium bus lines, said medium bus lines receiving said output signals from eight said BPRLBs in the immediately adjacent rightward column and providing said input signals to eight consecutive said BPRLBs in the immediately adjacent leftward column;
two long bus lines, said long bus lines receiving said output signals from sixteen said BPRLBs in the immediately adjacent rightward column and providing said input signals to sixteen consecutive said BPRLBs in the immediately adjacent leftward column; and
a global bus line receiving said output signals from all of said BPRLBs in the immediately adjacent rightward column and providing said input signals to all of said BPRLBs in the immediately adjacent leftward column.
17. The apparatus of claim 15, wherein said BPSRCs include seven bus lines:
two short bus lines, said two short bus lines receiving said output signals from four consecutive said BPRLBs in the immediately adjacent rightward column and providing said input signals to four consecutive said BPRLBs in the immediately adjacent leftward column;
two medium bus lines, said medium bus lines receiving said output signals from eight said BPRLBs in the immediately adjacent rightward column and providing said input signals to eight consecutive said BPRLBs in the immediately adjacent leftward column;
two long bus lines, said long bus lines receiving said output signals from sixteen said BPRLBs in the immediately adjacent rightward column and providing said input signals to sixteen consecutive said BPRLBs in the immediately adjacent leftward column; and
a global bus line receiving said output signals from all of said BPRLBs in the immediately adjacent rightward column and providing said input signals to all of said BPRLBs in the immediately adjacent leftward column.
18. The apparatus of claim 17, wherein said FPSRCs and said BPSRCs share at least one bus line.
19. The apparatus of claim 2, wherein said FPRLBs and said BPRLBs are programmable to provide said output signals as a logic function of said input signals; and
wherein said FPRLBs and said BPRLBs are programmable to route said input signals that are received to other said FPRLBs and said BPRLBs.
20. The apparatus of claim 19, wherein said FPRLBs and said BPRLBs are of identical internal structure, said FPRLBs and said BPRLBs including multiplexing means for selecting three signals from said input signals received by said FPRLBs and BPRLBs, said FPRLBs and said BPRLBs including a function block for calculating said logic function, said three selected signals provided to said function block.
21. The apparatus of claim 4, wherein said FPRLBs and said BPRLBs are programmable to provide said output signals as a logic function of said input signals; and
wherein said FPRLBs and said BPRLBs are programmable to route said input signals that are received to other said FPRLBs and said BPRLBs.
22. The apparatus of claim 21, wherein said FPRLBs and said BPRLBs are of identical internal structure, said FPRLBs and said BPRLBs including multiplexing means for selecting three signals from said input signals received by said FPRLBs and BPRLBs, said FPRLBs and said BPRLBs including a function block for calculating said logic function, said three selected signals provided to said function block.
23. The apparatus of claim 2, further including a plurality of I/O pads disposed along the side periphery of said field programmable gate array, said I/O pads for receiving said output signals from and providing said input signals to the FPRLBs and BPRLBs disposed in the left most and right most columns of said checkerboard array.
24. The apparatus of claim 23, further including a plurality of routing channel I/O pads disposed along the top and bottom periphery of said checkerboard array, said I/O pads for providing said input signals to and receiving output signals from said segmented routing channels.
25. The apparatus of claim 24, further including a plurality of top-bottom I/O pads disposed along the top and bottom periphery of said checkerboard array for providing said input signals to and receiving said output signals from said FPRLBs and BPRLBs disposed in the top most and bottom most rows of said checkerboard array.
26. A field programmable gate array comprising:
(a) a plurality of forwardly propagating routing and logic blocks (FPRLBs), each of said FPRLBs having means for receiving a plurality of input signals and a plurality of output signals;
(b) a plurality of backwardly propagating routing and logic blocks (BPRLBs), each of said BPRLBs having means for receiving said plurality of input signals and said plurality of output signals, said BPRLBs intermeshing with said FPRLBs to form a two-dimensional checkerboard array such that the columns of said checkerboard array comprise said FPRLBs and said BPRLBs arranged in alternating sequence and the rows of said checkerboard array comprise said FPRLBs and said BPRLBs arranged in alternating sequence; and
(c) a plurality of segmented routing channels, one of said segmented routing channels disposed between every pair of adjacent columns of said checkerboard array, said segmented routing channels for receiving said output signals from and providing said input signals to said FPRLBs and BPRLBs in the columns of said checkerboard array adjacent to the individual said segmented routing channels;
wherein each of said FPRLBs not on the periphery of said checkerboard array provides said output signals to and receives said input signals from two said BPRLBs in the same column and that are immediately adjacent above and below;
wherein each of said BPRLBs not on the periphery of said checkerboard array provides said output signals to and receives input signals from two said FPRLBs in the same column and that are immediately adjacent above and below;
wherein each of said FPRLBs not on the periphery of said checkerboard array provides said output signals to two said FPRLBs located in the immediately adjacent rightward column and that are in adjacent rows immediately above and below;
wherein each of said FPRLBs not on the periphery of said checkerboard array receives said input signals from two said FPRLBs located in the immediately adjacent leftward column and that are in adjacent rows immediately above and below;
wherein each of said BPRLBs not on the periphery of said checkerboard array provides said output signals to two said BPRLBs located in the immediately adjacent leftward column and that are in adjacent rows immediately above and below; and
wherein each of said BPRLBs not on the periphery of said checkerboard array receives said input signals from two said BPRLBs located in the immediately adjacent rightward column and that are in adjacent rows immediately above and below.
27. The apparatus of claim 26, wherein said segmented routing channels include a forwardly propagating segmented routing channel (FPSRC) and a backwardly propagating segmented routing channel (BPSRC);
said FPSRC for receiving said output signals from said FPRLBs in the immediately adjacent leftward column and providing said input signals to said FPRLBs in the immediately adjacent rightward column; and
said BPSRC for receiving said output signals from said BPRLBs in the immediately adjacent rightward column and providing said input signals to said BPRLBs in the immediately adjacent leftward column.
28. The apparatus of claim 27, wherein both said FPSRCs and said BPSRCs include a plurality of separate segmented bus lines.
Description
FIELD OF THE INVENTION

The invention relates to a field programmable gate array and, more particularly, to a field programmable gate array having an interconnect structure that emulates the fan-in/fan-out structure of digital logic circuits.

BACKGROUND OF THE INVENTION

A digital logic circuit is a circuit that produces a digital output as a logical operation of digital inputs. By digital output and digital input, it is meant that the outputs and inputs are either one ("high") or zero ("low"). Generally, a digital logic circuit is formed as a cascade of separate logic functions. Examples of well known logic functions include AND, OR, NAND, and XOR. Complex digital logic circuits may comprise tens or hundreds of cascading logic functions. Digital logic circuits find use in many different applications. For example, digital logic circuits may be used in digital signal processing, in general computing applications, or as controllers for machinery.

Typically, digital logic circuits are implemented on an integrated semiconductor chip. However, a range of types of integrated chips are available for implementing digital logic circuits. One well-known type of integrated chip is the application specific integrated circuit (ASIC). ASICs, also known as custom integrated chips, are specifically manufactured to implement a particular digital logic circuit. One disadvantage of ASICs is the relatively high cost of design and manufacture.

Another type of integrated chip are programmable chips. Programmable chips differ from ASICs in that a single underlying integrated chip may be used to implement any number of different complex digital logic circuits by programming the underlying integrated chip. The programmable integrated chips are less costly because a large number of integrated chips may be manufactured from a single design. The same integrated chip may implement a variety of digital logic circuits. Thus, the cost of design and manufacture may be distributed over a large number of integrated chips. It is the programmable integrated chip that the present invention is directed towards.

The field programmable gate array (FPGA) is one type of programmable integrated chip. FPGAs are programmed in the field by the user. The programming may be accomplished using fuse programming technology or memory programming technology. For example, as is well known in the art, fuse programming involves the physical modification of the manufactured integrated chip so as to connect or disconnect elements in the integrated chip. Memory programming involves setting a plurality of memory bits on the integrated chip. The memory bits in turn control the connection of elements in the integrated chip. The advantage of memory programming is that the integrated chip may be reprogrammed.

An FPGA typically consists of an array of modularized logic blocks and interconnection resources. Each logic block can be programmed to implement a particular logic function. Signal propagation is accomplished by means of the interconnect resources. By programming a plurality of logic blocks to implement logic functions and utilizing the interconnect resources to propagate signals, a desired digital logic circuit can be implemented.

One area of considerable interest in FPGAs is the topology of the logic blocks and interconnect resources. Different topologies provide different performance characteristics. An important performance characteristic is the speed at which a signal can propagate through a logic circuit. Another important performance characteristic is the total amount of integrated chip space needed to implement a particular logic function.

FPGAs of the prior art typically use a topology whereby logic blocks are arranged in a two-dimensional array, consisting of a plurality of columns of logic blocks. Interconnect resources occupy the space between the columns and rows of the logic blocks. Illustrative is U.S. Pat. No. 4,870,302 to Freeman, which discloses an FPGA having a two-dimensional array of logic blocks. Horizontal and vertical interconnects occupy the area between the rows and columns of the logic blocks. Input/output devices are located at the periphery of the array to input and output signals into the FPGA. Additionally, each logic block is locally connected with the logic blocks above and below and to either side of the logic block. Signal propagation between logic blocks is accomplished using either the local interconnect structure or by utilizing the horizontal and vertical interconnects. The topology of Freeman allows for signal propagation from any one logic block to any other logic block via only the interconnect resources. This is referred to as point-to-point interconnectivity.

However, one difficulty with the FPGA topology of Freeman is that the horizontal and vertical interconnects may consume more than 95 percent of the chip area. The large amount of chip area dedicated to interconnect resources reduces the amount of chip area available for logic blocks, consequently reducing the complexity of digital logic circuits that can be implemented. Many digital logic circuits do not need the general point-to-point interconnect structure and for these circuits, the interconnect resources are wasted.

The present invention discloses a novel FPGA topology that minimizes the amount of integrated chip space needed to implement a digital logic circuit, while maintaining signal propagation speed.

SUMMARY OF THE INVENTION

A field programmable gate array (FPGA) comprising routing and logic blocks (RLBs) and vertical segmented routing channels is disclosed. The RLBS are categorized as either forwardly propagating RLBs (FPRLBs) or backwardly propagating RLBs (BPRLBs). The FPRLBs and BPRLBs intermesh with one another to form a two-dimensional checkerboard array. Thus, each column of the RLB array comprises a plurality of FPRLBs and BPRLBs in alternating sequence. Similarly each row of the RLB array comprises a plurality of FPRLBs and BPRLBs in alternating sequence.

The FPRLBs forwardly propagate signals, in a left to right direction. Each FPRLB may receive a plurality of input signals from a plurality of FPRLBs in the preceding leftward column. Moreover, each FPRLB may transmit a plurality of output signals to a plurality of FPRLBs in the next rightward column. Further, each FPRLB may receive input signals from and transmit output signals to the two BPRLBs in the same column and directly above and below the FPRLB.

Similarly, the BPRLBs backwardly propagate signals, in a right-to-left direction. Each BPRLB may receive a plurality of input signals from a plurality of BPRLBs in the preceding rightward column and transmit a plurality of output signals to a plurality of BPRLBs in the next leftward column. Each BPRLB may receive input signals from and transmit output signals to the two FPRLBs in the same column and directly above and below the BPRLB.

A plurality of vertical segmented routing channels (SRCs) serve as signal bus lines between RLBs. The segmented routing channels are categorized as either forwardly propagating SRCs (FPSRCs) or backwardly propagating SRCs (BPSRCs). One FPSRC and one BPSRC is disposed between adjacent columns of RLBs. Each FPRLB transmits an output signal to the immediately adjacent FPSRC to the right. Further, each FPRLB receives an input signal from the immediately adjacent FPSRC to the left. Similarly, each BPRLB transmits an output signal to the immediately adjacent BPSRC to the left. Each BPRLB also receives an input signal from the immediately adjacent BPSRC to the right.

In another embodiment of the present invention, the FPSRCs and BPSRCs are comprised of a plurality of individual bus lines. The bus lines are segmented into differing lengths, thereby allowing short range, medium range, and long range communication with other RLBs.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 illustrates the FPGA topology of the present invention;

FIG. 2 illustrates the neighbor interconnect structure of a FPRLB;

FIG. 3 illustrates the neighbor interconnect structure of a BPRLB;

FIG. 4A is a schematic representation of the internal structure of a routing and logic block;

FIG. 4B is a schematic representation of an alternative embodiment of a routing and logic block;

FIGS. 5A-5D illustrate several possible configurations for a routing and logic block;

FIG. 6 illustrates the connection of the FPRLBs in two adjacent columns to a vertical segmented routing channel; and

FIG. 7 illustrates an alternative embodiment of the FPGA where the FPSRC and the BPSRC share common bus lines.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, a field programmable gate array (FPGA) 11 comprises a plurality of routing and logic blocks (RLBs) 101 and 201, a plurality of forwardly propagating segmented routing channels (FPSRCs) 103, a plurality of backwardly propagating segmented routing channels (BPSRCs) 105, a plurality of top-bottom I/O pads 111, a plurality of side I/O pads 113, a plurality of routing channel I/O pads 117, and two side segmented routing channels 115.

FPGA 11 is an integrated circuit that can be programmed to implement an arbitrary digital logic circuit. A digital logic circuit is an electrical circuit that produces a digital output as a logic function of digital inputs. By digital output and digital input, it is meant that an output or input is either one ("high") or zero ("low"). The terms signal propagation, input signals, and output signals as used herein all refer to the propagation of signals that are digital in nature. Typically, a digital logic circuit is formed from a cascade of separate logic functions. Examples of digital logic functions are AND, OR, NAND, and XOR.

As will be seen with greater clarity below, each of the FPRLBs 101 and BPRLBs 201 include miltiplexers that must be programmed to output a selected signal from the plurality of signals presented. Moreover, a function block 305 of each RLB must be programmed so as to implement the desired logic function. Also, a plurality of tri-state buffers 315 included in each RLB must be programmed. As can be appreciated by those skilled in the art, the programmable elements have memory bits that are set by externally writing the information thereto. The method of programming a particular digital logic circuit is not of primary concern and various methods of accomplishing the same are known in the art.

The RLBs 101 and 201, although identical in internal structure, are categorized as either forwardly propagating RLBs (FPRLB) 101 or backwardly propagating RLBs (BPRLB) 201. As will be seen with greater clarity below, the FPRLBs 101 provide for signal flow in the forward direction. The term forward direction refers to signal propagation from left to right in FIG. 1. The BPRLBs 201 provide for signal flow in the backward direction. The term backward direction refers to signal propagation from right to left in FIG. 1. The combination of the FPRLBs 101 and the BPRLBs 201 allow for the implementation of digital logic circuits that require feedback.

Referring to FIG. 1, FPRLBs 101 and BPRLBs 201 are arranged in intermeshing fashion, and when taken together, form a two-dimensional checkerboard array of RLBs. Thus, each of the RLB columns 107 contain a plurality of FPRLBs 101 and BPRLBs 201 in alternating sequence. Similarly, each of the RLB rows 109 contain a plurality of FPRLBs 101 and BPRLBs 201 in alternating sequence. For clarity, only four columns and five rows of RLBs are shown in FIG. 1. However, in the preferred embodiment, the array consists of thirty-two rows and eight columns of RLBs. Further, it can be appreciated that the array may be extended to arbitrary size.

Disposed between each pair of adjacent columns of RLBs are FPSRCs 103 and BPSRCs 105. FPSRCs 103 and BPSRCs 105 provide routing channels for propagating signals between RLBs. Although both the FPSRCs 103 and BPSRCs 105 are shown in FIG. 1 as a single line, each FPSRC 103 and BPSRC 105 includes multiple separate bus lines. In the preferred embodiment, the FPSRCs 103 and the BPSRCs 105 include seven bus lines. As will be seen with greater clarity below, the seven bus lines provide for signal propagation between RLBs.

Neighbor Interconnect Structure of the FPRLBs

Apart from the FPSRCs 103 and the BPSRCs 105, signal propagation to and from RLBs may also be carried out using a neighbor interconnect structure. Each RLB in the FPGA 11 has an associated neighbor interconnect structure. Referring to FIG. 2, an expanded schematic illustration of the FPGA topology of FIG. 1 is shown. As seen, the neighbor interconnect structure of a FPRLB 101 (shown in solid outline) comprises diagonal input interconnects 151a and 151b, vertical input interconnects 153a and 153b, FPSRC input interconnect 155, diagonal output interconnects 157a and 157b, vertical output interconnects 159a and 159b, and FPSRC output interconnect 161.

The neighbor interconnect structure allows each FPRLB 101 to receive input from five different sources. In particular, diagonal input interconnect 151a carries an input signal from the FPRLB 101 that is located in the immediately adjacent column to the left and in the immediately adjacent row above. Diagonal input interconnect 151b carries an input signal from the FPRLB 101 that is located in the immediately adjacent column to the left and in the immediately adjacent row below. Further, vertical input interconnect 153a carries an input signal from the BPRLB 201 in the same column and immediately above the FPRLB 101. Vertical input interconnect 153b carries an input signal from the BPRLB 201 in the same column and immediately below the FPRLB 101. Finally, FPSRC input interconnect 155 carries an input signal from the immediately adjacent FPSRC 103 to the left.

As noted earlier, in the preferred embodiment, the FPSRC 103 comprises seven bus lines. The FPSRC input interconnect 155 accesses all seven of the bus lines. As will be seen below, a programmable multiplexer within each FPRLB allows the selection of one bus line to provide an input signal to the FPRLB. However, for clarity, each FPRLB 101 is shown as having a single FPSRC input interconnect 155. Thus, it can be appreciated that the single FPSRC input interconnect 155 is actually seven distinct interconnects, one to each bus line.

Each FPRLB 101 can supply three separate output signals to five separate destinations. In particular, diagonal output interconnect 157a carries a first output signal to the FPRLB 101 in the immediately adjacent column to the right and to the row above. The same first output signal is carried by vertical output interconnect 159a to the BPRLB 201 directly above in the same column. The second output signal is carried by diagonal output interconnect 157b to the FPRLB 101 in the immediately adjacent column to the right and to the row below. The same second output signal is carried by vertical output interconnect 159b to the BPRLB 201 directly below in the same column. Finally, the third output signal is carried by FPSRC output interconnect 161 to the immediately adjacent FPSRC 103 to the right.

More particularly, the FPSRC output interconnect 161 supplies the third output signal to all seven bus lines of FPSRC 103. Specifically, as will be seen below, the third output signal is provided to seven tri-state buffers 315 (seen in FIG. 4A) that act as a switch to control the output signal to the seven bus lines of the FPSRC 103. For clarity, each FPRLB 101 is shown as having a single FPSRC output interconnect 161. However, it can be appreciated that the single FPSRC output interconnect 161 is actually seven distinct interconnects, one to each of the seven bus lines.

The above description discloses that each FPRLB 101 has a neighbor interconnect structure comprised of diagonal input interconnects 151a and 151b, vertical input interconnects 153a and 153b, FPSRC input interconnect 155, diagonal output interconnects 157a and 157b, vertical output interconnects 159a and 159b, and a FPSRC output interconnect 161. However, because of the interconnection of the FPRLBs and the repetitive nature of the FPGA topology, the neighbor interconnect structure of a specific FPRLB 101 overlaps with the neighbor interconnect structure of other FPRLBs 101 and the neighbor interconnect structure of other BPRLBs 201. Specifically, the diagonal output interconnects 157 of one FPRLB are the diagonal input interconnects 151 of other FPRLBs 101. Similarly, the vertical output interconnects 159 of one FPRLB are the vertical input interconnects 173 of other BPRLBs 201.

Neighbor Interconnect Structure of the BPRLBs

The neighbor interconnect structure of the BPRLBs 201 is analogous to the neighbor interconnect structure of the FPRLBs 101. Referring to FIG. 3, a neighbor interconnect structure comprises diagonal input interconnects 171a and 171b, vertical input interconnects 173a and 173b, BPSRC input interconnect 175, diagonal output interconnects 177a and 177b, vertical output interconnects 179a and 179b, and BPSRC output interconnect 181.

The neighbor interconnect structure allows each BPRLB 201 to receive input from five different sources. In particular, diagonal input interconnect 171a carries an input signal from the BPRLB 201 that is located in the immediately adjacent column to the right and in the immediately adjacent row above. Also, diagonal input interconnect 171b carries an input signal from the BPRLB 201 that is located in the immediately adjacent column to the right and in the immediately adjacent row below. Further, vertical input interconnect 173a carries an input signal from the FPRLB 101 in the same column and immediately above the BPRLB 201. Vertical input interconnect 173b carries an input signal from the FPRLB 101 in the same column and immediately below the BPRLB 101. Finally, BPSRC input interconnect 175 carries an input signal from the immediately adjacent BPSRC 105 to the right.

Like the FPSRC 103, the BPSRC 105 comprises seven bus lines. The BPSRC input interconnect 175 accesses all seven of the bus lines. As will be seen below, a programmable multiplexer within each BPRLB allows the selection of one bus line to provide an input signal to the BPRLB. However, for clarity, each BPRLB 201 is shown as having a single BPSRC input interconnect 175. Thus, it can be appreciated that the single BPSRC input interconnect 175 is actually seven distinct interconnects, one to each bus line.

Each BPRLB 201 can supply three separate output signals to five separate destinations. In particular, diagonal output interconnect 177a carries a first output signal to the BPRLB 201 in the immediately adjacent column to the left and to the row above. The same first output signal is carried by vertical output interconnect 179a to the FPRLB 101 directly above in the same column. The second output signal is carried by diagonal output interconnect 177b to the BPRLB 201 in the immediately adjacent column to the left and to the row below. The same second output signal is carried by vertical output interconnect 179b to the FPRLB 101 directly below in the same column. Finally, the third output signal is carried by BPSRC output interconnect 181 to the immediately adjacent BPSRC 105 to the right.

The BPSRC output interconnect 181 supplies the third output signal to the seven bus lines of BPSRC 105. Specifically, as will be seen below, the third output signal is provided to seven tri-state buffers 315 that act as a switch to control the output signal to the seven bus lines of the BPSRC 105. For clarity, each BPRLB 201 is shown as having a single BPSRC output interconnect 181. However, it can be appreciated that the single BPSRC output interconnect 181 is actually seven distinct interconnects, one to each of the seven bus lines.

The above description discloses that each BPRLB 201 has a neighbor interconnect structure comprised of diagonal input interconnects 171a and 171b, vertical input interconnects 173a and 173b, BPSRC input interconnect 175, diagonal output interconnects 177a and 177b, vertical output interconnects 179a and 179b, and a BPSRC output interconnect 181. However, because of the interconnection of the BPRLBs and the repetitive nature of the FPGA topology, the neighbor interconnect structure of a specific BPRLB 201 overlaps with the neighbor interconnect structure of other BPRLBs 201 and the neighbor interconnect structure of other FPRLBs 101. Specifically, the diagonal output interconnects 177 of one BPRLB are the diagonal input interconnects 171 of other BPRLBs 201. Similarly, the vertical output interconnects 179 of one BPRLB are the vertical input interconnects 153 of other FPRLBs 101.

Internal Structure of a RLB

Referring to FIG. 4A, a schematic block diagram illustrating the internal structure of the preferred embodiment of the FPRLBs and the BPRLBs is shown. As noted earlier, both the FPRLBs and the BPRLBs have an identical internal structure. An FPRLB will be described in detail with reference to FIG. 4A. However, it can be appreciated that the BPRLBs are identically formed. The FPRLB 101 is comprised of two FPRLB input multiplexers 301a and 301b, an input routing channel multiplexer 303, a function block 305, a master-slave latch 307, a latch multiplexer 309, two RLB output multiplexers 311a and 311b, and an output routing channel multiplexer 313. The multiplexers 301a, 301b, 303, 309, 311a, 311b, and 313 are programmable elements that are operative to allow one signal to pass therethrough from a plurality of input signals presented.

In particular, each of the two FPRLB input multiplexers 301a and 301b has two input signals. One input signal of FPRLB input multiplexer 301a is carried by the diagonal input interconnect 151a (shown in FIG. 2). The diagonal input interconnect 151a carries an input signal from the FPRLB in the immediately adjacent leftward column and in the row above. The other input signal of input multiplexer 301a is carried by the vertical input interconnect 153a. The vertical input interconnect 153a carries an input signal from the BPRLB 201 in the same column and immediately above as the FPRLB. Input multiplexer 301a is programmable to select one of the two inputs to pass therethrough for further processing. As seen, the signal passed by RLB input multiplexer 301a is provided to function block 305, RLB output multiplexers 311a and 311b, and output routing channel multiplexer 313.

Similarly, one input signal of FPRLB input multiplexer 301b is carried by the diagonal input interconnect 151b (shown in FIG. 2). The diagonal input interconnect 151b carries an input signal from the FPRLB in the immediately adjacent leftward column and in the row below. The other input signal of input multiplexer 301b is carried by the vertical input interconnect 153b. The vertical input interconnect 153b carries an input signal from the BPRLB 201 in the same column and immediately below as the FPRLB. Input multiplexer 301b is programmable to select one of the two inputs to pass therethrough for further processing. As seen, the signal passed by RLB input multiplexer 301b is provided to function block 305, RLB output multiplexers 311a and 311b, and output routing channel multiplexer 313.

Next, input routing channel multiplexer 303 has eight inputs. The input routing channel multiplexer 303 accepts input signals provided by the FPSRC 103 adjacent and to the left of the FPRLB 101. The FPSRC 103 is comprised of seven individual bus lines. One input signal from each bus line is carried by input interconnect 155 to input routing channel multiplexer 303. The eighth input, as seen in FIG. 4A, is provided as a feedback signal from master-slave latch 307. Input routing channel multiplexer 303 is programmable to select any one of the eight inputs to pass therethrough for further processing. As seen, the signal passed by input routing channel multiplexer 303 is provided to function block 305, RLB output multiplexers 311a and 311b, and output routing channel multiplexer 313.

In sum, the operation of the multiplexers 301a, 301b, and 303 provide three input signals, respectively, to function block 305. The first input signal is either the input signal carried on diagonal input interconnect 151a or the input signal carried on vertical input interconnect 153a. The second input signal is either the input signal carried on diagonal input interconnect 151b or the input signal carried on vertical input interconnect 153b. The third input signal is either one of the input signals carried by the seven bus lines of FPSRC 103 or the feedback signal from master-slave latch 307.

Function block 305 can provide an output based upon a logic function of the input signals provided. Examples of logic functions that function block 305 may implement are AND, OR, NAND, and XOR. It can be appreciated that function block 305 is a generalized functional element that can implement any logic function of three inputs. Integrated circuit implementations of function block 305 are well known in the art and the reader is directed to Machart et al., General Function Circuit, IBM T.D.B., Vol. 15, No. 1, June 1972, p. 11; and Gamblin et al., Thin Film Universal Logic Block, IBM T.D.B., Vol. 9, No. 6, November 1966, pp. 662-664 for further information.

The output of function block 305 is sampled by master-slave latch 307. Although not shown, a global clock signal is provided to each FPRLB 101 and BPRLB 201 externally from a clock source. As can be appreciated by those skilled in the art, the global clock signal is used by the master-slave latch 307 to sample the output of the function block 305 at a specific time. Master-slave latch 307 stores the sampled output of the function block 305 for one clock period. The master-slave latch 307 is utilized to implement synchronous sequential circuits that require memory.

The output of function block 305 is also provided to latch multiplexer 309. Latch multiplexer 309 is programmable to select and output either the output of function block 305 or the output of master-slave latch 307. The output of latch multiplexer 309 is provided as an input to RLB output multiplexers 311a and 311b and output routing channel multiplexer 313. Moreover, as noted earlier, the output of master-slave latch 307 is provided as an input to input routing channel multiplexer 303.

Thus, FPRLB output multiplexer 311a has as input signals the outputs of input multiplexers 301a, 301b, and 303. The output multiplexer 311a also has as an input signal the output of latch multiplexer 309. Output multiplexer 311a is programmable to select and output any one of the signals presented. Similarly, FPRLB output multiplexer 311b has as input signals the outputs of input multiplexers 301a, 301b, and 303. The output multiplexer 311b also has as an input signal the output of latch multiplexer 309. Output multiplexer 311b is also programmable to select and output any one of the signals presented. Finally, output routing channel multiplexer 313 has as input signals the outputs of input multiplexers 301a, 301b, and 303. The output routing channel multiplexer 313 also has as an input signal the output of latch multiplexer 309. Output routing channel multiplexer 313 is also programmable to select and output any one of the signals presented.

The output of output routing channel multiplexer 313 is provided to FPSRC 103. As noted, the FPSRCs 103 and the BPSRCs 105 include seven bus lines. By the use of seven tri-state buffers 315, the output of output routing channel multiplexer 313 may be selectively applied to each of the seven bus lines. In particular, the tri-state buffers 315 act as a driver that either transmits a signal or does not transmit a signal onto the bus line.

In sum, it can be seen that three separate output signals are provided by FPRLB 101, two by RLB output multiplexers 311a and 311b, and one by output routing channel multiplexer 313. The first output signal provided by RLB output multiplexer 311a is provided to diagonal output interconnect 157a and to vertical output interconnect 159a. The second output signal provided by RLB output multiplexer 311b is provided to diagonal output interconnect 157b and to vertical output interconnect 159b. The third output signal provided by output routing channel multiplexer 313 is provided to the seven bus lines of FPSRC 103.

FIG. 4B shows an alternative embodiment of the RLBs, whereby improved routing flexibility is provided by including additional multiplexers at the input stage of the FPRLB 101. Specifically, FPSRC input multiplexers 351a, 351b, and 351c allow function block 305 to receive two inputs from the FPSRC input interconnect 155. Secondary multiplexers 353a and 353b are operative to provide further routing flexibility. In particular, secondary multiplexer 353a provides an output from either the FPSRC input interconnect 155, from the vertical input interconnect 153a, or the diagonal input interconnect 151a. Similarly, secondary multiplexer 353b provides an output from either the FPSRC input interconnect 155, from the vertical input interconnect 153b, or the diagonal input interconnect 151b. The outputs of both secondary multiplexers 353a and 353b can be routed to function block 305 or any of the output multiplexers 311a, 311b, or 313. It can be appreciated that further combinations of multiplexers may be included in the FPRLB 101 to provide for a variety of routing structures.

In either embodiment, the RLBs are capable of performing both function calculation and routing tasks simultaneously. For example, returning to FIG. 4A, an input signal carried on diagonal input interconnect 151a may be routed, by appropriate programming of the multiplexers, to the two BPRLBs in the same column directly above and below via vertical output interconnects 159a and 159b, to the two FPRLBs in the next rightward column and in the row above and below via diagonal output interconnects 157a and 157b, or to more distant FPRLBs in the next rightward column by means of the FPSRC 103.

The routing flexibility leads to several possible uses for a RLB, as seen in FIGS. 5A-5D. In FIGS. 5A and 5B, the RLB may be used exclusively for routing purposes. Specifically, in FIG. 5A, an input signal provided via diagonal input interconnect 151a is routed as an output signal via diagonal output interconnect 157b. An input signal provided via FPSRC input interconnect 155 is routed to diagonal output interconnect 157a. Finally, an input signal provided by diagonal input interconnect 151b is routed as an output signal via FPSRC output interconnect 161. The internal structure of the RLBs provide for routing of input signals provided by the input interconnects to the output interconnects in numerous combinations. Moreover, a single input signal received may be routed to a plurality of output interconnects, as seen in FIG. 5B.

FIG. 5C and 5D shows an RLB being used as a logic function and as a routing block. Specifically, in FIG. 5C, the function block 305 calculates a logic function of three inputs, provided by the input interconnects 151a, 151b, and 155. The output of the function block 305 is provided to output interconnects 157a, 157b, and 161. Finally, in FIG. 5D shows another variation in RLB signal propagation where the RLB is used for both routing and logic function calculation.

Segmented Routing Channel Structure

FIG. 6 illustrates in greater detail the structure of the FPSRC 103. For clarity, the BPRLBs 201 are omitted as is the BPSRC 105. In the preferred embodiment, the FPSRC 103 is comprised of seven distinct bus lines. Two of the bus lines are short bus lines 401. Each short bus line 401 is segmented into electrically isolated short segments 409 that are connected to eight FPRLBs 101. Two of the bus lines are medium bus lines 403. Each medium bus line 403 is segmented into electrically isolated medium segments 411 that are connected to sixteen FPRLBs 101. Two of the bus lines are long bus lines 405. Each long bus line 405 is segmented into electrically isolated long segments 413 that are connected to thirty-two FPRLBs 101. Finally, the last bus line is a global bus line 407 that is continuous throughout its length and connects to all FPRLBs 101 in the adjacent columns.

As seen in FIG. 6, each short segment 409 of a first short bus line 401 has connected thereto eight FPRLBs 101, four consecutive FPRLBs 101 from the column to the left and four consecutive FPRLBs 101 from the column to the right. Thus, in operation, one of the four consecutive FPRLBs 101 in the left column may provide an output signal onto the short segment 409. The four consecutive FPRLBs 101 in the column to the right may access the output signal provided.

Moreover, the second short bus line 401 has short segments 409 that are vertically offset from the short segments 409 in the first bus line 401. The vertical offset is equal to one-half of the length of short segment 409. Thus, short segments 409 in adjacent bus lines 401 are commonly connected to four FPRLBs 101.

Each medium segment 411 of a first medium bus line 403 has connected thereto sixteen FPRLBs 101, eight consecutive FPRLBs 101 from the column to the left and eight consecutive FPRLBs 101 from the column to the right. Thus, in operation, one of the eight consecutive FPRLBs 101 in the left column may provide an output signal onto the medium segment 411. The eight consecutive FPRLBs 101 in the column to the right may access the output signal provided.

Moreover, the second medium bus line 403 has medium segments 411 that are vertically offset from the medium segments 411 in the first medium bus line 403. The vertical offset is equal to one-half of the length of medium segment 411. Thus, medium segments 411 in adjacent medium bus lines 403 are commonly connected to eight FPRLBs 101.

Each long segment 413 of a first long bus line 405 has connected thereto thirty-two FPRLBs 101, sixteen consecutive FPRLBs 101 from the column to the left and sixteen consecutive FPRLBs 101 from the column to the right. Thus, in operation, one of the sixteen consecutive FPRLBs 101 in the left column may provide an output signal onto the long segment 413. The sixteen consecutive FPRLBs 101 in the column to the right may access the output signal provided.

Moreover, the second long bus line 405 has long segments 413 that are vertically offset from the long segments 413 in the first long bus line 405. The vertical offset is equal to one-half of the length of long segment 413. Thus, long segments 413 in adjacent long bus lines 405 are commonly connected to sixteen FPRLBs 101.

The global bus line 407 spans the entire length of the FPGA columns 107. Each FPRLB 101 in the adjacent columns are connected to the global bus line 405. Thus, in operation, one of the FPRLBs 101 in the left column may provide an output signal onto the global bus line 407. The FPRLBs 101 in the column to the right or routing channel I/O pad 117 may then access the output signal provided. Further, as will be seen below, routing channel I/O pad 117 may provide an input signal onto the global bus line 407 for access by the FPRLBs 101 in the column to the right.

The operation of FPSRCs 103 is to provide communication from each FPRLB 101 to the FPRLBs 101 in the adjacent right column. The communication may be accomplished via the short segments 409, the medium segments 411, the long segments 413, or the global bus line 407.

Although FIG. 6 illustrates only a FPSRC 103, the BPSRCs 105 are of identical configuration. Thus, the BPSRC 103 is also comprised of seven distinct bus lines. Two of the bus lines are short bus lines, segmented into electrically isolated short segments that connect to eight BPRLBs 201. Two of the bus lines are medium bus lines, segmented into electrically isolated medium segments that connect to sixteen BPRLBs 201. Two of the bus lines are long bus lines, segmented into electrically isolated long segments that connected to thirty-two RLBs 201. Finally, a continuous global bus line connects to all BPRLBs 201 for use as a signal path.

Each short segment has connected thereto eight BPRLBs 201, four from the column to the left and four from the column to the right. Moreover, adjacent short bus lines are vertically offset from one another by one-half of the length of short segment. Thus, adjacent short segments in adjacent bus lines are commonly connected to four BPRLBs. Similarly, each medium segment has connected thereto sixteen BPRLBs 201, eight from the column to the left and eight from the column to the right. Moreover, adjacent medium bus lines are vertically offset from one another by one-half of the length of medium segment. Also, each long segment has connected thereto thirty-two BPRLBs 201, sixteen from the column to the left and sixteen from the column to the right. Moreover, adjacent medium bus lines are vertically offset from one another by one-half of the length of medium segment.

The operation of BPSRCs 105 is to provide communication from each BPRLB 201 to the BPRLBs 201 in the adjacent left column. The communication may be accomplished via the short segments, the medium segments, the long segments, or the global bus line 407.

In an alternative embodiment, as seen in FIG. 7, the FPSRC 103 and BPSRC 105 between the RLB columns 107 may share certain bus lines. FIG. 7 shows a portion of adjacent RLB columns 107. As seen, BPSRC 105 and FPSRC 105 share two short bus lines 601. By sharing, it is meant that all connections from the FPRLBs 101 to the short bus lines 401 of the FPSRC 103 and all connections from the BPRLBs 201 to the short bus lines of the BPSRCs 105 are connected to a single pair of shared short bus lines 601. Shared short bus lines 601 are thus connected to sixteen RLBs: four FPRLBs from the left column, four FPRLBs from the right column, four BPRLBs from the left column, and four BPRLBs from the right column. In other variations, the shared bus lines may be the medium bus lines or the long bus lines or any combination thereof.

It can be appreciated by those skilled in the art that the FPSRCs 103 and the BPSRCs 105 may be configured in a multitude of different arrangements. For example, the FPSRCs 103 and the BPSRCs may include any number of separate bus lines. Furthermore, the length of the segments of the bus lines 401, 403, and 405 may be different from the preferred lengths described above. Thus, the description given above with respect to the FPSRCs 103 and the BPSRCs 105 should not be construed as limiting.

Providing Input Signals to the FPGA

Returning to FIG. 1, input signals are provided to and output signals are extracted from the FPGA 11 via top-bottom I/O pads 111, routing channel I/O pads 117, and side I/O pads 113. As seen, side I/O pads 113 are disposed along both side peripheries of the FPGA 11, between the RLB rows 109. In particular, the side I/O pads 113 at the left periphery of the FPGA 11 are programmable to provide input signals to the diagonal input interconnects 151a and 151b of the FPRLBs 101. Side I/O pads 113 at the left periphery of the FPGA 11 are also programmable to receive output signals from the diagonal output interconnects 177a and 177b of the BPRLBs 201. Furthermore, the side I/O pads 113 at the left periphery of the FPGA 11 are programmable to receive output signals from the side segmented routing channel 115.

Similarly, the side I/O pads 113 at the right periphery of the FPGA 11 are programmable to provide input signals to the diagonal input interconnects 171a and 171b of the BPRLBs 201. Side I/O pads 113 at the right periphery of the FPGA 11 also are programmable to receive output signals from the diagonal output interconnects 157a and 157b of the FPRLBs 101. Further, the side I/O pads 113 at the right periphery of the FPGA 11 are programmable to receive output signals from the side segmented routing channel 115.

In the preferred embodiment, as seen in FIG. 1, top-bottom I/O pads 111 are disposed generally along the top and bottom edges of the FPGA 11, directly above or below the RLB columns 107, respectively. The top-bottom I/O pads 111 along the top periphery of the FPGA 11 are programmable to provide an input signal to the RLB directly below the top-bottom I/O pad 111. The same input signal is provided to the RLB in the top row of the two adjacent RLB column 107. Moreover, the top-bottom I/O pads 111 along the top periphery of the FPGA 11 are programmable to receive an output signal from the RLB directly below the top-bottom I/O pad 111. Another output signal is received from the RLB in the top row of the other adjacent RLB column 107.

The top-bottom I/O pads 111 along the bottom periphery of the FPGA 11 are programmable to provide an input signal to the RLB directly above the top-bottom I/O pad 111. The same input signal is provided to the RLB in the bottom row of one of the two adjacent RLB column 107. Moreover, the top-bottom I/O pads 111 along the bottom periphery of the FPGA 11 are programmable to receive an output signal from the RLB directly above the top-bottom I/O pad 111. Another output signal is received from the RLB in the bottom row of the other adjacent RLB column 107.

Routing channel I/O pads 117 are disposed generally along the top and bottom peripheries of the FPGA 11, between the columns 107. The routing channel I/O pads 117 along the top edge are programmable to provide input signals to and receive output signals from the global bus line 407 of the FPSRCs 103. The routing channel pads 117 along the bottom edge are programmable to provide input signals to and receive output signals from the global bus line 407 of the BPSRCs 105.

Side segmented routing channels 115 are disposed adjacent to the left and right peripheries of the FPGA 11. Side segmented routing channels 115, in the preferred embodiment, are identical in structure to the FPSRCs 103 and the BPSRCs 105. All seven bus lines of the side segmented routing channel 115 disposed along the left periphery of the FPGA 11 are connected to the FPSRC input interconnects 155 and the BPSRC output interconnects 181 of the FPRLBs 101 and the BPRLBs 201, respectively, in the left most RLB column 107. All seven bus lines of the side segmented routing channel 115 disposed along the right periphery of the FPGA 11 are connected to the FPSRC output interconnects 161 and the BPSRC input interconnects 175 of the FPRLBs 101 and the BPRLBs 201, respectively, in the right most RLB column 107.

The above description discloses the preferred embodiment of providing input signals to and receiving output signals from FPGA 11. However, it can be appreciated by those skilled in the art that numerous other variations in the placement and operation of the I/O pads are equally effective. For example, the top-bottom I/O pads 111 may be eliminated completely. Thus, the provision of I/O pads to the FPGA 11 may be accomplished other than as specifically described above.

While the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention. Thus, the invention can be practiced other that as specifically described herein.

Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
US4642487 *26 sept. 198410 févr. 1987Xilinx, Inc.Special interconnect for configurable logic array
US4758745 *19 sept. 198619 juil. 1988Actel CorporationUser programmable integrated circuit interconnect architecture and test method
US4786904 *15 déc. 198622 nov. 1988Zoran CorporationElectronically programmable gate array having programmable interconnect lines
US4870302 *19 févr. 198826 sept. 1989Xilinx, Inc.Configurable electrical circuit having configurable logic elements and configurable interconnects
US4873459 *18 mai 198810 oct. 1989Actel CorporationProgrammable interconnect architecture
US4910417 *5 janv. 198920 mars 1990Actel CorporationUniversal logic module comprising multiplexers
US4918440 *7 nov. 198617 avr. 1990Furtek; Frederick C.Programmable logic cell and array
US5015885 *10 févr. 198914 mai 1991Actel CorporationReconfigurable programmable interconnect architecture
US5019736 *25 oct. 198928 mai 1991Apple Computer, Inc.Programmable logic cell and array
US5089973 *11 juil. 198918 févr. 1992Apple Computer Inc.Programmable logic cell and array
US5132571 *1 août 199021 juil. 1992Actel CorporationProgrammable interconnect architecture having interconnects disposed above function modules
US5144166 *2 nov. 19901 sept. 1992Concurrent Logic, Inc.Programmable logic cell and array
Citations hors brevets
Référence
1Concurrent Logic, Inc., "CFA6006 Field Programmable Gate Array", Advanced Information (Mar. 1991).
2 *Concurrent Logic, Inc., CFA6006 Field Programmable Gate Array , Advanced Information (Mar. 1991).
3Furtek et al., "Labrinth: A Homogeneous Computational Medium," (May 1990).
4 *Furtek et al., Labrinth: A Homogeneous Computational Medium, (May 1990).
5Haines, Andrew, "Field-programmable gate array with non-volatile configuration,"Microprocessors and Microsystems (Jun. 1989).
6 *Haines, Andrew, Field programmable gate array with non volatile configuration, Microprocessors and Microsystems (Jun. 1989).
7Plessey Semiconductors, "ERA60100 Electrically Reconfigurable Array-ERA," Advanced Information (Nov. 1989).
8 *Plessey Semiconductors, ERA60100 Electrically Reconfigurable Array ERA, Advanced Information (Nov. 1989).
9XILINX, "The Programmable Gate Array Data Book," (1988).
10 *XILINX, The Programmable Gate Array Data Book, (1988).
Référencé par
Brevet citant Date de dépôt Date de publication Déposant Titre
US5317698 *18 août 199231 mai 1994Actel CorporationFPGA architecture including direct logic function circuit to I/O interconnections
US5367209 *30 avr. 199322 nov. 1994Hauck; Scott A.Field programmable gate array for synchronous and asynchronous operation
US5442306 *9 sept. 199415 août 1995At&T Corp.Field programmable gate array using look-up tables, multiplexers and decoders
US5451887 *19 mai 199419 sept. 1995Actel CorporationProgrammable logic module and architecture for field programmable gate array device
US5452229 *18 déc. 199219 sept. 1995Lattice Semiconductor CorporationProgrammable integrated-circuit switch
US5483178 *4 mars 19949 janv. 1996Altera CorporationProgrammable logic device with logic block outputs coupled to adjacent logic block output multiplexers
US5504440 *27 janv. 19942 avr. 1996Dyna Logic CorporationHigh speed programmable logic architecture
US5509128 *20 oct. 199316 avr. 1996Actel CorporationFPGA architecture including direct logic function circuit to I/O interconnections
US5519629 *1 mai 199521 mai 1996Hewlett-Packard CompanyTileable gate array cell for programmable logic devices and gate array having tiled gate array cells
US5524243 *28 avr. 19954 juin 1996Rolm CompanyParallel programming of field programmable gate array devices
US5537057 *14 févr. 199516 juil. 1996Altera CorporationProgrammable logic array device with grouped logic regions and three types of conductors
US5543732 *17 mai 19956 août 1996Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US5574930 *12 août 199412 nov. 1996University Of HawaiiComputer system and method using functional memory
US5592106 *17 mai 19957 janv. 1997Altera CorporationProgrammable logic array integrated circuits with interconnection conductors of overlapping extent
US5594366 *19 juin 199514 janv. 1997Atmel CorporationProgrammable logic device with regional and universal signal routing
US5598109 *2 avr. 199628 janv. 1997Altera CorporationProgrammable logic array device with grouped logic regions and three types of conductors
US5610534 *18 mai 199511 mars 1997Actel CorporationLogic module for a programmable logic device
US5614844 *5 juin 199525 mars 1997Dyna Logic CorporationHigh speed programmable logic architecture
US5625301 *18 mai 199529 avr. 1997Actel CorporationFlexible FPGA input/output architecture
US5631578 *2 juin 199520 mai 1997International Business Machines CorporationProgrammable array interconnect network
US5646544 *5 juin 19958 juil. 1997International Business Machines CorporationSystem and method for dynamically reconfiguring a programmable gate array
US5671432 *2 juin 199523 sept. 1997Cadence Design Systems, Inc.Programmable array I/O-routing resource
US5682107 *19 mars 199628 oct. 1997Xilinx, Inc.FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5689195 *17 mai 199518 nov. 1997Altera CorporationProgrammable logic array integrated circuit devices
US5694058 *20 mars 19962 déc. 1997Altera CorporationProgrammable logic array integrated circuits with improved interconnection conductor utilization
US5701091 *6 juin 199523 déc. 1997Xilinx, Inc.Routing resources for hierarchical FPGA
US5742179 *29 déc. 199521 avr. 1998Dyna Logic CorporationHigh speed programmable logic architecture
US5760604 *3 juin 19962 juin 1998Xilinx, Inc.Interconnect architecture for field programmable gate array
US5764080 *24 août 19959 juin 1998Altera CorporationInput/output interface circuitry for programmable logic array integrated circuit devices
US5773994 *15 déc. 199530 juin 1998Cypress Semiconductor Corp.Method and apparatus for implementing an internal tri-state bus within a programmable logic circuit
US5796267 *27 févr. 199618 août 1998Altera CorporationTri-Statable input/output circuitry for programmable logic
US5801546 *21 juin 19961 sept. 1998Xilinx, Inc.Interconnect architecture for field programmable gate array using variable length conductors
US5808479 *16 janv. 199715 sept. 1998Dyna Logic CorporationHigh speed programmable logic architecture
US5835998 *9 oct. 199610 nov. 1998Altera CorporationLogic cell for programmable logic devices
US5850151 *7 avr. 199715 déc. 1998Altera CorporationProgrammable logic array intergrated circuit devices
US5850152 *7 avr. 199715 déc. 1998Altera CorporationProgrammable logic array integrated circuit devices
US5850564 *3 mai 199515 déc. 1998Btr, Inc,Scalable multiple level tab oriented interconnect architecture
US5872463 *23 sept. 199616 févr. 1999Altera CorporationRouting in programmable logic devices using shared distributed programmable logic connectors
US5880597 *2 déc. 19969 mars 1999Altera CorporationInterleaved interconnect for programmable logic array devices
US5883525 *3 oct. 199716 mars 1999Xilinx, Inc.FPGA architecture with repeatable titles including routing matrices and logic matrices
US5889411 *14 mars 199730 mars 1999Xilinx, Inc.FPGA having logic element carry chains capable of generating wide XOR functions
US5894228 *10 janv. 199613 avr. 1999Altera CorporationTristate structures for programmable logic devices
US5900743 *16 sept. 19974 mai 1999Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US5903165 *2 juin 199411 mai 1999Motorola, Inc.Programmable logic array with a hierarchical routing resource
US5907248 *9 févr. 199825 mai 1999Xilinx, Inc.FPGA interconnect structure with high-speed high fanout capability
US5909126 *28 juin 19961 juin 1999Altera CorporationProgrammable logic array integrated circuit devices with interleaved logic array blocks
US5920202 *4 avr. 19976 juil. 1999Xilinx, Inc.Configurable logic element with ability to evaluate five and six input functions
US5936425 *11 juin 199810 août 1999Altera CorporationTri-statable input/output circuitry for programmable logic
US5942913 *20 mars 199724 août 1999Xilinx, Inc.FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines
US5943242 *17 nov. 199524 août 1999Pact GmbhDynamically reconfigurable data processing system
US5952847 *25 juin 199614 sept. 1999Actel CorporationMultiple logic family compatible output driver
US5963049 *28 févr. 19975 oct. 1999Altera CorporationProgrammable logic array integrated circuit architectures
US5963050 *24 mars 19975 oct. 1999Xilinx, Inc.Configurable logic element with fast feedback paths
US5977793 *13 mai 19972 nov. 1999Altera CorporationProgrammable logic device with hierarchical interconnection resources
US5982195 *11 juin 19979 nov. 1999Altera CorporationProgrammable logic device architectures
US5986470 *14 nov. 199716 nov. 1999Altera CorporationProgrammable logic array integrated circuit devices
US5999015 *29 juil. 19977 déc. 1999Altera CorporationLogic region resources for programmable logic devices
US5999016 *28 août 19977 déc. 1999Altera CorporationArchitectures for programmable logic devices
US6014509 *24 sept. 199711 janv. 2000Atmel CorporationField programmable gate array having access to orthogonal and diagonal adjacent neighboring cells
US6021490 *8 oct. 19971 févr. 2000Pact GmbhRun-time reconfiguration method for programmable units
US6034547 *4 sept. 19967 mars 2000Advantage Logic, Inc.Method and apparatus for universal program controlled bus
US6038627 *16 mars 199814 mars 2000Actel CorporationSRAM bus architecture and interconnect to an FPGA
US6038650 *8 oct. 199714 mars 2000PactgmbhMethod for the automatic address generation of modules within clusters comprised of a plurality of these modules
US6049225 *13 févr. 199811 avr. 2000Altera CorporationInput/output interface circuitry for programmable logic array integrated circuit devices
US6049487 *16 mars 199811 avr. 2000Actel CorporationEmbedded static random access memory for field programmable gate array
US6051991 *12 août 199718 avr. 2000Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US6051992 *1 avr. 199918 avr. 2000Xilinx, Inc.Configurable logic element with ability to evaluate five and six input functions
US6069490 *2 déc. 199730 mai 2000Xilinx, Inc.Routing architecture using a direct connect routing mesh
US6081903 *8 oct. 199727 juin 2000Pact GmbhMethod of the self-synchronization of configurable elements of a programmable unit
US6084427 *19 mai 19984 juil. 2000Altera CorporationProgrammable logic devices with enhanced multiplexing capabilities
US6088526 *14 oct. 199711 juil. 2000Btr, Inc.Scalable multiple level tab oriented interconnect architecture
US6088795 *8 oct. 199711 juil. 2000Pact GmbhProcess for automatic dynamic reloading of data flow processors (DFPs) and units with two or three-dimensional programmable cell architectures (FPGAs, DPGAs and the like)
US6107824 *28 mai 199822 août 2000Altera CorporationCircuitry and methods for internal interconnection of programmable logic devices
US6107825 *29 mai 199822 août 2000Altera CorporationInput/output circuitry for programmable logic devices
US6107827 *13 mai 199922 août 2000Xilinx, Inc.FPGA CLE with two independent carry chains
US6119181 *8 oct. 199712 sept. 2000Pact GmbhI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US6121790 *29 mai 199819 sept. 2000Altera CorporationProgrammable logic device with enhanced multiplexing capabilities in interconnect resources
US6124731 *10 janv. 200026 sept. 2000Xilinx, Inc.Configurable logic element with ability to evaluate wide logic functions
US6127844 *28 août 19973 oct. 2000Altera CorporationPCI-compatible programmable logic devices
US6127846 *21 déc. 19983 oct. 2000Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US6130555 *12 févr. 199810 oct. 2000Altera CorporationDriver circuitry for programmable logic devices
US6150837 *28 févr. 199721 nov. 2000Actel CorporationEnhanced field programmable gate array
US6154055 *24 sept. 199928 nov. 2000Altera CorporationProgrammable logic array integrated circuit devices
US618471027 août 19976 févr. 2001Altera CorporationProgrammable logic array devices with enhanced interconnectivity between adjacent logic regions
US61857242 déc. 19976 févr. 2001Xilinx, Inc.Template-based simulated annealing move-set that improves FPGA architectural feature utilization
US620141013 août 199913 mars 2001Xilinx, Inc.Wide logic gate implemented in an FPGA configurable logic element
US62046889 déc. 199820 mars 2001Altera CorporationProgrammable logic array integrated circuit devices with interleaved logic array blocks
US620468927 mai 199920 mars 2001Xilinx, Inc.Input/output interconnect circuit for FPGAs
US620469018 mai 200020 mars 2001Xilinx, Inc.FPGA architecture with offset interconnect lines
US621625827 mars 199810 avr. 2001Xilinx, Inc.FPGA modules parameterized by expressions
US621885611 oct. 199617 avr. 2001Xilinx, Inc.High speed programmable logic architecture
US622582324 mars 20001 mai 2001Altera CorporationInput/output circuitry for programmable logic devices
US6237129 *27 mars 199822 mai 2001Xilinx, Inc.Method for constraining circuit element positions in structured layouts
US62396139 oct. 199829 mai 2001Altera CorporationTristate structures for programmable logic devices
US625279228 janv. 199826 juin 2001Elixent LimitedField programmable processor arrays
US62558466 mars 20003 juil. 2001Altera CorporationProgrammable logic devices with enhanced multiplexing capabilities
US62592729 juin 199910 juil. 2001Altera CorporationProgrammable logic array integrated circuit architectures
US626018227 mars 199810 juil. 2001Xilinx, Inc.Method for specifying routing in a logic module by direct module communication
US626290828 janv. 199817 juil. 2001Elixent LimitedField programmable processor devices
US627168114 sept. 19997 août 2001Altera CorporationPCI-compatible programmable logic devices
US627828819 mai 200021 août 2001Altera CorporationProgrammable logic device with enhanced multiplexing capabilities in interconnect resources
US627829121 juil. 200021 août 2001Altera CorporationProgrammable logic array devices with interconnect lines of various lengths
US628949412 nov. 199711 sept. 2001Quickturn Design Systems, Inc.Optimized emulation and prototyping architecture
US629202211 janv. 200118 sept. 2001Xilinx, Inc.Interconnect structure for a programmable logic device
US629292527 mars 199818 sept. 2001Xilinx, Inc.Context-sensitive self implementing modules
US630079318 août 19999 oct. 2001Btr, Inc.Scalable multiple level tab oriented interconnect architecture
US630079420 janv. 20009 oct. 2001Altera CorporationProgrammable logic device with hierarchical interconnection resources
US632041119 nov. 199920 nov. 2001Altera CorporationProgrammable logic array devices with enhanced interconnectivity between adjacent logic regions
US632041220 déc. 199920 nov. 2001Btr, Inc. C/O Corporate Trust Co.Architecture and interconnect for programmable logic circuits
US63298394 févr. 199911 déc. 2001Advantage Logic, Inc.Method and apparatus for universal program controlled bus architecture
US633563422 mai 20001 janv. 2002Richard G. CliffCircuitry and methods for internal interconnection of programmable logic devices
US633810618 juin 19998 janv. 2002Pact GmbhI/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
US635384111 déc. 19985 mars 2002Elixent, Ltd.Reconfigurable processor devices
US636612125 mai 20012 avr. 2002Altera CorporationProgrammable logic array integrated circuit architectures
US638462530 mars 20017 mai 2002Altera CorporationProgrammable logic devices with enhanced multiplexing capabilities
US63924386 oct. 200021 mai 2002Altera CorporationProgrammable logic array integrated circuit devices
US640529928 août 199811 juin 2002Pact GmbhInternal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US64075762 mars 200018 juin 2002Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US640842219 janv. 199918 juin 2002Xilinx, Inc.Method for remapping logic modules to resources of a programmable gate array
US64176901 juin 19989 juil. 2002Btr, Inc.Floor plan for scalable multiple level tab oriented interconnect architecture
US641769419 sept. 20019 juil. 2002Altera CorporationProgrammable logic device with hierarchical interconnection resources
US642417128 oct. 199923 juil. 2002Nec CorporationBase cell and two-dimensional array of base cells for programmable logic LSI
US64250688 oct. 199723 juil. 2002Pact GmbhUnit for processing numeric and logic operations for use in central processing units (cpus), multiprocessor systems, data-flow processors (dsps), systolic processors and field programmable gate arrays (epgas)
US64307328 févr. 19996 août 2002Xilinx, Inc.Method for structured layout in a hardware description language
US64335802 mars 199813 août 2002Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US644624912 mai 20003 sept. 2002Quickturn Design Systems, Inc.Emulation circuit with a hold time algorithm, logic and analyzer and shadow memory
US644880815 août 200110 sept. 2002Xilinx, Inc.Interconnect structure for a programmable logic device
US645716429 juin 200024 sept. 2002Xilinx, Inc.Hetergeneous method for determining module placement in FPGAs
US646257812 janv. 20008 oct. 2002Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US647764310 juil. 20005 nov. 2002Pact GmbhProcess for automatic dynamic reloading of data flow processors (dfps) and units with two-or-three-dimensional programmable cell architectures (fpgas, dpgas, and the like)
US64800281 févr. 200212 nov. 2002Altera CorporationProgrammable logic device architectures with super-regions having logic regions and memory region
US648093725 févr. 199912 nov. 2002Pact Informationstechnologie GmbhMethod for hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)--
US650439924 sept. 20017 janv. 2003Advantage Logic, Inc.Method and apparatus for universal program controlled bus architecture
US650721617 juil. 200114 janv. 2003Altera CorporationEfficient arrangement of interconnection resources on programmable logic devices
US650721713 sept. 200114 janv. 2003Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US651307725 juil. 200128 janv. 2003Pact GmbhI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US652310711 déc. 199818 févr. 2003Elixent LimitedMethod and apparatus for providing instruction streams to a processing device
US652652029 mars 200025 févr. 2003Pact GmbhMethod of self-synchronization of configurable elements of a programmable unit
US65429986 août 19991 avr. 2003Pact GmbhMethod of self-synchronization of configurable elements of a programmable module
US654903515 sept. 199815 avr. 2003Actel CorporationHigh density antifuse based partitioned FPGA architecture
US6567290 *1 juin 200120 mai 2003Mosaic Systems, Inc.High-speed low-power semiconductor memory architecture
US656783416 déc. 199820 mai 2003Elixent LimitedImplementation of multipliers in programmable arrays
US657040426 mars 199727 mai 2003Altera CorporationHigh-performance programmable logic architecture
US657138125 févr. 199927 mai 2003Pact Xpp Technologies AgMethod for deadlock-free configuration of dataflow processors and modules with a two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US657716010 juin 200210 juin 2003Altera CorporationProgrammable logic device with hierarchical interconnection resources
US65948104 oct. 200115 juil. 2003M2000Reconfigurable integrated circuit with a scalable architecture
US65971965 avr. 200222 juil. 2003Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US661426114 janv. 20022 sept. 2003Wei-Jen HuangInterconnection and input/output resources for programable logic integrated circuit devices
US662465828 août 200223 sept. 2003Advantage Logic, Inc.Method and apparatus for universal program controlled bus architecture
US66257936 sept. 200123 sept. 2003Quickturn Design Systems, Inc.Optimized emulation and prototyping architecture
US664646717 mai 200211 nov. 2003Altera CorporationPCI-compatible programmable logic devices
US667082513 déc. 200230 déc. 2003Altera CorporationEfficient arrangement of interconnection resources on programmable logic devices
US66877889 juil. 20023 févr. 2004Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two-or multidimensional programmable cell structure (FPGAs, DPGAs , etc.)
US669795711 mai 200024 févr. 2004Quickturn Design Systems, Inc.Emulation circuit with a hold time algorithm, logic analyzer and shadow memory
US669797921 juin 200024 févr. 2004Pact Xpp Technologies AgMethod of repairing integrated circuits
US670386111 oct. 20029 mars 2004Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US672183026 nov. 200213 avr. 2004Pact Xpp Technologies AgI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US672772612 nov. 200227 avr. 2004Actel CorporationField programmable gate array architecture including a buffer module and a method of distributing buffer modules in a field programmable gate array
US67288719 juin 199927 avr. 2004Pact Xpp Technologies AgRuntime configurable arithmetic and logic cell
US67474821 mai 20038 juin 2004Btr. Inc.Architecture and interconnect scheme for programmable logic circuits
US67506742 oct. 200215 juin 2004Actel CorporationCarry chain for use between logic modules in a field programmable gate array
US67654278 août 200220 juil. 2004Actel CorporationMethod and apparatus for bootstrapping a programmable antifuse circuit
US677238722 janv. 20033 août 2004Actel CorporationCyclic redundancy checking of a field programmable gate array having an SRAM memory architecture
US67746679 mai 200210 août 2004Actel CorporationMethod and apparatus for a flexible chargepump scheme for field-programmable gate arrays
US679824229 avr. 200328 sept. 2004Altera CorporationProgrammable logic device with hierarchical interconnection resources
US67992404 avr. 200328 sept. 2004Actel CorporationSRAM bus architecture and interconnect to an FPGA
US68099476 mars 200326 oct. 2004Mosaic Systems, Inc.Multi-level semiconductor memory architecture and method of forming the same
US68159816 févr. 20039 nov. 2004Altera CorporationProgrammable logic array integrated circuit devices
US68201886 janv. 200316 nov. 2004Elixent LimitedMethod and apparatus for varying instruction streams provided to a processing device using masks
US682569028 mai 200330 nov. 2004Actel CorporationClock tree network in a field programmable gate array
US683890228 mai 20034 janv. 2005Actel CorporationSynchronous first-in/first-out block memory for a field programmable gate array
US685986912 avr. 199922 févr. 2005Pact Xpp Technologies AgData processing system
US686761530 mai 200315 mars 2005Actel CorporationDedicated input/output first in/first out module for a field programmable gate array
US687918327 sept. 200212 avr. 2005Altera CorporationProgrammable logic device architectures with super-regions having logic regions and a memory region
US68821767 mars 200319 avr. 2005Altera CorporationHigh-performance programmable logic architecture
US688217710 avr. 200119 avr. 2005Altera CorporationTristate structures for programmable logic devices
US68852188 oct. 200226 avr. 2005Actel CorporationParallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA
US68913944 juin 200210 mai 2005Actel CorporationField-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US689139627 déc. 200210 mai 2005Actel CorporationRepeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks
US68945339 juin 200317 mai 2005Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US694687118 déc. 200220 sept. 2005Actel CorporationMulti-level routing architecture in a field programmable gate array having transmitters and receivers
US696845224 févr. 200322 nov. 2005Pact Xpp Technologies AgMethod of self-synchronization of configurable elements of a programmable unit
US697513825 mars 200413 déc. 2005Advantage Logic, Inc.Method and apparatus for universal program controlled bus architecture
US697513930 mars 200413 déc. 2005Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US698002811 févr. 200527 déc. 2005Actel CorporationDedicated input/output first in/first out module for a field programmable gate array
US698968821 avr. 200424 janv. 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US698968924 mai 200424 janv. 2006Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US699055524 janv. 200424 janv. 2006Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US700366013 juin 200121 févr. 2006Pact Xpp Technologies AgPipeline configuration unit protocols and communication
US70094225 déc. 20017 mars 2006Btr, Inc.Floor plan for scalable multiple level tab oriented interconnect architecture
US70106675 avr. 20027 mars 2006Pact Xpp Technologies AgInternal bus system for DFPS and units with two- or multi-dimensional programmable cell architectures, for managing large volumes of data with a high interconnection complexity
US701713623 oct. 200321 mars 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US70200017 oct. 200428 mars 2006Mosaic Systems, Inc.Multi-level semiconductor memory architecture and method of forming the same
US70360364 mars 200325 avr. 2006Pact Xpp Technologies AgMethod of self-synchronization of configurable elements of a programmable module
US704984611 août 200423 mai 2006Actel CorporationClock tree network in a field programmable gate array
US705496716 mars 200430 mai 2006Actel CorporationSRAM bus architecture and interconnect to an FPGA
US70753342 mai 200511 juil. 2006Actel CorporationRepeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks
US707893321 sept. 200518 juil. 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US71023856 déc. 20055 sept. 2006Actel CorporationDedicated input/output first in/first out module for a field programmable gate array
US710975322 juin 200419 sept. 2006Altera CorporationProgrammable logic device with routing channels
US711127227 avr. 200419 sept. 2006Actel CorporationParallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA
US71195735 mai 200510 oct. 2006Actel CorporationField-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US711957618 juin 200410 oct. 2006Altera CorporationDevices and methods with programmable logic and digital signal processing regions
US712434724 juin 200417 oct. 2006Actel CorporationCyclic redundancy checking of a field programmable gate array having an SRAM memory architecture
US71263747 mars 200524 oct. 2006Actel CorporationMulti-level routing architecture in a field programmable gate array having transmitters and receivers
US71263754 janv. 200624 oct. 2006Btr, Inc.Floor plan for scalable multiple level tab oriented interconnect architecture
US714201129 sept. 200528 nov. 2006Altera CorporationProgrammable logic device with routing channels
US714201210 mai 200628 nov. 2006Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
US714872210 oct. 200312 déc. 2006Altera CorporationPCI-compatible programmable logic devices
US717444331 janv. 20006 févr. 2007Pact Xpp Technologies AgRun-time reconfiguration method for programmable units
US721012928 sept. 200124 avr. 2007Pact Xpp Technologies AgMethod for translating programs for reconfigurable architectures
US72273807 déc. 20055 juin 2007Actel CorporationSynchronous first-in/first-out block memory for a field programmable gate array
US723708728 mai 200226 juin 2007Pact Xpp Technologies AgReconfigurable multidimensional array processor allowing runtime reconfiguration of selected individual array cells
US72431752 mars 200410 juil. 2007Pact Xpp Technologies AgI/O and memory bus system for DFPs and units with two-or multi-dimensional programmable cell architectures
US72566141 sept. 200514 août 2007Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US726672528 sept. 20014 sept. 2007Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US727519623 nov. 200525 sept. 2007M2000 S.A.Runtime reconfiguration of reconfigurable circuits
US73173327 nov. 20058 janv. 2008Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US733724920 juin 200726 févr. 2008Pact Xpp Technologies AgI/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US734664417 août 200618 mars 2008Altera CorporationDevices and methods with programmable logic and digital signal processing regions
US737886710 oct. 200627 mai 2008Actel CorporationField-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US73821561 sept. 20053 juin 2008Actel CorporationMethod and apparatus for universal program controlled bus architecture
US738541921 févr. 200710 juin 2008Actel CorporationDedicated input/output first in/first out module for a field programmable gate array
US738948728 avr. 199817 juin 2008Actel CorporationDedicated interface architecture for a hybrid integrated circuit
US73942848 sept. 20031 juil. 2008Pact Xpp Technologies AgReconfigurable sequencer structure
US739428918 avr. 20071 juil. 2008Actel CorporationSynchronous first-in/first-out block memory for a field programmable gate array
US74096649 déc. 20055 août 2008Actel CorporationArchitecture and interconnect scheme for programmable logic circuits
US741745726 juin 200726 août 2008Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US742345320 janv. 20069 sept. 2008Advantage Logic, Inc.Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric
US74340803 sept. 20027 oct. 2008Actel CorporationApparatus for interfacing and testing a phase locked loop in a field programmable gate array
US743419118 sept. 20027 oct. 2008Pact Xpp Technologies AgRouter
US74445315 mars 200228 oct. 2008Pact Xpp Technologies AgMethods and devices for treating and processing data
US746052929 juil. 20042 déc. 2008Advantage Logic, Inc.Interconnection fabric using switching networks in hierarchy
US747826113 sept. 200513 janv. 2009M2000Reconfigurable circuit with redundant reconfigurable cluster(s)
US74808253 sept. 200220 janv. 2009Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US749218830 juil. 200717 févr. 2009Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US752999817 août 20075 mai 2009M2000 Sa.Runtime reconfiguration of reconfigurable circuits
US7543216 *17 oct. 20062 juin 2009Actel CorporationCyclic redundancy checking of a field programmable gate array having an SRAM memory architecture
US754516625 avr. 20089 juin 2009Actel CorporationField-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US754516818 avr. 20089 juin 2009Actel CorporationClock tree network in a field programmable gate array
US754913813 août 200716 juin 2009Actel CorporationParallel programmable antifuse field programmable gate array device (FPGA) and a method for programming and testing an antifuse FPGA
US755761316 juil. 20087 juil. 2009Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US75655251 mars 200421 juil. 2009Pact Xpp Technologies AgRuntime configurable arithmetic and logic cell
US75778229 sept. 200218 août 2009Pact Xpp Technologies AgParallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
US75798692 juin 200825 août 2009Actel CorporationRepeatable block producing a non-uniform routing architecture in a field programmable gate array having segmented tracks
US75810765 mars 200225 août 2009Pact Xpp Technologies AgMethods and devices for treating and/or processing data
US75956598 oct. 200129 sept. 2009Pact Xpp Technologies AgLogic cell array and bus system
US76022147 avr. 200813 oct. 2009Pact Xpp Technologies AgReconfigurable sequencer structure
US760560417 juil. 200820 oct. 2009Xilinx, Inc.Integrated circuits with novel handshake logic
US7627291 *21 janv. 20051 déc. 2009Xilinx, Inc.Integrated circuit having a routing element selectively operable to function as an antenna
US763598917 juil. 200822 déc. 2009Xilinx, Inc.Integrated circuits with bus-based programmable interconnect structures
US764621824 juin 200812 janv. 2010Actel CorporationArchitecture and interconnect scheme for programmable logic circuits
US765044810 janv. 200819 janv. 2010Pact Xpp Technologies AgI/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures
US765786123 juil. 20032 févr. 2010Pact Xpp Technologies AgMethod and device for processing data
US765787720 juin 20022 févr. 2010Pact Xpp Technologies AgMethod for processing data
US77331232 avr. 20098 juin 2010Xilinx, Inc.Implementing conditional statements in self-timed logic circuits
US774317517 juil. 200822 juin 2010Xilinx, Inc.Methods of initializing routing structures in integrated circuits
US77461012 avr. 200929 juin 2010Xilinx, Inc.Cascading input structure for logic blocks in integrated circuits
US77461022 avr. 200929 juin 2010Xilinx, Inc.Bus-based logic blocks for self-timed integrated circuits
US77461032 avr. 200929 juin 2010Xilinx, Inc.Multi-mode circuit in a self-timed integrated circuit
US77461042 avr. 200929 juin 2010Xilinx, Inc.Dynamically controlled output multiplexer circuits in a programmable integrated circuit
US77461052 avr. 200929 juin 2010Xilinx, Inc.Merging data streams in a self-timed programmable integrated circuit
US77461062 avr. 200929 juin 2010Xilinx, Inc.Circuits for enabling feedback paths in a self-timed integrated circuit
US77461082 avr. 200929 juin 2010Xilinx, Inc.Compute-centric architecture for integrated circuits
US77461092 avr. 200929 juin 2010Xilinx, Inc.Circuits for sharing self-timed logic
US77461102 avr. 200929 juin 2010Xilinx, Inc.Circuits for fanning out data in a programmable self-timed integrated circuit
US77461112 avr. 200929 juin 2010Xilinx, Inc.Gating logic circuits in a self-timed integrated circuit
US77461122 avr. 200929 juin 2010Xilinx, Inc.Output structure with cascaded control signals for logic blocks in integrated circuits, and methods of using the same
US774611317 juil. 200829 juin 2010Xilinx, Inc.Circuit structures utilizing multiple voltage level inputs
US775997417 juil. 200820 juil. 2010Xilinx, Inc.Pipelined unidirectional programmable interconnect in an integrated circuit
US776830226 mai 20093 août 2010Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US777466526 août 200810 août 2010Actel CorporationApparatus for testing a phrase-locked loop in a boundary scan enabled device
US778208714 août 200924 août 2010Martin VorbachReconfigurable sequencer structure
US78141379 janv. 200712 oct. 2010Altera CorporationCombined interpolation and decimation filter for programmable logic device
US782279926 juin 200626 oct. 2010Altera CorporationAdder-rounder circuitry for specialized processing block in programmable logic device
US78228817 oct. 200526 oct. 2010Muench RobertProcess for automatic dynamic reloading of data flow processors (DFPs) and units with two- or three-dimensional programmable cell architectures (FPGAs, DPGAs, and the like)
US782296810 févr. 200926 oct. 2010Muench RobertCircuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs
US782999416 oct. 20079 nov. 2010Sixis, Inc.Semiconductor substrate elastomeric stack
US783017310 mars 20099 nov. 2010Actel CorporationMethod and apparatus for universal program controlled bus architecture
US783187431 oct. 20079 nov. 2010Sixis, Inc.Local defect memories on semiconductor substrates in a stack computer
US783611718 juil. 200616 nov. 2010Altera CorporationSpecialized processing block for programmable logic device
US783916720 janv. 200923 nov. 2010Altera CorporationInterconnection and input/output resources for programmable logic integrated circuit devices
US78408423 août 200723 nov. 2010Frank MayMethod for debugging reconfigurable architectures
US784479630 août 200430 nov. 2010Alexander ThomasData processing device and method
US78639324 juin 20104 janv. 2011Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US786554122 janv. 20074 janv. 2011Altera CorporationConfiguring floating point operations in a programmable logic device
US78999623 déc. 20091 mars 2011Muench RobertI/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures
US791591829 oct. 201029 mars 2011Actel CorporationMethod and apparatus for universal program controlled bus architecture
US792876314 juil. 201019 avr. 2011Martin VorbachMulti-core processing system
US79303365 déc. 200619 avr. 2011Altera CorporationLarge multiplier for programmable logic device
US794404122 oct. 200717 mai 2011Research Triangle InstituteIntegrated semiconductor substrate structure using incompatible processes
US79482652 avr. 200924 mai 2011Xilinx, Inc.Circuits for replicating self-timed logic
US79482679 févr. 201024 mai 2011Altera CorporationEfficient rounding circuits and methods in configurable integrated circuit devices
US794969930 août 200724 mai 2011Altera CorporationImplementation of decimation filter in integrated circuit device using ram-based data storage
US79824962 avr. 200919 juil. 2011Xilinx, Inc.Bus-based logic blocks with optional constant input
US798616329 nov. 201026 juil. 2011Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US799682716 août 20029 août 2011May FrankMethod for the translation of programs for reconfigurable architectures
US7999388 *16 oct. 200716 août 2011Research Triangle InstitutePreventing breakage of long metal signal conductors on semiconductor substrates
US799957024 juin 200916 août 2011Advantage Logic, Inc.Enhanced permutable switching network with multicasting signals for interconnection fabric
US800813412 avr. 201030 août 2011Research Triangle InstituteLarge substrate structural vias
US801082611 nov. 200930 août 2011Meta SystemsReconfigurable circuit with redundant reconfigurable cluster(s)
US80417595 juin 200618 oct. 2011Altera CorporationSpecialized processing block for programmable logic device
US805889913 févr. 200915 nov. 2011Volker BaumgarteLogic cell array and bus system
US806937315 janv. 200929 nov. 2011Martin VorbachMethod for debugging reconfigurable architectures
US809961823 oct. 200817 janv. 2012Volker BaumgarteMethods and devices for treating and processing data
US812706118 févr. 200328 févr. 2012Volker BaumgarteBus systems and reconfiguration methods
US812983426 janv. 20096 mars 2012Research Triangle InstituteIntegral metal structure with conductive post portions
US814588124 oct. 200827 mars 2012Alexander ThomasData processing device and method
US815628424 juil. 200310 avr. 2012Volker BaumgarteData processing method and device
US815631219 juin 200710 avr. 2012Muench RobertProcessor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units
US82096537 oct. 200826 juin 2012Daniel BretzRouter
US82220864 avr. 201117 juil. 2012Research Triangle InstituteIntegrated semiconductor substrate structure using incompatible processes
US823041113 juin 200024 juil. 2012Nueckel ArminMethod for interleaving a program over a plurality of cells
US824280721 juin 201114 août 2012Advantage Logic, Inc.Scalable non-blocking switching network for programmable logic
US824478914 mars 200814 août 2012Altera CorporationNormalization of floating point operations in a programmable integrated circuit device
US825050317 janv. 200721 août 2012Frank MayHardware definition method including determining whether to implement a function as hardware or software
US82554482 oct. 200828 août 2012Altera CorporationImplementing division in a programmable integrated circuit device
US82661985 juin 200611 sept. 2012Altera CorporationSpecialized processing block for programmable logic device
US82661995 juin 200611 sept. 2012Altera CorporationSpecialized processing block for programmable logic device
US828110820 janv. 20032 oct. 2012Volker BaumgarteReconfigurable general purpose processor having time restricted configurations
US828126519 nov. 20092 oct. 2012Frank MayMethod and device for processing data
US828904710 nov. 201016 oct. 2012Actel CorporationArchitecture and interconnect scheme for programmable logic circuits
US82944901 oct. 201023 oct. 2012Xilinx, Inc.Integrated circuit and method of asynchronously routing data in an integrated circuit
US83016815 juin 200630 oct. 2012Altera CorporationSpecialized processing block for programmable logic device
US83018724 mai 200530 oct. 2012Volker BaumgartePipeline configuration protocol and configuration unit communication
US830702310 oct. 20086 nov. 2012Altera CorporationDSP block for implementing large multiplier on a programmable integrated circuit device
US83102744 mars 201113 nov. 2012Martin VorbachReconfigurable sequencer structure
US831220021 juil. 201013 nov. 2012Nueckel ArminProcessor chip including a plurality of cache elements connected to a plurality of processor cores
US831230130 sept. 200913 nov. 2012Volker BaumgarteMethods and devices for treating and processing data
US83581481 oct. 201022 janv. 2013Xilinx, Inc.Programmable integrated circuit and method of asynchronously routing data in an integrated circuit
US838655020 sept. 200626 févr. 2013Altera CorporationMethod for configuring a finite impulse response filter in a programmable logic device
US83865536 mars 200726 févr. 2013Altera CorporationLarge multiplier for programmable logic device
US83954158 juil. 201112 mars 2013Advantage Logic, Inc.Enhanced permutable switching network with multicasting signals for interconnection fabric
US839691411 sept. 200912 mars 2013Altera CorporationMatrix decomposition in an integrated circuit device
US83970115 oct. 200712 mars 2013Joseph AshwoodScalable mass data storage device
US840216427 oct. 201019 mars 2013Xilinx, Inc.Asynchronous communication network and methods of enabling the asynchronous communication of data in an integrated circuit
US84045857 juil. 201126 mars 2013Research Triangle InstitutePreventing breakage of long metal signal conductors on semiconductor substrates
US840752524 oct. 201126 mars 2013Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US841275611 sept. 20092 avr. 2013Altera CorporationMulti-operand floating point operations in a programmable integrated circuit device
US842938519 sept. 200223 avr. 2013Martin VorbachDevice including a field having function cells and information providing cells controlled by the function cells
EP0626760A2 *20 mai 199430 nov. 1994CSEM, Centre Suisse d'Electronique et de Microtechnique S.A.Electronic system organized in matrix cell network
EP0683565A1 *18 mai 199522 nov. 1995Actel CorporationProgrammable logic module and architecture for field programmable gate array device
EP0806836A2 *24 juin 199412 nov. 1997Btr, Inc.Architecture and interconnect scheme for programmable logic circuits
EP0858168A1 *29 janv. 199712 août 1998Hewlett-Packard CompanyField programmable processor array
EP0889593A1 *18 mai 19957 janv. 1999Actel CorporationProgrammable logic module for field programmable gate array device
EP1398706A2 *11 févr. 199817 mars 2004PACT XPP Technologies AGInternal bus system for DFPS, building blocks with two dimensional or multidimensional programmable cell structures to handle large amounts of data involving high networking requirements
WO1995030952A1 *2 mai 199516 nov. 1995Atmel CorporationProgrammable logic device with regional and universal signal routing
WO1997037431A1 *29 mars 19969 oct. 1997Dyna Logic CorporationHigh speed programmable logic architecture
WO1998033277A1 *28 janv. 199830 juil. 1998Hewlett-Packard CompanyField programmable processor arrays
WO1998035294A2 *11 févr. 199813 août 1998Robert MuenchInternal bus system for dfps, building blocks with two dimensional or multidimensional programmable cell structures to handle large amounts of data involving high networking requirements
Classifications
Classification aux États-Unis326/41, 326/39
Classification internationaleH03K19/177
Classification coopérativeH03K19/17736, H03K19/17704, H03K19/17728
Classification européenneH03K19/177F, H03K19/177D2, H03K19/177B