WO2000052825A1 - Interconnection resources for programmable logic integrated circuit devices - Google Patents
Interconnection resources for programmable logic integrated circuit devices Download PDFInfo
- Publication number
- WO2000052825A1 WO2000052825A1 PCT/US2000/005488 US0005488W WO0052825A1 WO 2000052825 A1 WO2000052825 A1 WO 2000052825A1 US 0005488 W US0005488 W US 0005488W WO 0052825 A1 WO0052825 A1 WO 0052825A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- logic
- region
- regions
- row
- logic region
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/1778—Structural details for adapting physical parameters
- H03K19/17792—Structural details for adapting physical parameters for operating speed
Definitions
- This invention relates to programmable logic array integrated circuit devices ("programmable logic devices” or “PLDs”), and more particularly to interconnection resources for use on programmable logic devices that increase the speed at which those devices can be made to operate.
- programmable logic devices or "PLDs”
- Programmable logic devices typically include (1) many regions of programmable logic, and (2) programmable interconnection resources for selectively conveying signals to, from, and/or between those logic regions. Each logic region is programmable to perform any of several different, relatively simple logic functions. The interconnection resources are programmable to allow the logic regions to work together to perform much more complex logic functions than can be performed by any individual logic region. Examples of known PLDs are shown in Wahlstrom U.S. patent 3,473,160, Freeman U.S. patent Re. 34,363, Cliff et al. U.S. patent 5,689,195, Cliff et al . U.S. patent 5,909,126, and Jefferson et al . U.S. patent application No. 09/266,235, all which are hereby incorporated by reference herein.
- a frequent objective in the design of PLDs is to increase the speed at which the device can be operated.
- the speeds at which signals can travel through the interconnection resources between logic regions is particularly important to determining device speed.
- the interconnection resources must have the general-purpose capability of connecting any logic region to any other logic region. But in addition to this, it can be helpful to find ways to make faster interconnections between nearby logic regions.
- Many complex logic tasks can be broken down into parts, each of which can be performed by a respective cluster of logic regions.
- programmable logic devices with interconnection resources that facilitate the provision of interconnections between logic modules in adjacent rows of logic regions, as well as between nearby logic regions in each row.
- the logic regions on a PLD are arranged in a two-dimensional array of intersecting rows and columns of such regions.
- Each logic region may include a plurality of subregions .
- Local feedback conductors may be provided for facilitating communication among the subregions in a region.
- these local feedback conductors may be interleaved between horizontally adjacent regions in a row, thereby facilitating high speed interconnection among the subregions of horizontally adjacent regions.
- output signals of subregions in each row may be additionally applied substantially directly (i.e., without making use of the more general-purpose interconnection resources of the device) to programmable logic connectors (e.g., multiplexers) feeding output drivers that are otherwise normally or nominally associated with subregions in an adjacent row.
- programmable logic connectors e.g., multiplexers
- output drivers that are otherwise normally or nominally associated with subregions in an adjacent row.
- the interconnection resources that bring signals into the regions in each row can be partly shifted or extended relative to the rows so that some signals can be more readily and directly brought into each row from the adjacent rows, again without having to make use of the more general-purpose interconnection resources of the device. This again facilitates forming clusters of logic regions in adjacent rows.
- the interconnection resources that bring signals into each row can be substantially directly driven by signals from similar resources in another row, thereby again facilitating the formation of clusters of logic regions in adjacent rows without needing to use the general-purpose interconnection resources .
- clustering of logic regions along a row may be facilitated by providing conductors associated with each logic region that extend adjacent a relatively small subplurality of the other adjacent logic regions in that row.
- one of these conductors associated with each logic region may extend to the left from that logic region adjacent a relatively small number of other logic regions to the left of the associated logic region, and another of these conductors may extend to the right by approximately the same number of other logic regions.
- the same signal or different signals from the associated logic region can be applied to each of these conductors, and thereby to the other logic regions that these conductors are adjacent to.
- FIG. 1 is a simplified schematic block diagram of relevant portions of an illustrative programmable logic device constructed in accordance with this invention.
- FIG. 2 is a more detailed, but still
- FIG. 15 simplified, schematic block diagram of a representative portion of the programmable logic device shown in FIG. 1.
- FIG. 3 is a more detailed, but still simplified, schematic block diagram of an illustrative
- FIG. 4 is a simplified schematic block diagram of a representative portion of an alternative embodiment of certain aspects of the FIG. 1 device in
- FIG. 5 is a simplified schematic block diagram of a representative portion of an another alternative embodiment of certain aspects of the FIG. 1 device in accordance with the invention.
- FIG. 6 is a more detailed, but still simplified, schematic block diagram of an illustrative embodiment of another representative portion of the FIG. 1 device in accordance with the invention.
- FIG. 7 is a more detailed, but still simplified, schematic block diagram of an illustrative embodiment of still another representative portion of the FIG. 1 device in accordance with the invention.
- FIG. 8 is a more detailed, but still simplified, schematic block diagram of an illustrative embodiment of yet another representative portion of the FIG. 1 device in accordance with the invention.
- FIG. 9 is a simplified block diagram of an illustrative system employing a programmable logic device in accordance with the invention.
- Device 10 includes several rows of regions 20 of programmable logic, each of which includes a plurality of subregions 30 of programmable logic. To avoid overcrowding the drawing, individual subregions 30 are delineated only in the extreme upper left-hand region 20 in FIG. 1.
- the rows of logic regions 20 are interspersed with rows of input/output ("I/O") circuitry 40.
- I/O input/output
- memory regions 50 At the extreme top and bottom of the circuitry shown in FIG. 1 are rows of memory regions 50, which the user of device 10 can use as RAM, ROM, product-term logic, content addressable memory, etc.
- Regions 60 include phase-locked loop circuitry
- region 70 includes control logic and pins
- region 80 includes JTAG logic and pins
- region 120 is part of a secondary signal distribution network.
- the details of regions 40, 60, 70, 80, and 120 are of little interest in connection with this invention and therefore need not be significantly described herein.
- Associated with each row of logic regions 20 is a plurality of global horizontal interconnection conductors 230a/b. (The "a/b" designation is from the last-mentioned reference and refers to "a" conductors having "normal” signal propagation speed characteristics and "b" conductors having higher signal propagation speed characteristics.
- each row of logic regions 20 Also associated with the left and right half of each row of logic regions 20 is a plurality of so-called direct horizontal interconnection conductors 240. Still further associated with subsets of horizontally adjacent regions 20 in each row are groups of so-called horizontal network of fast line (“HNFL”) interconnection conductors 250. Associated with each column of logic regions 20 (and extending across I/O regions 40 and into memory regions 50) is a plurality of global vertical interconnection conductors 200a/b.
- HNFL horizontal network of fast line
- FIG. 2 shows selected circuitry associated with two, representative, horizontally adjacent logic regions 20 in a typical row of such regions.
- the circuitry shown in FIG. 2 includes selected circuitry for supplying signals to the subregions 30 in the depicted regions 20, and selected circuitry for conveying signals from those subregions. Note that between the depicted regions are a plurality of region- feeding conductors 300 and a plurality of local feedback conductors 310. Signals on the conductors 230a/b, 240, 250, and 260 associated with the row that includes depicted regions 20 can be applied to region- feeding conductors 300 via programmable logic connector ("PLC") and driver circuitry 270/276. Circuitry 270/276 may be constructed as shown in FIG.
- PLC programmable logic connector
- Local feedback conductors 310 are supplied with the so-called LOCAL output signals of selected ones of the depicted subregions 30. In particular, half of the subregions 30 in each depicted region 20 supply their LOCAL output signals to the local feedback conductors 310 between those regions. (The LOCAL output signals of the other subregions go to local feedback conductors to the left or right of the representative circuitry shown in FIG. 2.) Signals on depicted conductors 300/310 can be applied to subregion input terminals A-D via PLC circuitry 322/328. Circuitry 322/328 may be constructed as shown in FIG. 4 of the last-mentioned reference.
- each subregion 30 may be constructed as shown in FIGS. 5A and 5B of the last-mentioned reference.
- each subregion 30 may include (among other components) a four-input look-up table or other combinatorial logic circuitry for producing an intermediate signal which is any logical combination of the four main data inputs A-D to the subregion.
- Each subregion 30 may further include a register for registering the intermediate signal, and PLC circuitry for outputting either the intermediate signal or the register output signal as any of a LOCAL output signal 310, an interleaved vertical ("IV") output signal 220, and/or two more global output signals (not shown in FIG. 2, but shown as OUT0 and OUT1 in FIG. 3.
- any of the above-mentioned four outputs of a subregion 30 can be separately selected to be either the intermediate signal or the register output signal of that subregion.
- FIG. 2 also shows that the IV outputs 220 of half the subregions 30 on the left and half the subregions 30 on the right extend upwardly (to the row of regions 20 above the row shown in part in FIG. 2), and that the IV outputs 220 of the other half of the subregions on the left and right extend downwardly (to the row of regions 20 below the row shown in part in FIG. 2) .
- the particular pattern for the IV outputs to go up and down can be different from that shown in FIG. 2 if desired.
- FIG. 2 shows that the IV outputs of the upper half of the subregions 30 go up, and the IV outputs of the lower half of the subregions go down, a different pattern is suggested in FIG.
- FIG. 3 which shows the IV outputs 220 of vertically alternating subregions 30 going up and down.
- FIG. 2 shows the left-right patterns of LOCAL outputs shown in FIG. 2. That is, a different pattern of LOCAL outputs can be used instead of the pattern shown in FIG. 2 in which the upper half of the subregions 30 in each region 20 have their LOCAL outputs going to the right and the lower half have their outputs going to the left.
- An example of a different pattern would be to have vertically alternating subregions going to the left and right in terms of LOCAL output.
- FIG. 3 shows circuitry 500 associated with four representative subregions 30 (two subregions in each of two horizontally adjacent regions 20), principally for applying the output signals of those subregions to adjacent horizontal and vertical conductors and for making interconnections between adjacent horizontal and vertical conductors (e.g., so that signals can turn from horizontal to vertical conductors or vice versa) .
- FIG. 3 is similar to FIG. 6 in the last-mentioned reference. Much of what is shown in FIG. 3 is not especially important to the present invention. Those unimportant or relatively unimportant portions of FIG. 3 will therefore not be described in full detail herein, it being appreciated that the last- mentioned reference provides a full discussion (in connection with FIG. 6 of the last-mentioned reference) of all portions of this FIG. that are not described here. In addition, operation of portions of FIG. 3 that are not specifically described here can generally be inferred from the portions that are described.
- FIG. 3 The portions of FIG. 3 that are germane to the present invention are those that are associated with the two conductors 220 shown in that FIG. Initially it should be said that one of the conductors 220 shown in FIG. 3 comes from the IV output of a subregion 30 in the row above the row shown in part in that FIG., and the other of those two conductors 220 comes from the IV output of a subregion 30 in the row below the row shown in part in FIG. 3. (Although the representative circuitry shown in FIG. 3 includes four subregions 30, producing four IV output signals 220, the FIG. 3 circuitry only receives two IV input signals 220. This does not mean, however, that there is a net excess of IV outputs. The explanation for this is that there is additional similar driver circuitry 500 to the left/right of what is shown in FIG. 3 which utilizes the IV outputs that would appear to be excess if only a vertical slice like what is shown in FIG. 3 is considered.)
- Both of the IV input signals 220 to the circuitry shown in FIG. 3 are among the inputs to PLC 522.
- One of the IV input signals 220 to the circuitry shown in FIG. 3 is among the inputs to three out of six PLCs 502, 506, 530, 540, 560, and 564.
- the other IV input signal 220 to FIG. 3 is among the inputs to the other three out of the six just-mentioned PLCs.
- PLC 522 Other inputs to PLC 522 are (1) the signal from an adjacent global vertical conductor 200b, (2) the signal from an adjacent half vertical conductor
- PLC 522 is programmable (e.g., by programmable function control elements ("FCEs") that are not shown in FIG. 3, but that are like FCE 526 shown in FIG. 3 for controlling tri-state driver 524) to select any one of its input signals as its output signal.
- FCEs programmable function control elements
- the output signal of PLC 522 is applied to tri-state driver 524. If tri-state driver 524 is enabled by the associated FCE 526, driver 524 amplifies the signal it receives and applies the resulting amplified signal to one of the adjacent fast or highspeed global horizontal conductors 230b. (If tri-state driver 524 is not thus enabled by the associated FCE 526, the driver is off and looks like a high impedance to the associated conductor 230b.)
- PLC 522 of IV output signals from the row above and the row below allows PLC 522 and its associated tri-state driver 524 to be used to apply one of those IV signals from an adjacent row to a global horizontal conductor 230b associated with the row partly shown in FIG. 3.
- a subregion 30 in the row above or below the partly depicted row can effectively "steal" elements 522 and 524 from the partly depicted row and thereby become (for at least the purposes served by elements 522 and 524) like a subregion in the depicted row.
- Elements 220, 522, and 524 therefore allow a subregion 30 in an adjacent row to provide very direct drive to one of the conductors 230b in the partly depicted row.
- this IV routing is very high-speed by virtue of being through relatively large and strong tri-state driver 524 to a high-speed conductor 230b. From conductor 230b a signal can get to any of the regions 20 in the row served by that conductor. Other possible routings of the IV signals 220 provided by the FIG. 3 circuitry will now be discussed.
- one of the two IV signals received by the FIG. 3 circuitry from the two adjacent rows is applied to one input terminal of PLC 530.
- PLC 530 can select this IV signal input m lieu of any of its other inputs for application to buffer 532.
- the output signal of buffer 532 is applied to PLC 534 (e.g., a demultiplexer).
- PLC 534 is programmable to apply its input signal to any one or more of two of the adjacent normal-speed global horizontal conductors 230a and one of the adjacent normal-speed half vertical conductors 210a.
- the PLC 540 routing of one of the received IV signals 220 is similar to that just described for PLC 530, except that m the case of routing via elements 540, 542, and 544, one of the possible destinations is one of the adjacent normal-speed global vertical conductors 200a.
- the PLC 502 routing of one of the received IV signals 220 allows that IV signal to be applied to inverting buffer 504 m lieu of the other inputs to PLC 502.
- the output signal of buffer 504 is applied to one of the adjacent HNFL conductors 250 that extends to the left adjacent several other logic regions 20 from the circuitry shown m FIG. 3.
- the same IV signal 220 is also applied to one input terminal of PLC 560.
- PLC 560 can select that signal for application to inverting buffer 562 and thereby to another adjacent HNFL conductor 250 that extends to the right adjacent several other logic regions 20 from the circuitry shown m FIG. 3.
- the IV signal being discussed can be applied to a leftward extending HNFL conductor 250, a rightward extending HNFL conductor 250, or to both of those conductors.
- HNFL conductors 250 provide relatively high-speed communication -- from the associated source logic region (s) 20 to any of the logic regions 20 that they pass adjacent to -- because of the relatively short length, light loading, etc., of the HNFL conductors .
- the PLC 506 and PLC 564 IV signal routing is similar to that described for PLCs 502 and 560, except that the other of the two IV signals 220 received by the FIG. 3 circuitry is applied to PLCs 506 and 564, and different HNFL conductors 250 are driven by inverting buffers 508 and 566.
- the IV connections 220 between adjacent rows of logic regions 20 facilitate flexible formation of clusters of logic regions or subregions, as well as relatively high-speed communication within such clusters.
- a subregion 30 in one row can be clustered with (i.e., relatively directly coupled to) any of the subregions in one of the adjacent rows.
- the same is true (albeit using somewhat slower, normal-speed global horizontal conductors 230a) via elements 530/532/534 or 540/542/544.
- a subregion 30 in one row can be clustered with any of the logic regions 20 in an adjacent row served by the associated HNFL conductors 250 in the adjacent row.
- the provision of IV conductors 220 reduces the need to use longer- haul and more general-purpose vertical conductors 200 and 210 for inter-row connections. This helps to reduce the numbers of conductors 200 and 210 that must be provided on the device.
- the clustering options afforded by the above-described IV circuitry are preferably boundary-less within the array of logic regions 20.
- any logic region 20 can serve as a member of a cluster, and the cluster can extend from that logic region in substantially the same way regardless of the logic region that is chosen as the cluster member being considered. Only the physical edges of the logic region array bound the possible clusters .
- FIG. 4 An alternative embodiment of the invention which facilitates flexible clustering of subregions 30 in one row with logic regions 20 (and their subregions 30) in another adjacent row is shown in FIG. 4.
- FIGS. 2 and 3 show the horizontal interconnection conductors 230/240/250/260 associated with a typical row laterally displaced from the other circuitry of that row
- FIG. 1 is somewhat less schematic more physically accurate in that it shows the horizontal conductors and other circuitry of each row super-imposed on or interspersed with one another.
- FIG. 4 shows the horizontal conductors 230/240/250/260 in the same super-imposed or interspersed way.
- FIG. 4 the horizontal conductors 230/240/250/260 associated with each row are shown subdivided into three laterally spaced subsets, each of which preferably includes some of each type of conductor (especially some of each of conductors 230, 240, and 250) .
- FIG. 4 further shows the PLCs 270/276 nominally associated with each row and each group of logic region feeding conductors 300 shifted vertically relative to the associated row so that some of the inputs to those PLCs come from the horizontal conductors 230/240 etc. associated with one of the rows that is adjacent to the row with which the PLCs 270/276 are nominally associated.
- the PLCs 270/276 that feed the conductors 300 to the left of that logic region receive their inputs from the lower two subsets of the horizontal conductors 230/240 etc. associated with row N and from the upper-most subset of the horizontal conductors 230/240 etc. associated with the row below row N (i.e., row N+l) .
- This arrangement makes it possible to feed signals from row N+l to any of the subregions 30 in the exemplary region 20 being discussed very directly and without having to make use of the vertical interconnection resources (e.g., elements 200/210) of the device.
- the PLCs 270/276 that feed the conductors 300 to the right of the left-most logic region 20 shown in row N in FIG. 4 receive their inputs from the upper two subsets of the horizontal conductors 230/240 etc. associated with row N and from the lower-most subset of the horizontal conductors 230/240 etc. associated with the row above row N (i.e., row N-1) .
- each PLC group 270/276 is interleaved between two logic regions 20 (one region to the left and one region to the right) as is described more fully above in connection with FIG. 2, the inputs to each group 270/276 from the adjacent row are available to both regions 20 served by that group 270/276 and its associated conductors 300.
- FIG. 5 A possible alternative to shifting the groups of PLCs 270/276 as shown in FIG. 4 is shown in FIG. 5.
- FIG. 5 alternative at least some of the region- feeding conductors 300 interleaved between each horizontally adjacent pair of logic regions 20 in each row extend into the row above or below that row for programmably selectable connection to the horizontal conductors 230/240/250/260 associated with that other row.
- the conductors 300a that serve any two adjacent logic regions 20 in the upper row (“row N" ) in FIG. 5 can receive signals (via PLCs 270/276) from both the conductors 230/240/250/260 associated with row N and the conductors 230/240/250/260 associated with the row below row N (i.e., "row N+l") .
- the conductors 300b that serve any two adjacent logic regions 20 in row N+l in FIG. 5 can receive signals (via PLCs 270/276) from both the conductors 230/240/250/260 associated with row N+l and the conductors 230/240/250/260 associated with row N.
- rows N and N+l can be continued to other adjacent rows (e.g., as shown by the dotted line conductors 300c and the dotted extensions of conductors 300a extending from row N to row N-1 (not shown) , and as shown by the dotted line conductors 300d and the dotted extensions of conductors 300b extending from row N+l to row N+2 (not shown) .
- arrangements of the type shown in FIG. 5 facilitate direct clustering of a logic region 20 in one row with logic regions in an adjacent row without the need to use other vertical interconnection resources such as elements 200 and 210 to provide inter-row - 1 9 -
- the clustering options afforded by FIG. 5 are high-speed and flexible (e.g., they can be essentially boundary-less within the array of logic 5 regions 20) .
- the HNFL conductors 250 that have already been occasionally mentioned also facilitate flexible clustering of logic regions 20 without recourse to the general interconnection conductor resource network in
- FIG. 6 shows that typical HNFL conductors 250 originate at a driver block 500 (FIG. 3) associated
- each HNFL conductor 250 may extend four or
- region-feeding conductors 300 associated with the region-feeding conductors 300 between at least some of the horizontally adjacent logic regions 20 that the HNFL conductors 250 pass, can apply the HNFL conductor signals to those region-feeding conductors
- FIG. 6 shows the PLC groups 270/276 associated with only every other region- feeding conductor group 300 being able to make such connections from the HNFL conductors 250. This helps reduce the loading on the HNFL conductors, thereby helping to increase the operating speed of those conductors. As an alternative, however, all PLC groups 270/276 may have the capability of making connections from the HNFL conductors.
- FIG. 7 shows a representative PLC group 270/276 in more detail.
- FIG. 7 is similar to FIG. 3 in the last-mentioned reference. Accordingly, only the portion of FIG. 7 that is particularly pertinent to the present invention will be described in full detail herein.
- FIG. 7 shows that one or more of the HNFL conductors served by a PLC 276 can be applied to input terminals of that PLC.
- PLC 276 is programmable (by FCEs that are not shown but that can be similar to FCEs 272) to apply any one of its inputs to inverting buffer 278 and thereby to a region-feeding conductor 300.
- the HNFL conductor (s) are connected substantially directly to relatively small, downstream PLC 276, thereby effectively bypassing upstream PLCs 270 (which can select signals from other conductors 230, 240, and 260 associated with the row that includes PLCs 270/276) .
- HNFL conductors 250 these conductors facilitate flexible high-speed clustering of nearby logic regions due to such characteristics as the following: (1) there is only a single source for the signal on each HNFL conductor (i.e., the driver block 500 associated with the pair of logic regions 20 near the midpoint of a left- and right-extending pair of HNFL conductors 250) , (2) the HNFL conductors are relatively short, (3) the HNFL conductor signals are applied to region-feeding conductors 300 via downstream PLCs 276 that bypass other upstream PLCs 270, and (4) the PLC groups 270/276 connect the HNFL conductors to only certain groups of region-feeding conductors 300 that the HNFL conductors pass.
- each leftwardly extending HNFL conductor 250 is effectively paired with a rightwardly extending conductor 250. Both conductors in each such pair can be driven by the same signal, or different signals can be applied to each conductor in any pair.
- the sources of the HNFL signals are subregion 30 output signals, interleaved conductor 220 signals, and fast vertical interconnection conductor 210b signals.
- FIG. 8 shows an illustrative embodiment of another type of conductor arrangement that facilitates flexible, close, and direct (i.e., high-speed) association of nearby logic regions 20 without having to make use of the more general interconnection resources of the device.
- at least some of the region-feeding conductors 300 interleaved between each horizontally adjacent pair of logic regions 20 in the center row have relatively direct programmable connections 276a to at least some of the region-feeding conductors 300 interleaved between the logic regions above and below the first-mentioned logic regions.
- At least some of the local feedback conductors 310 interleaved between each horizontally adjacent pair of logic regions 20 in the center row have relatively direct programmable connections 276b to at least some of the region-feeding conductors 300 interleaved between the logic regions above and below the first-mentioned logic regions.
- Programmable connections 276a and 276b may be additional inputs to downstream (and therefore relatively fast) PLCs 276 in FIG. 7.
- connections 276a and 276b may be programmably controlled (e.g., by FCEs) pass gates or transistors between the conductors 300/310 associated with those connections 276a/276b. Such pass gates or transistors are also sometimes referred to herein as PLCs.
- Connections 276a allow a signal applied to a region-feeding conductor 300 associated with the center row (e.g., from any of the conductors 230/240/250/260 associated with the center row) to be applied not only to the center row logic regions 20 to the left and/or right of that conductor 300, but also to the adjacent logic regions 20 above and/or below those logic regions (i.e., in the adjacent rows above and below the center row) .
- connections 276b allow a signal applied to a local feedback conductor 310 associated with the center row (i.e., from the associated subregion 30 in a region to the left or right of that conductor 310) to be applied not only to the center row logic regions to the left and/or right of that conductor 310, but also to the adjacent logic regions 20 above and/or below those logic regions (i.e., in the adjacent rows above and below the center row) .
- Connections 276a and 276b therefore facilitate rapid and close association of logic regions that are generally vertically adjacent to one another.
- connections 276a facilitate application of the same signals (from the conductors 230/240/250/260 associated with the center row) to vertically adjacent logic regions 20.
- Connections 276b facilitate application of signals from center row logic regions 20 to other vertically adjacent logic regions 20.
- connections 276a and/or 276b may be varied as desired. Whereas FIG. 8 only shows signals flowing from center row conductors 300/310 to vertically adjacent row conductors 300, it will be understood that similar connections can be provided for allowing signal flow in the opposite direction or in other patterns or ways between vertically adjacent rows .
- FIG. 9 illustrates a programmable logic device 10 of this invention in a data processing system 1002.
- Data processing system 1002 may include one or more of the following components: a processor 1004; memory 1006; I/O circuitry 1008; and peripheral devices 1010. These components are coupled together by a system bus 1020 and are populated on a circuit board 1030 which is contained in an end-user system 1040.
- System 1002 can be used in a wide variety of applications, such as computer networking, data networking, instrumentation, video processing, digital signal processing, or any other application where the advantage of using programmable or reprogrammable logic is desirable.
- Programmable logic device 10 can be used to perform a variety of different logic functions.
- programmable logic device 10 can be configured as a processor or controller that works in cooperation with processor 1004.
- Programmable logic device 10 may also be used as an arbiter for arbitrating access to a shared resource in system 1002.
- programmable logic device 10 can be configured as an interface between processor 1004 and one of the other components in system 1002. It should be noted that system 1002 is only exemplary, and that the true scope and spirit of the invention should be indicated by the following claims .
- each PLC can be a relatively simple programmable connector such as a switch or a plurality of switches for connecting any one of several inputs to an output.
- each PLC can be a somewhat more complex element which is capable of performing logic (e.g., by logically combining several of its inputs) as well as making a connection.
- each PLC can be product term logic, implementing functions such as AND, NAND, OR, or NOR.
- FCEs programmable, function control elements
- FCEs can also be implemented in any of several different ways.
- FCEs can be SRAMs, DRAMs, first-in first-out ("FIFO") memories, EPROMs, EEPROMs, function control registers (e.g., as in Wahlstrom U.S. patent 3,473,160), ferro-electric memories, fuses, antifuses, or the like. From the various examples mentioned above it will be seen that this invention is applicable to both one-time-only programmable and reprogrammable devices .
- the numbers of the various types of resources on device 10 can be different from the numbers present in the depicted and described illustrative embodiments. This applies to such parameters as the numbers of rows and columns of the various types of circuitry, the number of subregions 30 in each region 20, the numbers of the various types of interconnection conductors, the numbers and sizes of the PLCs provided for making interconnections between various types of interconnection conductors, etc.
- look-up table logic is employed in the illustrative embodiments shown and described herein, it will be understood that other types of logic may be used instead if desired.
- sum-of-products logic such as is the primary example considered in references like Pederson et al. U.S. patent 5,241,224 and Patel et al .
- U.S. patent 5,371,422 both of which are hereby incorporated by reference herein in their entireties, may be used instead of look-up table logic.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00916005A EP1078463B1 (en) | 1999-03-04 | 2000-03-02 | Interconnection resources for programmable logic integrated circuit devices |
JP2000603149A JP2002538633A (en) | 1999-03-04 | 2000-03-02 | Interconnect resources for programmable logic integrated circuit devices |
DE60012639T DE60012639T2 (en) | 1999-03-04 | 2000-03-02 | CONNECTION RESOURCES FOR PROGRAMMABLE LOGICAL INTEGRATED CIRCUITS |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12278899P | 1999-03-04 | 1999-03-04 | |
US60/122,788 | 1999-03-04 | ||
US14243199P | 1999-07-06 | 1999-07-06 | |
US60/142,431 | 1999-07-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000052825A1 true WO2000052825A1 (en) | 2000-09-08 |
WO2000052825A9 WO2000052825A9 (en) | 2001-11-29 |
Family
ID=26820891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/005488 WO2000052825A1 (en) | 1999-03-04 | 2000-03-02 | Interconnection resources for programmable logic integrated circuit devices |
Country Status (5)
Country | Link |
---|---|
US (7) | US6342792B1 (en) |
EP (1) | EP1078463B1 (en) |
JP (1) | JP2002538633A (en) |
DE (1) | DE60012639T2 (en) |
WO (1) | WO2000052825A1 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002538633A (en) | 1999-03-04 | 2002-11-12 | アルテラ・コーポレーション | Interconnect resources for programmable logic integrated circuit devices |
US6636930B1 (en) * | 2000-03-06 | 2003-10-21 | Actel Corporation | Turn architecture for routing resources in a field programmable gate array |
US7170315B2 (en) * | 2003-07-31 | 2007-01-30 | Actel Corporation | Programmable system on a chip |
US7132852B2 (en) * | 2004-04-14 | 2006-11-07 | Altera Corporation | Routing architecture with high speed I/O bypass path |
WO2006076276A2 (en) * | 2005-01-14 | 2006-07-20 | Velogix, Inc. | Configurable dedicated logic cells in programmable logic and routing blocks with dedicated lines and local connections |
US7176717B2 (en) * | 2005-01-14 | 2007-02-13 | Velogix, Inc. | Programmable logic and routing blocks with dedicated lines |
US7358765B2 (en) * | 2005-02-23 | 2008-04-15 | Cswitch Corporation | Dedicated logic cells employing configurable logic and dedicated logic functions |
US8161469B1 (en) * | 2005-12-13 | 2012-04-17 | Altera Corporation | Method and apparatus for comparing programmable logic device configurations |
US7619443B1 (en) | 2006-02-16 | 2009-11-17 | Altera Corporation | Programmable logic device architectures and methods for implementing logic in those architectures |
US20080074142A1 (en) * | 2006-09-25 | 2008-03-27 | Alex Henderson | Routing for Microprocessor Busses |
US7724031B2 (en) * | 2007-03-21 | 2010-05-25 | Altera Corporation | Staggered logic array block architecture |
US7830179B2 (en) * | 2007-11-22 | 2010-11-09 | Samsung Electronics Co., Ltd. | Multi-functional logic gate device and programmable integrated circuit device using the same |
KR101420817B1 (en) | 2008-01-15 | 2014-07-21 | 삼성전자주식회사 | Semiconductor Integrated Circuit Device Electrically Connecting Integrated Circuit Modules Stacked Sequentially With 3-Dimensional Serial And Parallel Circuits And Method Of Forming The Same |
US8255702B1 (en) | 2009-12-03 | 2012-08-28 | Altera Corporation | Programmable logic device with improved security |
JP5704240B2 (en) * | 2011-08-12 | 2015-04-22 | 株式会社デンソー | Integrated circuit |
JP6236217B2 (en) * | 2012-05-01 | 2017-11-22 | 株式会社半導体エネルギー研究所 | Look-up table and programmable logic device comprising the look-up table |
US9571103B2 (en) | 2012-05-25 | 2017-02-14 | Semiconductor Energy Laboratory Co., Ltd. | Lookup table and programmable logic device including lookup table |
JP6250955B2 (en) * | 2012-05-25 | 2017-12-20 | 株式会社半導体エネルギー研究所 | Driving method of semiconductor device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255203A (en) * | 1989-08-15 | 1993-10-19 | Advanced Micro Devices, Inc. | Interconnect structure for programmable logic device |
GB2305759A (en) * | 1995-09-30 | 1997-04-16 | Pilkington Micro Electronics | Semi-conductor integrated circuit |
GB2318663A (en) * | 1996-10-25 | 1998-04-29 | Altera Corp | Hierarchical interconnect for programmable logic devices |
WO1998043354A1 (en) * | 1997-03-24 | 1998-10-01 | Xilinx, Inc. | Fpga repeatable interconnect structure |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3473160A (en) | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US5343406A (en) * | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
US5241224A (en) | 1991-04-25 | 1993-08-31 | Altera Corporation | High-density erasable programmable logic device architecture using multiplexer interconnections |
US5371422A (en) | 1991-09-03 | 1994-12-06 | Altera Corporation | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements |
US5414377A (en) * | 1992-12-21 | 1995-05-09 | Xilinx, Inc. | Logic block with look-up table for configuration and memory |
US5455525A (en) * | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
US5689195A (en) | 1995-05-17 | 1997-11-18 | Altera Corporation | Programmable logic array integrated circuit devices |
US5963049A (en) | 1995-05-17 | 1999-10-05 | Altera Corporation | Programmable logic array integrated circuit architectures |
US5592106A (en) | 1995-05-17 | 1997-01-07 | Altera Corporation | Programmable logic array integrated circuits with interconnection conductors of overlapping extent |
US5543732A (en) | 1995-05-17 | 1996-08-06 | Altera Corporation | Programmable logic array devices with interconnect lines of various lengths |
US5541530A (en) | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5614840A (en) | 1995-05-17 | 1997-03-25 | Altera Corporation | Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors |
US5909126A (en) | 1995-05-17 | 1999-06-01 | Altera Corporation | Programmable logic array integrated circuit devices with interleaved logic array blocks |
US5694058A (en) | 1996-03-20 | 1997-12-02 | Altera Corporation | Programmable logic array integrated circuits with improved interconnection conductor utilization |
US5872463A (en) | 1996-04-04 | 1999-02-16 | Altera Corporation | Routing in programmable logic devices using shared distributed programmable logic connectors |
JPH09328513A (en) * | 1996-04-09 | 1997-12-22 | Mitsui Petrochem Ind Ltd | Production of solid titanium catalyst component, olefin polymerization catalyst and olefin polymerization method |
US5880597A (en) | 1996-09-18 | 1999-03-09 | Altera Corporation | Interleaved interconnect for programmable logic array devices |
US5977793A (en) * | 1996-10-10 | 1999-11-02 | Altera Corporation | Programmable logic device with hierarchical interconnection resources |
US5999015A (en) * | 1997-02-20 | 1999-12-07 | Altera Corporation | Logic region resources for programmable logic devices |
US6150837A (en) * | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
US6184710B1 (en) * | 1997-03-20 | 2001-02-06 | Altera Corporation | Programmable logic array devices with enhanced interconnectivity between adjacent logic regions |
US6107824A (en) * | 1997-10-16 | 2000-08-22 | Altera Corporation | Circuitry and methods for internal interconnection of programmable logic devices |
US6091263A (en) * | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
US6507216B1 (en) * | 1998-11-18 | 2003-01-14 | Altera Corporation | Efficient arrangement of interconnection resources on programmable logic devices |
US6215326B1 (en) | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
EP1092268B1 (en) | 1999-03-04 | 2008-04-23 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
US6407576B1 (en) * | 1999-03-04 | 2002-06-18 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
JP2002538633A (en) | 1999-03-04 | 2002-11-12 | アルテラ・コーポレーション | Interconnect resources for programmable logic integrated circuit devices |
US6323680B1 (en) * | 1999-03-04 | 2001-11-27 | Altera Corporation | Programmable logic device configured to accommodate multiplication |
EP1177631B1 (en) * | 1999-05-07 | 2005-12-28 | Infineon Technologies AG | Heterogeneous programmable gate array |
US6567968B1 (en) * | 2000-03-06 | 2003-05-20 | Actel Corporation | Block level routing architecture in a field programmable gate array |
US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US6781408B1 (en) * | 2002-04-24 | 2004-08-24 | Altera Corporation | Programmable logic device with routing channels |
US6870395B2 (en) * | 2003-03-18 | 2005-03-22 | Lattice Semiconductor Corporation | Programmable logic devices with integrated standard-cell logic blocks |
US7071732B1 (en) * | 2003-12-09 | 2006-07-04 | Xilinx, Inc. | Scalable complex programmable logic device with segmented interconnect resources |
-
2000
- 2000-03-02 JP JP2000603149A patent/JP2002538633A/en active Pending
- 2000-03-02 DE DE60012639T patent/DE60012639T2/en not_active Expired - Lifetime
- 2000-03-02 US US09/518,009 patent/US6342792B1/en not_active Expired - Lifetime
- 2000-03-02 US US09/517,146 patent/US6366120B1/en not_active Expired - Lifetime
- 2000-03-02 WO PCT/US2000/005488 patent/WO2000052825A1/en active IP Right Grant
- 2000-03-02 EP EP00916005A patent/EP1078463B1/en not_active Expired - Lifetime
-
2001
- 2001-12-14 US US10/017,199 patent/US6525564B2/en not_active Expired - Lifetime
-
2002
- 2002-11-18 US US10/299,572 patent/US6727727B2/en not_active Expired - Fee Related
-
2004
- 2004-03-09 US US10/797,484 patent/US6897680B2/en not_active Expired - Lifetime
-
2005
- 2005-03-22 US US11/087,377 patent/US7123052B2/en not_active Expired - Fee Related
-
2006
- 2006-09-01 US US11/514,692 patent/US7262635B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255203A (en) * | 1989-08-15 | 1993-10-19 | Advanced Micro Devices, Inc. | Interconnect structure for programmable logic device |
GB2305759A (en) * | 1995-09-30 | 1997-04-16 | Pilkington Micro Electronics | Semi-conductor integrated circuit |
GB2318663A (en) * | 1996-10-25 | 1998-04-29 | Altera Corp | Hierarchical interconnect for programmable logic devices |
WO1998043354A1 (en) * | 1997-03-24 | 1998-10-01 | Xilinx, Inc. | Fpga repeatable interconnect structure |
Also Published As
Publication number | Publication date |
---|---|
US7262635B2 (en) | 2007-08-28 |
US6342792B1 (en) | 2002-01-29 |
US7123052B2 (en) | 2006-10-17 |
DE60012639T2 (en) | 2005-08-04 |
EP1078463A1 (en) | 2001-02-28 |
DE60012639D1 (en) | 2004-09-09 |
WO2000052825A9 (en) | 2001-11-29 |
US20050218930A1 (en) | 2005-10-06 |
US6525564B2 (en) | 2003-02-25 |
JP2002538633A (en) | 2002-11-12 |
US6727727B2 (en) | 2004-04-27 |
US20020041192A1 (en) | 2002-04-11 |
US6366120B1 (en) | 2002-04-02 |
US20040222818A1 (en) | 2004-11-11 |
US20030071654A1 (en) | 2003-04-17 |
US20070080710A1 (en) | 2007-04-12 |
US6897680B2 (en) | 2005-05-24 |
EP1078463B1 (en) | 2004-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7123052B2 (en) | Interconnection resources for programmable logic integrated circuit devices | |
US5982195A (en) | Programmable logic device architectures | |
US6396304B2 (en) | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks | |
US6747480B1 (en) | Programmable logic devices with bidirect ional cascades | |
US5614840A (en) | Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors | |
US5541530A (en) | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks | |
US5999016A (en) | Architectures for programmable logic devices | |
US6181160B1 (en) | Programmable logic device with hierarchical interconnection resources | |
US6335634B1 (en) | Circuitry and methods for internal interconnection of programmable logic devices | |
US5543732A (en) | Programmable logic array devices with interconnect lines of various lengths | |
US5835998A (en) | Logic cell for programmable logic devices | |
US6300794B1 (en) | Programmable logic device with hierarchical interconnection resources | |
US5900743A (en) | Programmable logic array devices with interconnect lines of various lengths | |
GB2300951A (en) | Programmable logic array with overlapping interconnection conductors | |
US6670825B1 (en) | Efficient arrangement of interconnection resources on programmable logic devices | |
US6384625B1 (en) | Programmable logic devices with enhanced multiplexing capabilities | |
US6320411B1 (en) | Programmable logic array devices with enhanced interconnectivity between adjacent logic regions | |
US6225823B1 (en) | Input/output circuitry for programmable logic devices | |
WO2000052826A2 (en) | Interconnection and input/output resources for programmable logic integrated circuit devices | |
US5565793A (en) | Programmable logic array integrated circuit devices with regions of enhanced interconnectivity | |
EP1465345A2 (en) | Interconnection resources for programmable logic integrated circuit devices | |
US6121790A (en) | Programmable logic device with enhanced multiplexing capabilities in interconnect resources | |
GB2325072A (en) | Programmable logic array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2000916005 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2000916005 Country of ref document: EP |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1/9-9/9, DRAWINGS, REPLACED BY NEW PAGES 1/9-9/9; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
WWG | Wipo information: grant in national office |
Ref document number: 2000916005 Country of ref document: EP |