An integrated circuit includes a first clock island, a second clock island, a clock generator, and a first programmable delay element. The first clock island is configured to receive a first clock signal. The second clock island is configured to receive a second clock signal. The clock generator is configured to provide a generated clock signal and the first and second clock signals are based on the generated clock signal. The first programmable delay element is coupled between the clock generator and the first clock island. The first programmable delay element is configured to receive the generated clock signal and provide the first clock signal. The integrated circuit is configured to account for a clock skew between the first and second clock signals when information is transferred between the first and second clock islands. In this manner, a predetermined amount of the clock skew may be introduced between the first and second clock signals to smear out, over time, instantaneous power supply current demands of respective logic within the first and second clock islands.
|
1. An integrated circuit, comprising:
a first clock island configured to receive a first clock signal;
a second clock island configured to receive a second clock signal;
a clock generator configured to provide a generated clock signal, wherein the first and second clock signals are based on the generated clock signal; and
a first programmable delay element coupled between the clock generator and the first clock island, wherein the first programmable delay element is configured to receive the generated clock signal and provide the first clock signal, and wherein the integrated circuit includes one or more additional programmable delay elements to account for a clock skew between the first and second clock signals when information is transferred between the first and second clock islands.
8. An integrated circuit, comprising:
a first clock island configured to receive a first clock signal, wherein the first clock island includes a first logic block;
a second clock island configured to receive a second clock signal, wherein the second clock island includes a second logic block;
a clock generator configured to provide a generated clock signal, wherein the first and second clock signals are based on the generated clock signal; and
a first programmable delay element coupled between the clock generator and the first clock island, wherein the first programmable delay element is configured to receive the generated clock signal and provide the first clock signal, and wherein the integrated circuit includes one or more additional programmable delay elements to account for a clock skew between the first and second clock signals when information is transferred between the first and second clock islands.
2. The integrated circuit of
a second programmable delay element coupled between the clock generator and the second clock island, wherein the second programmable delay element is configured to receive the generated clock signal and provide the second clock signal.
3. The integrated circuit of
4. The integrated circuit of
5. The integrated circuit of
6. The integrated circuit of
7. The integrated circuit of
9. The integrated circuit of
a second programmable delay element coupled between the clock generator and the second clock island, wherein the second programmable delay element is configured to receive the generated clock signal and provide the second clock signal.
10. The integrated circuit of
a third programmable delay element coupled between the second clock island and the first clock island, wherein the third programmable delay element is configured to delay data generated by the second clock island that is transmitted to the first clock island.
11. The integrated circuit of
a fourth programmable delay element coupled between the first clock island and the second clock island, wherein the fourth programmable delay element is configured to delay data generated by the first clock island that is transmitted to the second clock island.
12. The integrated circuit of
13. The integrated circuit of
14. The integrated circuit of
|
1. Field
This disclosure relates generally to an integrated circuit and, more specifically, to power supply current spike reduction techniques for an integrated circuit.
2. Related Art
Today, the trend in clock design for relatively large integrated circuits (chips) has been to implement relatively low clock skew for all clock islands (i.e., logic blocks in different clock domains) of a chip. As clock skew reduces available cycle time, lower clock skew has generally provided better chip performance. Clock skew targets of ten picoseconds or less are common in clock designs with cycle times of two-hundred fifty picoseconds or less. However, achieving clocks skews of ten picoseconds or less across an entire chip can be relatively challenging. Moreover, power integrity, power consumption, decoupling capacitor real estate, packaging cost, back-end-of-line (BEOL) grid (i.e., interconnects and vias) cost, and schedule goals may be difficult to attain in chips that are designed to maintain clock skews of ten picoseconds or less across an entire chip. For example, maintaining relatively low clock skew across an entire chip may cause relatively large chips to generate relatively large current spikes (e.g., 920 amperes/nanosecond), which may lead to relatively large power supply voltage droops (e.g., power supply voltage droops of ten to twenty percent). In a known input/output (I/O) design approach, clock skew has been intentionally introduced between I/O buffers associated with an I/O bus in an attempt to reduce interference between adjacent signal paths.
Power supply voltage droop generally causes loss of performance (due to increased circuit delay) if a power supply voltage is not raised to compensate for the voltage droop or relatively high power dissipation results if the power supply voltage is raised to compensate for the voltage droop. Moreover, power supply overshoot (attributable to package inductance) can cause reliability and/or functional issues with noise-susceptible circuitry, such as memory arrays and analog circuits. Known solutions used to mitigate power issues associated with relatively large current spikes include dedicating on-chip real estate (typically about ten percent) to thin-oxide decoupling capacitor cells and/or employing deep-trench capacitors within a chip.
However, on-chip decoupling capacitors are relatively expensive and may lead to decreased integrated circuit yield, due to failure of the on-chip decoupling capacitors. Moreover, even near-ideal on-die power supply decoupling may not satisfy all current spikes, which can exceed one-hundred forty amperes. Additionally, addressing current spikes attributable to reduced clock skew generally also increases first-level and second-level packaging costs. For example, exotic packages (e.g., glass on ceramic) and discrete surface mount technology (SMT) capacitors may be employed to mitigate current spikes. Unfortunately, exotic packages are relatively expensive and discrete SMT capacitors tend to be cumbersome to install. For example, locating package decoupling capacitors close to a chip (e.g., underneath a die) has led to more expensive designs in which one or more holes have been provided in an associated printed circuit board (or card). While high-frequency low-inductance chip array (LICA) capacitors may be implemented off-chip to address current spikes, implementing LICA capacitors off-chip is relatively expensive and may be cost prohibitive for many designs.
According to one aspect of the present disclosure, an integrated circuit includes a first clock island, a second clock island, a clock generator, and a first programmable delay element. The first clock island is configured to receive a first clock signal. The second clock island is configured to receive a second clock signal. The clock generator is configured to provide a generated clock signal and the first and second clock signals are based on the generated clock signal. The first programmable delay element is coupled between the clock generator and the first clock island. The first programmable delay element is configured to receive the generated clock signal and provide the first clock signal. The integrated circuit is also configured to account for a clock skew between the first and second clock signals when information is transferred between the first and second clock islands. According to various aspects of the present disclosure, a predetermined amount of the clock skew is introduced to smear out (over time) instantaneous power supply current demands of respective logic within the first and second clock islands. In this manner, composite (global) chip-level current demands may be smoothed out to effectively reduce power supply noise.
According to another aspect of the present disclosure, a technique for increasing integrated circuit yield includes providing a first clock signal to a first clock island included in an integrated circuit. A second clock signal is provided to a second clock island included in the integrated circuit. The first and second clock signals are based on a generated clock signal. A first clock skew of the first clock signal is adjusted. A first value for the first clock skew is determined when signals passing between the first and second clock islands both pass timing requirements. The first value is then programmed into a first programmable delay element that is coupled between a clock generator (that provides the generated clock signal) and the first clock island.
According to one embodiment of the present disclosure, an integrated circuit includes a first clock island, a second clock island, a clock generator, and a first programmable delay element. The first clock island is configured to receive a first clock signal. The second clock island is configured to receive a second clock signal. The first clock island includes a first logic block (e.g., a first processor core) and the second clock island includes a second logic block (e.g., a second processor core). The clock generator is configured to provide a generated clock signal and the first and second clock signals are based on the generated clock signal. The first programmable delay element is coupled between the clock generator and the first clock island. The first programmable delay element is configured to receive the generated clock signal and provide the first clock signal. The integrated circuit is also configured to account for a clock skew between the first and second clock signals when information is transferred between the first and second clock islands.
The present invention is illustrated by way of example and is not intended to be limited by the accompanying figures, in which like references indicate similar elements. Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale.
As will be appreciated by one of ordinary skill in the art, the present invention may be embodied as a method, system, device, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module,” or “system.” For example, an entirely software embodiment of the present invention may take the form of one or more design files encoded on a computer-usable storage medium.
Any suitable computer-usable or computer-readable storage medium may be utilized. The computer-usable or computer-readable storage medium may be, for example, but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or Flash memory, a portable compact disc read-only memory (CD-ROM), an optical storage device, or a magnetic storage device. Note that the computer-usable or computer-readable storage medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this disclosure, a computer-usable or computer-readable storage medium may be any medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. As used herein, the term “coupled” includes both a direct electrical connection between blocks or components and an indirect electrical connection between blocks or components achieved using intervening blocks or components.
As noted above, conventionally, relatively low clock skew designs have been implemented to improve global timing for an integrated circuit (chip). Moreover, in a typical application, local clock skew within a given clock island is maintained at a relatively low level to simplify local timing. However, relatively low clock skew designs may lead to larger power supply current spikes over shorter time periods, which can increase instantaneous power consumption and increase packaging costs for a chip. The present disclosure is generally directed to techniques (that also tend to reduce a cost of the chip) for reducing global power supply current spikes and instantaneous power consumption of a chip. Normally, reducing global power supply spikes reduces overall chip power consumption. According to the present disclosure, power supply spikes are generally reduced by isolating clock islands and performing global skew engineering. It should be appreciated that when clock signals provided to different clock islands of a chip are skewed with respect to each other the introduced skew must also be considered when transferring information between the clock islands. As used herein, the term “clock island” is used to denote a logic block that, within a specific clock domain, is triggered off the same clock signal. According to various aspects of the present disclosure, instantaneous global power demand of a chip is reduced by introducing a controlled amount of clock skew between clock islands across a chip. In various embodiments, the clock islands follow natural logic partitions dictated by a design architecture. For example, each of the clock islands may correspond to a different central processing unit (CPU) core of an integrated circuit that includes multiple CPU cores.
According to the present disclosure, an engineered amount of clock skew is introduced between clock islands, while communication between the clock islands is engineered to provide a finite clock skew between the clock islands. In this manner, global power demand is averaged out (in space and time) to reduce overall power consumption and simplify power delivery. Various disclosed techniques reverse the current design trend (of reducing clock skew to a minimum amount) by intentionally introducing an engineered amount of clock skew between clock islands of a chip to effectively smooth out overall (global) current demand of the chip. Engineering the propagation delay of clock signal fan-out paths (provided to respective clock islands of a chip) to have different clock skews generally reduces (local and global) voltage droop at the chip, while improving performance and reliability of the chip. Hardware features (e.g., fixed buffers or programmable delay lines) provided on a chip may be employed to facilitate adjustment of clock edges on clock signals provided by a single clock generator to various clock islands (clock domains). Clock edges can be adjusted statically (e.g., set once in hardware) or dynamically (adjusted in real-time (based on current conditions) or periodically). In various embodiments, signals spanning clock domains are architected and timed to ensure no late mode or early mode violations are generated when clock edges are moved.
With reference to
Moving to
With reference to
With reference to
With reference to
As should be obvious to one skilled in the art upon reading this disclosure, the actual amount of skew implemented between each of the islands may not be exactly one quarter of a clock cycle, or the sum of skews may not necessarily add up to nearly an entire clock cycle. In general, selected clock skews are an engineered trade-off between power supply spike reduction and practical timing closure (especially with respect to timing between the island 608 and the island 602).
With reference to
With reference to
Accordingly, techniques have been disclosed herein that readily facilitate the reduction of current spikes in an integrated circuit that includes two or more clock islands whose clock signals are skewed with respect to each other.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. 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,” and/or “comprising,” when used in this specification, specify the presence of 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.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below, if any, are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Having thus described the invention of the present application in detail and by reference to preferred embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims.
Allen, David H., Gravrok, Roger J., Van Goor, Kenneth A.
Patent | Priority | Assignee | Title |
11360540, | Dec 15 2015 | Intel Corporation | Processor core energy management |
8049476, | Dec 17 2008 | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | Method for changing an output voltage and circuit therefor |
8627160, | Apr 21 2010 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | System and device for reducing instantaneous voltage droop during a scan shift operation |
8881080, | Dec 21 2012 | Qualcomm Incorporated | Method and apparatus for enhanced static IR drop analysis |
9032356, | Mar 06 2013 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Programmable clock spreading |
9438217, | Jul 22 2014 | NXP USA, INC | System and method for clocking integrated circuit |
Patent | Priority | Assignee | Title |
7046069, | Jul 19 2004 | Texas Instruments Incorporated; TELOGY NETWORKS, INC | Method to reduce inductive effects of current variations by internal clock phase shifting |
7386749, | Mar 04 2005 | Intel Corporation | Controlling sequence of clock distribution to clock distribution domains |
7669151, | Mar 07 2007 | Altera Corporation | Methods for reducing power supply simultaneous switching noise |
7685458, | Dec 12 2006 | Kabushiki Kaisha Toshiba | Assigned task information based variable phase delayed clock signals to processor cores to reduce di/dt |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 07 2008 | ALLEN, DAVID H | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020361 | /0678 | |
Jan 07 2008 | GRAVROK, ROGER J | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020361 | /0678 | |
Jan 10 2008 | VAN GOOR, KENNETH A | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020361 | /0678 | |
Jan 14 2008 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jan 09 2015 | REM: Maintenance Fee Reminder Mailed. |
May 31 2015 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
May 31 2014 | 4 years fee payment window open |
Dec 01 2014 | 6 months grace period start (w surcharge) |
May 31 2015 | patent expiry (for year 4) |
May 31 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 31 2018 | 8 years fee payment window open |
Dec 01 2018 | 6 months grace period start (w surcharge) |
May 31 2019 | patent expiry (for year 8) |
May 31 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 31 2022 | 12 years fee payment window open |
Dec 01 2022 | 6 months grace period start (w surcharge) |
May 31 2023 | patent expiry (for year 12) |
May 31 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |