WO1992020159A1 - Programmable interconnect structure for logic blocks - Google Patents

Programmable interconnect structure for logic blocks Download PDF

Info

Publication number
WO1992020159A1
WO1992020159A1 PCT/US1992/003575 US9203575W WO9220159A1 WO 1992020159 A1 WO1992020159 A1 WO 1992020159A1 US 9203575 W US9203575 W US 9203575W WO 9220159 A1 WO9220159 A1 WO 9220159A1
Authority
WO
WIPO (PCT)
Prior art keywords
lines
logic blocks
input
output
logic
Prior art date
Application number
PCT/US1992/003575
Other languages
French (fr)
Inventor
Kapil Shankar
Original Assignee
Lattice Semiconductor Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lattice Semiconductor Corporation filed Critical Lattice Semiconductor Corporation
Priority to JP4511466A priority Critical patent/JPH06510403A/en
Priority to DE0583361T priority patent/DE583361T1/en
Publication of WO1992020159A1 publication Critical patent/WO1992020159A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables

Definitions

  • This invention relates to programmable interconnect structures which link the respective inputs and outputs of a plurality of logic blocks, such as in field programmable gate arrays and high density programmable logic arrays, and which link the inputs and outputs of a logic device to each other and to the inputs and outputs of the logic blocks.
  • FPGA's and HDPLD's normally consist of a plurality of "logic blocks", each having a number of inputs and a number of outputs.
  • the typical structure of the logic block consists of a programmable AND array whose outputs feed an OR array.
  • Fig. 1 shows a simplified prior art logic block in the form of a programmable logic device (PLD) wherein inputs I 0 and I j feed through a programmable array 10 to four AND gates 11. The outputs of AND gates 11 feed through an array 12 to OR gates 13, and thence to outputs O 0 and O t .
  • PLD programmable logic device
  • any output of a logic block may need to be connected to an input of the same logic block or an input of one of the other logic blocks. This is accomplished in an area of the chip known as the interconnect area.
  • the external device inputs can be routed to the logic block inputs using the interconnect area, and similarly the logic block outputs can be routed to external pins and input/output cells as outputs using the same interconnect area.
  • the interconnect area normally comprises a matrix or latticework of intersecting input and output lines, with each output of a logic block intersecting all inputs of the same logic block and all other logic blocks once.
  • the number of such intersections equals XY.
  • the prior art solution to the interconnect problem is to place a programmable connection at each of the intersections, thereby allowing every output to be connected to any input in the entire device. Since each of the programmable connections takes up space, this type of arrangement increases the total size of the interconnect area and of the device itself. This increases the cost of the device.
  • the number of programmable connections on a given input or output line increases the loading on the line and reduces the speed of the device.
  • each of a plurality of logic blocks in a logic device has an equal number of inputs and outputs.
  • each individual output line is programmably interconnected with only one of the input lines, forming a diagonal pattern of programmable interconnects. This assures that each output line can be connected to any given logic block through one input to that logic block.
  • a programmable array internal to the block is then used to route the signal as desired within that block.
  • N the number of programmable interconnects required in the interconnect area
  • N the total number of inputs, which equals the total number of outputs
  • N the number of programmable interconnects required in the interconnect area
  • each logic block has an equal number of inputs and outputs. In many situations this is not an optimal structure, since most logic blocks have fewer outputs than inputs.
  • the logic blocks are grouped into what are called "megacells", the logic blocks in each megacell having a combined number of outputs equal to the number of inputs to each block within the megacell. This means that each intersection between the outputs of a megacell and the inputs to a particular logic block will have an equal number of lines crossing each other, and the diagonal pattern of programmable interconnects described above can be implemented, thereby assuring that each output may be connected to one input of every logic block.
  • the inputs to the logic block be to some extent interchangeable in the sense that a signal on one input can be programmably transferred within the block.
  • there is complete interchangeability as in the logic block of Fig. 1 where either of inputs I 0 and I l f can be routed to any or all of AND gates 11.
  • this invention is also applicable to logic blocks (e.g. , combinations of multiplexers) which have less than complete interchangeability.
  • the interconnect structure of this invention requires that the interconnections be planned so as to assure complete connectivity, i.e., that the reduced number of programmable connections are used as efficiently as possible so that every required connection between an output and an input can in fact be made.
  • Fig. 1 illustrates the structure of a typical logic block.
  • Fig. 2 illustrates an interconnect structure in accordance with the invention for logic blocks having an equal number of inputs and outputs.
  • Fig. 3 illustrates an interconnect structure with the logic blocks grouped into megacells, the number of outputs from a megacell equaling the number of inputs to each logic block within the megacell.
  • Fig. 4 is an overview of an interconnect structure for a high density programmable logic device consisting of 32 logic blocks.
  • Figs. 5A, 5B, and 5C illustrate the placement of interconnects at the intersection between a routing channel and, respectively, the outputs of a megacell, the input lines from the input/output cells, and the input lines to the logic blocks, in the embodiment of Fig. 4.
  • Fig. 6 illustrates an output routing resource arrangement in accordance with another aspect of the invention.
  • Fig. 7 illustrates another embodiment of an output routing resource arrangement.
  • Figs. 8A-8E illustrate alternative types of programmable connections which may be used in embodiments of the invention.
  • FIG. 2 shows a logic block 20 and a logic block 21, each of which has four inputs and four outputs.
  • the inputs and outputs of logic block 20 are designated I 0 -I 3 and O 0 -O 3 , respectively.
  • the inputs and outputs of logic block 21 are designated I 4 -I 7 and 0 4 -0 7 , respectively.
  • the outputs O 0 -O 3 of logic block 20 are connected respectively to interconnect lines C1 0 -C1 3 of a routing channel Cl.
  • the outputs 0 4 -0 7 of logic block 21 are connected respectively to interconnect lines C2 4 -C2 7 of a routing channel C2.
  • the connections between the outputs of logic block 20 and routing channel Cl and between the outputs of logic block 21 and routing channel C2 are hard-wired and are not programmable.
  • Routing channels Cl and C2 intersect the inputs to logic blocks 20 and 21 in a 4X4 matrix.
  • the prior art solution to providing interconnect capability between the outputs and the inputs of logic blocks 20 and 21 would be to provide a programmable connection at each point of a 4X4 matrix, requiring 16 programmable connections.
  • each of the outputs of logic blocks 20 and 21 is provided with a programmable connection with only one of the inputs to logic blocks 20 and 21.
  • the programmable connections are designated by "X , s" in Fig. 2.
  • output O 0 may be connected to the inputs of logic block 20 via input I 3 and to the inputs of logic block 21 via input I 7 .
  • output 0 5 of logic block 21 may be connected to the inputs of logic block 21 via input I 5 and to the inputs of logic block 20 via input I,.
  • the AND array within a typical field programmable gate array or programmable logic device allows the designer to connect the inputs to the AND gates within the device in any desired manner. For example, if outputs O 0 and 0 5 are to be ANDed in logic block 21, a connection can be programmed between output O 0 (Cl 0 ) and the line to input I 7 , and a connection can be programmed between output 0 5 (C2 5 ) and the line to input I 5 . Inputs I 5 and I 7 can then be connected to respective inputs of an AND gate within logic block 21.
  • the technique of this invention accordingly allows the total number of programmable inputs in the structure shown in Fig. 2 to be reduced from a total of 64 to a minimum of 16. Relatively few logic blocks have an equal number of inputs and outputs like logic blocks 20 and 21. Generally, there are fewer outputs than inputs.
  • a structure such as that shown in Fig. 3 is used.
  • logic blocks 30 and 31 each have four inputs and two outputs.
  • Logic blocks 30 and 31 are grouped in a megacell 32 which has outputs O 0 -O 3 . These outputs are connected to lines Cl 0 - Cl 3 , respectively, of a routing channel Cl.
  • Respective sets of four programmable connections (designated by X's) connect lines C1 0 -C1 3 to inputs I 0 -I 3 and inputs I 4 -I 7 .
  • each of outputs O 0 -O 3 may be linked via the programmable connections with one input of each of logic blocks 30 and 31.
  • output O x has access to logic block 31 via the programmable connection between line Cl x and the line to input I 5 .
  • output 0 3 has access to logic block 30 via the programmable connection between line Cl 3 and the line to input I 3 . Since inputs I 0 -I 3 of logic block 30 can be ANDed in any desired combination at the AND gates within logic block 30, outputs O 0 -O 3 can be ANDed in the same ways via the programmable connections between lines C1 0 -C1 3 and the lines to inputs I 0 -I 3 , respectively. Outputs O 0 -O 3 can likewise be ANDed in logic block 31 by means of the programmable connections between lines C1 0 -C1 3 and the lines to inputs I 4 -I 7 respectively.
  • Fig. 4 shows an HDPLD containing 32 logic blocks designated A-0 to A-7, B-0 to B-7, C-0 to C-7, and D-0 to D-7. Each of these logic blocks has 16 inputs (an "input channel") and 4 outputs. To preserve the clarity of the drawing, individual input and output lines are not shown. Instead, a single line represents all of the inputs to a logic block, and another single line represents all of the outputs from a logic block.
  • Logic blocks A-0 to D-7 have been grouped into 8 megacells, as follows: A-0 to A-3, A-4 to A-7, B-0 to B-3, B-4 to B-7, C-0 to C-3, C-4 to C- 7, D-O to D-3, and D-4 to D-7.
  • the 16 outputs of each megacell are shown as output channels Q 0 -Q 3 and Q g -Q n , each of which contains 16 output lines. Routing channels C 0 -C u , each containing 16 interconnect lines, are also shown. Signals flow to and from the HDPLD through input/output (I/O) blocks IO-l, 10-2, 10-3 and 10-4, each of which contains 16 I/O pins.
  • I/O input/output
  • Input channels Q ⁇ -Q ? from I/O blocks 10-1 to 10-4 are hard- wired to routing channels Qj-C,, respectively, one line of input channels O ⁇ -Q, being hard-wired to one line of routing channels C 4 -Cj, respectively.
  • the connections between output channels Qo-Q 3 and Q-Q n and routing channels C 0 -C 3 and C 8 -C n are hard wired so that one line of each output channel is connected to one line of the corresponding routing channel.
  • each of routing channels C 0 -C ⁇ is an extension of a corresponding one of output channels Q 0 -Q 3 and Q 8 -Q ⁇ or of I/O blocks 10-1 to 10-4.
  • Figure 5A shows in detail the hard-wire connections between the outputs of the megacell consisting of logic blocks A-0 to A-3 and the interconnect lines in routing channel C 0 .
  • output 0 of logic block A-0 is connected to interconnect line RO
  • output 1 of logic block A-0 is connected to interconnect line Rl, etc.
  • a similar pattern is followed in making the connection between the outputs of the megacells consisting of logic blocks A-4 to A-7, B-0 to B-3, B-4 to B-7, C-0 to C-3, C-4 to C-7, D-0 to D-3, and D-4 to D-7 with routing channels Cj to C 3 and C 8 to C u , respectively.
  • Fig. 5B shows in detail the hard-wire connections between the lines of input channel Q,, and the interconnect lines in routing channel C 4 .
  • Line ZO of channel 0 ⁇ is connected to interconnect line SO
  • line Zl of channel 0 4 is connected to interconnect line SI, etc.
  • a similar pattern is followed in making the hard-wire connections between input/output blocks 10-2, IO-3 and 10-4 and routing channels C 5 , C 6 and C,, respectively.
  • Fig. 5C shows in detail the programmable connections between routing channel , and the input channels to logic blocks B-7 and C-0.
  • the input channel to logic block B-7 includes input lines XO to X15.
  • the input channel to logic block C-0 includes input lines YO to Y15.
  • Routing channel includes interconnect lines RO to R15.
  • Each of interconnect lines R0-R15 is programmable connected to one of lines X0-X15 and one of lines Y0-Y15.
  • line RO is programmably connected to lines XO and YO
  • line Rl is programmably connected to lines XI and Yl, etc.
  • a line in a particular position in an input channel is programmably connected to lines in the equivalent position of routing channels C 0 -C ⁇ .
  • line YO is programmably connected to the line in the "0" position of routing channels C 0 -C u .
  • Line Yl is programmably connected to the corresponding line in the "1" position of each of these routing channels. This enables any given output to be connected to one input of each of logic blocks A-0 to D-7. For example, referring to Figs.
  • output 10 of logic block A-2 which is connected to interconnect line R10, would have access to logic block B-7 through input line X10 and to logic block C-0 through input line Y10.
  • a signal on input lines X10 or Y10 reaches logic blocks B- 7 or C-0, respectively, it can be ANDed with any of the other inputs to those logic blocks by means of internal programmable connections.
  • line Z10 of input channel Q which is connected to interconnect line S10, would have access to logic block B- 7 through input line X10 and logic block C-0 through input line Y10.
  • the programmable interconnect structure of this invention permits the total number of programmable connections at each intersection of one of routing channels C 0 to C n with the input channels to one of logic blocks A-0 to D-7 to be reduced from a total of 256 to a minimum of 16.
  • it. is not necessary that the number of programmable connections be reduced to the minimum number of 16. Any number between 16 and 256 could also be selected, depending on the routing demands of the particular application. In practice, the selection of the number of programmable connections to be used will often require a balancing of the space limitations imposed on the interconnect structure against the need to provide maximum routability.
  • a constraint of the interconnect structure shown in Fig. 4 is that once a particular line of a routing channel has been used to gain access to a logic block, no interconnect line in the same position of any other routing channel may be used for inputting signals to the same logic block. No two signals that are input to a particular logic block may be located on interconnect lines in the same position.
  • interconnect line RIO of routing channel C 0 is used to connect output 10 of logic block A-3 to an input of logic block B-7
  • no interconnect line in the "10" position of routing channels Cj-Cjj may be used to transmit a signal to logic block B-7.
  • the transfer function to be performed by the HDPLD shown in Fig. 4 is partitioned by known techniques into the individual logic blocks. The resulting logic blocks are then placed in the available positions on the device, and the outputs of each logic block are arranged so as to assure that all required connections between the inputs and outputs of the logic blocks and the I/O cells can be made.
  • I/O blocks 10-1 to 10-4 each contain 16 I/O cells of the kind disclosed in U.S. Application Serial No. 07/696,907, filed May 6, 1991, which is incorporated herein by reference, as well as an output routing resource arrangement of the kind illustrated in Fig. 6, described below, wherein 32 logic block outputs are programmably connected through a programmable matrix to 16 I/O cells.
  • each I/O cell contains an I/O pin.
  • a conflict may occur between the configuration required for routing purposes and the external pin assignments of the device. For example, a given output may be assigned to a particular position where it is connected to a pin which is required for an input or for a different output. If the external requirements of pin assignment are satisfied, the routability of the device may become more difficult. This problem is minimized by the output routing resource arrangement which is shown in Fig. 6.
  • Fig. 6 shows logic blocks A-0 to A-7 and the 16 I/O cells IO 0 -IO 15 associated with I/O block 10-1.
  • Each of routing resource channels RR0, RR1, RR2 and RR3 contains four lines 0, 1, 2 and 3.
  • Each of cells IO 0 -IO 15 is hard-wired to one of the lines in channels RR0 to RR3.
  • cell IO 0 is connected to line 0 of channel RR0;
  • cell X0 l is connected to line 1 of channel RR0; etc.
  • Each output of logic blocks A-0 to A-7 is programmably connected to a line in a given position of each of channels RR0 to RR3.
  • output 0 of logic block A-0 is programmably connected to line 0 of each of channels RR0 to RR3; output 1 of logic block A-0 is programmably connected to line 1 of each of channels RR0 to RR3; etc.
  • This structure permits any output of logic blocks A-0 to A-7 to be shifted among four of cells I 0 -Ii 5 -
  • output 0 of logic block A-0 may be routed to cells IO 0 , I0 4 , I0 8 or I0 J2 .
  • cell IO 0 is needed for a particular external purpose, the arrangement of logic blocks A-0 to A-7 need not be affected.
  • T?he remaining cells IO ⁇ IO ⁇ may be used to handle the outputs of logic blocks A-0 to A-7. As illustrated in Fig.
  • Fig. 7 is an expansion of Fig. 3, showing in addition I/O pins P 0 , Pj, P 2 , and P 3 which are programmably connected to interconnect lines C1 0 -C1 3 of routing channel Cl, in an interconnect matrix 70.
  • interconnect matrix 70 By making the appropriate connections in matrix 70 each of outputs 0 0 -0 3 may be connected to any of pins Po-P 3 .
  • the programmable interconnect structure of this invention can be used with any type of logic block having a plurality of inputs and a plurality of outputs, including but not limited to programmable logic devices (PLD's) , such as programmable array logic/generic array logic circuits (PAL/GAL's) and programmable logic arrays (PLA's) , random access memories (RAM's), programmable read only memories (PROM's) , erasable programmable read only memories (EPROM's) , electrically erasable programmable read only memories (EEPROM's) and combinations of multiplexers.
  • PLD's programmable logic devices
  • PAL/GAL's programmable array logic/generic array logic circuits
  • PLA's programmable logic arrays
  • RAM's random access memories
  • PROM's programmable read only memories
  • EPROM's erasable programmable read only memories
  • EEPROM's electrically erasable programmable read
  • the programmable connections used in embodiments of this invention may be made by any means or technique of programming a connection between electrical conductions paths, including but not limited to bipolar fuses (Figs. 8A and 8B) , antifuses, and CMOS pass gates (Fig. 8C) or antifused tristate buffers with enable/disable fuses (Figs. 8D and 8E) controlled by SRAM's, EPROM's, EEPROM's or other memory cells.
  • the programmable connection described in application Serial No. 07/696543 co-owned and filed May 6, 1991, which is hereby incorporated herein by reference, may also be used. While certain embodiments of this invention have been described, other embodiments of this invention will be obvious to those skilled in the art as a result of this description.

Abstract

A structure for making programmable connections (X) between the input (I0?-I7?) and (O0?-07?) output terminals of individual logic (20, 21) blocks in a logic device is disclosed. In one embodiment, each output terminal (O0?-07?) is programmably connected to only one input terminal (I0?-I7?) of each logic block (20, 21). The same principle is followed in making connections between the input pins of the device and the input terminals of the logic blocks.

Description

PROGRAMMABLE INTERCONNECT STRUCTURE FOR LOGIC BLOCKS
FIELD OF THE INVENTION
This invention relates to programmable interconnect structures which link the respective inputs and outputs of a plurality of logic blocks, such as in field programmable gate arrays and high density programmable logic arrays, and which link the inputs and outputs of a logic device to each other and to the inputs and outputs of the logic blocks.
BACKGROUND OF THE INVENTION
Logic devices such as field programmable gate arrays
(FPGA's) and high density programmable logic devices (HDPLD's) normally consist of a plurality of "logic blocks", each having a number of inputs and a number of outputs. Internally, the typical structure of the logic block consists of a programmable AND array whose outputs feed an OR array. Fig. 1 shows a simplified prior art logic block in the form of a programmable logic device (PLD) wherein inputs I0 and Ij feed through a programmable array 10 to four AND gates 11. The outputs of AND gates 11 feed through an array 12 to OR gates 13, and thence to outputs O0 and Ot. The logic block shown in Fig. 1 is in the familiar sum of the products form, the outputs of AND gates 11 often referred to as the "product terms". In the representative structure shown in Fig. 1 either one of inputs I0 and lt may be connected by means of the array 10 to the inputs of any one or more of AND gates 11. In a logic device consisting of a number of individual logic blocks, any output of a logic block may need to be connected to an input of the same logic block or an input of one of the other logic blocks. This is accomplished in an area of the chip known as the interconnect area. Also, the external device inputs can be routed to the logic block inputs using the interconnect area, and similarly the logic block outputs can be routed to external pins and input/output cells as outputs using the same interconnect area. The interconnect area normally comprises a matrix or latticework of intersecting input and output lines, with each output of a logic block intersecting all inputs of the same logic block and all other logic blocks once. Thus, in a device with X inputs and Y outputs, the number of such intersections equals XY. The prior art solution to the interconnect problem is to place a programmable connection at each of the intersections, thereby allowing every output to be connected to any input in the entire device. Since each of the programmable connections takes up space, this type of arrangement increases the total size of the interconnect area and of the device itself. This increases the cost of the device. Moreover, the number of programmable connections on a given input or output line increases the loading on the line and reduces the speed of the device.
SUMMARY OF THE INVENTION
In one embodiment of an interconnect structure in accordance with this invention, each of a plurality of logic blocks in a logic device has an equal number of inputs and outputs. At each intersection between a group of outputs of a logic block and a group of inputs of a logic block, each individual output line is programmably interconnected with only one of the input lines, forming a diagonal pattern of programmable interconnects. This assures that each output line can be connected to any given logic block through one input to that logic block. A programmable array internal to the block is then used to route the signal as desired within that block. By this technique the number of programmable interconnects required in the interconnect area may be reduced from N2 (N being the total number of inputs, which equals the total number of outputs) to a minimum of N. This dramatically reduces the size and cost of the device and improves the speed at which the signals are transmitted from the outputs to the various inputs of the logic blocks. In accordance with this invention, it is not required that the number of programmable connections be reduced to the minimum of N. Any number between N and N2 may also be selected within in broad principles of this invention.
In the embodiment just described, each logic block has an equal number of inputs and outputs. In many situations this is not an optimal structure, since most logic blocks have fewer outputs than inputs. To overcome this problem, in a second embodiment of the invention, the logic blocks are grouped into what are called "megacells", the logic blocks in each megacell having a combined number of outputs equal to the number of inputs to each block within the megacell. This means that each intersection between the outputs of a megacell and the inputs to a particular logic block will have an equal number of lines crossing each other, and the diagonal pattern of programmable interconnects described above can be implemented, thereby assuring that each output may be connected to one input of every logic block. Use of the programmable interconnect structure of this invention requires that the inputs to the logic block be to some extent interchangeable in the sense that a signal on one input can be programmably transferred within the block. Preferably, there is complete interchangeability, as in the logic block of Fig. 1 where either of inputs I0 and Il f can be routed to any or all of AND gates 11. However, this invention is also applicable to logic blocks (e.g. , combinations of multiplexers) which have less than complete interchangeability.
The interconnect structure of this invention requires that the interconnections be planned so as to assure complete connectivity, i.e., that the reduced number of programmable connections are used as efficiently as possible so that every required connection between an output and an input can in fact be made.
DESCRIPTION OF THE DRAWINGS
Fig. 1 illustrates the structure of a typical logic block.
Fig. 2 illustrates an interconnect structure in accordance with the invention for logic blocks having an equal number of inputs and outputs.
Fig. 3 illustrates an interconnect structure with the logic blocks grouped into megacells, the number of outputs from a megacell equaling the number of inputs to each logic block within the megacell.
Fig. 4 is an overview of an interconnect structure for a high density programmable logic device consisting of 32 logic blocks.
Figs. 5A, 5B, and 5C illustrate the placement of interconnects at the intersection between a routing channel and, respectively, the outputs of a megacell, the input lines from the input/output cells, and the input lines to the logic blocks, in the embodiment of Fig. 4. Fig. 6 illustrates an output routing resource arrangement in accordance with another aspect of the invention.
Fig. 7 illustrates another embodiment of an output routing resource arrangement.
Figs. 8A-8E illustrate alternative types of programmable connections which may be used in embodiments of the invention.
DESCRIPTION OF THE INVENTION Fig. 2 shows a logic block 20 and a logic block 21, each of which has four inputs and four outputs. The inputs and outputs of logic block 20 are designated I0-I3 and O0-O3, respectively. The inputs and outputs of logic block 21 are designated I4-I7 and 04-07, respectively. The outputs O0-O3 of logic block 20 are connected respectively to interconnect lines C10-C13 of a routing channel Cl. The outputs 04-07 of logic block 21 are connected respectively to interconnect lines C24-C27 of a routing channel C2. The connections between the outputs of logic block 20 and routing channel Cl and between the outputs of logic block 21 and routing channel C2 are hard-wired and are not programmable.
Routing channels Cl and C2 intersect the inputs to logic blocks 20 and 21 in a 4X4 matrix. As described above, the prior art solution to providing interconnect capability between the outputs and the inputs of logic blocks 20 and 21 would be to provide a programmable connection at each point of a 4X4 matrix, requiring 16 programmable connections. However, in accordance with the invention, each of the outputs of logic blocks 20 and 21 is provided with a programmable connection with only one of the inputs to logic blocks 20 and 21. The programmable connections are designated by "X,s" in Fig. 2. For example, output O0 may be connected to the inputs of logic block 20 via input I3 and to the inputs of logic block 21 via input I7. Similarly, output 05 of logic block 21 may be connected to the inputs of logic block 21 via input I5 and to the inputs of logic block 20 via input I,.
As described above (see Fig. 1) , the AND array within a typical field programmable gate array or programmable logic device allows the designer to connect the inputs to the AND gates within the device in any desired manner. For example, if outputs O0 and 05 are to be ANDed in logic block 21, a connection can be programmed between output O0 (Cl0) and the line to input I7, and a connection can be programmed between output 05 (C25) and the line to input I5. Inputs I5 and I7 can then be connected to respective inputs of an AND gate within logic block 21.
The technique of this invention accordingly allows the total number of programmable inputs in the structure shown in Fig. 2 to be reduced from a total of 64 to a minimum of 16. Relatively few logic blocks have an equal number of inputs and outputs like logic blocks 20 and 21. Generally, there are fewer outputs than inputs. To apply the principles of this invention to logic blocks having unequal numbers of inputs and outputs, a structure such as that shown in Fig. 3 is used. In Fig. 3, logic blocks 30 and 31 each have four inputs and two outputs. Logic blocks 30 and 31 are grouped in a megacell 32 which has outputs O0-O3. These outputs are connected to lines Cl0- Cl3, respectively, of a routing channel Cl. Respective sets of four programmable connections (designated by X's) connect lines C10-C13 to inputs I0-I3 and inputs I4-I7.
An examination of Fig. 3 will indicate that each of outputs O0-O3 may be linked via the programmable connections with one input of each of logic blocks 30 and 31. For example, output Ox has access to logic block 31 via the programmable connection between line Clx and the line to input I5. Similarly, output 03 has access to logic block 30 via the programmable connection between line Cl3 and the line to input I3. Since inputs I0-I3 of logic block 30 can be ANDed in any desired combination at the AND gates within logic block 30, outputs O0-O3 can be ANDed in the same ways via the programmable connections between lines C10-C13 and the lines to inputs I0-I3, respectively. Outputs O0-O3 can likewise be ANDed in logic block 31 by means of the programmable connections between lines C10-C13 and the lines to inputs I4-I7 respectively.
Fig. 4 shows an HDPLD containing 32 logic blocks designated A-0 to A-7, B-0 to B-7, C-0 to C-7, and D-0 to D-7. Each of these logic blocks has 16 inputs (an "input channel") and 4 outputs. To preserve the clarity of the drawing, individual input and output lines are not shown. Instead, a single line represents all of the inputs to a logic block, and another single line represents all of the outputs from a logic block. Logic blocks A-0 to D-7 have been grouped into 8 megacells, as follows: A-0 to A-3, A-4 to A-7, B-0 to B-3, B-4 to B-7, C-0 to C-3, C-4 to C- 7, D-O to D-3, and D-4 to D-7. The 16 outputs of each megacell are shown as output channels Q0-Q3 and Qg-Qn, each of which contains 16 output lines. Routing channels C0-Cu, each containing 16 interconnect lines, are also shown. Signals flow to and from the HDPLD through input/output (I/O) blocks IO-l, 10-2, 10-3 and 10-4, each of which contains 16 I/O pins.
Input channels Q^-Q? from I/O blocks 10-1 to 10-4 (each input channel containing 16 input lines) are hard- wired to routing channels Qj-C,, respectively, one line of input channels O^-Q, being hard-wired to one line of routing channels C4-Cj, respectively. The connections between output channels Qo-Q3 and Q-Qn and routing channels C0-C3 and C8-Cn are hard wired so that one line of each output channel is connected to one line of the corresponding routing channel. Thus each of routing channels C0-Cπ is an extension of a corresponding one of output channels Q0-Q3 and Q8-Qπ or of I/O blocks 10-1 to 10-4. Figure 5A shows in detail the hard-wire connections between the outputs of the megacell consisting of logic blocks A-0 to A-3 and the interconnect lines in routing channel C0. As shown, output 0 of logic block A-0 is connected to interconnect line RO, output 1 of logic block A-0 is connected to interconnect line Rl, etc. A similar pattern is followed in making the connection between the outputs of the megacells consisting of logic blocks A-4 to A-7, B-0 to B-3, B-4 to B-7, C-0 to C-3, C-4 to C-7, D-0 to D-3, and D-4 to D-7 with routing channels Cj to C3 and C8 to Cu, respectively.
Fig. 5B shows in detail the hard-wire connections between the lines of input channel Q,, and the interconnect lines in routing channel C4. Line ZO of channel 0^ is connected to interconnect line SO, line Zl of channel 04 is connected to interconnect line SI, etc. A similar pattern is followed in making the hard-wire connections between input/output blocks 10-2, IO-3 and 10-4 and routing channels C5, C6 and C,, respectively.
Fig. 5C shows in detail the programmable connections between routing channel , and the input channels to logic blocks B-7 and C-0. The input channel to logic block B-7 includes input lines XO to X15. The input channel to logic block C-0 includes input lines YO to Y15. Routing channel , includes interconnect lines RO to R15. Each of interconnect lines R0-R15 is programmable connected to one of lines X0-X15 and one of lines Y0-Y15. Thus line RO is programmably connected to lines XO and YO, line Rl is programmably connected to lines XI and Yl, etc.
This pattern is repeated throughout the array. In general, a line in a particular position in an input channel is programmably connected to lines in the equivalent position of routing channels C0-Cπ. For example, line YO is programmably connected to the line in the "0" position of routing channels C0-Cu. Line Yl is programmably connected to the corresponding line in the "1" position of each of these routing channels. This enables any given output to be connected to one input of each of logic blocks A-0 to D-7. For example, referring to Figs. 5A and 5C, output 10 of logic block A-2, which is connected to interconnect line R10, would have access to logic block B-7 through input line X10 and to logic block C-0 through input line Y10. As described previously, once a signal on input lines X10 or Y10 reaches logic blocks B- 7 or C-0, respectively, it can be ANDed with any of the other inputs to those logic blocks by means of internal programmable connections. Similarly, referring to Fig. 5B, line Z10 of input channel Q,,, which is connected to interconnect line S10, would have access to logic block B- 7 through input line X10 and logic block C-0 through input line Y10. Accordingly, the programmable interconnect structure of this invention permits the total number of programmable connections at each intersection of one of routing channels C0 to Cn with the input channels to one of logic blocks A-0 to D-7 to be reduced from a total of 256 to a minimum of 16. In accordance with this invention, it. is not necessary that the number of programmable connections be reduced to the minimum number of 16. Any number between 16 and 256 could also be selected, depending on the routing demands of the particular application. In practice, the selection of the number of programmable connections to be used will often require a balancing of the space limitations imposed on the interconnect structure against the need to provide maximum routability.
A constraint of the interconnect structure shown in Fig. 4 is that once a particular line of a routing channel has been used to gain access to a logic block, no interconnect line in the same position of any other routing channel may be used for inputting signals to the same logic block. No two signals that are input to a particular logic block may be located on interconnect lines in the same position. In the example given above, if interconnect line RIO of routing channel C0 is used to connect output 10 of logic block A-3 to an input of logic block B-7, no interconnect line in the "10" position of routing channels Cj-Cjj may be used to transmit a signal to logic block B-7. The transfer function to be performed by the HDPLD shown in Fig. 4 is partitioned by known techniques into the individual logic blocks. The resulting logic blocks are then placed in the available positions on the device, and the outputs of each logic block are arranged so as to assure that all required connections between the inputs and outputs of the logic blocks and the I/O cells can be made.
I/O blocks 10-1 to 10-4 each contain 16 I/O cells of the kind disclosed in U.S. Application Serial No. 07/696,907, filed May 6, 1991, which is incorporated herein by reference, as well as an output routing resource arrangement of the kind illustrated in Fig. 6, described below, wherein 32 logic block outputs are programmably connected through a programmable matrix to 16 I/O cells. As described in the above-noted U.S. Application Serial No. 07/696,907 (see Fig. 6 thereof), each I/O cell contains an I/O pin.
In the routing process, as the logic blocks are placed and their outputs are assigned a sequence, a conflict may occur between the configuration required for routing purposes and the external pin assignments of the device. For example, a given output may be assigned to a particular position where it is connected to a pin which is required for an input or for a different output. If the external requirements of pin assignment are satisfied, the routability of the device may become more difficult. This problem is minimized by the output routing resource arrangement which is shown in Fig. 6. Fig. 6 shows logic blocks A-0 to A-7 and the 16 I/O cells IO0-IO15 associated with I/O block 10-1. Each of routing resource channels RR0, RR1, RR2 and RR3 contains four lines 0, 1, 2 and 3. Each of cells IO0-IO15 is hard-wired to one of the lines in channels RR0 to RR3. For example, cell IO0 is connected to line 0 of channel RR0; cell X0l is connected to line 1 of channel RR0; etc. Each output of logic blocks A-0 to A-7 is programmably connected to a line in a given position of each of channels RR0 to RR3. For example, output 0 of logic block A-0 is programmably connected to line 0 of each of channels RR0 to RR3; output 1 of logic block A-0 is programmably connected to line 1 of each of channels RR0 to RR3; etc. This structure permits any output of logic blocks A-0 to A-7 to be shifted among four of cells I0-Ii5- For example, output 0 of logic block A-0 may be routed to cells IO0, I04, I08 or I0J2. If cell IO0 is needed for a particular external purpose, the arrangement of logic blocks A-0 to A-7 need not be affected. T?he remaining cells IO^IO^ may be used to handle the outputs of logic blocks A-0 to A-7. As illustrated in Fig. 7, a similar flexibility in assigning pins can be provided by providing programmable connections between the I/O pins and the routing channels which are used to link the inputs of the logic blocks with the I/O cells and the outputs of the logic blocks, as described above. Fig. 7 is an expansion of Fig. 3, showing in addition I/O pins P0, Pj, P2, and P3 which are programmably connected to interconnect lines C10-C13 of routing channel Cl, in an interconnect matrix 70. By making the appropriate connections in matrix 70 each of outputs 00-03 may be connected to any of pins Po-P3.
The programmable interconnect structure of this invention can be used with any type of logic block having a plurality of inputs and a plurality of outputs, including but not limited to programmable logic devices (PLD's) , such as programmable array logic/generic array logic circuits (PAL/GAL's) and programmable logic arrays (PLA's) , random access memories (RAM's), programmable read only memories (PROM's) , erasable programmable read only memories (EPROM's) , electrically erasable programmable read only memories (EEPROM's) and combinations of multiplexers.
Moreover, the programmable connections used in embodiments of this invention may be made by any means or technique of programming a connection between electrical conductions paths, including but not limited to bipolar fuses (Figs. 8A and 8B) , antifuses, and CMOS pass gates (Fig. 8C) or antifused tristate buffers with enable/disable fuses (Figs. 8D and 8E) controlled by SRAM's, EPROM's, EEPROM's or other memory cells. The programmable connection described in application Serial No. 07/696543 co-owned and filed May 6, 1991, which is hereby incorporated herein by reference, may also be used. While certain embodiments of this invention have been described, other embodiments of this invention will be obvious to those skilled in the art as a result of this description.

Claims

CLAIMS;We claim:
1. A programmable interconnect matrix between a plurality of outputs of at least one logic block and a plurality of inputs to at least one logic block wherein not every one of said inputs is programmably connected to each of said outputs.
2. A programmable interconnect structure comprising: one or more logic blocks; an input channel to each of said one or more logic blocks, each said input channel comprising a plurality of input lines; a plurality of signal routing channels, each of said signal routing channels comprising a plurality of signal routing lines; and a matrix of programmable connections between each of said input channels and each of said signal routing channels wherein the number of said programmable connections in each said matrix is less than the number of input lines multiplied by the number of signal routing lines and equal to or greater than the number of input lines.
3. The programmable interconnect structure of Claim 2 comprising a plurality of output lines from each of said logic blocks, the output lines from each of said logic blocks being connected to predetermined signal routing lines in a predetermined one of said signal routing channels.
4. The programmable interconnect structure of Claim 3 comprising a plurality of device terminals, said device terminals being separated into groups, the device terminals in each of said groups being connected to predetermined signal routing lines in a predetermined one of said signal routing channels.
5. The programmable interconnect structure of Claim 4 wherein said logic blocks are grouped into megacells, the output lines from the logic blocks in each of said megacells being connected to predetermined signal routing lines in a predetermined one of said signal routing channels, the number of output lines from the logic blocks in each of said megacells being equal to the number of signal routing lines in the signal routing channel to which said output lines are connected.
6. The programmable interconnect structure of Claim 5, the number of signal routing lines in each of said signal routing channels being equal to the number of input lines in each of said input channels.
7. The programmable interconnect structure of Claim 3 comprising a plurality of resource routing lines and a plurality of device terminals, predetermined ones of said output lines being programmably connectable to predetermined ones of said resource routing lines, predetermined ones of said resource routing lines being connected to predetermined ones of said device terminals.
8. The programmable interconnect structure of Claim 7 wherein said logic blocks are grouped into megacells, the output lines from the logic blocks in each of said megacells being connected to predetermined signal routing lines in a predetermined one of said signal routing channels, the number of output lines from the logic blocks in each of said megacells being equal to the number of signal routing lines in the signal routing channel to which said output lines are connected.
9. The programmable interconnect structure of Claim 3 comprising: a plurality of device terminals, said device terminals being separated into groups, the device terminals in each of said groups being connected to predetermined signal routing lines in a predetermined one of said signal routing channels; and a plurality of resource routing lines, predetermined ones of said output lines being programmably connectable to predetermined ones of said resource routing lines, predetermined ones of said resource routing lines being connected to predetermined ones of said device terminals.
10. The programmable interconnect structure of Claim 9 wherein said logic blocks are grouped into megacells, the output lines from the logic blocks in each of said megacells being connected to predetermined signal routing lines in a predetermined one of said signal routing channels, the number of output lines from the logic blocks in each of said megacells being equal to the number of signal routing lines in the signal routing channel to which said output lines are connected.
11. The programmable interconnect structure of Claim 2 comprising a plurality of device terminals, said device terminals being separated into groups, the device terminals in each of said groups being connected to predetermined signal routing lines in a predetermined one of said signal routing channels.
12. The programmable interconnect structure of Claim 11 comprising a plurality of output lines from each of said logic blocks and a plurality of resource routing lines, predetermined ones of said output lines being programmably connectable to predetermined ones of said resource routing lines, predetermined ones of said resource routing lines being connected to predetermined ones of said device terminals.
13. The programmable interconnect structure of Claim 12 wherein said logic blocks are grouped into megacells, the output lines from the logic blocks in each of said megacells being connected to predetermined signal routing lines in a predetermined one of said signal routing channels, the number of output lines from the logic blocks in each of said megacells being equal to the number of signal routing lines in the signal routing channel to which said output lines are connected.
14. The programmable interconnect structure of Claim 2 comprising a plurality of output lines from each of said logic blocks, a plurality of device terminals, and a plurality of resource routing lines, predetermined ones of said output lines being programmably connectable to predetermined ones of said resource routing lines, predetermined ones of said resource routing lines being connected to predetermined ones of said device terminals.
15. The programmable interconnect structure of Claim 2 comprising a plurality of output lines from each of said logic blocks, said output lines being connected to predetermined ones of said signal routing lines, and comprising a plurality of device terminals, each of said device terminals being programmably connectable to predetermined ones of said signal routing lines.
16. A programmable logic device comprising a plurality of logic blocks, each of said logic blocks having a plurality of input terminals connected to respective input lines and a plurality of output terminals connected to respective output lines, each of said output lines being programmably connectable to at least one but less than all of the input lines for each of said logic blocks.
17. The programmable logic device of Claim 16 wherein each of said output lines is programmably connectable to only one input line for each of said logic blocks.
18. A programmable logic device comprising a plurality of logic blocks, each of said logic blocks having a plurality of input terminals connected to respective input lines and a plurality of device terminals, each of said device terminals being programmably connectable to at least one but less than all of the input lines for each of said logic blocks.
19. The programmable logic device of Claim 18 wherein each of said device terminals is programmably connectable to only one input line for each of said logic blocks.
20. A programmable logic device comprising a plurality of logic blocks, each of said logic blocks having a plurality of output terminals connected to respective output lines, and a plurality of device terminals, each of said output terminals being programmably connectable to a plurality of said device terminals.
21. A programmable logic device comprising: a plurality of logic blocks, each of said logic blocks having a plurality of input terminals connected to respective input lines and a plurality of output terminals connected to respective output lines, and a plurality of device terminals, wherein each of said output lines is programmably connectable to at least one but less than all of the input lines for each of said logic blocks, and each of said device terminals is programmably connectable to at least one but less than all of the input lines for each of said logic blocks.
22. A programmable logic device comprising a plurality of logic blocks, each of said logic blocks having a plurality of input terminals connected to respective input lines and a plurality of output terminals connected to respective output lines, and a plurality of device terminals, wherein each of said output lines is programmably connectable to at least one but less than all of the input lines for each of said logic blocks, and each of said output terminals is programmably connectable to a plurality of said device terminals.
23. A programmable logic device comprising a plurality of logic blocks, each of said logic blocks having a plurality of input terminals connected to respective input lines and a plurality of output terminals connected to respective output lines, and a plurality of device terminals, wherein each of said device terminals is programmably connectable to at least one but less than all of the input lines for each of said logic blocks, and each of said output terminals is programmably connectable to a plurality of said device terminals.
PCT/US1992/003575 1991-05-06 1992-05-06 Programmable interconnect structure for logic blocks WO1992020159A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4511466A JPH06510403A (en) 1991-05-06 1992-05-06 Programmable interconnect structure for logic blocks
DE0583361T DE583361T1 (en) 1991-05-06 1992-05-06 PROGRAMMABLE CONNECTING STRUCTURE FOR LOGICAL BLOCKS.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/696,462 US5204556A (en) 1991-05-06 1991-05-06 Programmable interconnect structure for logic blocks
US696,462 1991-05-06

Publications (1)

Publication Number Publication Date
WO1992020159A1 true WO1992020159A1 (en) 1992-11-12

Family

ID=24797175

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1992/003575 WO1992020159A1 (en) 1991-05-06 1992-05-06 Programmable interconnect structure for logic blocks

Country Status (5)

Country Link
US (1) US5204556A (en)
EP (1) EP0583361A4 (en)
JP (1) JPH06510403A (en)
DE (1) DE583361T1 (en)
WO (1) WO1992020159A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0721256A2 (en) * 1995-01-04 1996-07-10 Xilinx, Inc. Interconnect architecture for field programmable gate array

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367208A (en) 1986-09-19 1994-11-22 Actel Corporation Reconfigurable programmable interconnect architecture
US5457409A (en) * 1992-08-03 1995-10-10 Advanced Micro Devices, Inc. Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices
US5489857A (en) * 1992-08-03 1996-02-06 Advanced Micro Devices, Inc. Flexible synchronous/asynchronous cell structure for a high density programmable logic device
US5198705A (en) * 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US20020130681A1 (en) * 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US6759870B2 (en) 1991-09-03 2004-07-06 Altera Corporation Programmable logic array integrated circuits
JP2965802B2 (en) * 1991-12-19 1999-10-18 株式会社東芝 Semiconductor integrated circuit
DE69304471T2 (en) * 1992-08-03 1997-03-20 Advanced Micro Devices Inc Programmable logic device
JP3313848B2 (en) * 1992-11-10 2002-08-12 インフィニット テクノロジー コーポレーション Logic network
US5396126A (en) * 1993-02-19 1995-03-07 At&T Corp. FPGA with distributed switch matrix
US5483178A (en) * 1993-03-29 1996-01-09 Altera Corporation Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6462578B2 (en) 1993-08-03 2002-10-08 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US6051991A (en) * 1993-08-03 2000-04-18 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5742179A (en) * 1994-01-27 1998-04-21 Dyna Logic Corporation High speed programmable logic architecture
US5581200A (en) * 1994-03-04 1996-12-03 Gudger; Keith H. Stored and combinational logic function generator without dedicated storage elements
US5436576A (en) * 1994-05-20 1995-07-25 Intel Corporation Switch matrices using reduced number of switching devices for signal routing
US5572198A (en) * 1994-07-25 1996-11-05 Intel Corporation Method and apparatus for routing in reduced switch matrices to provide one hundred percent coverage
US5689686A (en) * 1994-07-29 1997-11-18 Cypress Semiconductor Corp. Methods for maximizing routability in a programmable interconnect matrix having less than full connectability
AU5718196A (en) 1995-05-03 1996-11-21 Btr, Inc. Scalable multiple level interconnect architecture
US5850564A (en) * 1995-05-03 1998-12-15 Btr, Inc, Scalable multiple level tab oriented interconnect architecture
US5818254A (en) * 1995-06-02 1998-10-06 Advanced Micro Devices, Inc. Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices
US5521529A (en) * 1995-06-02 1996-05-28 Advanced Micro Devices, Inc. Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation
US6028446A (en) * 1995-06-06 2000-02-22 Advanced Micro Devices, Inc. Flexible synchronous and asynchronous circuits for a very high density programmable logic device
US5744995A (en) * 1996-04-17 1998-04-28 Xilinx, Inc. Six-input multiplexer wtih two gate levels and three memory cells
US5625631A (en) * 1996-04-26 1997-04-29 International Business Machines Corporation Pass through mode for multi-chip-module die
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US6624658B2 (en) * 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
US6034547A (en) * 1996-09-04 2000-03-07 Advantage Logic, Inc. Method and apparatus for universal program controlled bus
JP3614264B2 (en) * 1997-01-09 2005-01-26 富士通株式会社 Integrated circuit device having programmable connections
EP0858167A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor device
EP0858168A1 (en) * 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
US6567834B1 (en) 1997-12-17 2003-05-20 Elixent Limited Implementation of multipliers in programmable arrays
DE69841256D1 (en) 1997-12-17 2009-12-10 Panasonic Corp Command masking for routing command streams to a processor
DE69827589T2 (en) 1997-12-17 2005-11-03 Elixent Ltd. Configurable processing assembly and method of using this assembly to build a central processing unit
US6243664B1 (en) 1998-10-27 2001-06-05 Cypress Semiconductor Corporation Methods for maximizing routability in a programmable interconnect matrix having less than full connectability
US6320412B1 (en) 1999-12-20 2001-11-20 Btr, Inc. C/O Corporate Trust Co. Architecture and interconnect for programmable logic circuits
US6636930B1 (en) * 2000-03-06 2003-10-21 Actel Corporation Turn architecture for routing resources in a field programmable gate array
US6288937B1 (en) 2000-05-10 2001-09-11 Lattice Semiconductor Corporation Decoded generic routing pool
US6720796B1 (en) 2001-05-06 2004-04-13 Altera Corporation Multiple size memories in a programmable logic device
US7255437B2 (en) * 2003-10-09 2007-08-14 Howell Thomas A Eyeglasses with activity monitoring
US6975139B2 (en) * 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US20050278464A1 (en) * 2004-05-13 2005-12-15 Claseman George R Multiple state configuration method
US7460529B2 (en) * 2004-07-29 2008-12-02 Advantage Logic, Inc. Interconnection fabric using switching networks in hierarchy
US7423453B1 (en) 2006-01-20 2008-09-09 Advantage Logic, Inc. Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric
US7999570B2 (en) * 2009-06-24 2011-08-16 Advantage Logic, Inc. Enhanced permutable switching network with multicasting signals for interconnection fabric
US10425082B2 (en) 2015-10-27 2019-09-24 Andapt, Inc. Adaptive analog blocks with digital wrappers integrated onto programmable fabric

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4717844A (en) * 1985-03-04 1988-01-05 Hitachi, Ltd. Programmable logic array circuit with a decreased number of product terms
US4910508A (en) * 1982-02-17 1990-03-20 Tokyo Shibaura Denki Kabushiki Kaisha Matrix logic circuit network suitable for large-scale integration
US4965472A (en) * 1988-08-11 1990-10-23 Cypress Semiconductor Corp. Programmable high speed state machine with sequencing capabilities
US4992680A (en) * 1988-12-28 1991-02-12 Sgs-Thomson Microelectronics S.R.L. Programmable logic device having a plurality of programmable logic arrays arranged in a mosaic layout together with a plurality of interminglingly arranged interfacing blocks
US5015884A (en) * 1985-03-29 1991-05-14 Advanced Micro Devices, Inc. Multiple array high performance programmable logic device family

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4758746A (en) * 1985-08-12 1988-07-19 Monolithic Memories, Inc. Programmable logic array with added array of gates and added output routing flexibility

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910508A (en) * 1982-02-17 1990-03-20 Tokyo Shibaura Denki Kabushiki Kaisha Matrix logic circuit network suitable for large-scale integration
US4717844A (en) * 1985-03-04 1988-01-05 Hitachi, Ltd. Programmable logic array circuit with a decreased number of product terms
US5015884A (en) * 1985-03-29 1991-05-14 Advanced Micro Devices, Inc. Multiple array high performance programmable logic device family
US4965472A (en) * 1988-08-11 1990-10-23 Cypress Semiconductor Corp. Programmable high speed state machine with sequencing capabilities
US4992680A (en) * 1988-12-28 1991-02-12 Sgs-Thomson Microelectronics S.R.L. Programmable logic device having a plurality of programmable logic arrays arranged in a mosaic layout together with a plurality of interminglingly arranged interfacing blocks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0583361A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0721256A2 (en) * 1995-01-04 1996-07-10 Xilinx, Inc. Interconnect architecture for field programmable gate array
EP0721256A3 (en) * 1995-01-04 1998-05-20 Xilinx, Inc. Interconnect architecture for field programmable gate array

Also Published As

Publication number Publication date
JPH06510403A (en) 1994-11-17
EP0583361A4 (en) 1994-07-06
EP0583361A1 (en) 1994-02-23
DE583361T1 (en) 1995-03-16
US5204556A (en) 1993-04-20

Similar Documents

Publication Publication Date Title
US5204556A (en) Programmable interconnect structure for logic blocks
US5260610A (en) Programmable logic element interconnections for programmable logic array integrated circuits
US5557217A (en) High-density erasable programmable logic device architecture using multiplexer interconnections
US5241224A (en) High-density erasable programmable logic device architecture using multiplexer interconnections
US6335634B1 (en) Circuitry and methods for internal interconnection of programmable logic devices
US6810513B1 (en) Method and apparatus of programmable interconnect array with configurable multiplexer
US6636070B1 (en) Driver circuitry for programmable logic devices with hierarchical interconnection resources
US5781030A (en) Programmable uniform symmetrical distribution logic allocator for a high-density complex PLD
US5966027A (en) Symmetric logic block input/output scheme
US5600264A (en) Programmable single buffered six pass transistor configuration
US6181162B1 (en) Programmable logic device with highly routable interconnect
US6414514B1 (en) Logic device architecture and method of operation
US5023606A (en) Programmable logic device with ganged output pins
US6137308A (en) Programmable interconnect matrix architecture for complex programmable logic device
US5268598A (en) High-density erasable programmable logic device architecture using multiplexer interconnections
US5436575A (en) Programmable logic array integrated circuits
US5079451A (en) Programmable logic device with global and local product terms
US5883850A (en) Programmable logic array integrated circuits
US20040066212A1 (en) Programmable logic array integrated circuits
US6218859B1 (en) Programmable logic device having quadrant layout
US6545505B1 (en) Hybrid routing architecture for high density complex programmable logic devices
US5463328A (en) Expanded programmable logic architecture
US6370140B1 (en) Programmable interconnect matrix architecture for complex programmable logic device
US6653861B1 (en) Multi-level routing structure for a programmable interconnect circuit
US6759870B2 (en) Programmable logic array integrated circuits

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU MC NL SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1992911404

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1992911404

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: 1992911404

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1992911404

Country of ref document: EP