BACKGROUND  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to the design of systems that regulate the buildup of heat within electrical circuitry. More specifically, the present invention relates to a method and an apparatus for regulating the buildup of heat within an asynchronous circuit.  
           [0003]    2. Related Art  
           [0004]    The dramatic increases in computational speed in recent years have largely been facilitated by improvements in semiconductor integration densities, which presently allow hundreds of millions of transistors to be integrated into a single semiconductor chip. This makes it possible to incorporate a large amount of computational circuitry onto a semiconductor chip. Moreover, the small circuit dimensions made possible by improved integration densities enables this computational circuitry to operate at extremely high speed.  
           [0005]    However, as computational operations are performed more rapidly and involve increasingly larger amounts of computational circuitry, it is becoming progressively harder to synchronize computational operations with reference to a single global clock signal. In many cases, enforcing such synchronization greatly constrains the performance of the computational circuitry. To remedy this problem, some designers have begun to investigate the possibility of using “asynchronous” circuits that do not operate with reference to a global clock signal, and are hence not constrained by the need to continually synchronize computational operations with the global clock signal. In many cases, such asynchronous circuits can increase computational speed by an order of magnitude or more.  
           [0006]    However, increasing the computational speed of an asynchronous circuit causes the circuit to switch more frequently. This increases power consumption and consequently generates a significant amount of heat. Computing systems typically employ various components to dissipate this heat, such as heat sinks and cooling fans. However, as the computational speed of semiconductor chips continues to increase, and as these chips are packed more closely together to minimize propagation delay between the chips, it is becoming progressively harder to effectively dissipate this heat. This leads to excessive heat buildup, which can cause a computer system to fail, and in some cases can permanently damage circuitry within the computer system.  
           [0007]    What is needed is a method and an apparatus that effectively regulates heat generated by a high-speed asynchronous circuit.  
         SUMMARY  
         [0008]    One embodiment of the present invention provides a system that regulates heat within an asynchronous circuit. During operation, the system monitors a temperature within the asynchronous circuit. If the temperature exceeds a threshold value, the system introduces a delay into the asynchronous circuit that causes signals to propagate more slowly through the asynchronous circuit. This causes circuit elements within the asynchronous circuit to switch less frequently and consequently causes the circuit elements to generate less heat.  
           [0009]    In a variation on this embodiment, introducing the delay into the asynchronous circuit involves introducing the delay into at least one asynchronous circuit element. In a further variation, the asynchronous circuit element is a logic gate with a voltage-controlled delay. In a yet a further variation, this logic gate comprises an inverter with a voltage-controlled degeneration transistor that introduces a voltage-controlled propagation delay into the inverter.  
           [0010]    In a variation on this embodiment, introducing the delay into the asynchronous circuit involves introducing the delay into at least one asynchronous signal line within the asynchronous circuit. In a further variation, introducing the delay into an asynchronous signal line involves selectively switching the asynchronous signal line through chains of inverters having differing lengths to introduce different delays into the asynchronous signal line.  
           [0011]    In a variation on this embodiment, introducing the delay into the asynchronous circuit involves introducing the delay into an asynchronous control circuit that asynchronously controls propagation of data through the asynchronous circuit.  
           [0012]    In a variation on this embodiment, if the temperature exceeds the threshold value, the system additionally reduces a voltage supplied to the asynchronous circuit. This reduces the power consumed by the asynchronous circuit and consequently causes the asynchronous circuit to generate less heat.  
           [0013]    In a further variation, if the temperature exceeds the threshold value, the voltage is reduced first, and if reducing the voltage does not reduce the temperature below the threshold value, the delay is introduced.  
           [0014]    In a variation on this embodiment, the asynchronous circuit resides within a computer system. 
       
    
    
     BRIEF DESCRIPTION OF THE FIGURES  
       [0015]    [0015]FIG. 1 illustrates a temperature regulation system for an asynchronous circuit in accordance with an embodiment of the present invention.  
         [0016]    [0016]FIG. 2 illustrates how a variable delay element is incorporated into an asynchronous circuit in accordance with an embodiment of the present invention.  
         [0017]    [0017]FIG. 3A illustrates the design of a variable delay element in accordance with an embodiment of the present invention.  
         [0018]    [0018]FIG. 3B illustrates the design of another variable delay element in accordance with an embodiment of the present invention.  
         [0019]    [0019]FIG. 4 presents a flow chart illustrating how temperature is regulated in an asynchronous circuit in accordance with an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0020]    The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.  
         [0021]    Temperature Regulation System  
         [0022]    [0022]FIG. 1 illustrates a temperature regulation system for an asynchronous circuit  100  in accordance with an embodiment of the present invention. The asynchronous circuit illustrated in FIG. 1 can generally include any type of circuit that does not synchronize computational operations and data movement operations with reference to a system clock. In one embodiment of the present invention, asynchronous circuit  100  is a part of a computer system.  
         [0023]    The system illustrated in FIG. 1 includes a temperature regulator  110 . Temperature regulator  110  receives a temperature measurement from a temperature sensor  102 , which is thermally coupled to asynchronous circuit  100 . If this temperature measurement indicates that asynchronous circuit  100  is too hot (or is becoming too hot), temperature regulator  110  takes steps to reduce the heat being generated by asynchronous circuit  100 . For example, temperature regulator  110  can cause variable voltage supply  108  to reduce the voltage provided to asynchronous circuit  100 . This reduces the power consumed by asynchronous circuit  100 , and thereby reduces the heat being generated by asynchronous circuit  100 .  
         [0024]    Temperature regulator  110  can also introduce a delay into a signal loop  106  within asynchronous circuit  100 . This increases the round trip propagation delay through signal loop  106 , and thereby decreases the speed with which asynchronous circuit  100  operates. Decreasing the operating speed of asynchronous circuit  100  also decreases the power consumed by asynchronous circuit  100 , and similarly reduces the heat being generated by asynchronous circuit  100 .  
         [0025]    Asynchronous Circuit with Variable Delay Element  
         [0026]    [0026]FIG. 2 illustrates how a variable delay element  200  is incorporated into an asynchronous circuit  100  in accordance with an embodiment of the present invention. In this embodiment, variable delay element  200  is located within a control portion of asynchronous circuit  100 . This control portion includes a number of asynchronous control elements  202 - 205 . During operation, tokens pass between control elements  202 - 205 . These tokens cause pass gates (or switches)  212 - 215  to be activated, which allow signals to flow through logic circuitry  222 - 224 .  
         [0027]    Variable delay element  200  is located between control elements  203  and  204 , and introduces a delay into a signal loop that passes through control elements  202 - 205  as is illustrated in FIG. 2. This causes the round trip delay through the signal loop to be selectively increased, thereby decreasing the speed at which asynchronous circuit  100  operates. Note that in general there can be numerous delay elements within asynchronous circuit  100 .  
         [0028]    Also note that instead of inserting a delay element into asynchronous circuit  100 , it is also possible to modify an existing circuit element within asynchronous circuit  100  to produce a variable delay through the circuit element.  
         [0029]    Variable Delay Element  
         [0030]    Variable delay element  200  can generally include any type of circuit that can be selectively adjusted to produce a variable delay. For example, FIG. 3A illustrates the design of a variable delay element based on an inverter  300  in accordance with an embodiment of the present invention. Inverter  300  is similar to a standard CMOS inverter and includes both a P-type pullup transistor  307  and an N-type pulldown transistor  309 , which collectively cause input  302  to be inverted to produce output  304 .  
         [0031]    However, unlike a standard CMOS inverter, inverter  300  also includes a P-type “degeneration transistor”  308 , coupled between P-type transistor  307  and output  304 . An analog voltage delay control signal  306  feeds into the gate input of degeneration transistor  308 , so that the voltage of control signal  306  controls that amount of current that can flow through degeneration transistor  308 . Note that a higher analog voltage on delay control signal  306  starves the pullup action and consequently increases latency through inverter  300 .  
         [0032]    [0032]FIG. 3B illustrates another type of variable delay element  330  in accordance with an embodiment of the present invention. This variable delay element  330  includes several chains of inverters that are coupled to input  331 . The outputs of these chains of inverters feed into a multiplexer  320 , which selects between the outputs of the chains of inverters, and thereby selects between different propagation delays.  
         [0033]    Process of Regulating Temperature  
         [0034]    [0034]FIG. 4 presents a flow chart illustrating how temperature can be regulated in an asynchronous circuit in accordance with an embodiment of the present invention. During operation, the system monitors the temperature of the asynchronous circuit (step  402 ). The system then determines if the temperature is above the threshold value (step  404 ). If not, the system returns to step  402  to continue monitoring the temperature.  
         [0035]    Otherwise, the system reduces the voltage applied to asynchronous circuit (step  406 ), and continues to monitor the temperature (step  407 ). After a certain period of time, the system again determines if the temperature is above the threshold value (step  408 ). If not, the system returns to step  402  to continue monitoring the temperature. Otherwise, if the temperature is still greater than the threshold value, the system introduces a delay into the asynchronous circuit (step  410 ) to further reduce the temperature of the asynchronous circuit. The system then returns to step  402  to continue monitoring the temperature.  
         [0036]    Note that if the temperature drops below the threshold value after the voltage has been reduced, the voltage can be restored to its original value. Similarly, if the temperature drops below the threshold value after the delay has been introduced, the delay can be removed from the asynchronous circuit.  
         [0037]    Also note that many variations of this process are possible. It is possible to introduce the delay first, before reducing the voltage. It is also possible to only reduce the voltage, and not introduce the delay. It is similarly possible to only introduce the delay, and not adjust the voltage.  
         [0038]    The foregoing descriptions of embodiments of the present invention have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.
One embodiment of the present invention provides a system that regulates heat within an asynchronous circuit. During operation, the system monitors a temperature within the asynchronous circuit. If the temperature exceeds a threshold value, the system introduces a delay into the asynchronous circuit that causes signals to propagate more slowly through the asynchronous circuit. This causes circuit elements within the asynchronous circuit to switch less frequently and consequently causes the circuit elements to generate less heat.