Patent Publication Number: US-9419589-B2

Title: Power source for clock distribution network

Description:
BACKGROUND 
     1. Technical Field 
     This disclosure is directed to integrated circuits, and more particularly, to networks for distributing a clock signal in an integrated circuit. 
     2. Description of the Related Art 
     Modern digital integrated circuits use clock signals to synchronize the operation of sequential circuits implemented therein. A given clock signal may be provided to a number of circuits (e.g., flip-flops) within a corresponding clock domain. Since the number of circuits utilizing the clock signal may be large and relatively remote from the clock source, a clock distribution network (sometimes referred to as a ‘clock tree’) may be used to distribute the clock signal. A clock tree may include a number of levels, with buffers implemented at the various levels. At a node known as a root node of the clock tree, the clock signal may be received by a buffer from a clock source. The buffer may distribute the clock signal to additional buffers of the next level of the clock tree. At each level, an expanding number of buffers (with respect to a previous level) may distribute the clock signal. At the output of each buffer of a final level, the clock signal may be distributed to the various circuits that use it for synchronization (also known as ‘clock consumers). Nodes at which the clock signal is received for distribution directly to the clock consumers are referred to as leaf nodes. 
     In distributing a clock signal, it is important that its integrity be maintained. Jitter, an undesired deviation from true periodicity, is one factor that can adversely affect a clock signal. If left unchecked, jitter can cause erroneous operation of synchronous circuits and may even cause them to fail. Causes of jitter can include such factors as power supply noise, intrinsic device noise in the clock generator, and crosstalk with wires carrying other signals. Although it cannot be completely eliminated, it is possible to design circuits to tolerate a certain amount of jitter. 
     SUMMARY 
     A clock distribution network having a separate power supply for top levels thereof is disclosed. In one embodiment, an integrated circuit includes a clock distribution network configured to distribute a clock signal to each of a number of clock consumers (e.g., synchronous circuits such as flip-flops). The clock distribution network is arranged in a hierarchy of levels, with each of the levels including at least one buffer, and with the upper levels being closer to a source of the clock signal and the lower levels being closer to the clock consumers. The buffers of the upper levels are coupled to receive power from a first power source, via a first power grid. The buffers of the lower levels are coupled to receive power from a second power source, separate from the first, via a second power grid. 
     In one embodiment, the first power grid, used to distribute power to the buffers of the upper levels of the clock distribution network, is implemented at least in part on one of the upper metal layers of the integrated circuit. The power source used to provide power to the buffers of the upper levels of the clock distribution network may be implemented as a regulated power supply or a unregulated power supply, and may further be implemented on chip or off chip. The first power source may be a power supply/source, which is separate from a power source used to distribute power to logic circuits of the integrated circuit, including the clock consumers. Accordingly, the first power source and the power on the first power grid may be less susceptible to noise. This may in turn reduce the amount of jitter in the distributed clock signal. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The following detailed description makes reference to the accompanying drawings, which are now briefly described. 
         FIG. 1  is a block diagram of one embodiment of an integrated circuit including a clock distribution network. 
         FIG. 2  is a diagram illustrating the distribution of power to one embodiment of a clock distribution network. 
         FIG. 3  is a diagram illustrating the distribution of power to another embodiment of a clock distribution network. 
         FIG. 4  is a diagram illustrating the arrangement of metal layers in one embodiment of an integrated circuit. 
         FIG. 5  is a top view of one embodiment of an integrated circuit illustrating a power distribution to the upper levels of its clock distribution network. 
         FIG. 6  is a flow diagram of one embodiment of a method for distributing power to a clock distribution network. 
         FIG. 7  is a block diagram of one embodiment of an exemplary system. 
     
    
    
     While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean including, but not limited to. 
     Various units, circuits, or other components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits. Similarly, various units/circuits/components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to.” Reciting a unit/circuit/component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112, paragraph six interpretation for that unit/circuit/component. 
     DETAILED DESCRIPTION OF EMBODIMENTS 
       FIG. 1  is a block diagram of one embodiment of an integrated circuit including a clock distribution network. In the embodiment shown, integrated circuit (IC)  10  includes a clock generation circuit  11  that is configured to generate a clock signal for distribution to a number of different synchronous circuit  19 . Clock generation circuit  11  may be one of a number of different types of clock generation circuits, such as an oscillator, a phase locked loop (PLL) or any other circuit capable of generating a clock signal. The synchronous circuits  19  may be any type of circuitry that utilizes one or more clock signals during operation. Such clock consumer circuits include, but are not limited to, flip-flops, timers, execution units, or any other sequential logic circuits. Each instance of synchronous circuits  19  shown in  FIG. 1  may represent one or more circuits that utilize the clock signal. For example, a block of synchronous circuits  19  may represent a group of flip-flops, a single flip-flop, or one or more other types of sequential logic circuits. Furthermore, the circuits within a given block of synchronous circuits  19  need not be homogenous, and thus multiple types of sequential circuits may be present one of the blocks shown. 
     The clock signal generated by clock generation circuit  11  may be distributed to the synchronous circuits  19  via a clock distribution network, referred to here as clock tree  12 . The output of clock generation circuit  11  represents a root node of clock tree  12 . Each block of synchronous circuits  19  may be associated with a corresponding one of leaf nodes  17 . Thus, the clock signal may be distributed through clock tree  12  from the root node to each of the leaf nodes. 
     Clock tree  12  is arranged in a number of different levels, levels 1−N in this example. The value N may be any integer value. Each level includes one or more buffers  13 . In this particular embodiment, buffers  13  are non-inverting buffers. However, other embodiments that replace these buffers with inverters or other suitable circuitry (inverting non-inverting) are possible and contemplated. 
     Level 1 of clock tree  12  includes a single buffer  13  having an input coupled to the root node and an output coupled to two buffers  13  of level 2. In general, the number of buffers increases with successive levels of clock tree  12 , although this is not necessarily the case for each level relative to its previous level. In one embodiment, the number of buffers  13  may double with successive level, starting with a first level having only one buffer  13  (2 0  buffers), and a final level having 2 N-1  buffers. Thus, if a clock tree has 16 levels and the number of buffers  13  doubles with each successive level, the final level may include 2 15  buffers  13 . However, as previously noted, it is not necessary that the number of buffers increases in any type of regular pattern with successive levels, although generally, levels closer to the leaf nodes  17  will have more buffers than levels closer to the root node. 
     In various embodiments of a clock tree  12  discussed herein, buffers  13  in levels closer to the root node may be powered by a separate power source from that used to power the buffers  13  in levels closer to the leaf nodes  17 . In general, a clock signal distributed through a clock tree may be subject to jitter due to power supply noise from various sources (e.g., simultaneous switching noise). Thus, a noisier power supply (or power distribution grid) may thus result in more jitter in a clock signal. However, by powering buffers  13  closer to the root node of clock tree  12  by a separate, quieter power source, jitter in the clock signal may be significantly reduced. The reduction of jitter may in turn yield various performance benefits, such as a higher maximum operating frequency for the IC. Furthermore, since power from the quieter power source is provided to buffers  13  of just a few levels that are closest to the root node in clock tree  12 , the footprint of this separate power distribution network may be relatively small, if not negligible in size. For example, if the number of buffers  13  powered by the separate, quieter power source is in the range of, e.g., 16-32, the corresponding power grid may be extremely small relative to the power grid used to distribute power to the remaining buffers and the synchronous circuits  19  in the leaf nodes  17 . Thus, with a minimal impact on IC area, a significant performance gain may be realized. 
       FIG. 2  is a diagram illustrating the distribution of power to one embodiment of a clock tree. In this particular embodiment, clock tree  12  includes 12 different levels. For the purposes of illustration, it is assumed that the number of buffers doubles with each successive level after Level 4, beginning with a single buffer at Level 1, although it is again noted that this example is not intended to limit the disclosure. Buffers  13  in Levels 1-6 are each coupled to receive power output from voltage regulator  14  on power grid  16 , which is arranged to distribute Vdd_Clk. The clock signal is distributed into the clock tree from clock generation circuit  11 , which is also coupled to receive Vdd_Clk. 
     Voltage regulator  14  in the embodiment shown is coupled to receive power from an off-chip power source configured to distribute the voltage AVdd (Analog Vdd). This is a relatively quiet power source used to power certain circuits on IC  10 , but not used to power logic circuits (sequential or combinational). Accordingly, AVdd, and thus Vdd_Clk, is not significantly (if at all) subject to switching noise resulting from the switching of various logic circuits in IC  10 . Since the number of buffers  13  doubles each level in this particular embodiment, power grid  16  thus distributes Vdd_Clk to 17 buffers total throughout levels 1-6. Additionally, voltage regulator  14  in the embodiment shown is coupled to receive a reference voltage, which may be generated by an on-chip or off-chip source. 
     Buffers  13  in levels 7-12 are each coupled to receive the voltage Vdd via power grid  18 . Power grid  18  may receive voltage Vdd from a different source than AVdd which provides the power to generate Vdd_Clk. Voltage Vdd may also be distributed to other circuitry, such as the various synchronous circuits  19  of IC  10 . Since the number of buffers  13  doubles each level in this particular embodiment, Vdd is distributed to 2048 buffers in level 12 alone. 
     Clock tree  12  in the embodiment shown includes a number of level shifters  15 . Each level shifter  15  in this particular embodiment is coupled between the output of a Level 6 buffer and an input of a Level 7 buffer. The level shifters  15  each level shift the clock signal from the Vdd_Clk domain to the Vdd domain, and their respective voltages may be different. In prior art embodiments, a level shifter is typically coupled between an output of a clock generation circuit and an input of a buffer in the first level of the clock tree. However, for various embodiments of the clock tree as discussed herein, multiple level shifters are provided at a specified level of the clock tree in accordance with the boundary between Vdd_Clk and Vdd. 
       FIG. 3  is a diagram illustrating the distribution of power to another embodiment of a clock tree. The embodiment of clock tree  12  shown in  FIG. 3  is largely similar to the embodiment shown in  FIG. 2 . However, instead of receiving power from a voltage regulator, clock tree  12  in  FIG. 3  receives Vdd_Clk from an on-chip power supply  31 . The on-chip power supply  31  may be unregulated in some embodiments. In particular, using an unregulated power supply may be possible in instances where Vdd_Clk is distributed to relatively few devices, such as the buffers  13  and clock generation circuit  11 . 
     The power distribution grid  16  used to provide power to a subset of the levels of the clock tree closest to the root node may utilize a portion of one or more upper metal layers of an IC die.  FIG. 4  is a diagram illustrating the arrangement of metal layers in one embodiment of an IC. In the embodiment shown, one or more of the upper metal layers are used to provide a distribution path for Vdd_Clk. In this particular example, M9 and M8 (Metal 9 and Metal 8) are the upper two layers of IC  10 . The primary wires for distributing power in power grid  16  may be implemented on at least one of these layers. In some cases, a both layers, along with vias (not shown), may be used to avoid conflicts with other wires that utilize one or more of these metal layers. Additionally, vias are present (but not shown here) to convey power from the upper metl layer(s) down to the transistors that make up the buffers  13 . By utilizing relatively thick, low resistance wires in the upper metal layers, noise may be further minimized in the power distribution grid. 
       FIG. 5  is a top view of one embodiment of an IC illustrating a power distribution to the upper levels of its clock distribution network. In the embodiment shown, a layout of one embodiment of a power grid  16  is shown. Power may be distributed from the area labeled Vdd_Clk (which is close to the source of that voltage), through the wires shown to the various levels of the clock tree that receive that voltage. The points of distribution to a particular level are labeled as such, e.g., L1 is a point of distribution of power to Level 1, L2 is a point of distribution of power to Level 2, and so on. At these points, vias from the metal layer may extend downward through the die to the transistors of the buffers  13  which receive Vdd_Clk. It is noted that the size of the features shown here are exaggerated for illustrative purposes. In practice, the feature sizes may be smaller relative to the overall size of the IC die. 
       FIG. 6  is a flow diagram of one embodiment of a method for distributing power to a clock distribution network. It is noted that method  600  may be performed using the various embodiments of an IC discussed above, as well as IC embodiments not explicitly discussed herein. In general, method  600  may be applicable to any IC that includes a clock distribution network. 
     Method  600  begins with the provision of power from a first source, via first power grid, to a clock generator and buffers of selected levels of a clock tree (block  605 ). The selected levels are a contiguous group of levels that are closest to the root node of the clock tree (i.e. the point at which the clock is provided from the clock generator). For example, if a clock tree has sixteen levels, the power from the first power source may be distributed to buffers of, e.g., the first six levels. The first power source may be on-chip or off-chip, and further, may be regulator or unregulated. In general, a quiet power supply that distributes power to relatively few components may be used such that the effect of noise-induced jitter on the clock signal is minimized. 
     Method  600  further includes providing power to buffers of the remaining levels of the clock tree, from a second power source and via a second power grid (block  610 ). The remaining levels of the clock tree also form a contiguous group of levels that continue to the leaf nodes of the clock tree. The second power source is different from the first, and may be used to provide power to not only the buffers of the remaining clock tree levels, but to other circuits, including clock consumers. The method further includes distributing the clock signal through the clock tree to the clock consumers of the IC (block  615 ). 
     Turning next to  FIG. 7 , a block diagram of one embodiment of a system  150  is shown. In the illustrated embodiment, the system  150  includes at least one instance of the integrated circuit  10  coupled to external memory  158 . The integrated circuit  10  is coupled to one or more peripherals  154  and the external memory  158 . A power supply  156  is also provided which supplies the supply voltages to the integrated circuit  10  as well as one or more supply voltages to the memory  158  and/or the peripherals  154 . In some embodiments, more than one instance of the integrated circuit  10  may be included (and more than one external memory  158  may be included as well). 
     The peripherals  154  may include any desired circuitry, depending on the type of system  150 . For example, in one embodiment, the system  150  may be a mobile device (e.g. personal digital assistant (PDA), smart phone, etc.) and the peripherals  154  may include devices for various types of wireless communication, such as WiFi, Bluetooth, cellular, global positioning system, etc. The peripherals  154  may also include additional storage, including RAM storage, solid-state storage, or disk storage. The peripherals  154  may include user interface devices such as a display screen, including touch display screens or multitouch display screens, keyboard or other input devices, microphones, speakers, etc. In other embodiments, the system  150  may be any type of computing system (e.g. desktop personal computer, laptop, workstation, tablet, etc.). 
     The external memory  158  may include any type of memory. For example, the external memory  158  may be SRAM, dynamic RAM (DRAM) such as synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, LPDDR1, LPDDR2, etc.) SDRAM, RAMBUS DRAM, etc. The external memory  158  may include one or more memory modules to which the memory devices are mounted, such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc. 
     Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.