US20150186585A1 - Integrated circuit layouts and methods to reduce leakage - Google Patents
Integrated circuit layouts and methods to reduce leakage Download PDFInfo
- Publication number
- US20150186585A1 US20150186585A1 US14/228,232 US201414228232A US2015186585A1 US 20150186585 A1 US20150186585 A1 US 20150186585A1 US 201414228232 A US201414228232 A US 201414228232A US 2015186585 A1 US2015186585 A1 US 2015186585A1
- Authority
- US
- United States
- Prior art keywords
- region
- switch
- cells
- switch cell
- layout
- 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
Images
Classifications
-
- G06F17/5072—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G06F2217/78—
Definitions
- This disclosure relates to integrated circuit layouts and methods, and, in particular, integrated circuit layouts and methods to reduce power leakage.
- Integrated circuits and, in particular, low-power integrated circuits may include circuitry to switch power to portions of the circuits. Although such circuitry may disable portions of the integrated circuit and consequently, reduce power usage, a battery life may also depend on the standby current of such a device.
- the switching circuitry itself may have leakage current that contributes to the standby current and hence, reduces battery life.
- An embodiment includes a method, comprising: receiving a layout of an integrated circuit having a plurality of regions; determining a utilization for each of the regions; for each region, selecting from among a plurality of switch cell organizations for the region in response to the corresponding utilization; and for each region, modifying the layout to include switch cells for the region according to the selected switch cell organization.
- Another embodiment includes a system, comprising: a memory configured to store a layout of an integrated circuit having a plurality of regions; a processor coupled to the memory and configured to, for each of the regions: determine a utilization; select from among a plurality of switch cell organizations for the region in response to the corresponding utilization; and modifying the layout to include switch cells for the region according to the selected switch cell organization.
- Another embodiment includes a computer readable medium storing instructions, comprising: instructions for receiving a layout of an integrated circuit having a plurality of regions; instructions for determining a utilization for each of the regions; instructions for, for each region, selecting from among a plurality of switch cell organizations for the region in response to the corresponding utilization; and instructions for, for each region, modifying the layout to include switch cells for the region according to the selected switch cell organization.
- FIG. 1A is a schematic view of a layout of an integrated circuit.
- FIG. 1B is a schematic view of the layout of the integrated circuit of FIG. 1A modified to include a modified switch cell according to an embodiment.
- FIG. 2 is a schematic view of an integrated circuit with regions with different circuit densities according to an embodiment.
- FIG. 3 is a schematic view of an integrated circuit with regions with different circuit densities according to another embodiment.
- FIGS. 4-6 are schematic views of switch cell organizations according to various embodiments.
- FIG. 7 is a flowchart illustrating a method of preparing a layout according to an embodiment.
- FIG. 8 is a schematic view of an electronic system according to an embodiment.
- the embodiments relate to integrated circuits with reduced leakage.
- the following description is presented to enable one of ordinary skill in the art to make and use the embodiments and is provided in the context of a patent application and its requirements.
- Various modifications to the exemplary embodiments and the generic principles and features described herein will be readily apparent.
- the exemplary embodiments are mainly described in terms of particular methods and systems provided in particular implementations.
- phrases such as “exemplary embodiment”, “one embodiment” and “another embodiment” may refer to the same or different embodiments as well as to multiple embodiments.
- the embodiments will be described with respect to systems and/or devices having certain components. However, the systems and/or devices may include more or less components than those shown, and variations in the arrangement and type of the components may be made without departing from the scope of this disclosure.
- the exemplary embodiments will also be described in the context of particular methods having certain steps. However, the method and system operate effectively for other methods having different and/or additional steps and steps in different orders that are not inconsistent with the exemplary embodiments.
- embodiments are not intended to be limited to the particular embodiments shown, but are to be accorded the widest scope consistent with the principles and features described herein.
- FIG. 1A is a schematic view of a layout of an integrated circuit.
- the layout 100 includes switch cells 112 and 122 .
- the switch cells 112 and 122 are configured to switch power to regions 110 and 120 of the layout 100 .
- the switch cell 112 is configured to switch power to circuits in region 110 , such as circuit 114 .
- the switch cell 122 is configured to switch power to circuits in region 120 , such a circuit 124 .
- the circuits 114 and 124 are configured to receive power from power rails 102 and 104 through the corresponding switch cells 112 and 122 , respectively.
- power rails 102 and 104 may be configured to provide Vdd and Vss, respectively.
- the switch cells 112 and 122 are configured to switch Vdd to the circuits 114 and 124 .
- the switch cells 112 and 122 are illustrated with dashed lines to reflect that the switch cells 112 and 122 may not yet be placed.
- the switch cells 112 and 122 may represent the intended region for switch cells in the layout 100 , but switch cells have not been selected for the switch cells 112 and 122 , the switch cells have not been placed, or the like.
- the switch cells 112 and 122 may be already placed in the layout 100 .
- the switch cells 112 and 122 may be substantially similar in this layout 100 .
- FIG. 1B is a schematic view of the layout of the integrated circuit of FIG. 1A modified to include a modified switch cell according to an embodiment.
- layout 101 has been modified to that switch cell 112 was placed and modified switch cell 123 was placed.
- the term modified has been used to describe switch cell 123 , as will be described in further detail below, the switch cell 123 may be merely different from the switch cell 122 .
- the modified switch cell 123 may be selected based on the circuits in the region 120 , such as the circuit 124 .
- the modified switch cell 123 may be selected based on the density, the clock speed, the type of circuit, the power usage, or the like of the circuit 124 .
- a modified switch cell 123 may have a lower leakage than the switch cell 112 . As a result a standby current of a device using an integrated circuit fabricated using the layout 101 may be reduced. Accordingly, a battery life, power consumption, or the like may be improved.
- FIG. 2 is a schematic view of an integrated circuit with regions with different circuit densities according to an embodiment.
- the layout 200 includes multiple logic cells in regions 210 , 220 , 230 , and 240 .
- logic cells will be used as an example of circuits within the regions 210 , 220 , 230 , and 240 ; however, in other embodiments, other types of circuits may be present in the regions 210 , 220 , 230 , and 240 .
- Each of regions 210 , 220 , 230 , and 240 is associated with one of the switch cell regions 215 , 225 , 235 , and 245 that include or are intended to include switch cells configured to switch power to the corresponding region. For clarity, power rails and other portions of the layout are omitted.
- regions 210 , 220 , 230 , and 240 may have different logic cell densities.
- regions 210 and 220 include higher densities of logic cells than regions 230 and 240 .
- Region 230 also has a higher density than region 240 .
- four regions 210 , 220 , 230 , and 240 with three different densities have been used as an example, other regions may have different densities.
- the logic cell density may be different within a given region, offset to one side of a region, or the like.
- logic cells in regions 310 , 320 , 330 , and 340 and switch cell regions 315 , 325 , 335 , and 345 have each been illustrated as being divided into three equal-size sub-regions, the logic cells and corresponding switch cells may be divided in different ways. For example, any grouping of logic cells with switch cells in common may be grouped together.
- regions 310 , 320 , 330 , and 340 have been described as being divided into multiple sub-regions, in other embodiments, the sub-regions such as sub-regions 360 , 362 , and 364 may be the primary regions. Accordingly, the following description will refer to sub-regions 360 , 362 , and 364 as regions.
- logic cell region 360 is associated with switch cell region 370 . That is, the switch cells in switch cell region 370 are configured to switch power to the logic cells in logic cell region 360 .
- Logic cell regions 362 and 364 are similarly associated with switch cell regions 372 and 374 , respectively.
- logic cell regions 360 , 362 , and 364 include different densities of logic cells. In particular, logic cell region 360 has a higher density, logic cell region 364 has a lower density, and logic cell region 362 has a density between the densities of regions 360 and 364 .
- a switch cell organization for the corresponding logic cell region may be selected. For example, a switch cell organization having more switch cells can be used for switch cells in region 370 . However, since logic cell regions 362 and 364 have lower densities, a different switch cell organization may be used, such as one having less switch cells, may be used for switch cell regions 372 and 374 . In another example, switch cell regions 370 and 372 may have the same switch cell organization while switch cell region 374 has a different switch cell organization.
- the decision to select a particular switch cell organization can be made using a factor calculated for a given region.
- a utilization U may be determined.
- the utilization may be equal to or based on the density of cells in the region. Although density has been used as an example, other factors may be used in the utilization. For example, a number of cells in the region may be used to calculate the utilization, particularly if the regions 360 , 362 , and 364 are substantially similarly sized.
- the utilization may be based on a type of cells. For example, a density or other utilization of one type of cells may be scaled by a first factor while a density of a second type of cells may be scaled by a second, different factor. In a particular example, a contribution of clock cells to the density may be scaled by a factor of two relative to other logic cells. Although two has been used as an example, the value used to scale clock cells or any other types of cells may be different. Furthermore, although two different types of cells have been used as an example, different number of types of cells may be used. For example, three or more different types of cells, each with different scaling factors. Furthermore, although scaling the density of the cells has been used as an example, other attributes of the cells, such as the number of the cells, may be scaled by the different factors in calculating a utilization.
- the scaling factor may be determined by an expected operation of the type of cells. For example, clock cells may be expected to continuously switch when operating, increasing the power usage. However, other types of cells may be expected to have a different number of transitions, resulting in a lower power usage. The corresponding scale factors may be selected according to such differences.
- FIGS. 4-6 are schematic views of switch cell organizations according to various embodiments.
- a first switch cell organization 402 includes multiple switch cells 410 configured to switch power from a power rail 420 to a local power rail 425 .
- four switch cells 410 are used as an example.
- a second switch cell organization 404 includes a different number of switch cells 410 configured to switch power from the power rail 420 to a local power rail 435 .
- the switch cells 410 of both switch cell organizations are the same switch cells 410 .
- the switch cell organization 404 includes one half the number of switch cells 410 in the switch cell organization 402 , or two switch cells 410 . Based on the utilization calculated for a particular region, a selection between the switch cell organizations 402 and 404 may be made. Regions with lower utilization may use the switch cell organization 404 while regions with a higher utilization may use the switch cell organization 402 . As a result, an amount of leakage may be reduced as less switch cells 410 are used for some regions.
- a switch cell organization 502 may include multiple larger switch cells 510 configured to switch power from a power rail 520 to a local power rail 525 .
- a second switch cell organization 504 may include smaller switch cells 515 configured to switch power from the power rail 520 to a local power rail 535 .
- switch cells 515 are smaller than switch cells 510 . Accordingly, if the switch cells 510 are replaced with the switch cells 515 , an amount of leakage may be reduced because of the usage of smaller switch cells 515 .
- a switch cell organization 602 includes lower threshold (LT) switch cells 610 configured to switch power from a power rail 620 to a local power rail 625 .
- a switch cell organization 604 includes higher threshold (HT) switch cells 616 configured to switch power from a power rail 620 to a local power rail 635 .
- LT switch cells 610 have smaller thresholds than HT switch cells 615 . Accordingly, if the LT switch cells 610 are replaced with the HT switch cells 615 , an amount of leakage may be reduced because of the usage of HT switch cells 515 .
- FIG. 7 is a flowchart illustrating a method of preparing a layout according to an embodiment.
- a layout of an integrated circuit is received.
- the layout may be received and stored in a memory, such as random access memory (RAM), a mass storage device, network attached storage, or the like.
- RAM random access memory
- the layout may already be divided into regions. However, in other embodiments, the layout may not be divided into regions when the layout is initially received. Accordingly, as part of receiving the layout, the layout may be divided into the multiple regions. For example, a layout similar to the layout 200 of FIG. 2 may be received. The layout 200 may not be divided into regions. The layout may be analyzed to determine which logic cells in regions 210 , 220 , 230 and 240 are associated with which switch cells in regions 215 , 225 , 235 , and 245 configured to control power delivered to the logic cells in the region. In particular, once the association is determined, regions, such as the regions 360 , 362 , and 364 of the layout 300 of FIG. 3 , may be determined.
- the layout includes multiple regions as described above.
- a utilization is determined for each region of the layout as described above.
- the multiple regions of the layout may not cover the entire layout. That is, the regions may only cover certain portions of the layout, such as logic cells that may have power switched by switch cells. Other portions, such as portions that do not have power that may be switched, may, but need not be included in the regions of the layout.
- a switch cell organization for the region is selected from among multiple switch cell organizations in response to the corresponding utilization.
- a variety of different switch cells, number of switch cells, or the like may form multiple switch cell organizations.
- a threshold may be selected. For utilizations above the threshold, a first switch cell organization with larger devices, more devices, or the like may be selected. For utilizations below the threshold a different switch cell organization with smaller devices, less devices, or the like may be selected. In other embodiments with N switch cell organizations, N ⁇ 1 thresholds may be used to select among the switch cell organizations.
- the layout is modified to include switch cells for the region according to the selected switch cell organization.
- modifying the layout may include placing switch cells according to the switch cell organization.
- modifying the layout may include removing existing switch cells, replacing existing switch cells, or the like. Regardless, the switch cells in the layout for the region are modified such that the result is according to the selected switch cell organization.
- the modification of the layout in 730 may be performed at a variety of stages in preparing a layout.
- the layout may be modified before clock tree placement.
- the layout may be modified before routing.
- the processor 814 may be a microprocessor or a mobile processor (AP).
- the processor 814 may have a processor core (not illustrated) that can include a floating point unit (FPU), an arithmetic logic unit (ALU), a graphics processing unit (GPU), and a digital signal processing core (DSP Core), or any combinations thereof.
- the processor 814 may execute the program and control the electronic system 800 .
- the processor 814 may be configured to perform some or all of the operations described above.
- the RAM 816 may be used as an operation memory of the processor 814 .
- the processor 814 and the RAM 816 may be packaged in a single package body.
- the RAM 816 may be configured to store a layout during processing as described above.
- the user interface 818 may be used in inputting/outputting data to/from the electronic system 800 .
- the user interface 818 may include a display configured to present a layout to a user.
- the user interface 818 may also include a pointing device, a keyboard, or other input devices configured to allow a user to interact with the layout.
- the user interface 818 may include a network interface configured to receive a layout as described above.
- the memory system 812 may store codes for operating the processor 814 , data processed by the processor 814 , or externally input data.
- the memory system 812 may include a controller and a memory.
- the memory system 812 may include an interface to computer readable media. Such computer readable media may store instructions to perform the variety of operations describe above.
Abstract
Description
- This disclosure relates to integrated circuit layouts and methods, and, in particular, integrated circuit layouts and methods to reduce power leakage.
- Integrated circuits and, in particular, low-power integrated circuits, may include circuitry to switch power to portions of the circuits. Although such circuitry may disable portions of the integrated circuit and consequently, reduce power usage, a battery life may also depend on the standby current of such a device. The switching circuitry itself may have leakage current that contributes to the standby current and hence, reduces battery life.
- An embodiment includes a method, comprising: receiving a layout of an integrated circuit having a plurality of regions; determining a utilization for each of the regions; for each region, selecting from among a plurality of switch cell organizations for the region in response to the corresponding utilization; and for each region, modifying the layout to include switch cells for the region according to the selected switch cell organization.
- Another embodiment includes a system, comprising: a memory configured to store a layout of an integrated circuit having a plurality of regions; a processor coupled to the memory and configured to, for each of the regions: determine a utilization; select from among a plurality of switch cell organizations for the region in response to the corresponding utilization; and modifying the layout to include switch cells for the region according to the selected switch cell organization.
- Another embodiment includes a computer readable medium storing instructions, comprising: instructions for receiving a layout of an integrated circuit having a plurality of regions; instructions for determining a utilization for each of the regions; instructions for, for each region, selecting from among a plurality of switch cell organizations for the region in response to the corresponding utilization; and instructions for, for each region, modifying the layout to include switch cells for the region according to the selected switch cell organization.
-
FIG. 1A is a schematic view of a layout of an integrated circuit. -
FIG. 1B is a schematic view of the layout of the integrated circuit ofFIG. 1A modified to include a modified switch cell according to an embodiment. -
FIG. 2 is a schematic view of an integrated circuit with regions with different circuit densities according to an embodiment. -
FIG. 3 is a schematic view of an integrated circuit with regions with different circuit densities according to another embodiment. -
FIGS. 4-6 are schematic views of switch cell organizations according to various embodiments. -
FIG. 7 is a flowchart illustrating a method of preparing a layout according to an embodiment. -
FIG. 8 is a schematic view of an electronic system according to an embodiment. - The embodiments relate to integrated circuits with reduced leakage. The following description is presented to enable one of ordinary skill in the art to make and use the embodiments and is provided in the context of a patent application and its requirements. Various modifications to the exemplary embodiments and the generic principles and features described herein will be readily apparent. The exemplary embodiments are mainly described in terms of particular methods and systems provided in particular implementations.
- However, the methods and systems will operate effectively in other implementations. Phrases such as “exemplary embodiment”, “one embodiment” and “another embodiment” may refer to the same or different embodiments as well as to multiple embodiments. The embodiments will be described with respect to systems and/or devices having certain components. However, the systems and/or devices may include more or less components than those shown, and variations in the arrangement and type of the components may be made without departing from the scope of this disclosure. The exemplary embodiments will also be described in the context of particular methods having certain steps. However, the method and system operate effectively for other methods having different and/or additional steps and steps in different orders that are not inconsistent with the exemplary embodiments. Thus, embodiments are not intended to be limited to the particular embodiments shown, but are to be accorded the widest scope consistent with the principles and features described herein.
- The exemplary embodiments are described in the context of particular systems having certain components. One of ordinary skill in the art will readily recognize that embodiments are consistent with the use of systems having other and/or additional components and/or other features. The method and system are also described in the context of single elements. However, one of ordinary skill in the art will readily recognize that the method and system are consistent with the use of systems having multiple elements.
- It will be understood by those skilled in the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to examples containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. Furthermore, in those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
-
FIG. 1A is a schematic view of a layout of an integrated circuit. In this embodiment, thelayout 100 includesswitch cells switch cells regions layout 100. Theswitch cell 112 is configured to switch power to circuits inregion 110, such ascircuit 114. Similarly, theswitch cell 122 is configured to switch power to circuits inregion 120, such acircuit 124. Accordingly, thecircuits power rails corresponding switch cells power rails switch cells circuits - In this embodiment, the
switch cells switch cells switch cells layout 100, but switch cells have not been selected for theswitch cells switch cells layout 100. In particular, theswitch cells layout 100. -
FIG. 1B is a schematic view of the layout of the integrated circuit ofFIG. 1A modified to include a modified switch cell according to an embodiment. In this embodiment,layout 101 has been modified to thatswitch cell 112 was placed and modifiedswitch cell 123 was placed. Although the term modified has been used to describeswitch cell 123, as will be described in further detail below, theswitch cell 123 may be merely different from theswitch cell 122. - As will be described in further detail, the modified
switch cell 123 may be selected based on the circuits in theregion 120, such as thecircuit 124. In particular, the modifiedswitch cell 123 may be selected based on the density, the clock speed, the type of circuit, the power usage, or the like of thecircuit 124. A modifiedswitch cell 123 may have a lower leakage than theswitch cell 112. As a result a standby current of a device using an integrated circuit fabricated using thelayout 101 may be reduced. Accordingly, a battery life, power consumption, or the like may be improved. -
FIG. 2 is a schematic view of an integrated circuit with regions with different circuit densities according to an embodiment. In this embodiment, thelayout 200 includes multiple logic cells inregions regions regions regions switch cell regions - Here,
regions regions regions Region 230 also has a higher density thanregion 240. Although fourregions -
FIG. 3 is a schematic view of an integrated circuit with regions with different circuit densities according to another embodiment. In this embodiment, thelayout 300 includes logic cells inregions regions cell regions cell regions regions switch cell regions logic cell regions cell regions - Although logic cells in
regions cell regions regions sub-regions sub-regions - In this embodiment,
logic cell region 360 is associated withswitch cell region 370. That is, the switch cells inswitch cell region 370 are configured to switch power to the logic cells inlogic cell region 360.Logic cell regions switch cell regions logic cell regions logic cell region 360 has a higher density,logic cell region 364 has a lower density, andlogic cell region 362 has a density between the densities ofregions - Using the density, a switch cell organization for the corresponding logic cell region may be selected. For example, a switch cell organization having more switch cells can be used for switch cells in
region 370. However, sincelogic cell regions switch cell regions cell regions switch cell region 374 has a different switch cell organization. - In an embodiment, the decision to select a particular switch cell organization can be made using a factor calculated for a given region. For example, a utilization U may be determined. The utilization may be equal to or based on the density of cells in the region. Although density has been used as an example, other factors may be used in the utilization. For example, a number of cells in the region may be used to calculate the utilization, particularly if the
regions - In another example, the utilization may be based on a type of cells. For example, a density or other utilization of one type of cells may be scaled by a first factor while a density of a second type of cells may be scaled by a second, different factor. In a particular example, a contribution of clock cells to the density may be scaled by a factor of two relative to other logic cells. Although two has been used as an example, the value used to scale clock cells or any other types of cells may be different. Furthermore, although two different types of cells have been used as an example, different number of types of cells may be used. For example, three or more different types of cells, each with different scaling factors. Furthermore, although scaling the density of the cells has been used as an example, other attributes of the cells, such as the number of the cells, may be scaled by the different factors in calculating a utilization.
- In an embodiment, the scaling factor may be determined by an expected operation of the type of cells. For example, clock cells may be expected to continuously switch when operating, increasing the power usage. However, other types of cells may be expected to have a different number of transitions, resulting in a lower power usage. The corresponding scale factors may be selected according to such differences.
- Once the utilization has been calculated, the utilization may be multiplied by the clock speed of the cells in the region. For example, a final utilization U may be calculated using equation 1.
-
U=Density·ScaleFactor·ClockSpeed (1) - Although equation 1 uses a particular combination of factors in calculating the utilization, the utilization may be calculated using other combinations. For example, equations 2-4 give various other examples of different techniques to calculate the utilization.
-
U=NumberOfCells·ScaleFactor·ClockSpeed (2) -
U=Area·ClockSpeed (3) -
U=Density·ScaleFactor (4) -
FIGS. 4-6 are schematic views of switch cell organizations according to various embodiments. Referring toFIG. 4 , in this embodiment, a firstswitch cell organization 402 includesmultiple switch cells 410 configured to switch power from apower rail 420 to alocal power rail 425. Here, fourswitch cells 410 are used as an example. A secondswitch cell organization 404 includes a different number ofswitch cells 410 configured to switch power from thepower rail 420 to alocal power rail 435. Here, theswitch cells 410 of both switch cell organizations are thesame switch cells 410. - The
switch cell organization 404 includes one half the number ofswitch cells 410 in theswitch cell organization 402, or twoswitch cells 410. Based on the utilization calculated for a particular region, a selection between theswitch cell organizations switch cell organization 404 while regions with a higher utilization may use theswitch cell organization 402. As a result, an amount of leakage may be reduced asless switch cells 410 are used for some regions. - Referring to
FIG. 5 , aswitch cell organization 502 may include multiplelarger switch cells 510 configured to switch power from apower rail 520 to a local power rail 525. A secondswitch cell organization 504 may includesmaller switch cells 515 configured to switch power from thepower rail 520 to alocal power rail 535. Here,switch cells 515 are smaller thanswitch cells 510. Accordingly, if theswitch cells 510 are replaced with theswitch cells 515, an amount of leakage may be reduced because of the usage ofsmaller switch cells 515. - Referring to
FIG. 6 , aswitch cell organization 602 includes lower threshold (LT) switchcells 610 configured to switch power from apower rail 620 to a local power rail 625. Aswitch cell organization 604 includes higher threshold (HT) switch cells 616 configured to switch power from apower rail 620 to a local power rail 635. - Here,
LT switch cells 610 have smaller thresholds thanHT switch cells 615. Accordingly, if theLT switch cells 610 are replaced with theHT switch cells 615, an amount of leakage may be reduced because of the usage ofHT switch cells 515. - Although two different switch cell organizations have been described, any number of different switch cell organizations may be used. For example, one or
more switch cells 410 may be removed for theswitch cell organization 402 to generate different switch cell organizations. In another example, any number oflarger switch cells 510 may be replaced withsmaller switch cells 515. Similarly, any number of lowerthreshold switch cells 610 may be replaced with higher threshold switch cells 616. Moreover, different switch cell organizations may be combined. For example, aswitch cell 410 may be removed fromswitch cell organization 402 while anotherswitch cell 410 is replaced with asmaller switch cell 515. Furthermore, although some examples of different switch cell organizations have been described, any switch cell organization using switch cells, whether different in number, type, or any other attribute, that reduces the leakage may be used as a switch cell organization. -
FIG. 7 is a flowchart illustrating a method of preparing a layout according to an embodiment. In this embodiment, in 700 a layout of an integrated circuit is received. The layout may be received and stored in a memory, such as random access memory (RAM), a mass storage device, network attached storage, or the like. - In an embodiment, the layout may already be divided into regions. However, in other embodiments, the layout may not be divided into regions when the layout is initially received. Accordingly, as part of receiving the layout, the layout may be divided into the multiple regions. For example, a layout similar to the
layout 200 ofFIG. 2 may be received. Thelayout 200 may not be divided into regions. The layout may be analyzed to determine which logic cells inregions regions regions layout 300 ofFIG. 3 , may be determined. - Although one example of dividing the layout into regions has been described, other techniques may be used. For example, switch cells may not be placed in the layout, yet space may be reserved for the switch cells. For example, a power rail pitch may be about 40 μm. The power rail pitch may provide one dimension common to the regions. That is, the regions may be divided by the power rails along one direction.
- The division of the regions along a second direction may be made using different criteria. For example, the regions may be divided along functional boundaries of the logic cells. In another example, the regions may divided according to a length of switch cells in a switch cell organization. In a particular example, if two switch cell organizations include four switch cells in one organization and three switch cells in a second organization, the second dimension of the regions may be associated with a length of the four switch cells. The logic cells between the power rails and within the length of the four switch cells may form a region. Any association of switch cells and logic cells may be used to create a region of the layout.
- As a result, the layout includes multiple regions as described above. In 710, a utilization is determined for each region of the layout as described above. Although a utilization for every region of the entire layout may be determined, in other embodiments, the multiple regions of the layout may not cover the entire layout. That is, the regions may only cover certain portions of the layout, such as logic cells that may have power switched by switch cells. Other portions, such as portions that do not have power that may be switched, may, but need not be included in the regions of the layout.
- In 720, for each region, a switch cell organization for the region is selected from among multiple switch cell organizations in response to the corresponding utilization. As described above, a variety of different switch cells, number of switch cells, or the like may form multiple switch cell organizations. In a particular embodiment, a threshold may be selected. For utilizations above the threshold, a first switch cell organization with larger devices, more devices, or the like may be selected. For utilizations below the threshold a different switch cell organization with smaller devices, less devices, or the like may be selected. In other embodiments with N switch cell organizations, N−1 thresholds may be used to select among the switch cell organizations.
- In 730, for each region, the layout is modified to include switch cells for the region according to the selected switch cell organization. As described above, modifying the layout may include placing switch cells according to the switch cell organization. In other embodiments, modifying the layout may include removing existing switch cells, replacing existing switch cells, or the like. Regardless, the switch cells in the layout for the region are modified such that the result is according to the selected switch cell organization.
- The modification of the layout in 730 may be performed at a variety of stages in preparing a layout. For example, the layout may be modified before clock tree placement. In another example, the layout may be modified before routing.
-
FIG. 8 is a schematic view of an electronic system according to an embodiment. Theelectronic system 800 may be part of a wide variety of electronic devices including, but not limited to, servers, workstations, portable notebook computers, Ultra-Mobile PCs (UMPC), Tablet PCs, mobile telecommunication devices, and so on. Any system that may possess a layout of an integrated circuit may include theelectronic system 800. For example, theelectronic system 800 may include amemory system 812, aprocessor 814, RAM 816, and a user interface 818, which may execute data communication using abus 820. - The
processor 814 may be a microprocessor or a mobile processor (AP). Theprocessor 814 may have a processor core (not illustrated) that can include a floating point unit (FPU), an arithmetic logic unit (ALU), a graphics processing unit (GPU), and a digital signal processing core (DSP Core), or any combinations thereof. Theprocessor 814 may execute the program and control theelectronic system 800. Theprocessor 814 may be configured to perform some or all of the operations described above. - The RAM 816 may be used as an operation memory of the
processor 814. Alternatively, theprocessor 814 and the RAM 816 may be packaged in a single package body. The RAM 816 may be configured to store a layout during processing as described above. - The user interface 818 may be used in inputting/outputting data to/from the
electronic system 800. For example, the user interface 818 may include a display configured to present a layout to a user. The user interface 818 may also include a pointing device, a keyboard, or other input devices configured to allow a user to interact with the layout. Moreover, the user interface 818 may include a network interface configured to receive a layout as described above. - The
memory system 812 may store codes for operating theprocessor 814, data processed by theprocessor 814, or externally input data. Thememory system 812 may include a controller and a memory. Thememory system 812 may include an interface to computer readable media. Such computer readable media may store instructions to perform the variety of operations describe above. - Although the structures, methods, and systems have been described in accordance with exemplary embodiments, one of ordinary skill in the art will readily recognize that many variations to the disclosed embodiments are possible, and any variations should therefore be considered to be within the spirit and scope of the apparatus, method, and system disclosed herein. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/228,232 US9058459B1 (en) | 2013-12-30 | 2014-03-27 | Integrated circuit layouts and methods to reduce leakage |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361922087P | 2013-12-30 | 2013-12-30 | |
US14/228,232 US9058459B1 (en) | 2013-12-30 | 2014-03-27 | Integrated circuit layouts and methods to reduce leakage |
Publications (2)
Publication Number | Publication Date |
---|---|
US9058459B1 US9058459B1 (en) | 2015-06-16 |
US20150186585A1 true US20150186585A1 (en) | 2015-07-02 |
Family
ID=53279903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/228,232 Active US9058459B1 (en) | 2013-12-30 | 2014-03-27 | Integrated circuit layouts and methods to reduce leakage |
Country Status (1)
Country | Link |
---|---|
US (1) | US9058459B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10580730B2 (en) | 2017-11-16 | 2020-03-03 | International Business Machines Corporation | Managed integrated circuit power supply distribution |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6400182B2 (en) * | 2000-07-26 | 2002-06-04 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit device and method of laying out clock driver used in the semiconductor integrated circuit device |
US6536024B1 (en) * | 2000-07-14 | 2003-03-18 | International Business Machines Corporation | Method for making integrated circuits having gated clock trees |
US6820240B2 (en) * | 2002-09-25 | 2004-11-16 | International Business Machines Corporation | Voltage island chip implementation |
US6873185B2 (en) * | 2002-06-19 | 2005-03-29 | Viasic, Inc. | Logic array devices having complex macro-cell architecture and methods facilitating use of same |
US6924661B2 (en) * | 2003-02-10 | 2005-08-02 | International Business Machines Corporation | Power switch circuit sizing technique |
US7051306B2 (en) * | 2003-05-07 | 2006-05-23 | Mosaid Technologies Corporation | Managing power on integrated circuits using power islands |
US7065690B1 (en) * | 1999-10-29 | 2006-06-20 | Matsushita Electric Industrial Co., Ltd. | Fault detecting method and layout method for semiconductor integrated circuit |
US20060225020A1 (en) * | 2005-04-01 | 2006-10-05 | Anantha Chandrakasan | Methods and apparatus for 3-D FPGA design |
US7127695B2 (en) * | 2002-07-18 | 2006-10-24 | Incentia Design Systems Corp. | Timing based scan chain implementation in an IC design |
US7266797B2 (en) * | 2005-05-19 | 2007-09-04 | International Business Machines Corporation | Automated and electrically robust method for placing power gating switches in voltage islands |
US7278120B2 (en) * | 2004-07-23 | 2007-10-02 | Synplicity, Inc. | Methods and apparatuses for transient analyses of circuits |
US7279926B2 (en) * | 2004-05-27 | 2007-10-09 | Qualcomm Incoporated | Headswitch and footswitch circuitry for power management |
US20080098340A1 (en) * | 2004-12-06 | 2008-04-24 | Entasys Design, Inc. | Method for Designing Block Placement and Power Distribution of Semiconductor Integrated Circuit |
US7533357B2 (en) * | 2006-06-02 | 2009-05-12 | International Business Machines Corporation | Method and apparatus to target pre-determined spatially varying voltage variation across the area of the VLSI power distribution system using frequency domain analysis |
US7659746B2 (en) * | 2005-02-14 | 2010-02-09 | Qualcomm, Incorporated | Distributed supply current switch circuits for enabling individual power domains |
US7696788B2 (en) * | 2004-03-10 | 2010-04-13 | Hiromi Ogata | Semiconductor integrated circuit |
US20100161303A1 (en) * | 2008-12-22 | 2010-06-24 | Cadence Design Systems, Inc. | Method, system, computer program product, and user interface for performing power inference |
US7755148B2 (en) * | 2006-08-31 | 2010-07-13 | Renesas Technology Corp. | Semiconductor integrated circuit |
US7760011B2 (en) * | 2007-08-10 | 2010-07-20 | Texas Instruments Incorporated | System and method for auto-power gating synthesis for active leakage reduction |
US7810053B2 (en) * | 2006-10-04 | 2010-10-05 | Michael Bushnell | Method and system of dynamic power cutoff for active leakage reduction in circuits |
US7844935B2 (en) * | 2004-11-19 | 2010-11-30 | Nec Corporation | Wiring design system of semiconductor integrated circuit, semiconductor integrated circuit, and wiring design program |
US7996796B2 (en) * | 2007-03-05 | 2011-08-09 | Renesas Electronics Corporation | Method and program for designing semiconductor device |
US8042087B2 (en) * | 2006-10-10 | 2011-10-18 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method to design network-on-chip (NOC)-based communication systems |
US20120066530A1 (en) * | 2010-09-10 | 2012-03-15 | Shingo Suzuki | Configurable Power Switch Cells and Methodology |
US8434048B2 (en) * | 2010-12-13 | 2013-04-30 | Apple Inc. | Method for implementing power gating in an integrated circuit design logic block including N-nary dynamic logic (NDL) gates |
US8736342B1 (en) * | 2012-12-19 | 2014-05-27 | International Business Machines Corporation | Changing resonant clock modes |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392862B1 (en) | 2006-01-23 | 2013-03-05 | Synopsys, Inc. | Structures and methods for optimizing power consumption in an integrated chip design |
JP4535136B2 (en) | 2008-01-17 | 2010-09-01 | ソニー株式会社 | Semiconductor integrated circuit and switch layout and wiring method |
-
2014
- 2014-03-27 US US14/228,232 patent/US9058459B1/en active Active
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7065690B1 (en) * | 1999-10-29 | 2006-06-20 | Matsushita Electric Industrial Co., Ltd. | Fault detecting method and layout method for semiconductor integrated circuit |
US6536024B1 (en) * | 2000-07-14 | 2003-03-18 | International Business Machines Corporation | Method for making integrated circuits having gated clock trees |
US6400182B2 (en) * | 2000-07-26 | 2002-06-04 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit device and method of laying out clock driver used in the semiconductor integrated circuit device |
US6873185B2 (en) * | 2002-06-19 | 2005-03-29 | Viasic, Inc. | Logic array devices having complex macro-cell architecture and methods facilitating use of same |
US7127695B2 (en) * | 2002-07-18 | 2006-10-24 | Incentia Design Systems Corp. | Timing based scan chain implementation in an IC design |
US6820240B2 (en) * | 2002-09-25 | 2004-11-16 | International Business Machines Corporation | Voltage island chip implementation |
US6924661B2 (en) * | 2003-02-10 | 2005-08-02 | International Business Machines Corporation | Power switch circuit sizing technique |
US7051306B2 (en) * | 2003-05-07 | 2006-05-23 | Mosaid Technologies Corporation | Managing power on integrated circuits using power islands |
US7696788B2 (en) * | 2004-03-10 | 2010-04-13 | Hiromi Ogata | Semiconductor integrated circuit |
US7279926B2 (en) * | 2004-05-27 | 2007-10-09 | Qualcomm Incoporated | Headswitch and footswitch circuitry for power management |
US7278120B2 (en) * | 2004-07-23 | 2007-10-02 | Synplicity, Inc. | Methods and apparatuses for transient analyses of circuits |
US7844935B2 (en) * | 2004-11-19 | 2010-11-30 | Nec Corporation | Wiring design system of semiconductor integrated circuit, semiconductor integrated circuit, and wiring design program |
US20080098340A1 (en) * | 2004-12-06 | 2008-04-24 | Entasys Design, Inc. | Method for Designing Block Placement and Power Distribution of Semiconductor Integrated Circuit |
US7659746B2 (en) * | 2005-02-14 | 2010-02-09 | Qualcomm, Incorporated | Distributed supply current switch circuits for enabling individual power domains |
US20060225020A1 (en) * | 2005-04-01 | 2006-10-05 | Anantha Chandrakasan | Methods and apparatus for 3-D FPGA design |
US7266797B2 (en) * | 2005-05-19 | 2007-09-04 | International Business Machines Corporation | Automated and electrically robust method for placing power gating switches in voltage islands |
US7533357B2 (en) * | 2006-06-02 | 2009-05-12 | International Business Machines Corporation | Method and apparatus to target pre-determined spatially varying voltage variation across the area of the VLSI power distribution system using frequency domain analysis |
US7755148B2 (en) * | 2006-08-31 | 2010-07-13 | Renesas Technology Corp. | Semiconductor integrated circuit |
US7810053B2 (en) * | 2006-10-04 | 2010-10-05 | Michael Bushnell | Method and system of dynamic power cutoff for active leakage reduction in circuits |
US8042087B2 (en) * | 2006-10-10 | 2011-10-18 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method to design network-on-chip (NOC)-based communication systems |
US7996796B2 (en) * | 2007-03-05 | 2011-08-09 | Renesas Electronics Corporation | Method and program for designing semiconductor device |
US7760011B2 (en) * | 2007-08-10 | 2010-07-20 | Texas Instruments Incorporated | System and method for auto-power gating synthesis for active leakage reduction |
US20100161303A1 (en) * | 2008-12-22 | 2010-06-24 | Cadence Design Systems, Inc. | Method, system, computer program product, and user interface for performing power inference |
US20120066530A1 (en) * | 2010-09-10 | 2012-03-15 | Shingo Suzuki | Configurable Power Switch Cells and Methodology |
US8504967B2 (en) * | 2010-09-10 | 2013-08-06 | Apple Inc. | Configurable power switch cells and methodology |
US8434048B2 (en) * | 2010-12-13 | 2013-04-30 | Apple Inc. | Method for implementing power gating in an integrated circuit design logic block including N-nary dynamic logic (NDL) gates |
US8736342B1 (en) * | 2012-12-19 | 2014-05-27 | International Business Machines Corporation | Changing resonant clock modes |
Also Published As
Publication number | Publication date |
---|---|
US9058459B1 (en) | 2015-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9041448B2 (en) | Flip-flops in a monolithic three-dimensional (3D) integrated circuit (IC) (3DIC) and related methods | |
CN101622588A (en) | Dynamic power reduction | |
US9329666B2 (en) | Power throttling queue | |
Kaul et al. | A 300 mV 494GOPS/W reconfigurable dual-supply 4-way SIMD vector processing accelerator in 45 nm CMOS | |
US11526646B2 (en) | Side channel aware automatic place and route | |
EP2945126B1 (en) | Graphics processing method and graphics processing apparatus | |
TW201331845A (en) | System-on-chip and power control method thereof, and multi-core system | |
KR20160037740A (en) | Electronic system and output method thereof | |
CN106249837A (en) | A kind of method preventing terminal power down and terminal | |
CN104050215A (en) | System and method to clear and rebuild dependencies | |
US10977410B2 (en) | IC routing for silicon circuits with smaller geometries | |
US11263379B2 (en) | Hierarchical clock tree implementation | |
US20160027691A1 (en) | Mitigating electromigration, in-rush current effects, ir-voltage drop, and jitter through metal line and via matrix insertion | |
US9058459B1 (en) | Integrated circuit layouts and methods to reduce leakage | |
US20150186586A1 (en) | Integrated circuit layouts and methods to improve performance | |
US8621415B2 (en) | Obtaining power domain by clustering logical blocks based on activation timings | |
US10650112B1 (en) | Multi-bit clock gating cell to reduce clock power | |
CN104182280B (en) | Low-energy RM real-time task scheduling method for hybrid main memory embedded system | |
US8612915B1 (en) | Reducing leakage in standard cells | |
JP5262435B2 (en) | Circuit design apparatus and circuit design method | |
US10366001B1 (en) | Partitioning memory blocks for reducing dynamic power consumption | |
CN112199919A (en) | Method and device for adding redundant standard cell, storage medium and electronic equipment | |
JP2010186320A (en) | Device for designing semiconductor integrated circuit | |
Lu et al. | Register placement for low power clock network | |
US20130097449A1 (en) | Memory unit, information processing device, and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DANGAT, HARISH;KOOG, YOUNG;BASWANT, SARITA;AND OTHERS;REEL/FRAME:032546/0600 Effective date: 20140327 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |