The present disclosure relates generally to electronic circuits, and more particularly, to an integrated circuit (IC) with a clock spine and tap points on the clock spine.
Integrated circuits (ICs) are increasingly important for modern life. For example, wireless communication technologies and devices (e.g., cellular phones, tablets, laptops, etc.) have grown in popularity and usage over the past decade. These electronic apparatuses have grown in complexity and now commonly incorporate multiple processors (e.g., baseband processor and/or application processor) and other ICs that allow the users to run complex and power intensive software applications (e.g., music players, web browsers, video streaming applications, etc.). To meet the increasing performance demand, these ICs have increased in complexity and operate at clock frequencies in the gigahertz range.
Consequently, providing clocking signals in such ICs is an increasing concern. For example, clocking signal variation (known as clock skew) within an IC may limit operating frequencies of the IC due to the clock skew. Thus, one design concern is how to limit clock skew in ICs.
Aspects of an apparatus are disclosed. In one implementation, the apparatus includes a clock spine to conduct a clocking signal. The clock spine includes a plurality of taps points distributed unevenly on the clock spine. The apparatus further includes a plurality of clock buffers. Each of the plurality of clock buffers is connected to a corresponding one of the plurality of tap points.
Aspects of a method for operating an integrated circuit are disclosed. The method includes conducting a clocking signal on a clock spine having a plurality of taps points. The plurality of tap points is distributed unevenly on the clock spine. The method further includes buffering the clocking signal at each of the plurality of tap points.
Further aspects of an apparatus are disclosed. The apparatus includes means for conducting a clocking signal. The means for conducting includes a plurality of taps points distributed unevenly on the means for conducting. The apparatus further includes means for buffering the clocking signal at the plurality of tap points.
Further aspects of a method for manufacturing an integrated circuit are disclosed. The method includes forming a clock spine to conduct a clocking signal. The clock spine includes a plurality of taps points distributed unevenly on the clock spine. The method further includes forming a plurality of clock buffers, each of the plurality of clock buffers being connected to a corresponding one of the plurality of tap points.
It is understood that other aspects of apparatus and methods will become readily apparent to those skilled in the art from the following detailed description, wherein various aspects of apparatus and methods are shown and described by way of illustration. As will be realized, these aspects may be implemented in other and different forms and its several details are capable of modification in various other respects. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
Various aspects of apparatus and methods will now be presented in the detailed description by way of example, and not by way of limitation, with reference to the accompanying drawings, wherein:
The detailed description set forth below in connection with the appended drawings is intended as a description of various exemplary embodiments of the present invention and is not intended to represent the only embodiments in which the present invention may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring the concepts of the present invention. Acronyms and other descriptive terminology may be used merely for convenience and clarity and are not intended to limit the scope of the invention.
Various apparatuses and methods for providing clocking signals are presented throughout this disclosure may be incorporated within various apparatuses. By way of example, various aspects of the disclosed apparatuses and methods herein may be implemented as or in a stand-alone IC. Such aspects may also be included in any system, or any portion of the system (e.g., modules, components, circuits, or the like incorporating the IC or part of the IC), or any intermediate product where the IC or system is combined with other ICs or systems (e.g., a video card, a motherboard, etc.) or any end product (e.g., mobile phone, personal digital assistant (PDA), desktop computer, laptop computer, palm-sized computer, tablet computer, work station, game console, media player, computer based simulators, wireless communication attachments for laptops, or the like).
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. Likewise, the term “embodiment” of an apparatus or method does not require that all embodiments of the invention include the described components, structure, features, functionality, processes, advantages, benefits, or modes of operation.
The terms “connected,” “coupled,” or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and can encompass the presence of one or more intermediate elements between two elements that are “connected” or “coupled” together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As used herein, two elements can be considered to be “connected” or “coupled” together by the use of one or more wires, cables and/or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non-exhaustive examples.
Any reference to an element herein using a designation such as “first,” “second,” and so forth does not generally limit the quantity or order of those elements. Rather, these designations are used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements can be employed, or that the first element must precede the second element.
As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of the stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Various aspects of apparatuses and methods to provide clock signals will now be presented. However, as those skilled in the art will readily appreciate, such aspects may be extended beyond the configurations presented herein. Accordingly, all exemplary embodiments presented are intended only to illustrate exemplary aspects of the apparatuses and methods to provide clock signals with the understanding that such aspects may be extended to a wide range of applications.
The clock buffer relays the clock signal conducted by the clock spine 102 to the corresponding clock loads (e.g., clock loads 202-1, 202-2, and 202-3). For example, the clock buffer 212-1 is electrically connected to the tap point 211-1, and relays the clocking signal conducted on the clock spine 102 to the clock loads 202-1A and 202-1B. In such fashion, the clock signal conducted by the clock spine 102 is provided to the clock loads on the IC 110.
In some examples, the tap points 211-1, 211-2, and 211-3 are evenly distributed on the clock spine 102. For example, the distance D1 between the tap points 211-1 and 211-2 and the distance D2 between the tap points 211-2 and 211-3 are the same. For example, a clock spine 102 may be divided evenly to place the tap points 211. Iterations of simulations may be performed to find the optimal distance among the tap points 211 (e.g., distances D1 and D2). However, in these examples, the locations of the tap points 211 may not be determined based on the clock loads 202. Thus, the optimal distance of the evenly distributed tap points 211 may not be the optimal placements of the tap points 211 in terms of minimizing clock skew at the various clock loads 202. That is, the evenly distributed tap points 211 may not produce the minimum clock skew when providing the clocking signal (conducted by the clock spine 102). Thus, one design challenge is to improve upon this scheme of providing clocking signal to the clock loads 202.
In some aspects, the tap points 211 may be unevenly distributed on the clock spine 102. For example, the distances D1 and D2 are not equal, and the placement of one of the tap points 211 is not directly based the placement of another one of the tap points 211. In some aspects, the placement of the tap points 211 may be based on the clock loads 202 arranged in clusters as further illustrated by
At 438, whether a convergence has been achieved is determined. For example, if no changes or minimum changes (which may be predetermined or set by the user) to the centroids resulted from 436, a convergence is achieved, and the process ends. If a convergence has not been achieve, the flow goes to 434 for further iterations.
At 536, a new centroid is generated based on a probability based on D(x). Thus, a location that is further away from the initial centroid of 532 is more likely to be selected to be a new centroid. At 538, whether K centroids have been selected is determined. The number of centroids K may be a predetermined target. If K centroids have been selected, the process ends. If less than K centroids have been selected, the process goes to 534 to select more new centroids.
At 734, the clocking signal is buffered at each of the multiple tap points. In some examples, the clock buffer 212 provides the means for buffering the clocking signal. Referring to
Each of the clusters 304-1, 304-2, and 304-3 has a center 305. In one aspect, the center 305 may be a geographical center of the cluster 304. In another aspect, the center 305 may be a geometrical center or centroid of the cluster 304. In yet another aspect, the relationship of the center 305 to the clock loads 202 of the cluster 304 may be determined based on squares of distances (D(x)2) from the center 305 to the clock loads 202. The tap point 211 may be a nearest point on the clock spine 102 to the center 305. For example, referring to
At 738, the clocking signal may be relayed to two or more clusters from one of the multiple tap points. In some example, the one tap point 211 is within a threshold distance of the centers 305 of the two or more clusters 304. Referring to
At 832, a clock spine is formed to conduct a clocking signal. Referring to
At 834, multiple clock buffers are formed. In some examples, each of the multiple clock buffers 212 is electrically connected to a corresponding one of the multiple tap points 211. Referring to
For each of the clusters 304-1, 304-2, and 304-3 a center 305 may be determined/assigned. In one aspect, the center 305 may be a geographical center of the cluster 304. In another aspect, the center 305 may be a geometrical center or centroid of the cluster 304. In yet another aspect, the relationship of the center 305 to the clock loads 202 of the cluster 304 may be determined based on squares of distances (D(x)2) from the center 305 to the clock loads 202. The tap point 211 may be a nearest point on the clock spine 102 to the center 305. For example, referring to
The specific order or hierarchy of blocks in the method of operation described above is provided merely as an example. Based upon design preferences, the specific order or hierarchy of blocks in the method of operation may be re-arranged, amended, and/or modified. The accompanying method claims include various limitations related to a method of operation, but the recited limitations are not meant to be limited in any way by the specific order or hierarchy unless expressly stated in the claims.
The various aspects of this disclosure are provided to enable one of ordinary skill in the art to practice the present invention. Various modifications to exemplary embodiments presented throughout this disclosure will be readily apparent to those skilled in the art, and the concepts disclosed herein may be extended to other magnetic storage devices. Thus, the claims are not intended to be limited to the various aspects of this disclosure, but are to be accorded the full scope consistent with the language of the claims. All structural and functional equivalents to the various components of the exemplary embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112(f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”