US20090179680A1 - Method and apparatus for implementing balanced clock distribution networks on asics with voltage islands functioning at multiple operating points of voltage and temperature - Google Patents
Method and apparatus for implementing balanced clock distribution networks on asics with voltage islands functioning at multiple operating points of voltage and temperature Download PDFInfo
- Publication number
- US20090179680A1 US20090179680A1 US12/014,172 US1417208A US2009179680A1 US 20090179680 A1 US20090179680 A1 US 20090179680A1 US 1417208 A US1417208 A US 1417208A US 2009179680 A1 US2009179680 A1 US 2009179680A1
- Authority
- US
- United States
- Prior art keywords
- voltage
- clock
- balanced
- distribution networks
- programmable delay
- 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.)
- Granted
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000013461 design Methods 0.000 claims abstract description 54
- 238000012938 design process Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/15—Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
- H03K5/15013—Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
- H03K5/1502—Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs programmable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
Definitions
- the present invention relates generally to the data processing field, and more particularly, relates to a method and apparatus for implementing balanced clock distribution networks on application specific integrated circuits (ASICs) with voltage islands functioning at multiple operating points of voltage and temperature, and a design structure on which the subject circuit resides.
- ASICs application specific integrated circuits
- FIGS. 1 and 2 illustrate prior art arrangement for balancing clock trees across a static set of voltage islands, where the voltage of the islands is set at the time of design completion.
- FIG. 1 illustrates a conventional clock structure 100 for ASICs with multiple voltage islands 102 with a clock source 104 coupled to an N-level balanced clock tree 106 .
- the N-level balanced clock tree 106 provides a clock signal to a voltage shifter and programmable delay 108 of each voltage island 102 and provides a clock signal to a chip core programmable delay 110 .
- a respective balanced clock tree 112 is connected to the voltage shifter and programmable delay 108 within each voltage island 102 and is connected to the chip core programmable delay 110 .
- Respective clock sinks 114 are connected to each of the respective balanced clock tree 112 .
- dynamic voltage scaling In conjunction with voltage island usage, designers are turning to dynamic voltage scaling (DVS) to further optimize power and performance.
- VFS dynamic voltage scaling
- the voltage of the respective islands is scaled to meet the current application requirements.
- This dynamic voltage scaling can take numerous forms, such as, including 1) an ASIC that is used in different environments that have significantly different power/performance requirements, or 2) an ASIC that adjusts the operating voltage based upon the present, real time performance requirements.
- FIG. 2 illustrates prior art programmable delay elements 200 for a clock structure for ASICs with multiple series connected delay multiplexers 202 , MUX 0 -N with a data input DATA IN applied to a first delay multiplexer 202 , delay MUX 0 at inputs DF, DZR, and providing a data output DATA OUT at output ZR of the first delay multiplexer 202 , delay MUX 0 .
- the first delay multiplexer 202 , delay MUX 0 receives inputs SF 0 , S 0 , and S 1 indicated at inputs SF, S 0 , and S 1 of the delay MUX 0 .
- the respective multiplexers 202 , MUX 1 -N receives a respective input SF 1 , SFN, indicated at input SF.
- One prior art programmable delay clock structure provides globally asynchronous but locally synchronous clocking. With this clock structure arrangement, clock domains that cross voltage islands are treated as synchronous within the island but as separate asynchronous domains between islands. This arrangement has applicability for some designs but has some significant drawbacks that make it insufficient for a large population of designs. Significant drawbacks include the timing penalty to re-synchronize signals that cross the voltage island boundary. This penalty can be significant and in many cases may violate the protocol of the interface between the logic of the two islands. In many cases the logic that is crossing the voltage islands may be part of a design that is not owned by a particular designer. In this case, it is not possible to break the logic into partitions that operate asynchronously. In many cases, the logic that is crossing the voltage islands may be part of reusable logic that the customer does not plan to modify for its usage in the ASIC.
- the clock structure 100 generally enables clock balancing across a single static set of conditions that are pre-determined at the time of physical design.
- the clock structure 100 can utilize programmable delay elements 202 as shown in FIG. 2 to accelerate the physical design process of making changes to the clock tree to balance the network.
- programmable delay elements 202 as shown in FIG. 2 to accelerate the physical design process of making changes to the clock tree to balance the network.
- the voltage islands can operate at many different combinations of voltage, frequency and duty cycle, which is the amount of time the island is powered on.
- the prior art clock structure 100 has the significant disadvantage of requiring a one time balance of the clock network that must accommodate, as best possible, a super-set of all valid combinations.
- Clock voltage skew is defined as the maximum amount that the arrival time of a clock varies due to voltage domain floating from best case to worst case and back. Design modifications cannot compensate for the voltage skew other than to reduce the overall latency of the clock tree, and consequently reduce the worst case to best case latency variation.
- the voltage skew has a very direct affect on the ability to close timing at the desired performance across all modes of operation. The voltage skew is determined by the voltage swing from best case to worst case for the voltage island.
- ASICs application specific integrated circuits
- Principal aspect of the present invention are to provide a method and apparatus for implementing balanced clock distribution networks on application specific integrated circuits (ASICs) with voltage islands functioning at multiple operating points of voltage and temperature.
- Other important aspects of the present invention are to provide such method and apparatus for implementing balanced clock distribution networks substantially without negative effect and that overcome many of the disadvantages of prior art arrangements.
- a clock source is coupled to an N-level balanced clock tree providing a clock signal.
- Each of a plurality of voltage islands includes a respective voltage shifter and programmable delay function receiving the clock signal.
- Each respective voltage shifter and programmable delay function provides a second clock signal to a respective balanced clock tree for the associated voltage island.
- a system controller provides a respective control input to each respective voltage shifter and programmable delay function. The respective control input is varied dynamically corresponding to an operational mode of the respective voltage island.
- the respective voltage islands include multiple operational modes including dynamically varying voltages for the voltage islands.
- the respective dynamically varied control input provides programmed delay settings corresponding to multiple operational modes of the voltage islands enabling enhanced clock tree balancing.
- the clock structure of the invention is able to attain a higher operating frequency due to the reduced penalty for clock skew.
- the system controller includes a plurality of multiplexers for each of the voltage islands and a chip core. Predefined values to set the multiplexer data inputs are determined with the clock network being balanced for each individual operational mode. Multiplexer select inputs are provided by an external chip input/output (I/O). Optionally an internal chip register is programmed to provide appropriate multiplexer select settings for the multiple operational modes for each of the voltage islands.
- I/O external chip input/output
- an internal chip register is programmed to provide appropriate multiplexer select settings for the multiple operational modes for each of the voltage islands.
- FIG. 1 is block diagram representation of a prior art clock structure for ASICs with multiple voltage islands
- FIG. 2 is block diagram representation of prior art programmable delay elements for clock structures for ASICs with multiple voltage islands;
- FIG. 3 is a schematic and block diagram representation of an exemplary clock structure in accordance with the preferred embodiment
- FIG. 4 is a schematic and block diagram representation of an exemplary system controller for the clock structure of FIG. 3 in accordance with the preferred embodiment.
- FIG. 5 is a flow diagram of a design process used in semiconductor design, manufacturing, and/or test.
- a method and apparatus enables clock tree balancing in an environment where the voltage island voltages are varying dynamically.
- programmable delay elements are included in the methodology to enable quicker metallization changes to reduce physical design time to insert a balanced clock tree.
- controls used to program the delay elements are exposed to the customer logic to enable dynamic balancing of the customer clock tree to match dynamically varying voltage island voltages, such as customer intended voltage changes within voltage islands.
- the clock structure of the invention is able to attain a higher operating frequency due to the reduced penalty for clock skew.
- FIG. 3 there is shown an exemplary clock structure generally designated by the reference character 300 in accordance with the preferred embodiment.
- Clock structure 300 allows a clock network to be balanced for different combinations of operating modes.
- Clock structure 300 provides a method and apparatus for utilizing programmable delay elements to re-balance the clock network based on the requirements of the current operational mode. By enabling the clock network to be re-balanced for different operating modes, the timing penalty for clock skew advantageously is reduced allowing the design to achieve higher performance targets.
- Clock structure 300 includes a clock source 302 coupled to an N-level balanced clock tree 304 providing a clock signal indicated at line CLOCK.
- Each of a plurality of voltage islands 306 , 1 -N includes a voltage shifter and programmable delay 308 receiving the clock signal CLOCK and a respective control input CONTROL BUS 1 -N.
- Each of the plurality of voltage islands 306 , 1 -N includes a balanced clock tree 310 coupled to the voltage shifter and programmable delay 308 .
- Respective clock sinks 312 are connected to each of the respective balanced clock tree 310 .
- a core ASIC includes a programmable delay 314 receiving the clock signal CLOCK and a control input CONTROL BUS CORE.
- a balanced clock tree 316 is coupled to the programmable delay 314 .
- Clock sinks 318 are connected to each of the respective balanced clock tree 110 within the voltage island 306 .
- Clock structure 300 includes a system controller 320 in accordance with the preferred embodiment providing the control signals CONTROL BUS 1 -N for the plurality of voltage islands 306 , 1 -N and CONTROL BUS CORE.
- the control signals are routed to the system controller 320 .
- programmable delay settings appropriate for different operational modes are fed to a series of multiplexers, one for the core voltage and one for each voltage island 306 of the chip. Based on the operational mode of the chip, the multiplexer select lines are used to route the appropriate settings to the programmable delay books 306 , 314 to optimize the skew of the overall clock network.
- multiplexer select lines are controlled in a selected one of numerous ways, for example, including: 1) Wired to external chip I/O, which advantageously is used for cases where the functional mode is set at the board level. 2) Wired to an internal chip register that is programmed to the correct value based on the operational mode.
- the delay settings that need to be used per island and per operational mode that are fed to the data ports of the multiplexers within the system controller 320 could be programmed in numerous ways including: 1) Hard Wired during physical design; 2) Connected to registers that are programmed to the correct value based on results from physical design. Note the registers must reset to initial values that result in a clock network balanced sufficiently to enable register programming. To determine the proper values to set the multiplexer data inputs, the clock network is balanced for each individual operational mode.
- FIG. 4 One example of an exemplary simple system controller 400 to implement system controller 320 is shown in FIG. 4
- System controller 400 is provided, for example, for use with the clock structure 300 implementing the system controller 320 .
- System controller 400 includes a first core multiplexer 402 for providing the control signals CONTROL BUS CORE, for example, applied to the programmable delay 314 of the clock structure 300 .
- System controller 400 includes a plurality of voltage island multiplexers 404 , 406 VI 1 ⁇ V 1 N (voltage island 1 ⁇ voltage island N), for example, for providing the control signals CONTROL BUS 1 -N to each voltage shifter and programmable delay 308 of the plurality of voltage islands 306 , 1 -N of the clock structure 300 .
- a plurality of setting 408 for each of the multiplexers 402 , 404 , 406 is hardwired during the physical design.
- An external chip input/output (I/O) 410 controls multiplexer select lines.
- an internal chip register 410 is programmed and provides appropriate multiplexer select settings for multiple functional modes.
- the voltage skew component of the overall clock skew is based on a clock skew created by a voltage swing of 0.090V for island 1 and 0.405V for island 2 for an overall swing of 0.495V.
- the maximum voltage skew would be based on voltage swings of 0.090V for island 1 and 0.12V for island 2 for an overall swing of 0.21V. Depending on the structure of the clock tree, this difference has a significant impact on the timing closure process and the overall attainable performance of the chip.
- FIG. 5 shows a block diagram of an example design flow 500 .
- Design flow 500 may vary depending on the type of IC being designed.
- a design flow 500 for building an application specific IC (ASIC) may differ from a design flow 500 for designing a standard component.
- Design structure 502 is preferably an input to a design process 504 and may come from an IP provider, a core developer, or other design company or may be generated by the operator of the design flow, or from other sources.
- Design structure 502 comprises circuit 300 , and circuit 400 in the form of schematics or HDL, a hardware-description language, for example, Verilog, VHDL, C, and the like.
- Design structure 502 may be contained on one or more machine readable medium.
- design structure 502 may be a text file or a graphical representation of circuit 300 .
- Design process 504 preferably synthesizes, or translates, circuit 300 , and circuit 400 into a netlist 506 , where netlist 506 is, for example, a list of wires, transistors, logic gates, control circuits, I/O, models, etc. that describes the connections to other elements and circuits in an integrated circuit design and recorded on at least one of machine readable medium. This may be an iterative process in which netlist 506 is resynthesized one or more times depending on design specifications and parameters for the circuit.
- Design process 504 may include using a variety of inputs; for example, inputs from library elements 508 which may house a set of commonly used elements, circuits, and devices, including models, layouts, and symbolic representations, for a given manufacturing technology, such as different technology nodes, 32 nm, 45 nm, 90 nm, and the like, design specifications 510 , characterization data 512 , verification data 514 , design rules 516 , and test data files 518 , which may include test patterns and other testing information. Design process 504 may further include, for example, standard circuit design processes such as timing analysis, verification, design rule checking, place and route operations, and the like.
- standard circuit design processes such as timing analysis, verification, design rule checking, place and route operations, and the like.
- Design process 504 preferably translates an embodiment of the invention as shown in FIGS. 3 , and 4 along with any additional integrated circuit design or data (if applicable), into a second design structure 520 .
- Design structure 520 resides on a storage medium in a data format used for the exchange of layout data of integrated circuits, for example, information stored in a GDSII (GDS 2 ), GL 1 , OASIS, or any other suitable format for storing such design structures.
- Design structure 520 may comprise information such as, for example, test data files, design content files, manufacturing data, layout parameters, wires, levels of metal, vias, shapes, data for routing through the manufacturing line, and any other data required by a semiconductor manufacturer to produce an embodiment of the invention as shown in FIGS. 3 , and 4 .
- Design structure 520 may then proceed to a stage 522 where, for example, design structure 520 proceeds to tape-out, is released to manufacturing, is released to a mask house, is sent to another design house, is sent back to the customer, and the
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
- The present invention relates generally to the data processing field, and more particularly, relates to a method and apparatus for implementing balanced clock distribution networks on application specific integrated circuits (ASICs) with voltage islands functioning at multiple operating points of voltage and temperature, and a design structure on which the subject circuit resides.
- In an effort to reduce power consumption for ASIC designs, methodologies have been proposed to power different portions of the chip at different supply voltages (Vdd). Within some known technology or design methodology this is accomplished through the usage of voltage islands.
- This usage of voltage islands allows for voltage to be scaled for achieving performance targets for different partitions of logic. A lower voltage is applied to areas of logic that do not have aggressive performance targets. This reduces both the dynamic and static power consumption of this logic resulting in significant overall power savings for the chip.
- Using voltage islands generally complicates the overall design methodology required to develop the chip. One area in particular is the insertion of a balanced clock tree. Clock trees are synthesized with the goal of having all clocks within a clock domain arrive at their sinks at the same time. Voltage islands complicate this requirement by having different voltages across the chip that could be operating at different best and worst case conditions. Methodologies exist to insert and balance a clock tree across a set of voltage islands.
-
FIGS. 1 and 2 illustrate prior art arrangement for balancing clock trees across a static set of voltage islands, where the voltage of the islands is set at the time of design completion. -
FIG. 1 illustrates aconventional clock structure 100 for ASICs withmultiple voltage islands 102 with aclock source 104 coupled to an N-levelbalanced clock tree 106. In the priorart clock structure 100, the N-levelbalanced clock tree 106 provides a clock signal to a voltage shifter andprogrammable delay 108 of eachvoltage island 102 and provides a clock signal to a chip coreprogrammable delay 110. A respectivebalanced clock tree 112 is connected to the voltage shifter andprogrammable delay 108 within eachvoltage island 102 and is connected to the chip coreprogrammable delay 110.Respective clock sinks 114 are connected to each of the respectivebalanced clock tree 112. - In conjunction with voltage island usage, designers are turning to dynamic voltage scaling (DVS) to further optimize power and performance. With dynamic voltage scaling, the voltage of the respective islands is scaled to meet the current application requirements. This dynamic voltage scaling can take numerous forms, such as, including 1) an ASIC that is used in different environments that have significantly different power/performance requirements, or 2) an ASIC that adjusts the operating voltage based upon the present, real time performance requirements.
-
FIG. 2 illustrates prior artprogrammable delay elements 200 for a clock structure for ASICs with multiple series connecteddelay multiplexers 202, MUX0-N with a data input DATA IN applied to afirst delay multiplexer 202, delay MUX0 at inputs DF, DZR, and providing a data output DATA OUT at output ZR of thefirst delay multiplexer 202, delay MUX0. Thefirst delay multiplexer 202, delay MUX0 receives inputs SF0, S0, and S1 indicated at inputs SF, S0, and S1 of the delay MUX0. Therespective multiplexers 202, MUX1-N receives a respective input SF1, SFN, indicated at input SF. - One prior art programmable delay clock structure provides globally asynchronous but locally synchronous clocking. With this clock structure arrangement, clock domains that cross voltage islands are treated as synchronous within the island but as separate asynchronous domains between islands. This arrangement has applicability for some designs but has some significant drawbacks that make it insufficient for a large population of designs. Significant drawbacks include the timing penalty to re-synchronize signals that cross the voltage island boundary. This penalty can be significant and in many cases may violate the protocol of the interface between the logic of the two islands. In many cases the logic that is crossing the voltage islands may be part of a design that is not owned by a particular designer. In this case, it is not possible to break the logic into partitions that operate asynchronously. In many cases, the logic that is crossing the voltage islands may be part of reusable logic that the customer does not plan to modify for its usage in the ASIC.
- The
clock structure 100 generally enables clock balancing across a single static set of conditions that are pre-determined at the time of physical design. Theclock structure 100 can utilizeprogrammable delay elements 202 as shown inFIG. 2 to accelerate the physical design process of making changes to the clock tree to balance the network. In low power ASIC applications, it is often required to have the chip run in different modes to accommodate different power/performance requirements. In this case, the voltage islands can operate at many different combinations of voltage, frequency and duty cycle, which is the amount of time the island is powered on. The priorart clock structure 100 has the significant disadvantage of requiring a one time balance of the clock network that must accommodate, as best possible, a super-set of all valid combinations. - Clock voltage skew is defined as the maximum amount that the arrival time of a clock varies due to voltage domain floating from best case to worst case and back. Design modifications cannot compensate for the voltage skew other than to reduce the overall latency of the clock tree, and consequently reduce the worst case to best case latency variation. The voltage skew has a very direct affect on the ability to close timing at the desired performance across all modes of operation. The voltage skew is determined by the voltage swing from best case to worst case for the voltage island.
- As the voltage of different partitions of customer logic is varied, it is not possible with the current methodology to maintain a balanced clock tree. As the skew of the clocks arriving at a clock sink increases, the attainable clock frequency is significantly reduced. In many cases with the clock skew that exists across multiple operating voltages and across process and temperature corners, it is not possible to close static timing analysis.
- A need exists for a method and apparatus for implementing balanced clock distribution networks on application specific integrated circuits (ASICs) with voltage islands functioning at multiple operating points of voltage and temperature.
- Principal aspect of the present invention are to provide a method and apparatus for implementing balanced clock distribution networks on application specific integrated circuits (ASICs) with voltage islands functioning at multiple operating points of voltage and temperature. Other important aspects of the present invention are to provide such method and apparatus for implementing balanced clock distribution networks substantially without negative effect and that overcome many of the disadvantages of prior art arrangements.
- In brief, a method and apparatus for implementing balanced clock distribution networks on application specific integrated circuits (ASICs) with voltage islands functioning at multiple operating points of voltage and temperature, and a design structure on which the subject circuit resides are provided. A clock source is coupled to an N-level balanced clock tree providing a clock signal. Each of a plurality of voltage islands includes a respective voltage shifter and programmable delay function receiving the clock signal. Each respective voltage shifter and programmable delay function provides a second clock signal to a respective balanced clock tree for the associated voltage island. A system controller provides a respective control input to each respective voltage shifter and programmable delay function. The respective control input is varied dynamically corresponding to an operational mode of the respective voltage island.
- In accordance with features of the invention, the respective voltage islands include multiple operational modes including dynamically varying voltages for the voltage islands. The respective dynamically varied control input provides programmed delay settings corresponding to multiple operational modes of the voltage islands enabling enhanced clock tree balancing. By maintaining the enhanced balanced clock tree, the clock structure of the invention is able to attain a higher operating frequency due to the reduced penalty for clock skew.
- In accordance with features of the invention, the system controller includes a plurality of multiplexers for each of the voltage islands and a chip core. Predefined values to set the multiplexer data inputs are determined with the clock network being balanced for each individual operational mode. Multiplexer select inputs are provided by an external chip input/output (I/O). Optionally an internal chip register is programmed to provide appropriate multiplexer select settings for the multiple operational modes for each of the voltage islands.
- The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein:
-
FIG. 1 is block diagram representation of a prior art clock structure for ASICs with multiple voltage islands; -
FIG. 2 is block diagram representation of prior art programmable delay elements for clock structures for ASICs with multiple voltage islands; -
FIG. 3 is a schematic and block diagram representation of an exemplary clock structure in accordance with the preferred embodiment; -
FIG. 4 is a schematic and block diagram representation of an exemplary system controller for the clock structure ofFIG. 3 in accordance with the preferred embodiment; and -
FIG. 5 is a flow diagram of a design process used in semiconductor design, manufacturing, and/or test. - In accordance with features of the invention, a method and apparatus enables clock tree balancing in an environment where the voltage island voltages are varying dynamically. In prior art clock structures such as illustrated in
FIGS. 1 and 2 , programmable delay elements are included in the methodology to enable quicker metallization changes to reduce physical design time to insert a balanced clock tree. - In accordance with features of the invention, controls used to program the delay elements are exposed to the customer logic to enable dynamic balancing of the customer clock tree to match dynamically varying voltage island voltages, such as customer intended voltage changes within voltage islands. By maintaining a more balanced clock tree, the clock structure of the invention is able to attain a higher operating frequency due to the reduced penalty for clock skew.
- Having reference now to the drawings, in
FIG. 3 , there is shown an exemplary clock structure generally designated by thereference character 300 in accordance with the preferred embodiment. -
Clock structure 300 allows a clock network to be balanced for different combinations of operating modes.Clock structure 300 provides a method and apparatus for utilizing programmable delay elements to re-balance the clock network based on the requirements of the current operational mode. By enabling the clock network to be re-balanced for different operating modes, the timing penalty for clock skew advantageously is reduced allowing the design to achieve higher performance targets. -
Clock structure 300 includes aclock source 302 coupled to an N-levelbalanced clock tree 304 providing a clock signal indicated at line CLOCK. Each of a plurality ofvoltage islands 306, 1-N includes a voltage shifter andprogrammable delay 308 receiving the clock signal CLOCK and a respective control input CONTROL BUS 1-N. - Each of the plurality of
voltage islands 306, 1-N includes abalanced clock tree 310 coupled to the voltage shifter andprogrammable delay 308. Respective clock sinks 312 are connected to each of the respectivebalanced clock tree 310. - A core ASIC includes a
programmable delay 314 receiving the clock signal CLOCK and a control input CONTROL BUS CORE. Abalanced clock tree 316 is coupled to theprogrammable delay 314. Clock sinks 318 are connected to each of the respectivebalanced clock tree 110 within thevoltage island 306. -
Clock structure 300 includes asystem controller 320 in accordance with the preferred embodiment providing the control signals CONTROL BUS 1-N for the plurality ofvoltage islands 306, 1-N and CONTROL BUS CORE. - In accordance with features of the invention, instead of hard wiring the programmable delay controls to the power and ground rails, the control signals are routed to the
system controller 320. For example, inside thesystem controller 320, programmable delay settings appropriate for different operational modes are fed to a series of multiplexers, one for the core voltage and one for eachvoltage island 306 of the chip. Based on the operational mode of the chip, the multiplexer select lines are used to route the appropriate settings to theprogrammable delay books - In accordance with features of the invention, multiplexer select lines are controlled in a selected one of numerous ways, for example, including: 1) Wired to external chip I/O, which advantageously is used for cases where the functional mode is set at the board level. 2) Wired to an internal chip register that is programmed to the correct value based on the operational mode.
- In accordance with features of the invention, the delay settings that need to be used per island and per operational mode that are fed to the data ports of the multiplexers within the
system controller 320 could be programmed in numerous ways including: 1) Hard Wired during physical design; 2) Connected to registers that are programmed to the correct value based on results from physical design. Note the registers must reset to initial values that result in a clock network balanced sufficiently to enable register programming. To determine the proper values to set the multiplexer data inputs, the clock network is balanced for each individual operational mode. One example of an exemplarysimple system controller 400 to implementsystem controller 320 is shown inFIG. 4 - Referring to
FIG. 4 , there is shown an exemplary system controller generally designated by thereference character 400 in accordance with the preferred embodiment.System controller 400 is provided, for example, for use with theclock structure 300 implementing thesystem controller 320. -
System controller 400 includes afirst core multiplexer 402 for providing the control signals CONTROL BUS CORE, for example, applied to theprogrammable delay 314 of theclock structure 300.System controller 400 includes a plurality of voltage island multiplexers 404, 406 VI1−V1N (voltage island 1−voltage island N), for example, for providing the control signals CONTROL BUS 1-N to each voltage shifter andprogrammable delay 308 of the plurality ofvoltage islands 306, 1-N of theclock structure 300. A plurality of setting 408 for each of themultiplexers internal chip register 410 is programmed and provides appropriate multiplexer select settings for multiple functional modes. - Consider the following example that a chip has two voltage islands that are required to run in two different modes as follows:
-
-
-
Frequency 100 MHz - Voltages
- Core—0.90V±5%
-
Voltage Island 1—1.0V±5% -
Voltage Island 2—0.90V±5%
-
-
-
-
Frequency 200 MHz - Voltages
- Core—0.90V±5%
-
Voltage Island 1—Off -
Voltage Island 2—1.20V±5%
-
- Using the conventional method the voltage skew component of the overall clock skew is based on a clock skew created by a voltage swing of 0.090V for
island 1 and 0.405V forisland 2 for an overall swing of 0.495V. - In accordance with features of the invention, the maximum voltage skew would be based on voltage swings of 0.090V for
island 1 and 0.12V forisland 2 for an overall swing of 0.21V. Depending on the structure of the clock tree, this difference has a significant impact on the timing closure process and the overall attainable performance of the chip. -
FIG. 5 shows a block diagram of anexample design flow 500.Design flow 500 may vary depending on the type of IC being designed. For example, adesign flow 500 for building an application specific IC (ASIC) may differ from adesign flow 500 for designing a standard component.Design structure 502 is preferably an input to adesign process 504 and may come from an IP provider, a core developer, or other design company or may be generated by the operator of the design flow, or from other sources.Design structure 502 comprisescircuit 300, andcircuit 400 in the form of schematics or HDL, a hardware-description language, for example, Verilog, VHDL, C, and the like.Design structure 502 may be contained on one or more machine readable medium. For example,design structure 502 may be a text file or a graphical representation ofcircuit 300.Design process 504 preferably synthesizes, or translates,circuit 300, andcircuit 400 into anetlist 506, wherenetlist 506 is, for example, a list of wires, transistors, logic gates, control circuits, I/O, models, etc. that describes the connections to other elements and circuits in an integrated circuit design and recorded on at least one of machine readable medium. This may be an iterative process in which netlist 506 is resynthesized one or more times depending on design specifications and parameters for the circuit. -
Design process 504 may include using a variety of inputs; for example, inputs fromlibrary elements 508 which may house a set of commonly used elements, circuits, and devices, including models, layouts, and symbolic representations, for a given manufacturing technology, such as different technology nodes, 32 nm, 45 nm, 90 nm, and the like,design specifications 510,characterization data 512,verification data 514,design rules 516, and test data files 518, which may include test patterns and other testing information.Design process 504 may further include, for example, standard circuit design processes such as timing analysis, verification, design rule checking, place and route operations, and the like. One of ordinary skill in the art of integrated circuit design can appreciate the extent of possible electronic design automation tools and applications used indesign process 504 without deviating from the scope and spirit of the invention. The design structure of the invention is not limited to any specific design flow. -
Design process 504 preferably translates an embodiment of the invention as shown inFIGS. 3 , and 4 along with any additional integrated circuit design or data (if applicable), into asecond design structure 520.Design structure 520 resides on a storage medium in a data format used for the exchange of layout data of integrated circuits, for example, information stored in a GDSII (GDS2), GL1, OASIS, or any other suitable format for storing such design structures.Design structure 520 may comprise information such as, for example, test data files, design content files, manufacturing data, layout parameters, wires, levels of metal, vias, shapes, data for routing through the manufacturing line, and any other data required by a semiconductor manufacturer to produce an embodiment of the invention as shown inFIGS. 3 , and 4.Design structure 520 may then proceed to astage 522 where, for example,design structure 520 proceeds to tape-out, is released to manufacturing, is released to a mask house, is sent to another design house, is sent back to the customer, and the like. - While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/014,172 US7551002B1 (en) | 2008-01-15 | 2008-01-15 | Method and apparatus for implementing balanced clock distribution networks on ASICs with voltage islands functioning at multiple operating points of voltage and temperature |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/014,172 US7551002B1 (en) | 2008-01-15 | 2008-01-15 | Method and apparatus for implementing balanced clock distribution networks on ASICs with voltage islands functioning at multiple operating points of voltage and temperature |
Publications (2)
Publication Number | Publication Date |
---|---|
US7551002B1 US7551002B1 (en) | 2009-06-23 |
US20090179680A1 true US20090179680A1 (en) | 2009-07-16 |
Family
ID=40765918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/014,172 Active US7551002B1 (en) | 2008-01-15 | 2008-01-15 | Method and apparatus for implementing balanced clock distribution networks on ASICs with voltage islands functioning at multiple operating points of voltage and temperature |
Country Status (1)
Country | Link |
---|---|
US (1) | US7551002B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120240091A1 (en) * | 2008-02-06 | 2012-09-20 | Sivaprakasam Sunder | Multi-Mode Multi-Corner Clocktree Synthesis |
US9065439B2 (en) | 2013-02-12 | 2015-06-23 | Nxp B.V. | Clock buffer |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7746142B2 (en) * | 2008-10-13 | 2010-06-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuit and method for clock skew compensation in voltage scaling |
US9372503B1 (en) | 2015-05-22 | 2016-06-21 | Freescale Semiconductor, Inc. | Clock signal alignment for system-in-package (SIP) devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081145A (en) * | 1997-06-13 | 2000-06-27 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device |
US6429715B1 (en) * | 2000-01-13 | 2002-08-06 | Xilinx, Inc. | Deskewing clock signals for off-chip devices |
US20030197529A1 (en) * | 2002-04-22 | 2003-10-23 | Campbell Brian J. | Dynamic scan circuitry for b-phase |
US6856171B1 (en) * | 2003-06-11 | 2005-02-15 | Lattice Semiconductor Corporation | Synchronization of programmable multiplexers and demultiplexers |
US6879202B2 (en) * | 2001-08-28 | 2005-04-12 | Xilinx, Inc. | Multi-purpose digital frequency synthesizer circuit for a programmable logic device |
US20080303552A1 (en) * | 2006-12-01 | 2008-12-11 | The Regents Of The University Of Michigan | Clock Distribution Network Architecture for Resonant-Clocked Systems |
-
2008
- 2008-01-15 US US12/014,172 patent/US7551002B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081145A (en) * | 1997-06-13 | 2000-06-27 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device |
US6429715B1 (en) * | 2000-01-13 | 2002-08-06 | Xilinx, Inc. | Deskewing clock signals for off-chip devices |
US6879202B2 (en) * | 2001-08-28 | 2005-04-12 | Xilinx, Inc. | Multi-purpose digital frequency synthesizer circuit for a programmable logic device |
US20030197529A1 (en) * | 2002-04-22 | 2003-10-23 | Campbell Brian J. | Dynamic scan circuitry for b-phase |
US6856171B1 (en) * | 2003-06-11 | 2005-02-15 | Lattice Semiconductor Corporation | Synchronization of programmable multiplexers and demultiplexers |
US20080303552A1 (en) * | 2006-12-01 | 2008-12-11 | The Regents Of The University Of Michigan | Clock Distribution Network Architecture for Resonant-Clocked Systems |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120240091A1 (en) * | 2008-02-06 | 2012-09-20 | Sivaprakasam Sunder | Multi-Mode Multi-Corner Clocktree Synthesis |
US9310831B2 (en) * | 2008-02-06 | 2016-04-12 | Mentor Graphics Corporation | Multi-mode multi-corner clocktree synthesis |
US9747397B2 (en) | 2008-02-06 | 2017-08-29 | Mentor Graphics Corporation | Multi-mode multi-corner clocktree synthesis |
US10146897B1 (en) | 2008-02-06 | 2018-12-04 | Mentor Graphics Corporation | Multi-mode multi-corner clocktree synthesis |
US10380299B2 (en) | 2008-02-06 | 2019-08-13 | Mentor Graphics Corporation | Clock tree synthesis graphical user interface |
US9065439B2 (en) | 2013-02-12 | 2015-06-23 | Nxp B.V. | Clock buffer |
Also Published As
Publication number | Publication date |
---|---|
US7551002B1 (en) | 2009-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8205182B1 (en) | Automatic synthesis of clock distribution networks | |
US7904874B2 (en) | Opposite-phase scheme for peak current reduction | |
US7930674B2 (en) | Modifying integrated circuit designs to achieve multiple operating frequency targets | |
WO2010019147A1 (en) | System and method for designing integrated circuits that employ adaptive voltage scaling optimization | |
US6651230B2 (en) | Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design | |
US9773079B2 (en) | Methods and computer-readable media for synthesizing a multi-corner mesh-based clock distribution network for multi-voltage domain and clock meshes and integrated circuits | |
JP2015173270A (en) | Area and power saving standard cell methodology | |
US8493108B2 (en) | Synchronizer with high reliability | |
US7551002B1 (en) | Method and apparatus for implementing balanced clock distribution networks on ASICs with voltage islands functioning at multiple operating points of voltage and temperature | |
JP2008140821A (en) | Semiconductor device and design method of the same | |
Kahng et al. | Active-mode leakage reduction with data-retained power gating | |
US8975936B2 (en) | Constraining clock skew in a resonant clocked system | |
JP2008123056A (en) | Timing constraint-generating system of logic circuit and timing constraint-generating method of logic circuit, control program, and readable recording medium | |
Takizawa et al. | A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs | |
Gundu et al. | Low leakage clock tree with dual-threshold-voltage split input–output repeaters | |
US7151396B2 (en) | Clock delay compensation circuit | |
Raja et al. | CMOS Circuit Design for Minimum Dynamic Power and Highest Speed. | |
Ratkovic et al. | Physical vs. physically-aware estimation flow: case study of design space exploration of adders | |
US20040172232A1 (en) | Technique for incorporating power information in register transfer logic design | |
Moyal et al. | Synthesis of dual mode logic | |
US8037337B2 (en) | Structures including circuits for noise reduction in digital systems | |
JP4855283B2 (en) | Semiconductor integrated circuit design equipment | |
US6831482B2 (en) | Control of guard-flops | |
US20240370617A1 (en) | System and method for clock distribution in a digital circuit | |
Rebaud et al. | Setup and hold timing violations induced by process variations, in a digital multiplier |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:REULAND, PAUL GARY;SCHUELKE, BRIAN ANDREW;REEL/FRAME:020364/0664;SIGNING DATES FROM 20080108 TO 20080114 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
SULP | Surcharge for late payment | ||
FPAY | Fee payment |
Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |