EP0575050A1 - Clock distribution scheme for user-programmable logic array architecture - Google Patents

Clock distribution scheme for user-programmable logic array architecture Download PDF

Info

Publication number
EP0575050A1
EP0575050A1 EP93303768A EP93303768A EP0575050A1 EP 0575050 A1 EP0575050 A1 EP 0575050A1 EP 93303768 A EP93303768 A EP 93303768A EP 93303768 A EP93303768 A EP 93303768A EP 0575050 A1 EP0575050 A1 EP 0575050A1
Authority
EP
European Patent Office
Prior art keywords
clock
user
clock distribution
input
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP93303768A
Other languages
German (de)
French (fr)
Inventor
Khaled A. El Ayat
King W. Chan
William C. Plants
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsemi SoC Corp
Original Assignee
Actel Corp
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 Actel Corp filed Critical Actel Corp
Publication of EP0575050A1 publication Critical patent/EP0575050A1/en
Withdrawn legal-status Critical Current

Links

Images

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/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Definitions

  • the present invention relates to field programmable logic and interconnect architectures. More specifically, the present invention relates to a clock distribution architecture for use in field programmable interconnect architectures.
  • Antifuse-based user programmable logic and interconnect architectures such as those manufactured by Actel Corporation of Sunnyvale, California and disclosed in United States patents 4,758,745, 4,870,302, 4,910,417, and 5,055,718 are very useful circuit building blocks since they allow the user to configure a circuit as needed for a particular application.
  • Other user-configurable architectures such as the XC-4000 Series of Field Programmable Gate Array (FPGA) products manufactured by Xilinx, Inc., and the 7000 Series FPGA products manufactured by Altera Corporation are useful for the same general applications. Configuration of these circuits is performed by the user in his own environment using one of a number of different types of programmable interconnect elements. Architectures such as those noted above allow the configuration of both combinational and sequential circuits as needed. The function of the circuit elements and the required interconnect pattern to configure the circuit to the desired circuit application are simply programmed into the circuit.
  • a common problem encountered with architectures which employ this approach is the delay introduced into the circuit paths between logic circuit modules by the interconnect elements themselves. This delay is due to the resistance and capacitances associated with the interconnect element and architecture and has heretofore been accepted as the price to be paid for user programmability.
  • Masked gate arrays have significantly lower interconnect delays than do their user-programmable counterparts because the resistive and capacitive component of the interconnect is significantly smaller.
  • the delays in the circuit and the propagation delays of the logic function unit modules themselves determine the overall speed or performance of the masked gate array application circuit.
  • clock networks must be handled separately and in a different manner than interconnect for other circuit networks.
  • some architectures like the one employed by the Xilinx XC-4000 Series products and the Altera series of EPLDs, have employed dedicated clock distribution networks which do not contain any user-programmable elements in the clock paths.
  • a clock distribution scheme for an integrated circuit user-programmable logic array architecture includes at least one clock input pin on the integrated circuit, a buffering means including at least one buffer amplifier, the output of the buffering means driving a plurality of clock distribution lines.
  • An inverting buffering means is connected to the output of the buffering means and drives a plurality of complementary row clock distribution lines.
  • a multiplexer is provided upstream from the clock input of each sequential logic element in the array for connecting either a clock distribution line, a complementary clock signal, or a signal line connectable to at least one general interconnect line through a user-programmable element.
  • the signal line input of the multiplexer may be connectable to a second clock input pin on the integrated circuit as well as to general interconnect lines.
  • a clocking scheme according to the present invention has superior performance characteristics and lower power consumption compared with other techniques.
  • a dedicated programmable clock network is distributed throughout the logic array and can be programmably connected to the clock input of any logic element in the array.
  • FIG. 1 a typical prior art clock distribution network is shown in schematic diagram form.
  • the prior art clock distribution network in FIG. 1 may be used in an array including a plurality of logic function units arranged in rows and columns. For simplicity, a single row is shown populated with logic function units 1a-1c in FIG. 1, but those of ordinary skill in the art will recognize that the second and third row positions are likewise populated .
  • An off-chip clock signal is first fed into the integrated circuit from an input pad 2.
  • the clock signal is then buffered and distributed to every row or column in the architecture using separate clock drive buffers 3a-3c and clock rails 4a-4c for each row or column of the array.
  • the row (or column)-buffered clock signal may then be selectively programmably connected to one or more logic function units in the row or column which require the clock signal by simply programming an appropriate programmable element, such as an antifuse or transistor. Exemplary elements are shown as circles 5.
  • the programming path which is subjected to high voltage programming pulses must be isolated from any of the remainder of the circuits, such as drivers and logic circuit modules, which cannot withstand these voltages.
  • Drivers and circuit modules are typically designed with low voltage transistors which operate in the 3-5 volt range because such devices have better performance characteristics than high voltage transistors.
  • the low voltage circuits must be isolated from the high voltage circuits to avoid breakdown of the low voltage circuits while still attaining the high performance benefits of low voltage transistors. Such isolation may be provided by the isolation transistors 6 in FIG. 1.
  • FIG. 2 another prior art clock distribution network is shown in schematic diagram form. For simplicity, only one logic function unit 1a is shown.
  • the off-chip clock signal is first fed into the integrated circuit from an input pad 2.
  • the clock signal is then buffered and distributed to every row or column in the architecture using separate clock drive buffers 3a-3c for each row (or column) of the array.
  • the low voltage circuits of the clock driver circuits of FIG. 2 must be isolated by isolation transistors 6 from the high voltage programming circuits to avoid breakdown of the low voltage circuits by the isolation transistors between the row or column driver buffer outputs and the clock lines.
  • the clock distribution network of FIG. 2 is different from the network of FIG. 1 in two ways. First, the outputs of all buffers 3a-3c are shorted together at their outputs. This scheme allows a more even distribution of the clock loads among the clock drivers since different rows or columns are likely to have different loads. Tying the outputs of the buffers together helps minimize the clock skew between lightly-loaded row or column and a heavily-loaded row or column.
  • the second difference between the clock distribution network of FIG. 2 and that of FIG. 1 is that the buffers 3a-3c are laid out to drive each row or column from a central point instead of one end of the row or column as in conventional schemes.
  • FIG. 3 an illustrative clock distribution network according to a preferred embodiment of the present invention is shown in schematic diagram form superimposed on an array of user-programmable logic elements disposed in a user-configurable interconnect architecture.
  • the array of FIG. 3 comprises a 3x3 array and is, in that respect, illustrative only, since those of ordinary skill in the art will readily recognize that the present invention is applicable to arrays of arbitrary size.
  • the illustrative environment of the present invention in FIG. 1 includes an array of logic function modules, which are preferably user-programmable to define their individual functions. Some or all of the logic function modules may include sequential elements, such as flip-flops, latches, etc., which have clock inputs requiring clock signals.
  • the array 10 of FIG. 1 is shown including three rows. A first row includes logic function unit modules 12a, 12b, and 12c. Second and third rows of array 10 include logic function modules 12d, 12e, and 12f, and 12g, 12h, and 12i, respectively.
  • Array 10 also includes a general interconnect architecture comprising a plurality of conductors which may be joined together by user-programmable elements, such as antifuses, RAM cells driving pass-gates, pass-transistors or other switching transistors, or the like.
  • the general interconnect architecture is illustrated in FIG. 3 by the sets of horizontal conductors 14a-14c, disposed under the logic function unit modules in the first row, horizontal conductors 16a-16c, disposed under the logic function unit modules in the second row, and horizontal conductors 18a-18c, disposed under the logic function unit modules in the third. row.
  • programmable elements 20 may be any one of a number of known user-programmable interconnect devices. To avoid overcomplicating the drawing, not all programmable elements 20 are labeled with reference numerals.
  • a typical general interconnect architecture will also include sets of vertical conductors. These sets of vertical conductors are represented by an illustrative set of vertical conductors 22a-22c, located to the right of the last column of the array 10 comprising logic function unit modules 12c, 12f, and 12i. In an actual array, there will be a plurality of sets of vertical conductors distributed throughout the array, including between and perhaps above each column of logic function unit modules, but they are not shown here to avoid overcomplicating the drawing figure. Like the sets of horizontal conductors, certain of the vertical conductors 22a-22c are divided into smaller lengths and may be joined together using user-programmable interconnect elements 20. In addition, selected intersections of horizontal and vertical conductors are populated with user-programmable interconnect elements.
  • the clock signal of the present invention is distributed to every row and to every sequential element.
  • a universal clock signal may be furnished to the integrated circuit of which array 10 is a part via an input/output pad 24.
  • the clock signal is then suitably buffered, as shown by buffers 26 and 28.
  • buffers 26 and 28 are merely one way of providing clock buffering and that other schemes will readily suggest themselves.
  • clock input buffers 26 and 28 The output of clock input buffers 26 and 28 is furnished to row clock lines 30a, 30b, and 30c.
  • column clock lines could be used as well, and that other distribution regimes are possible.
  • the purpose of the clock distribution lines is to provide a potential source of clock signals for each logic element in the logic function unit module array 10. While the embodiment illustrated in FIG. 3 shows row clock lines, those of ordinary skill in the art will recognize that column clock lines could be used as well and that the selection of a particular arrangement should be made such that the optimum distribution characteristics, i.e., resistance, and capacitance, are attained.
  • each multiplexer 32a-32i has three inputs. A first input is connected to the one of row clock lines 30a-30c associated with its row. A second input of each of multiplexers 32a-32i is connected to its row clock line through an inverter 34a-34i.
  • an individual inverter need not be supplied for each multiplexer but that one inverter may serve more than one multiplexer.
  • a third input to multiplexers 32a-32i are conductors 36a-36i.
  • Each of these conductors forms intersections with a plurality of general interconnect conductors.
  • the intersections are populated with user-programmable interconnect elements 20.
  • the conductors 36a-36c form intersections with segments of general interconnect conductors 14a-14c.
  • the conductors 36d-36f form intersections with segments of general interconnect conductors 16a-16c
  • the conductors 36g-36i form intersections with segments of general interconnect conductors 18a-18c.
  • clock distribution architecture of the present invention is the provision of the potential to route a second off-chip clock signal to each sequential element on the integrated circuit containing array 10. Accordingly, input/output pin 38 is connected through buffers 40 and 42 and user-programmable interconnect elements to general interconnect lines 14c, 16c, and 18c.
  • Multiplexers 32a-32i each are shown having two control lines 44a-44i and 46a-46i, which may be used to control which of their first, second, or third inputs is passed through to their outputs and thus to the clock inputs of their respective logic function unit modules.
  • Each control line 44a-44i and 46a-46i is shown intersecting a V CC line 48 and a ground line 50 as well as the general interconnect lines 14a-14c, 16a-16c and 18a-18c for their respective rows.
  • the intersections of the control lines with the V CC , ground and general interconnect lines are populated with user-programmable interconnect elements, which may be programmed to individually select the clock source for each logic function unit module 12a-12i.
  • the clock signal path to any logic function unit module 12a-12i comprises the input/output pad 24, input buffers 26 and 28, distribution wires, a multiplexer 32a-32i, and the clock input node of the sequential element.
  • Low-voltage transistors provide better performance compared with high-voltage transistors because they have thinner oxide isolation layers and shallower junctions with lower capacitance.
  • clock distribution lines are physically laid out in a manner which optimize their capacitance, resistance, and metal current electromigration requirements.
  • FIG. 4 a top view of a metal interconnect layer is superimposed on a block diagram of a logic module array showing only the logic modules, multiplexers, and inverters to illustrate a preferred layout of clock lines 30a, 30b, and 30c according to the present invention.
  • clock lines 30a, 30b, and 30c are formed from conductors in a metal layer which taper from a first width at the distribution bus end to a second narrower width at the distal end thereof.
  • the clock distribution conductors 30a, 30b, and 30c comprise a second layer metal and branch, out from a metal bus line having a width of between about 16-20 microns.
  • Each of clock distribution conductors 30a, 30b, and 30c have a starting width of about 10.4 microns and linearly taper to a width of about 4 microns at their distal ends.
  • the clock distribution conductors 30a, 30b, and 30c are shown driven by buffers 52a-52d.

Abstract

A clock distribution architecture is disclosed for use in a user-programmable logic array integrated circuit comprising an array of user-programmable logic elements having inputs and outputs, at least some of the user-programmable logic elements including sequential logic elements having clock inputs, and further including a plurality of general interconnect lines which may be connected to one another and to the inputs and outputs of the logic elements. The clock distribution architecture includes at least one clock input pin on the integrated circuit, a plurality of clock distribution lines disposed in the array, at least one buffer amplifier having an input connected to the clock input pin and an output connected to at least one of the clock distribution lines. At least one inverter has an input connected to at least one of the clock distribution lines, and an output. A multiplexer is associated with each of the sequential logic elements, each of the multiplexers has a first input connected to one of the clock distribution lines, a second input connected to the output of the inverter, and a third input connected to a clock signal line connectable to at least one of the general interconnect line through a user-programmable element, an output connected to the clock input of the sequential element with which it is associated and control inputs selecting which of the first, second, and third inputs is connected to the output.

Description

    BACKGROUND OF THE INVENTION 1. Field Of The Invention
  • The present invention relates to field programmable logic and interconnect architectures. More specifically, the present invention relates to a clock distribution architecture for use in field programmable interconnect architectures.
  • 2. The Prior Art
  • Antifuse-based user programmable logic and interconnect architectures such as those manufactured by Actel Corporation of Sunnyvale, California and disclosed in United States patents 4,758,745, 4,870,302, 4,910,417, and 5,055,718 are very useful circuit building blocks since they allow the user to configure a circuit as needed for a particular application. Other user-configurable architectures, such as the XC-4000 Series of Field Programmable Gate Array (FPGA) products manufactured by Xilinx, Inc., and the 7000 Series FPGA products manufactured by Altera Corporation are useful for the same general applications. Configuration of these circuits is performed by the user in his own environment using one of a number of different types of programmable interconnect elements. Architectures such as those noted above allow the configuration of both combinational and sequential circuits as needed. The function of the circuit elements and the required interconnect pattern to configure the circuit to the desired circuit application are simply programmed into the circuit.
  • A common problem encountered with architectures which employ this approach is the delay introduced into the circuit paths between logic circuit modules by the interconnect elements themselves. This delay is due to the resistance and capacitances associated with the interconnect element and architecture and has heretofore been accepted as the price to be paid for user programmability.
  • Masked gate arrays have significantly lower interconnect delays than do their user-programmable counterparts because the resistive and capacitive component of the interconnect is significantly smaller. The delays in the circuit and the propagation delays of the logic function unit modules themselves determine the overall speed or performance of the masked gate array application circuit.
  • Since typical application circuits in such architectures include sequential elements, such as flip-flops and latches, programmably connectable clocking capability is required to interconnect clocks to the clock inputs of each latch and flip flop in the circuit to correctly operate the sequential circuits. Typical application circuits require only a few clocks in the entire circuit which are common and shared by all sequential elements. Application circuits employing a single clock network providing for complementary system clocks, such as the Xilinx XC-4000 series FPGA and the Altera series of EPLDs, are known in the art.
  • Due to the interconnect delay inherent in general routing and interconnect and the need to avoid timing violations, clock networks must be handled separately and in a different manner than interconnect for other circuit networks. In order to minimize the inherent delay in clock distribution networks, some architectures, like the one employed by the Xilinx XC-4000 Series products and the Altera series of EPLDs, have employed dedicated clock distribution networks which do not contain any user-programmable elements in the clock paths.
  • Despite the existence of the above-named products and similar products, there remains room for improvement in the organization, speed and versatility of clock network architectures for use in user-programmable integrated circuit products.
  • It is an object of this invention to provide a clock distribution scheme which allows significantly higher circuit operating speeds than are permitted in prior art architectures.
  • It is another object of this invention to provide a clock distribution scheme which consumes less power than schemes in prior art architectures.
  • It is a further object of this invention to provide a clock distribution scheme which provides smaller clock skew within a net than in prior art architectures.
  • It is a further object of the present invention to provide a clock distribution scheme which is more versatile than prior art clock distribution schemes.
  • BRIEF DESCRIPTION OF THE INVENTION
  • A clock distribution scheme for an integrated circuit user-programmable logic array architecture according to the present Invention Includes at least one clock input pin on the integrated circuit, a buffering means including at least one buffer amplifier, the output of the buffering means driving a plurality of clock distribution lines. An inverting buffering means is connected to the output of the buffering means and drives a plurality of complementary row clock distribution lines. A multiplexer is provided upstream from the clock input of each sequential logic element in the array for connecting either a clock distribution line, a complementary clock signal, or a signal line connectable to at least one general interconnect line through a user-programmable element. The signal line input of the multiplexer may be connectable to a second clock input pin on the integrated circuit as well as to general interconnect lines.
  • BRIEF DESCRIPTION OF THE DRAWINGS
    • FIG. 1 is a schematic diagram illustrating one prior art programmable clock network that can be used with programmable interconnect architectures.
    • FIG. 2 is a schematic diagram illustrating another prior art programmable clock network with lower clock skew that can be used with programmable interconnect architectures.
    • FIG. 3 is a schematic diagram illustrating a clock distribution network according to a presently-preferred embodiment of the invention.
    • FIG. 4 is a block diagram of a logic module array combined with a top view of a metal interconnect layer to illustrate a preferred layout of clock lines according to the present invention.
    DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons.
  • A clocking scheme according to the present invention has superior performance characteristics and lower power consumption compared with other techniques. According to the present invention, a dedicated programmable clock network is distributed throughout the logic array and can be programmably connected to the clock input of any logic element in the array.
  • Referring first to FIG. 1, a typical prior art clock distribution network is shown in schematic diagram form. The prior art clock distribution network in FIG. 1 may be used in an array including a plurality of logic function units arranged in rows and columns. For simplicity, a single row is shown populated with logic function units 1a-1c in FIG. 1, but those of ordinary skill in the art will recognize that the second and third row positions are likewise populated .
  • An off-chip clock signal is first fed into the integrated circuit from an input pad 2. The clock signal is then buffered and distributed to every row or column in the architecture using separate clock drive buffers 3a-3c and clock rails 4a-4c for each row or column of the array. The row (or column)-buffered clock signal may then be selectively programmably connected to one or more logic function units in the row or column which require the clock signal by simply programming an appropriate programmable element, such as an antifuse or transistor. Exemplary elements are shown as circles 5.
  • In the case where high voltages are needed to program the programmable elements, which is common in present antifuse interconnect element and EPROM and EEPROM technologies, the programming path which is subjected to high voltage programming pulses must be isolated from any of the remainder of the circuits, such as drivers and logic circuit modules, which cannot withstand these voltages. Drivers and circuit modules are typically designed with low voltage transistors which operate in the 3-5 volt range because such devices have better performance characteristics than high voltage transistors. Thus, the low voltage circuits must be isolated from the high voltage circuits to avoid breakdown of the low voltage circuits while still attaining the high performance benefits of low voltage transistors. Such isolation may be provided by the isolation transistors 6 in FIG. 1.
  • Referring now to FIG. 2, another prior art clock distribution network is shown in schematic diagram form. For simplicity, only one logic function unit 1a is shown. Like the clock distribution network depicted in FIG. 1, the off-chip clock signal is first fed into the integrated circuit from an input pad 2. The clock signal is then buffered and distributed to every row or column in the architecture using separate clock drive buffers 3a-3c for each row (or column) of the array. As in the clock distribution network of FIG. 1, the low voltage circuits of the clock driver circuits of FIG. 2 must be isolated by isolation transistors 6 from the high voltage programming circuits to avoid breakdown of the low voltage circuits by the isolation transistors between the row or column driver buffer outputs and the clock lines.
  • The clock distribution network of FIG. 2 is different from the network of FIG. 1 in two ways. First, the outputs of all buffers 3a-3c are shorted together at their outputs. This scheme allows a more even distribution of the clock loads among the clock drivers since different rows or columns are likely to have different loads. Tying the outputs of the buffers together helps minimize the clock skew between lightly-loaded row or column and a heavily-loaded row or column. The second difference between the clock distribution network of FIG. 2 and that of FIG. 1 is that the buffers 3a-3c are laid out to drive each row or column from a central point instead of one end of the row or column as in conventional schemes.
  • Referring now to FIG. 3, an illustrative clock distribution network according to a preferred embodiment of the present invention is shown in schematic diagram form superimposed on an array of user-programmable logic elements disposed in a user-configurable interconnect architecture. The array of FIG. 3 comprises a 3x3 array and is, in that respect, illustrative only, since those of ordinary skill in the art will readily recognize that the present invention is applicable to arrays of arbitrary size.
  • The illustrative environment of the present invention in FIG. 1 includes an array of logic function modules, which are preferably user-programmable to define their individual functions. Some or all of the logic function modules may include sequential elements, such as flip-flops, latches, etc., which have clock inputs requiring clock signals. The array 10 of FIG. 1 is shown including three rows. A first row includes logic function unit modules 12a, 12b, and 12c. Second and third rows of array 10 include logic function modules 12d, 12e, and 12f, and 12g, 12h, and 12i, respectively.
  • Array 10 also includes a general interconnect architecture comprising a plurality of conductors which may be joined together by user-programmable elements, such as antifuses, RAM cells driving pass-gates, pass-transistors or other switching transistors, or the like. The general interconnect architecture is illustrated in FIG. 3 by the sets of horizontal conductors 14a-14c, disposed under the logic function unit modules in the first row, horizontal conductors 16a-16c, disposed under the logic function unit modules in the second row, and horizontal conductors 18a-18c, disposed under the logic function unit modules in the third. row. Various ones of these conductors, i.e., 14c and 16c, run the entire length of the array, and the others are divided into smaller length segments which may be connected together by programmable elements 20 , which appear as small circles along the conductors. Programmable elements 20 may be any one of a number of known user-programmable interconnect devices. To avoid overcomplicating the drawing, not all programmable elements 20 are labeled with reference numerals.
  • A typical general interconnect architecture will also include sets of vertical conductors. These sets of vertical conductors are represented by an illustrative set of vertical conductors 22a-22c, located to the right of the last column of the array 10 comprising logic function unit modules 12c, 12f, and 12i. In an actual array, there will be a plurality of sets of vertical conductors distributed throughout the array, including between and perhaps above each column of logic function unit modules, but they are not shown here to avoid overcomplicating the drawing figure. Like the sets of horizontal conductors, certain of the vertical conductors 22a-22c are divided into smaller lengths and may be joined together using user-programmable interconnect elements 20. In addition, selected intersections of horizontal and vertical conductors are populated with user-programmable interconnect elements.
  • As in the clock distribution networks depicted in FIGS. 1 and 2, the clock signal of the present invention is distributed to every row and to every sequential element. A key difference between the prior art clock distribution schemes of FIGS. 1 and 2 and the clock distribution scheme of the present invention as shown in FIG. 3, is that the signal path through which the clock signal itself is propagated contains no programmable elements such as antifuses. No high voltage circuits are associated with this path.
  • A universal clock signal may be furnished to the integrated circuit of which array 10 is a part via an input/output pad 24. The clock signal is then suitably buffered, as shown by buffers 26 and 28. Those of ordinary skill in the art will recognize that inverting buffers 26 and 26 are merely one way of providing clock buffering and that other schemes will readily suggest themselves.
  • The output of clock input buffers 26 and 28 is furnished to row clock lines 30a, 30b, and 30c. Those of ordinary skill in the art will recognize that column clock lines could be used as well, and that other distribution regimes are possible. The purpose of the clock distribution lines is to provide a potential source of clock signals for each logic element in the logic function unit module array 10. While the embodiment illustrated in FIG. 3 shows row clock lines, those of ordinary skill in the art will recognize that column clock lines could be used as well and that the selection of a particular arrangement should be made such that the optimum distribution characteristics, i.e., resistance, and capacitance, are attained.
  • In order to provide the most versatility in the clock distribution scheme according to the present invention, the clock signals are provided to the individual logic function unit modules through multiplexers 32a-32i. As shown in FIG. 3, each multiplexer 32a-32i has three inputs. A first input is connected to the one of row clock lines 30a-30c associated with its row. A second input of each of multiplexers 32a-32i is connected to its row clock line through an inverter 34a-34i. Those of ordinary skill in the art will recognize that in an actual embodiment of the invention an individual inverter need not be supplied for each multiplexer but that one inverter may serve more than one multiplexer.
  • Further versatility is provided to the clock distribution scheme of the present invention by sourcing clock signals from virtually anywhere in the array by providing a path to the general interconnect structure of the array. The prior art has not appreciated provision of the combination of this feature with the other features of the invention. Thus, a third input to multiplexers 32a-32i are conductors 36a-36i. Each of these conductors forms intersections with a plurality of general interconnect conductors. The intersections are populated with user-programmable interconnect elements 20. For example, the conductors 36a-36c form intersections with segments of general interconnect conductors 14a-14c. In like fashion, the conductors 36d-36f form intersections with segments of general interconnect conductors 16a-16c, and the conductors 36g-36i form intersections with segments of general interconnect conductors 18a-18c.
  • Another feature of the clock distribution architecture of the present invention is the provision of the potential to route a second off-chip clock signal to each sequential element on the integrated circuit containing array 10. Accordingly, input/output pin 38 is connected through buffers 40 and 42 and user-programmable interconnect elements to general interconnect lines 14c, 16c, and 18c.
  • Multiplexers 32a-32i each are shown having two control lines 44a-44i and 46a-46i, which may be used to control which of their first, second, or third inputs is passed through to their outputs and thus to the clock inputs of their respective logic function unit modules. Each control line 44a-44i and 46a-46i is shown intersecting a VCC line 48 and a ground line 50 as well as the general interconnect lines 14a-14c, 16a-16c and 18a-18c for their respective rows. The intersections of the control lines with the VCC, ground and general interconnect lines are populated with user-programmable interconnect elements, which may be programmed to individually select the clock source for each logic function unit module 12a-12i.
  • In the clock signal distribution network of FIG. 3, the clock signal path to any logic function unit module 12a-12i comprises the input/output pad 24, input buffers 26 and 28, distribution wires, a multiplexer 32a-32i, and the clock input node of the sequential element. The absence of user-programmable interconnect elements, such as antifuses, and the high-voltage devices required in the signal path because of the high voltages necessary to program them, allows the clock signal path to be optimized using low-voltage high-performance transistors instead of the mixture of high-voltage and low-voltage transistors used in prior art clock distribution schemes. Low-voltage transistors provide better performance compared with high-voltage transistors because they have thinner oxide isolation layers and shallower junctions with lower capacitance.
  • According to another aspect of the present invention, the clock distribution lines are physically laid out in a manner which optimize their capacitance, resistance, and metal current electromigration requirements. Referring now to FIG. 4, a top view of a metal interconnect layer is superimposed on a block diagram of a logic module array showing only the logic modules, multiplexers, and inverters to illustrate a preferred layout of clock lines 30a, 30b, and 30c according to the present invention. As can be seen from FIG. 4, clock lines 30a, 30b, and 30c are formed from conductors in a metal layer which taper from a first width at the distribution bus end to a second narrower width at the distal end thereof. In an actual embodiment having 42 rows and 17 columns, the clock distribution conductors 30a, 30b, and 30c comprise a second layer metal and branch, out from a metal bus line having a width of between about 16-20 microns. Each of clock distribution conductors 30a, 30b, and 30c have a starting width of about 10.4 microns and linearly taper to a width of about 4 microns at their distal ends. By tapering the clock distribution conductors 30a, 30b, and 30c, the resistance, capacitance, and metal current electromigration requirements of the clock lines may be optimized. The clock distribution conductors 30a, 30b, and 30c are shown driven by buffers 52a-52d.
  • While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

Claims (4)

  1. In an integrated circuit including a user-programmable logic array architecture comprising a plurality of user-programmable logic elements, each having data inputs and outputs, said user-programmable logic elements arranged in an array, at least some of said user-programmable logic elements including sequential logic elements having clock inputs, and further including a plurality of general interconnect lines which may be connected to one another and to said inputs and outputs of said logic elements, a clock distribution architecture including:
       at least one clock input pin on said integrated circuit;
       a plurality of clock distribution lines disposed in said array;
       a buffering means, including at least one buffer amplifier having an input connected to said at least one clock input pin and an output connected to at least one of said clock distribution lines;
       at least one inverting means having an input connected to at least one of said clock distribution lines, said at least one inverting means having an output;
       a multiplexing means associated with each of said logic elements, each of said multiplexing means having a first input connected to one of said clock distribution lines, a second input connected to the output of said at least one inverting means, and a third input connected to a clock signal line connectable to at least one of said general interconnect line through a user-programmable element, an output connected to the clock input of the logic element with which it is associated, and means for selecting which of said first, second, and third inputs is connected to said output.
  2. The clock distribution architecture of claim 1, wherein said clock signal line is connectable, directly or indirectly, to a second input/output pin of said integrated circuit through at least one of said general interconnect lines and at least one of said user-programmable elements.
  3. The clock distribution architecture of claim 1 wherein each of said plurality of clock distribution lines comprises a conductive layer in said integrated circuit branching out from at least one common distribution bus, and further wherein each of said plurality of clock distribution lines tapers from a first width at its junction with said distribution bus to a second narrower width at a distal end thereof.
  4. In an integrated circuit including a user-programmable logic array architecture comprising a plurality of user-programmable logic elements, each having data inputs and outputs, said user-programmable logic elements arranged in an array, and further including a plurality of general interconnect lines which may be connected to one another and to said inputs and outputs of said logic elements, a clock distribution architecture including:
       at least one clock input pin on said integrated circuit;
       a plurality of clock distribution lines disposed in said array;
       a buffering means, including at least one buffer amplifier having an input connected to said at least one clock input pin and an output connected to at least one of said clock distribution lines;
       at least one inverting means having an input connected to at least one of said clock distribution lines, said at least one inverting means having an output;
       a multiplexing means associated with each of said logic elements, each of said multiplexing means having a first input connected to one of said clock distribution lines, a second input connected to the output of said at least one inverting means, and a third input connected to a clock signal line connectable to at least one of said general interconnect line through a user-programmable element, an output connected to an input of the logic element with which it is associated, and means for selecting which of said first, second, and third inputs is connected to said output.
EP93303768A 1992-06-19 1993-05-17 Clock distribution scheme for user-programmable logic array architecture Withdrawn EP0575050A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/901,604 US5254886A (en) 1992-06-19 1992-06-19 Clock distribution scheme for user-programmable logic array architecture
US901604 1992-06-19

Publications (1)

Publication Number Publication Date
EP0575050A1 true EP0575050A1 (en) 1993-12-22

Family

ID=25414507

Family Applications (1)

Application Number Title Priority Date Filing Date
EP93303768A Withdrawn EP0575050A1 (en) 1992-06-19 1993-05-17 Clock distribution scheme for user-programmable logic array architecture

Country Status (3)

Country Link
US (2) US5254886A (en)
EP (1) EP0575050A1 (en)
JP (1) JPH06120811A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0846289A1 (en) * 1996-05-20 1998-06-10 Atmel Corporation Field programmable gate array with distributed ram and increased cell utilization
WO2003075138A1 (en) * 2002-03-01 2003-09-12 Xilinx, Inc. Low jitter clock for a multi-gigabit transceiver on a field programmable gate array

Families Citing this family (38)

* 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
US5477165A (en) * 1986-09-19 1995-12-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5489857A (en) * 1992-08-03 1996-02-06 Advanced Micro Devices, Inc. Flexible synchronous/asynchronous cell structure for a high density programmable logic device
US5254886A (en) * 1992-06-19 1993-10-19 Actel Corporation Clock distribution scheme for user-programmable logic array architecture
US5384497A (en) * 1992-11-04 1995-01-24 At&T Corp. Low-skew signal routing in a programmable array
JP2930174B2 (en) * 1993-09-01 1999-08-03 日本電気株式会社 Semiconductor integrated circuit device
US5570054A (en) * 1994-09-26 1996-10-29 Hitachi Micro Systems, Inc. Method and apparatus for adaptive clock deskewing
US5570053A (en) * 1994-09-26 1996-10-29 Hitachi Micro Systems, Inc. Method and apparatus for averaging clock skewing in clock distribution network
US5598112A (en) * 1995-05-26 1997-01-28 National Semiconductor Corporation Circuit for generating a demand-based gated clock
US5652529A (en) * 1995-06-02 1997-07-29 International Business Machines Corporation Programmable array clock/reset resource
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
US5712579A (en) * 1995-10-16 1998-01-27 Xilinx, Inc. Deskewed clock distribution network with edge clock
US5638008A (en) * 1995-10-30 1997-06-10 Cypress Semiconductor Corp. Method and apparatus for generating an asynchronously clocked signal in a synchronously clocked programmable device
USRE37577E1 (en) 1996-01-11 2002-03-12 Cypress Semiconductor Corporation High speed configuration independent programmable macrocell
US5627482A (en) * 1996-02-07 1997-05-06 Ceridian Corporation Electronic digital clock distribution system
US6028444A (en) * 1996-06-21 2000-02-22 Quicklogic Corporation Three-statable net driver for antifuse field programmable gate array
US5825201A (en) * 1996-06-21 1998-10-20 Quicklogic Corporation Programming architecture for a programmable integrated circuit employing antifuses
US5892370A (en) * 1996-06-21 1999-04-06 Quicklogic Corporation Clock network for field programmable gate array
US5828538A (en) * 1996-06-21 1998-10-27 Quicklogic Corporation Power-up circuit for field programmable gate arrays
US6150837A (en) * 1997-02-28 2000-11-21 Actel Corporation Enhanced field programmable gate array
JPH10246754A (en) * 1997-03-03 1998-09-14 Mitsubishi Electric Corp Clock driver circuit and semiconductor integrated circuit device
US6144224A (en) * 1997-06-16 2000-11-07 International Business Machines Corporation Clock distribution network with dual wire routing
US6060902A (en) * 1997-10-15 2000-05-09 Albu; Lucian R. Programmable clock manager for a programmable logic device that can be programmed without reconfiguring the device
US6028463A (en) * 1997-10-15 2000-02-22 Lucent Technologies Inc. Programmable clock manager for a programmable logic device that can generate at least two different output clocks
US6043677A (en) * 1997-10-15 2000-03-28 Lucent Technologies Inc. Programmable clock manager for a programmable logic device that can implement delay-locked loop functions
US6169416B1 (en) 1998-09-01 2001-01-02 Quicklogic Corporation Programming architecture for field programmable gate array
US6204815B1 (en) * 1999-04-30 2001-03-20 Xilinx, Inc. Increased propagation speed across integrated circuits
US6590419B1 (en) * 1999-10-12 2003-07-08 Altera Toronto Co. Heterogeneous interconnection architecture for programmable logic devices
JP3555077B2 (en) * 2000-03-30 2004-08-18 Necエレクトロニクス株式会社 Clock distribution circuit for programmable logic devices
US6513149B1 (en) 2000-03-31 2003-01-28 International Business Machines Corporation Routing balanced clock signals
US20050164443A1 (en) * 2000-05-18 2005-07-28 Youngmin Kim Tunable sidewall spacer process for CMOS integrated circuits
US6952813B1 (en) * 2003-07-30 2005-10-04 Xilinx, Inc. Method and apparatus for selecting programmable interconnects to reduce clock skew
US7129765B2 (en) * 2004-04-30 2006-10-31 Xilinx, Inc. Differential clock tree in an integrated circuit
US7126406B2 (en) * 2004-04-30 2006-10-24 Xilinx, Inc. Programmable logic device having an embedded differential clock tree
US7142033B2 (en) * 2004-04-30 2006-11-28 Xilinx, Inc. Differential clocking scheme in an integrated circuit having digital multiplexers
US7312487B2 (en) * 2004-08-16 2007-12-25 International Business Machines Corporation Three dimensional integrated circuit
US7362135B1 (en) * 2006-10-04 2008-04-22 Hyun-Taek Chang Apparatus and method for clock skew adjustment in a programmable logic fabric
US7893772B1 (en) 2007-12-03 2011-02-22 Cypress Semiconductor Corporation System and method of loading a programmable counter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0461798A2 (en) * 1990-06-14 1991-12-18 Advanced Micro Devices, Inc. Configurable interconnect structure

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US5151623A (en) * 1985-03-29 1992-09-29 Advanced Micro Devices, Inc. Programmable logic device with multiple, flexible asynchronous programmable logic blocks interconnected by a high speed switch matrix
US4910417A (en) * 1986-09-19 1990-03-20 Actel Corporation Universal logic module comprising multiplexers
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US5023484A (en) * 1988-09-02 1991-06-11 Cypress Semiconductor Corporation Architecture of high speed synchronous state machine
JP2723926B2 (en) * 1988-09-20 1998-03-09 川崎製鉄株式会社 Programmable logic device
US5144166A (en) * 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5122685A (en) * 1991-03-06 1992-06-16 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5254886A (en) * 1992-06-19 1993-10-19 Actel Corporation Clock distribution scheme for user-programmable logic array architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0461798A2 (en) * 1990-06-14 1991-12-18 Advanced Micro Devices, Inc. Configurable interconnect structure

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MICROPROCESSORS & MICROSYSTEMS vol. 13, no. 5, June 1989, LONDON, GB pages 313 - 320 R.H. FREEMAN 'XC3000 family of user-programmable gate arrays' *
PROCEEDINGS OF THE IEEE 1989 CUSTOM INTEGRATED CIRCUITS CONFERENCE May 1989, SAN DIEGO, CA, US pages 1571 - 1574 B. LARKINS ET AL '13000 GATE ECL COMPATIBLE GaAs GATE ARRAY' *
WESCON CONFERENCE RECORD vol. 34, November 1990, NORTH HOLLYWOOD, CA, US pages 316 - 321 R.J. JIGOUR 'PEEL Array Architectures Increase Logic Density, Flexibility and Performance' *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0846289A1 (en) * 1996-05-20 1998-06-10 Atmel Corporation Field programmable gate array with distributed ram and increased cell utilization
EP0846289A4 (en) * 1996-05-20 2000-11-22 Atmel Corp Field programmable gate array with distributed ram and increased cell utilization
EP1158403A1 (en) * 1996-05-20 2001-11-28 Atmel Corporation FPGA with configurable clock lines
WO2003075138A1 (en) * 2002-03-01 2003-09-12 Xilinx, Inc. Low jitter clock for a multi-gigabit transceiver on a field programmable gate array
US6911842B1 (en) 2002-03-01 2005-06-28 Xilinx, Inc. Low jitter clock for a physical media access sublayer on a field programmable gate array

Also Published As

Publication number Publication date
US5254886A (en) 1993-10-19
JPH06120811A (en) 1994-04-28
US5391942A (en) 1995-02-21

Similar Documents

Publication Publication Date Title
US5254886A (en) Clock distribution scheme for user-programmable logic array architecture
US5656950A (en) Interconnect lines including tri-directional buffer circuits
EP1346478B1 (en) Architecture for field programmable gate array
US5537057A (en) Programmable logic array device with grouped logic regions and three types of conductors
US5635851A (en) Read and writable data bus particularly for programmable logic devices
US5815004A (en) Multi-buffered configurable logic block output lines in a field programmable gate array
EP0569137B1 (en) Programmable logic array integrated circuit
US5652529A (en) Programmable array clock/reset resource
US6130550A (en) Scaleable padframe interface circuit for FPGA yielding improved routability and faster chip layout
US5317698A (en) FPGA architecture including direct logic function circuit to I/O interconnections
US6690195B1 (en) Driver circuitry for programmable logic devices
GB2312065A (en) Programmable logic array
US7119573B2 (en) Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US6630842B1 (en) Routing architecture for a programmable logic device
EP1738462B1 (en) Routing architecture with high speed i/o bypass path
US7545166B2 (en) Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US7634753B2 (en) System for signal routing line aggregation in a field-programmable gate array
US7924053B1 (en) Clustered field programmable gate array architecture
US6191612B1 (en) Enhanced I/O control flexibility for generating control signals
US6970014B1 (en) Routing architecture for a programmable logic device
US6759870B2 (en) Programmable logic array integrated circuits
US6384629B2 (en) High-speed programmable interconnect
US20030201792A1 (en) High density antifuse based partitioned FPGA architecture
WO1998055918A1 (en) Fpga with conductors segmented by active repeaters

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

18D Application deemed to be withdrawn

Effective date: 19940623