METHOD OF CONTROLLING A THERMAL BUDGET OF AN INTEGRATED CIRCUIT DEVICE, AN INTEGRATED CIRCUIT, A THERMAL CONTROL MODULE AND AN ELECTRONIC DEVICE THEREFOR

A method of controlling a thermal budget of an integrated circuit device is described. The method comprises obtaining a first junction temperature measurement value for the integrated circuit device at a first time instant, and a further junction temperature measurement value for the integrated circuit device at a further time instant. The method further comprises calculating a prospective junction temperature value for the integrated circuit device at a future time instant based at least partly on the first and further junction temperature measurement values; and configuring an operating condition of the integrated circuit device based at least partly on the calculated prospective junction temperature value.

DETAILED DESCRIPTION

The present invention will now be described with reference to an integrated circuit device for use in a wireless communication unit, and a method of controlling a thermal budget therefor. However, it will be appreciated that the present invention is not limited solely to wireless communication applications, but may be equally applied to any integrated circuit device application for which thermal budget control is required, or at least desired.

Referring first toFIG. 1, there is illustrated a simplified block diagram of an example of a part of a wireless communication unit100. The wireless communication unit100is a mobile telephone handset comprising an antenna102. As such, the wireless communication unit100contains a variety of well known radio frequency components or circuits106, operably coupled to the antenna102that will not be described further herein. The wireless communication unit100further comprises signal processing logic108. An output from the signal processing logic108is provided to a suitable user interface (UI)110comprising, for example, a display, keypad, microphone, speaker, etc.

For completeness, the signal processing logic108is coupled to a memory element116that stores operating regimes, such as decoding/encoding functions and the like and may be realised in a variety of technologies such as random access memory (RAM) (volatile), (non-volatile) read only memory (ROM), Flash memory or any combination of these or other memory technologies. A timer118is typically coupled to the signal processing logic108to control the timing of operations within the wireless communication unit100.

Electronic devices such as the wireless communication unit100ofFIG. 1typically comprise a number of integrated circuit devices. For example, the wireless communication unit100ofFIG. 1may comprise one or more integrated circuit devices for implementing the radio frequency components or circuits106; and one or more integrated circuit devices for implementing the signal processing logic108; etc. Integrated circuit devices, and in particular integrated circuit devices intended for use within mobile products, such as mobile communication units and the like, are typically designed for high performance and functionality. In order to achieve increased, or indeed, maximum effective performance of the integrated circuit device, good thermal budget control is required for each integrated circuit device.

Referring now toFIG. 2, there is illustrated a simplified block diagram of an example of part of an integrated circuit device200, such as may be implemented within the wireless communication unit100ofFIG. 1. The integrated circuit device comprises a thermal control module210arranged to control a thermal budget of the integrated circuit device. In particular, and in accordance with some example embodiments of the present invention, the thermal control module210may be adapted to perform a method of controlling a thermal budget of the integrated circuit device200(as illustrated with the flowchart ofFIG. 4). The method comprises: obtaining a first junction temperature measurement value for the integrated circuit device200at a first time instant; obtaining at least one further junction temperature measurement value for the integrated circuit device200at an at least one further time instant, calculating a prospective junction temperature value for the integrated circuit device200at a future time instant based at least partly on the first and at least one further junction temperature measurement values; and configuring at least one operating condition of the integrated circuit device200based at least partly on the calculated prospective junction temperature value.

In this manner, the thermal control module210is able to proactively configure the at least one operating condition of the integrated circuit device200in order to control the thermal budget therefor, based on the calculated junction temperature Tp. As such, improved control of the thermal budget of the integrated circuit device200may be achieved as compared with, say, conventional reactive techniques that are only arranged to configure operating conditions of an integrated circuit device once a measured junction temperature has already exceeded a threshold value.

For example, the inventors have recognised that the temperature of integrated circuit device components is predictable within a stable state system having a relatively constant power consumption. For example, the junction temperature of an integrated circuit device component may be approximately defined using the equation:

where T is the junction temperature for the integrated circuit device component, t=time, and A and B are constants that depend on system type and operating conditions.

FIG. 3illustrates a graph300of junction temperature over time comprising a first plot310representing Equation 1 above where:

The graph300further comprises a second plot320of a measured junction temperature profile within an integrated circuit device over time. As illustrated by the two plots310,320, Equation 1 above provides an accurate definition of the junction temperature of an integrated circuit device, and for the case illustrated inFIG. 3, the correlation between the logarithmic equation (Equation 2) and the temperature profile is better than 99% aligned.

Thus, and as illustrated inFIG. 3, by taking a first junction temperature measurement T1330for the integrated circuit device200at a first time instant t1335, and at least one further junction temperature measurement, such as the second junction temperature measurement T2340for the integrated circuit device200at a further time instant t2345, it is possible to determine the values of the constants A and B in Equation 1 for a current (stable) operating state of the integrated circuit device200, and thereby to calculate a junction temperature Tp350of a future time instant tp255, under the current operating state of the integrated circuit device200.

Accordingly, the thermal control module210ofFIG. 2may be arranged to obtain a first junction temperature measurement value T1330for the integrated circuit device200at a first time instant t1335, obtain at least one further junction temperature measurement value T2340for the integrated circuit device200at an at least one further time instant t2345, calculate a prospective junction temperature value TP350for the integrated circuit device200at a future time instant tp355based at least partly on the first and at least one further junction temperature measurement values T1330and T2340, and configure at least one operating condition of the integrated circuit device200based at least partly on the calculated prospective junction temperature value TP350. In the illustrated example, the thermal control module210comprising an input215connectable to one or more temperature sensors220from which the thermal control module210is arranged to receive junction temperature measurement values. The thermal control module210is further operably coupled to a timer230from which the thermal control module210is arranged to receive timing information in order to determine the various time instants t1335, t2345and tp355.

For some examples, the thermal control module210may be arranged to perform a steady state calculation (e.g. within a stable state system having constant power consumption) for the prospective junction temperature value TP350, for example based on Equation 1 above. Furthermore, the first time instant t1335and the at least one further time instant t2345may be spaced a constant, pre-defined interval (t2−t1)360apart, and the thermal control module210may be further arranged to calculate the prospective junction temperature value TP350for the integrated circuit device200at a future time instant tp355where an interval between the at least one further time instant t2345and the future time instant tp355(tp−t2)365is substantially equal to the (pre-defined) interval (t2−t1)360.

Having calculated the prospective junction temperature value TP350, the thermal control module210may be arranged to compare the prospective junction temperature value TP355with one or more threshold temperature values TT, and if the prospective junction temperature value TP355exceeds one or more of the threshold temperature values TT, the thermal control module210may be arranged to configure at least one operating condition for the integrated circuit device200to reduce the thermal budget therefor. For example, a maximum operating temperature value for the integrated circuit device200may be set as the threshold temperature value TT. In this manner, if the prospective junction temperature value TP350exceeds this threshold temperature value TT, the thermal control module210may proactively configure one or more operating conditions for the integrated circuit device200to reduce the thermal budget for the integrated circuit device200, in order to avoid the junction temperature therefor exceeding the maximum operating temperature.

In the illustrated example the thermal control module210comprises a control output217operably coupled to a frequency scaling and power gating module240. In this manner, the thermal control module210may be arranged to configure the frequency scaling and/or power gating module240to modify an operating frequency and/or power gating configuration of at least a part of the integrated circuit device200in order to reduce the thermal budget therefor. Additionally and/or alternatively the thermal control module210may be arranged to configure other operating conditions, such as by way of example only, a clock gating configuration and/or a power supply voltage level for at least a part of the integrated circuit device200.

The thermal control module210may be further arranged to determine a configuration for one or more operating conditions of the integrated circuit device200required for a junction temperature of the integrated circuit device200to be below the threshold temperature TTat the future time instant tp, and to configure the one or more operating conditions accordingly, if the prospective junction temperature value TP355exceeds the threshold temperature value TT. In some examples, the thermal control module210may be arranged to optimally configure one or more operating conditions of the integrated circuit device200in order to substantially increase, or indeed maximise, performance of the integrated circuit device200whilst remaining within a maximum thermal budget. In this manner, not only may the thermal control module210be arranged to proactively prevent a thermal budget for the integrated circuit device200exceeding, say, a maximum operating thermal budget, but also the thermal control module210may be arranged to optimally configure one or more operating conditions of the integrated circuit device200to enable substantially maximum performance of the integrated circuit device to be achieved without exceeding the maximum thermal budget. In this way, the thermal control module210is able to predict a stable temperature for a current power consumption of the integrated circuit device200, and to change power consumption through changing operating conditions to target a desired temperature value.

In the illustrated example, the thermal control module210is further operably coupled to a configurable register250within which parameters such as, say, constants A and B of Equation 1, intervals (t2−t1)360and (tp−t2)365, and one or more threshold temperatures TTmay be programmable or configured and accessed by the thermal control module210. In this manner, such parameters may be programmed and updated as required for individual applications and systems.

Referring now toFIG. 4there is illustrated a simplified flowchart400of an example of a method of controlling a thermal budget of an integrated circuit device; for example as may be implemented by the thermal control module ofFIG. 2. The method starts at410, and moves on to420where a first junction temperature measurement value (T1) is obtained at a first time instant (t1). Next, at430, the method waits for a pre-defined interval (t2−t1) before a second junction temperature measurement value (T2) is obtained at a second time instant (t2) at440. Next, at450, a prospective junction temperature value (Tp) is calculated for a future time instant (tp). The prospective junction temperature value (Tp) is then compared with a threshold temperature value (TT) at460, and if the prospective junction temperature value (Tp) is greater than the threshold temperature value (TT), the method moves on to470where one or more operating conditions are configured to reduce a thermal budget for the integrated circuit device. The method then ends at480. Referring back to460, if the prospective junction temperature value (Tp) is not greater than the threshold temperature value (TT), the method ends at480.

Aspects of the invention may be implemented, at least in part, in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the invention when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the invention.

The computer program may be stored internally on computer readable storage medium or transmitted to the computer system via a computer readable transmission medium. All or some of the computer program may be provided on computer readable media permanently, removably or remotely coupled to an information processing system. The computer readable media may include, for example and without limitation, any type of non-transitory media such as: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; non-volatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc. The media may also be transitory, such as carrier wave transmission media, just to name a few.

A computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. The computer system may for instance include at least one processing unit, associated memory and a number of input/output (I/O) devices. When executing the computer program, the computer system processes information according to the computer program and produces resultant output information via I/O devices.

The connections as discussed herein may be any type of connection suitable to transfer signals from or to the respective nodes, units or devices, for example via intermediate devices. Accordingly, unless implied or stated otherwise, the connections may for example be direct connections or indirect connections. The connections may be illustrated or described in reference to being a single connection, a plurality of connections, unidirectional connections, or bidirectional connections. However, different embodiments may vary the implementation of the connections. For example, separate unidirectional connections may be used rather than bidirectional connections and vice versa. Also, plurality of connections may be replaced with a single connection that transfers multiple signals serially or in a time multiplexed manner. Likewise, single connections carrying multiple signals may be separated out into various different connections carrying subsets of these signals. Therefore, many options exist for transferring signals. Those skilled in the art will recognize that the boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements. Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. For example, for clarity, the temperature sensor(s)220, timer230, frequency scaling/power gating module240and configurable register250have been illustrated as comprising functional blocks distinct from the thermal control module210. However, it will be appreciated that one or more of these functional elements may be implemented as an integral part of the thermal control module210.

Any arrangement of components to achieve the same functionality is effectively ‘associated’ such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as ‘associated with’ each other such that the desired functionality is achieved, irrespective of architectures or intermediary components. Likewise, any two components so associated can also be viewed as being ‘operably connected’, or ‘operably coupled’, to each other to achieve the desired functionality.