Patent Publication Number: US-7222248-B2

Title: Method of switching voltage islands in integrated circuits when a grid voltage at a reference location is within a specified range

Description:
TECHNICAL FIELD 
   The field of the invention is that of integrated circuits, in particular circuits having separate blocks that can be turned on or off separately from other portions of the circuit. 
   BACKGROUND OF THE INVENTION 
   With the advent of independent voltage islands on integrated circuits (especially ASICs) and the potential to turn on and off these voltage islands as performance, power, and heat require, the problem exists of how to turn on and off the power without disrupting the voltage supply to other sections of the integrated circuit. 
   When a voltage island is turned on or off, a part of the integrated circuit has either the power turned on or turned off. This means that the power grid of the circuit has a capacitive load either connected or disconnected from the grid. This causes the power grid voltage level to bounce around. Usually this variation can be represented by a decaying sinusoidal waveform. 
   In  FIG. 1 , the curve  105  shows the voltage level close to the point that the power is switched on or off. In this example, line  100  represents the nominal voltage and line  110  represents a high voltage limit that will significantly impact other portions of the circuit, either by providing incorrect results, changing timing, etc. Arrow  120  indicates a rapidly varying period when a switch may put the voltage out of range. Arrow  130  represents a sub-range when the voltage is falling rapidly. A switch at this time that decreases the voltage may put it out of range, but a switch that increases the voltage will tend to reduce the effect of the rapid decrease. 
   Those skilled in the art will appreciate that a switch in the period indicated by arrow  120  may either increase or decrease out of range excursions, but that the voltage is changing on a very fast time scale and it is risky to switch another island so soon after the switch that produced curve  105 . 
   As multiple voltage islands are switched on and off, performance requirements change within the integrated circuit. These sinusoidal decaying voltage levels from the various voltage islands are added together. This results in a voltage level that varies over time and is dependent on performance requirements and capacitive loads such as voltage islands being switched on and off the grid. The curve in  FIG. 1  has been selected for ease in explanation to show the response of the grid to a single switching incident. 
   In the past this voltage level (either too high or too low) was handled by evaluating the worst case performance requirements and then over specifying a voltage grid structure that would guarantee that the voltage would stay within limits. 
   This problem has changed with the advent of voltage islands. The use of power switchable voltage islands means that the capacitive load of a major portion (⅓, ¼, ½, ⅕, etc.) of the integrated circuit could be switched at a given time. Trying to over specify/design the power grid to handle these fluctuations would be too costly in terms of area used for bypass capacitances and wiring layout. 
   Assuming that a more sophisticated approach of selecting the time and/or quantity of load to be switched is available, the problem arises of choosing parameters that represent a reasonable tradeoff between resource use and performance. 
   The art could benefit from a method of selecting parameters to permit or forbid a switch that provides an acceptable degree of circuit protection while consuming a tolerable amount of system resources. 
   SUMMARY OF THE INVENTION 
   The invention relates to an integrated circuit having a distributed voltage measurement and monitoring system across multiple points of a power grid whereby a determination is made as to the instantaneous voltage relative to a voltage target range and a history of the instantaneous voltages can be provided. 
   A feature of the invention is a set of isolated voltage islands that may have their power switched on or off, and a method of timing the switch to reduce the effect on other islands in the circuit. 
   A feature of the invention is a system that is able to monitor the voltage grid and determine the immediate past history of the grid to predict the future voltage on the grid. Being able to predict the future grid voltage allows a decision to be made when to switch on and off the voltage island. 
   A feature of the invention is that, when the integrated circuit calls for an island to be switched, the power control system of the circuit will delay the switch (the delay time may be zero) until the predicted disturbance and adverse effect on other voltage islands is acceptable. 
   A feature of the invention is the provision of a set of measurement modules having a sensor means for determining the current grid voltage and storage for storing the value of the grid voltage to provide a past history of the grid voltage at that location. 
   Another feature of the invention is that the system is then linked together by a communication system. The information from each of the measurement locations is transmitted to a control unit and the information is used to determine a decision point 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows the effect of a change in a voltage island. 
       FIG. 2  shows a voltage distribution grid on an integrated circuit. 
       FIG. 3  shows a schematic view of a control system. 
       FIG. 4  shows a block diagram of a circuit that tests for a valid switching condition. 
       FIG. 5  shows a counter circuit for testing for a valid switching time. 
       FIG. 6  shows a flow chart for making a decision to switch. 
   

   DETAILED DESCRIPTION 
     FIG. 2  illustrates schematically a top view of an integrated circuit  10  employing the invention. 
   A grid  200  has vertical members  220 - 1  through  220 -M and horizontal members  210 - 1  through  210 -N. The grid is fed by power supply  205 . At the top center of the Figure, voltage island  250  represents a portion of the circuit that can be connected to the grid (e.g. line  210 - 2 ) through controllable switch  255 , so that the voltage island is independently switchable—i.e. it can be switched on or off independently of the rest of the circuit. 
   Neighboring islands  260  and  265  are also shown. The purpose of the invention is to switch one island,  250  say, at a time such that the voltage applied to islands  260  and  265  is within the specified range for proper operation in spite of the effect of switching island  250 . For convenience in exposition, unless otherwise specified, the term grid voltage and similar terms will mean the grid voltage at a reference point that preferably is the most sensitive—i.e. the island most likely to malfunction when the voltage is out of the specified range. 
   Those skilled in the art will appreciate that, if island  250  is switched when the curve of  FIG. 1  is within the range denoted by arrow  120  (because of some previous voltage event), the voltage may be raised above the limit of line  110 . Arrow  120  is picked to illustrate a range when the value of the voltage is at its highest or lowest point and/or when the first derivative of the voltage is at a maximum value. 
   In order to select the proper switching time to switch island  250 , it is necessary to know the current voltage and the history of the voltage. Those skilled in the art will appreciate that, if island  250  is turned off and dumps a large charge on the grid at a time when the voltage is at or near the limit, the extra change will raise the value of the voltage even higher. Similarly, if the switch occurs when the voltage is in the right hand region of curve  105  in  FIG. 1 , where the deviation from the nominal value is small, it will be safe to make the switch immediately. 
   Arrow  125  in  FIG. 1  indicates a region where the slope of the curve is low. It is evident that, in this example, this region is relatively small and easy to miss. 
   It will be evident to those skilled in the art that, in order to select the best time to make a switch, it is necessary to know the current voltage value and also the history of the voltage value. For example, if only the current value is known, the point  106  at the start of the highest voltage peak would be considered acceptable because the current value of voltage is close to the nominal value. 
   A set of measurement modules  230 - 1  through  230 -K measure the voltage on the grid at various locations. The measurement modules will contain a conventional voltage sensor that measures the voltage and storage means that stores the voltage value of the measurement. 
   Illustratively, the storage means is a stack register, but any other arrangement that will store sequentially a series of N values taken from the voltage sensor will be suitable. For example, the register might be structured as a FIFO register. 
   The measurement section must satisfy the following requirements: 
   It must be able to determine the past history of the voltage at that physical location. 
   It must be able to determine the current voltage at the physical location. 
   It must be physically small enough that it can be used in many locations. 
   It must be able to respond within a required time. 
   For example, if it is necessary for proper circuit operation that the voltage be recorded with a granularity of one clock cycle because an error will be made if the voltage is out of range for a single clock cycle, then the measurement section must respond fast enough to measure and store the data within that time. 
     FIG. 3  illustrates the overall system for carrying out the control function. A set of measurement modules  230 - 1  through  230 -K from  FIG. 2  communicate with a controller  310 , which contains data processing modules to carry out the functions described herein. At the bottom of controller  310 , line  350  goes to the various controllable switches  255  that switch the individual islands  250 ,  260 ,  265 , etc. on and off. Controller  310  may be on-chip or off. Portions of the functions of controller  310  may be time-shared with portions of the circuit itself, subject to the usual constraints that the circuit has to meet its specifications and may not be able to pause in its operations to allow a module to be used for the voltage control functions performed by controller  310 . 
     FIG. 4  illustrates a preferred version of the measurement system. The voltage comes in on the left and is sampled through a conventional integration circuit  415 , well known to those skilled in the art. By utilizing an analog integration (voltage averaging) circuit, the history of the voltage can be determined. 
   Voltage averaging circuit  415  effectively determines the history of the voltage values for some N periods of time previous to the decision point. This averaged voltage value passes on line  417  to comparators  420 - 1  and  422 - 1  that compare the average value with high and low reference voltages, respectively. Similarly, the current Grid voltage is simultaneously put through separate comparators  420 - 2  and  422 - 2  and compared to a reference voltage. 
   The reference voltage could be fixed or adjustable depending on the application. The reference voltages are the voltage range at which a successful turn-on or turn-off can be accomplished. In this example, the reference values for the average and for the current values are the same. This need not always be the case, and the reference values could be different for current and average voltages. 
   The Hi comparators check to see if the averaged voltage or current voltage is lower than the upper range of the reference voltage range. Each comparator puts out a logic 1 if the input voltage is out of range and a logic 0 if the input is within range. The Low comparators check to see if the averaged voltage or current voltage is higher than the low reference voltage. The current and average high results are then ORed together in OR  430 - 1  to determine if both the current and average results are less than the Hi limit (output low if both inputs are low, i.e. within range). Similarly, the current and average low results are also ORed together in OR  430 - 2  to determine if both the current and average results are greater than the Low limit (output low if both inputs are low, i.e. within range). If the output of both OR circuits  430 - 1  and  430 - 2  is logic 0, the output of NOR  435  will be logic 1 indicating that a valid switch is possible. 
   The circuit of  FIG. 4  performs satisfactorily when the voltage is similar to that shown on the right side of  FIG. 1 ; i.e. when both the current value is within range and when the average value indicates that the voltage has been within range for a while. This circuit will accept some situations in the range  120  because it does not predict well. For example, at point  106 , the average will be within range because the initial dip is within range. The voltage is about to go out of range and this is the worst time to make a switch that will increase the grid voltage. (Conversely, it is a good time to make a switch that will decrease the grid voltage.) 
   The performance of this circuit can be increased by using a separate lower reference value for the average comparators that will pick up the initial excursion in curve  105  of  FIG. 1 . The circuit can be used as an initial filter to reject times when a switch is too risky. 
   This problem of predicting a good time to switch an island becomes more complicated when we take into account: a) the physical location of the voltage island to be switched, b) the physical location of the measurements and c) voltage fluctuations on the time scale of  FIG. 1 . Those skilled in the art are aware that the grid is more like a contour map of voltage and the physical location of the voltage island may require that multiple measurement location results be taken into account before deciding if a switch is okay; i.e. the sensitivity of other islands and the recent history of the grid voltage will affect the permissible time of switching the kth island. In addition, as described above, a difference in time of less than a clock cycle can mean the difference between pushing the voltage out of range and suppressing out of range excursions. 
   The measurement system shown in  FIG. 4  is simple in terms of the history of the voltage grid at the measurement point. A more sophisticated system could determine the ringing state of the voltage waveform by tracking the various averaged and current voltage measurements, and then manipulating these values to determine the longer term history of the voltage grid. Since the measurement system above creates valid or non-valid outputs as well as the comparators, these values could be treated digitally and then digitally processed. 
   An example is shown below, in which a set of recorded measurements starts with the earliest time on the left: 
   History: 0 0 1 1 1 1 0 1 1 0 1 0 0 
   Current High: 0 0 0 1 1 0 0 1 0 0 0 0 0 
   Current Low: 0 1 1 0 0 0 1 0 0 1 0 0 0 
   This set of data shows a decaying oscillating waveform. The information can be seen in the History line where a grid voltage out of bounds (represented by a 1) goes from 0 to 4 high (out of range) in a row, to 2 high in a row, to a single high. Likewise the information can be seen in the Current High and Current low sequences. 
   A voltage island power switch could be shown in the following sequence where a first switch takes place at the left side of the sequence and a second switch takes place at the asterisk. 
   Switchpoint=* 
   History: 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0*0 0 1 1 1 1 0 1 1 0 1 
   Current High: 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 
   Current Low: 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 
   The second set of oscillations comes from the power island switching. 
   A simple way to find the history of an individual point is to add a resettable counter to the output of the above diagram. This is shown in  FIG. 5 , in which the left side of the figure is the same as corresponding portions of  FIG. 4  and a counter is triggered on the right side when the measure point is within the permitted range. 
   This counter is reset every time the voltage at the measurement point goes outside of the range limits set by the comparators. When the voltage is within the limits the counter is not reset and the counter counts at every clock cycle. Thus the count will describe the amount of time that the voltage has been maintained in the valid range. The clock can be any clock available on the die with the period known and used in any control mechanism. 
   Box  520  in  FIG. 5  represents a fine-grained storage module such as a stack register or FIFO register provides a detailed history of the grid voltage using any of the systems disclosed. 
   An additional method of doing the measurement could be accomplished with one of the following circuits. 
   1) Using a ring oscillator with a counter. The oscillator would generate a frequency output that would be dependent on the voltage of the power grid. 
   2) Using a delay line with a tap that allows the output tap position to be dependent on the voltage grid. 
   3) Feed the output of the circuit of  FIG. 5  to a FIFO register of appropriate length that preserves the history of the last K measurements and overwrites older measurements. 
   4) Using an analog to digital convertor that would read the voltage and communicate the voltage value to the central control device. 
   Conventional readout circuitry will pass the stored values to the controller for printout for human analysis or for further data processing. 
   The problem of analyzing multiple measurement sites and then determining if the voltage grid can withstand the switching becomes a larger problem. The magnitude of the switching (e.g. the capacitance of the kth island being switched) and the values at different sites become a factor in reaching a decision. In this type of system, the physical location of voltage islands and measurement points as well as the perturbation factor of a particular island, are all factors required before reaching a decision. 
   Diagnosis of acceptable and unacceptable switching times can be included as part of the characterization process. The chip is started up and a set of test vectors are executed, in which each test vector turns on or off a selected island. The grid voltage history will be recorded both before and after the switch. Standard statistical processes are then applied to define an acceptable pre-switch condition for each island; e.g. an approved range of pre-switch conditions that produce a post-switch grid voltage within an acceptable range; e.g. if the grid has been within the approved range for L clock cycles, then it is okay to switch. 
   For example, a large island might have a condition that: a) the grid voltage has been within range for N 1  clock cycles AND b) the current condition is that no part of the grid is high (or low). The choice of high or low in the preceding sentence will depend on whether the island is being switched on or off. 
   A small island might have a condition that: a) the grid voltage is currently within range in the neighborhood of the island AND b) the current status of remote portions of the grid and the past status of the grid is unimportant. Neighborhood means islands that have an effect on the kth island that is greater than a threshold amount, and are not necessarily adjacent to the Kth island. 
   An intermediate island might have a condition that: a) the grid voltage has been within range for N 2  (N 2  being less than N 1 ) clock cycles AND b) the current condition is that the neighborhood part of the grid is not out of range. 
   It will be a design choice for the chip designer whether to have a set of switching criteria (rules) that are uniform for all islands or to have a finer-grained set of rules for large and small islands. 
   In each of the preceding examples, the action taken when the criterion is not met is to postpone the switch until the criterion is met (or to postpone by a default amount of time). 
   Alternatively, the action taken may be to desensitize the most susceptible islands by reducing the clock speed and/or inserting pauses (no-operation commands) of those islands, assuming that the system design of the integrated circuit permits such actions. 
   Controller  310  of  FIG. 3  may be a central controller for controlling all islands on the chip. Alternatively, there may be local controllers that control a subset of islands in situations where some areas of the chip have little effect on other areas. In a particular example, a controller controls a single island. There may be several island-specific controllers on a chip, as well as local controllers that control a limited number of islands. 
     FIG. 6  illustrates a process according to the invention, in which: 
   The process starts with box  605  with a request for permission to make a switch (on or off); 
   The next step is to check if all the measurements are current (diamond  610 ). This step will be used when it takes a significant amount of time to test all the measurement points on the grid or when the measurement process is not continuous, but takes place only intermittently; 
   If current measurements are not available, they are updated (box  612 ); 
   Having updated the measurements, the location of the voltage island to be switched is determined in box  615 , since the effect will depend on which island is being switched; 
   Given the location of the island and the current status of the grid, is the effect of the switch known (or estimated)—(diamond  620 ); 
   If the effect of the switch has not been measured or simulated, an estimate is made (box  622 ); 
   Lastly, the measurements or estimates of the effect of the switch on the grid are assembled from storage or from current data (box  612 ); 
   A decision is then made whether to proceed immediately; to wait or to take compensatory action. 
   While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced in various versions within the spirit and scope of the following claims.