I. Field of the Disclosure
The technology of the disclosure relates generally to systems and methods of determining temperature of an integrated circuit (IC).
II. Background
Thermal emissions are a problem of increasing concern in integrated circuit (IC) design. High temperatures in an IC may cause carrier mobility degradation and thus slow down operation of the IC, increase resistivity, and/or cause circuit failures. The problem has become especially critical as voltage scaling has slowed down and the number of active components per unit area has increased. Thus, control systems need accurate temperature determinations in order to control thermal dissipation in an IC.
Traditional temperature detection techniques rely on temperature sensors, which may, for example, use bipolar junction transistors (BJTs). In these temperature sensors, a power level of a temperature sensor is often detected to measure the IC's temperature. Unfortunately, deficiencies in these types of temperature sensors have become increasingly problematic. For example, the relationship between the temperature and the power level of the temperature sensor becomes increasingly non-linear as power densities increase in ICs. Furthermore, precision has become increasingly important in thermal management. However, the precision of traditional temperature sensors is limited by accuracy in placement within the IC, along with inadequate response times and gain resolutions of BJTs. Expensive cooling solutions are often used to correct these deficiencies, thereby increasing manufacturing costs. More accurate temperature determination techniques are therefore needed.
Embodiments disclosed in the detailed description include digital temperature estimators (DTEs) disposed in integrated circuits (ICs) for estimating temperature within the ICs. Related systems and methods are also disclosed. In one embodiment, the DTEs can be used to estimate temperatures in an integrated circuit (IC) by implementing a temperature estimation model (TEM). The TEM can provide an estimated temperature of an IC block disposed in the IC based on activity event(s) associated with the IC block, as opposed to providing temperature sensors in the IC to measure temperature of the IC block directly. Implementation of the TEM allows for temperatures in the IC and IC blocks disposed therein to be estimated even if the temperatures of the IC are highly non-linear with respect to power consumption in the IC. The DTEs can be operated in real time so that power and/or thermal regulation systems of the IC can obtain accurate and reliable temperature estimation from the DTE. In this manner, the thermal dissipation in the IC may be regulated more effectively. For example, power consumption in the IC may be controlled more precisely to maintain the IC within desired temperature limits. As another example, voltage scaling may be performed in the IC based on the estimated temperature may be provided more accurately.
In this regard, in one embodiment, a DTE is disposed in an IC having a plurality of IC blocks. The DTE includes an IC block activity file, a TEM, and a temperature estimation calculator. The IC block activity file is configured to store IC block activity events associated with the plurality of IC blocks disposed in the IC. The TEM is configured to correlate the IC block activity events from the IC block activity file to temperature. To estimate a temperature of one or more IC blocks, the temperature estimation calculator is configured to receive one or more IC block identifiers of the one or more IC blocks. The temperature estimation calculator then implements the TEM to calculate one or more temperature estimations of the one or more IC blocks identified by the one or more IC block identifiers. The temperature estimation calculator causes the one or more temperature estimations of the one or more IC blocks to be stored in memory.
In another embodiment, a DTE is disposed in an IC. The DTE includes means for storing IC block activity events associated with a plurality of IC blocks disposed in the IC. Additionally, the DTE includes means for receiving an IC block identifier to estimate temperature of an IC block of the plurality of IC blocks identified by the IC block identifier. The DTE further includes means for calculating a temperature estimation of the IC block identified by the IC block identifier. The DTE includes means for storing the temperature estimation of the IC block identified by the IC block identifier.
In another embodiment, a temperature estimation method is disclosed. To implement the temperature estimation method, a TEM configured to correlate IC block activity events to temperature is stored. During operation of an IC, the IC block activity events associated with a plurality of IC blocks disposed in the IC are obtained. An IC block identifier is also obtained to estimate temperature of an IC block of the plurality of IC blocks identified by the IC block identifier. The TEM is implemented to calculate a temperature estimation of the IC block identified by the IC block identifier. The temperature estimation of the IC block identified by the IC block identifier is then stored in memory.
In another embodiment, an IC is disclosed that includes a plurality of IC blocks and a DTE. The DTE is configured to obtain IC block activity events associated with the plurality of IC blocks. The DTE also has a TEM and is configured to implement the TEM to calculate one or more temperature estimations that estimate one or more temperatures of one or more of the plurality of IC blocks as a function of the IC block activity events.
In another embodiment, a non-transitory computer-readable medium has computer-executable instructions stored thereon. The computer-executable instructions cause a DTE to store a TEM configured to correlate IC block activity events to temperature. The computer-executable instructions further cause the DTE to obtain the IC block activity events associated with a plurality of IC blocks disposed in an IC. The computer-executable instructions also cause the DTE to receive an IC block identifier to estimate temperature of an IC block of the plurality of IC blocks identified by the IC block identifier. Additionally, the computer-executable instructions cause the DTE to implement the TEM to calculate a temperature estimation of the IC block identified by the IC block identifier. Finally, the computer-executable instructions cause the DTE to store the temperature estimation of the IC block identified by the IC block identifier in memory.
With reference now to the drawing figures, several exemplary embodiments of the present disclosure are described. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
Embodiments disclosed in the detailed description include digital temperature estimators (DTEs) disposed in integrated circuits (ICs) for estimating temperature within the ICs. Related systems and methods are also disclosed. In one embodiment, the DTEs can be used to estimate temperatures in an integrated circuit (IC) by implementing a temperature estimation model (TEM). The TEM can provide an estimated temperature of an IC block disposed in the IC based on activity event(s) associated with the IC block, as opposed to providing temperature sensors in the IC to measure temperature of the IC block directly. Implementation of the TEM allows for temperatures in the IC and IC blocks disposed therein to be estimated even if the temperatures of the IC are highly non-linear with respect to power consumption in the IC. The DTEs can be operated in real time so that power and/or thermal regulation systems of the IC can obtain accurate and reliable temperature estimation from the DTE. In this manner, the thermal dissipation in the IC may be regulated more effectively. For example, power consumption in the IC may be controlled more precisely to maintain the IC within desired temperature limits. As another example, voltage scaling performed in the IC based on the estimated temperature may be provided more accurately.
In this regard,
With continuing reference to
The temperature estimations calculated during an estimation cycle by implementing the TEM 16 are a function of the IC block activity events stored in the ICAF 18. By implementing the TEM 16, the DTE 14 can calculate temperature estimations for any subset of the plurality of IC blocks 12. For example, during any estimation cycle, the DTE 14 may implement the TEM 16 and calculate a temperature estimation that estimates the temperature of just the IC block 12A. Additionally, during any estimation cycle, the DTE 14 may implement the TEM 16 and calculate a temperature estimation that estimates the temperature of just the IC block 12B. During any estimation cycle, the DTE 14 may implement the TEM 16 and calculate a temperature estimation that estimates the temperature of just the IC block 12C. During any estimation cycle, the DTE 14 may implement the TEM 16 and calculate a temperature estimation that estimates the temperature of just the IC block 12D. Also, during any estimation cycle, the DTE 14 may implement the TEM 16 and calculate a temperature estimation that estimates the temperature of just the IC block 12E. Additionally, the DTE 14 may implement the TEM 16 and calculate temperature estimations for all of the IC blocks 12A-12E. Finally, the DTE 14 may implement the TEM 16 to estimate temperatures for more than one but fewer than all of the IC blocks 12A-12F (e.g., temperature estimations for the IC blocks 12A, 12B).
The IC block activity events stored in the ICAF 18 may be updated during each of the estimation cycles. Thus, by implementing the TEM 16 during each of the estimation cycles, the DTE 14 calculates the temperature estimation(s) for one or more of the IC blocks 12 in real time. In this embodiment, the ICAF 18 is configured to receive activity event information (referred to generically as element 20 and specifically as elements 20A, 20B, 20C, 20D, 20E) associated with the plurality of IC blocks 12 in real time during operation of the IC 10. More specifically, the IC block 12A is configured to transmit activity event information 20A to the DTE 14. The IC block 12B is configured to transmit activity event information 20B to the DTE 14. The IC block 12C is configured to transmit activity event information 20C to the DTE 14. The IC block 12D is configured to transmit activity event information 20D to the DTE 14. Finally, the IC block 12E is configured to transmit activity event information 20E to the DTE 14.
The IC blocks 12 consume certain quantities of power when performing activities. The amount of heat generated by the IC blocks 12 is determined by the activities performed by the IC blocks 12. Using the activity event information 20, the IC block activity events describe and quantify the activities performed by the IC blocks 12. Power consumption and temperature based on the activities of the IC blocks 12 can be determined through empirical testing, which can then be used to determine models to estimate temperature of the IC blocks 12 based on the activity event information 20 relating to the IC blocks 12. As explained in further detail below, the IC block activity events may describe the various types of activities performed by the IC blocks 12, such as on/off activity, frequencies of operation, block operations, and/or the like. The TEM 16 may thus use the IC block activity events to calculate temperature estimation(s). More specifically, since the activities performed by the IC blocks 12 affect the amount of heat generated by the IC blocks 12, the DTE 14 can implement the TEM 16 to calculate the temperature estimation(s) for one or more of the IC blocks 12 as a function of the IC block activity events.
The IC block activity events may be performance variables, but do not include direct measurements of temperature that require temperature sensors, or direct measurements of power consumption, generated voltages, or current consumption in certain embodiments disclosed herein. The IC block activity events stored in the ICAF 18 are based on the activity event information 20. For example, some or all of the activity event information 20 may be received as some or all of the IC block activity events themselves. In this case, the activity event information 20 is simply stored in the ICAF 18 as the IC block activity events for the estimation cycle. An IC block activity event may be any type of data variable that can be used either directly or indirectly to estimate temperature. The IC block activity events may include frequency variables and/or any other type of performance variable that can be utilized to estimate temperature. Additionally or alternatively, some or all of the activity event information 20 may be utilized to determine the IC block activity events stored in the ICAF 18 for each estimation cycle. For instance, the activity event information 20 may include event increments. Each of the event increments can indicate when a particular performance activity has been implemented by one of the IC blocks 12. These performance activities may be the execution of an instruction, the number of times a component or IC block 12 has been switched on or off, a memory miss, a switching event, a mode transition, a task, and/or any other type of hardware-related activity or software-related activity.
To update the IC block activity events stored in the ICAF 18, some or all of the IC block activity events stored in the ICAF 18 may be incremented in accordance with the event increments. For example, event increments may be received for any of the IC block activity events described above. The IC block activity events stored in the ICAF 18 may then be incremented in accordance with the event increments, thereby updating the ICAF 18 in real time. The IC block activity event may thus describe the performance variable(s) updated by the event increment(s) during the current and/or previous estimation cycle (or portions thereof). Alternatively or additionally, the IC block activity event may describe the performance variable(s) updated by the event increment(s) from the beginning of operation until the current and/or previous estimation cycle.
The IC 10 may be an IC chip provided in an electronic package (not shown). The electronic package may include one or more semiconductor dies 21, as explained in further detail below. The IC blocks 12 may be formed on the semiconductor die 21 and may be functional blocks in the IC 10.
For example, during an estimation cycle, or during temporally adjacent estimation cycles, the ICAF 18 may receive the activity event information 20 associated with the IC blocks 12. The activity event information 20 is received in real time and may be continually received throughout at least a portion of the estimation cycle and/or adjacent estimation cycles. The IC block activity events stored by the ICAF 18 may be continuously updated by the activity event information 20 and/or may be based on all of the activity event information 20 received until a particular temporal location in the estimation cycle.
In one embodiment, at least some of the activity event information 20 may be received as event increments. Thus, at least some of the IC block activity events stored by the ICAF 18 may be accumulations of the corresponding event increments received within the activity event information 20. More specifically, the ICAF 18 may increment at least some of the IC block activity events in accordance with the event increments in real time. The ICAF 18 may be configured to increment at least some of the IC block activity events continuously in accordance with the event increments from the activity event information 20 throughout the estimation cycle. In one embodiment, the IC block activity events utilized to implement the TEM 16 are read from the ICAF 18 during a beginning of the next estimation cycle or, alternatively, at some other temporal location during the next estimation cycle. In yet another embodiment, the temporal location for reading the IC block activity event from the ICAF 18 may vary from estimation cycle to estimation cycle.
Additionally and/or alternatively, at least some of the activity event information 20 may also be received as at least some of the IC block activity events themselves. For example, the IC blocks 12 may be configured to each transmit an IC block activity event in the activity event information 20 once during each estimation cycle. These IC block activity events may be received by the ICAF 18 and stored therein.
The DTE 14 may then obtain an IC block identifier to estimate the temperature of an IC block 12 identified by the IC block identifier (block 26). Thus, an IC block identifier identifying the IC block 12A may be obtained to estimate the temperature of the IC block 12A. An IC block identifier identifying the IC block 12B may be obtained to estimate the temperature of the IC block 12B. An IC block identifier identifying the IC block 12C may be obtained to estimate the temperature of the IC block 12C. An IC block identifier identifying the IC block 12D may be obtained to estimate the temperature of the IC block 12D. Finally, an IC block identifier identifying the IC block 12E may be obtained to estimate the temperature of the IC block 12E. Additionally and/or alternatively, IC block identifiers for all of the IC blocks 12 may be received to estimate the temperatures of all of the IC blocks 12. Also, additionally and/or alternatively, a subset of IC block identifiers may be obtained to estimate the temperatures of a subset of the IC blocks 12.
The DTE 14 may then implement the TEM 16 to calculate a temperature estimation of the IC block 12 identified by the IC block identifier (block 28). For example, if only one IC block identifier is obtained, then the TEM 16 is implemented to calculate a temperature estimation of just the IC block 12 identified by the IC block identifier. Thus, the temperature estimation may estimate the temperature of the IC block 12A, the IC block 12B, the IC block 12C, the IC block 12D, or the IC block 12E, depending on which of these IC blocks 12 was identified by the IC block identifier. Additionally and/or alternatively, if IC block identifiers are received for all of the IC blocks 12, then the DTE 14 may implement the TEM 16 to calculate temperature estimations for all of the IC blocks 12. The temperature estimations would thus correspond bijectively to the IC blocks 12 and the IC block identifiers. Additionally and/or alternatively, if IC block identifiers are obtained that identify a proper subset of the IC blocks 12, then the DTE 14 may implement the TEM 16 to calculate temperature estimations of the proper subset of the IC blocks 12 identified by the IC block identifiers. The DTE 14 implements the TEM 16 in real time, and thus during operation of one or more of the IC blocks 12. For example, the DTE 14 may implement the TEM 16 at least once during every estimation cycle.
The TEM 16 used to calculate the temperature estimations may be a single overall computer model or may include various computer submodels. In one exemplary embodiment, the TEM 16 includes both a power estimation submodel and a temperature estimation submodel. Accordingly, when the DTE 14 implements the TEM 16 to calculate the temperature estimation(s), the DTE 14 may first implement the power estimation submodel and calculate power estimations for the IC blocks 12. The power estimations may correspond injectively with the plurality of IC blocks 12 based on the IC block activity events read from the ICAF 18 during an estimation cycle. Thus, each of the power estimations estimates power consumption of a corresponding one of the IC blocks 12. The power estimations may also correspond surjectively with the plurality of IC blocks 12. In this case, when the power estimations correspond injectively and surjectively with the plurality of IC blocks 12, the power estimations correspond bijectively with the plurality of IC blocks 12.
Once the power estimations are calculated, the DTE 14 implements the temperature estimation submodel to calculate the temperature estimation(s) based on the power estimations. In this manner, the temperature estimation(s) may be calculated in real time. The temperature estimation(s) may be calculated based on the power estimations at least once during every estimation cycle. The DTE 14 may store the temperature estimation of the IC block 12 identified by the IC block identifier in memory (block 30). If more than one IC block identifier was obtained in block 26, then the various temperature estimations of the IC blocks 12 identified by the IC block identifiers are stored in memory. Additionally, the power estimations may also be stored in memory by the DTE 14. The DTE 14 may be configured to store the temperature estimations and the power estimations in memory in real time. For example, the DTE 14 may be configured to store the temperature estimations and the power estimations in the memory at least once during every estimation cycle. Note that blocks 24, 26, 28, and 30 may be repeated during every estimation cycle. In this manner, the DTE 14 calculates the temperature estimations and the power estimations in real time as the operation of the IC blocks 12 progresses through time. The temperature estimations and the power estimations stored in the memory of the DTE 14 may thus be utilized to regulate the IC 10 as the temperature estimations and the power estimations progress through time. For example, the temperature estimations and the power estimations may be utilized to scale voltages within the IC 10. The temperature estimations and the power estimations may also be utilized to provide task scheduling and to regulate power within the IC 10.
The IC block activity events used to implement the TEM 16 can provide a multitude of different performance variables in order to determine the temperature estimations and the power estimations with a desired degree of accuracy. For instance, the IC block activity events can be performance variables that are idiosyncratic with respect to each of the IC blocks 12, and thus the IC block activity events can capture non-generic performance variables that are significant in calculating the temperature estimations and the power estimations for any of the IC blocks 12. As explained in further detail below, the TEM 16 can also be specifically tailored to the IC 10. In this manner, the DTE 14 can provide the temperature estimations and the power estimations with a high degree of accuracy.
In this embodiment, the ICAF 18(1) is configured to receive event increments 20(1), which are one embodiment of the activity event information 20 described above with respect to
The IC block identifiers ID in the event registers 34 therefore indicate which of the IC blocks 12 (shown in
As shown in
The PTEC 36 is configured to implement the TEM 16(1) to calculate a temperature estimation T of the IC block 12 identified by the IC block identifier ID received from the controller 38. More specifically, the PTEC 36 is configured to implement the TEM 16(1) to calculate temperature estimations (referred to generically as element T and specifically as elements TA, TB, TC, TD, and TE) of the set of the IC blocks 12 identified by the IC block identifiers ID received from the controller 38. A temperature estimation TA estimates a temperature of the IC block 12A. Furthermore, a temperature estimation TB estimates a temperature of the IC block 12B. Additionally, a temperature estimation TC estimates a temperature of the IC block 12C. Also, a temperature estimation TD estimates a temperature of the IC block 12D. Finally, a temperature estimation TE estimates a temperature of the IC block 12E. The PTEC 36 is configured to cause the temperature estimation T of the IC block 12 identified by the IC block identifier ID to be stored in memory 48. The memory 48 is provided by the memory device(s) 40.
To calculate the temperature estimations T, the controller 38 is configured to initiate a temperature estimation operation for the IC blocks 12. The temperature estimation operation is the procedures performed by the DPTM 14(1) during each of the estimation cycles. In this embodiment, the controller 38 receives a clock signal 50 to synchronize the estimation operations. In this manner, each of the estimation operations is provided during a consistent estimation cycle and the functionality of the DPTM 14(1) can be coordinated in real time.
Once the estimation operation is initiated by the controller 38, the controller 38 is configured to receive the IC block activity events x from the ICAF 18(1). After initiation, the controller 38 may cause the IC block activity events x to be stored in the memory 48. Furthermore, the controller 38 is configured to transmit the IC block activity events x to the PTEC 36. In this embodiment, the PTEC 36 transmits the temperature estimations T to the controller 38 after the TEM 16(1) has been implemented. The controller 38 then may transmit write instructions to the memory device(s) 40 along with the temperature estimations T so that the memory device(s) 40 store the temperature estimations T in the memory 48.
As mentioned above, the TEM 16(1) is configured to correlate the IC block activity events x to temperature. In this embodiment, the TEM 16(1) includes a power estimation submodel 52 and a temperature estimation submodel 54. More specifically, the power estimation submodel 52 is configured to correlate the IC block activity events x to power while the temperature estimation submodel 54 is configured to correlate the power to the temperature. To calculate the temperature estimations T for the estimation cycle, the controller 38 is configured to send the IC block activity events x to the register file 46 through the bus slave 44. In this embodiment, the TEM 16(1) is a non-parametric regression computer model. More specifically, the TEM 16(1) is a Global Distribution System (GDS) model. Thus, the power estimation submodel 52 and the temperature estimation submodel 54 are each non-parametric regression computer models. The TEM 16(1) thus operates such that coefficients of the TEM 16(1) are based on the IC block activity events x. Furthermore, the TEM 16(1) includes predictors. These predictors are a system of equations that are utilized with selected coefficients to estimate the power and the temperature of the IC blocks 12. The register file 46 thus includes a decoder 56 that selects the coefficients to be utilized with the power estimation submodel 52 and the coefficients to be utilized with the temperature estimation submodel 54 in accordance with the IC block activity events x from the ICAF 18(1). In this manner, the TEM 16(1) has a labile form that changes in accordance with the IC block activity events x for the current estimation cycle.
Additionally, one or more topological descriptions describing a topology of the IC 10 may be integrated into the TEM 16(1) such that the TEM 16(1) further correlates the IC block activity events x to the temperature given the topological description(s). Once the decoder 56 has selected the coefficients based on the IC block activity events x, the controller 38 is configured to cause the register file 46 to load the TEM 16(1) into the PTEC 36. More specifically, the selected coefficients of the power estimation submodel 52, the selected coefficients of the temperature estimation submodel 54, and the predictors are loaded into the PTEC 36 by the controller 38.
As mentioned above, the controller 38 is configured to transmit the IC block activity events x to the PTEC 36. During the estimation cycle, the temperatures of one or more of the IC blocks 12 shown in
The PTEC 36 is configured to receive the IC block identifiers ID to estimate the temperatures of the IC blocks 12 identified by the IC block identifiers ID. Since the IC block activity events x and the TEM 16(1) have been loaded into the PTEC 36, the PTEC 36 implements the TEM 16(1). More specifically, the PTEC 36 is configured to implement the power estimation submodel 52 to calculate power estimations (referred to generically as elements P and specifically as elements PA, PB, PC, PD, and PE) that correspond injectively with the plurality of IC blocks 12 shown in
In one embodiment, the power estimations P are power density estimations that estimate power densities in the IC blocks 12 of the IC 10 shown in
The controller 38 is then configured to receive the temperature estimations T from the PTEC 36. The controller 38 may then transmit the power estimations P and/or the temperature estimations T to external circuitry via the bus 42 using the bus slave 44. In this manner, the IC 10 shown in
As shown in
The controller 38 is configured to map the temperature estimations T to the topographical descriptions (i.e., the floorplan 58, the IC stack layout 60, and the IC package description 62). Note that the controller 38 loads the IC block identifiers ID into the memory 48 of the memory device(s) 40. These IC block identifiers ID can thus be mapped to descriptions of the IC blocks 12 of the IC 10 shown in
Note that the floorplan 58, the IC stack layout 60, and the IC package description 62 may already be integrated into the TEM 16(1) and do not have to be used during the implementation of the TEM 16(1). The power estimation submodel 52 thus correlates the IC block activity events x to the power and the temperature estimation submodel 54 correlates the power to the temperature given the topographical descriptions (i.e., the floorplan 58, the IC stack layout 60, and the IC package description 62). Accordingly, the coefficients of the TEM 16(1) are provided given the physical topology of the IC 10. The power estimations P and the temperature estimations T thus take into account the physical topology of the IC 10 shown in
As shown in
The IC blocks 12 transmit the event increments 20(1) to the DPTM 14(1) through a back end of line (BEOL) (not shown) provided by the IC 10(1). The DPTM 14(1) thereby receives the event increments 20(1) from the BEOL at the event counters 32. With regard to the vertical physical topology of the IC 10(1), the IC stack layout 60 describes the vertical stacking of layers in the semiconductor die 66 and the BEOL. As explained above, the IC stack layout 60 has been integrated into the TEM 16(1). The electronic package 64 may also include a thermal interface material (TIM) (not shown) and a heat sink (not shown). The electronic package 64 may also include a package substrate (not shown) and encapsulation material (not shown) that encapsulates the semiconductor die 66 and the BEOL. For example, as explained in further detail below, the BEOL may be mounted on the package substrate while the TEM 16(1) is provided between the semiconductor die 66 and the heat sink. The package substrate is mountable on a printed circuit board in order to couple the IC 10(1) to other external ICs. The IC package description 62 describes a topology of the electronic package 64, and may also describe material properties, package type, and/or any other descriptor relevant to the structure of the electronic package 64.
Referring now to
In one embodiment, each of the predictors y1, y2, y3, y4, y5 in the predictor vector ŷ(x) is a polynomial. However, the predictors y1, y2, y3, y4, y5 may also be any type of suitable function or combination of functions, such as integrals, derivatives, Gaussian distribution functions, pulse functions, triangular functions, quartic functions, Epanechnikov functions, trigonometric functions, tricube functions, statistical functions, and/or the like.
The power coefficient matrix CP is multiplied by the predictor vector ŷ(x) in order to calculate the power estimations P. In this embodiment, the power coefficient matrix CP is a 5×5 matrix of coefficients. As explained above, the decoder 56 is configured to select the coefficients in the power coefficient matrix CP based on the IC block activity events x received from the ICAF 18(1) for the current estimation cycle. The decoder 56 may also select the coefficients of the power coefficient matrix CP based on prior power estimations P, temperature estimations T, and/or IC block activity events x. The coefficients in the power coefficient matrix CP have been evaluated given the physical topology of the IC 10(1). In this manner, the topological descriptions (i.e., the floorplan 58, the IC stack layout 60, and the IC package description 62) are integrated into the power estimation submodel 52.
As shown by the mathematical expression (1), the power coefficient matrix CP has a first row RPA of coefficients. The power estimation PA is equal to the first row RPA times the predictor vector ŷ(x). A second row RPB of coefficients of the power coefficient matrix CP is multiplied times the predictor vector ŷ(x) to calculate the power estimation PB. A row of coefficients RPC of coefficients of the power coefficient matrix CP is multiplied times the predictor vector ŷ(x) to calculate the power estimation PC. A fourth row RPD of coefficients of the power coefficient matrix CP is multiplied times the predictor vector ŷ(x) to calculate the power estimation PD. Finally, a fifth row RPE of coefficients of the power coefficient matrix CP is multiplied times the predictor vector ŷ(x) to calculate the power estimation PE. In one embodiment, the power estimations P are each power density estimations that estimate a power density of the IC blocks 12 in the IC 10(1). However, each of the power estimations P may be of any type of power estimation that estimates power consumption of the IC blocks 12 in the IC 10(1).
Mathematical expression (2) in
The coefficients of the temperature coefficient matrix CT may be selected by the decoder 56 based on the IC block activity events x received from the ICAF 18(1) for the current estimation cycle. Coefficients in a first row RTA are multiplied by the power estimations P to calculate the temperature estimation TA. Coefficients in a second row RTB of the temperature coefficient matrix CT are multiplied times the power estimations P to calculate the temperature estimation TB. Coefficients in a third row RTC of the temperature coefficient matrix CT are multiplied times the power estimations P to calculate the temperature estimation TC. Coefficients in a fourth row RTD of the temperature coefficient matrix CT are multiplied times the power estimations P to calculate the temperature estimation TD. Coefficients in a fifth row RTE of the temperature coefficient matrix CT are multiplied times the power estimations P to calculate the temperature estimation TE.
Mathematical expression (3) in
In order to more thoroughly describe an exemplary configuration of the IC 10(1) in
Referring now to
Referring now to
In this embodiment, an isolation layer 82 is provided over the first semiconductor die 78. A BEOL 84 is formed over the isolation layer 82. The second semiconductor die 80 is formed over the BEOL 84. An isolation layer 86 is formed over the second semiconductor die 80. Another BEOL 88 may be formed on the isolation layer 86. A package substrate (not shown) may be mounted on the BEOL 88 so that the IC blocks 12 and the DPTM 14(2) may receive or transmit external signals. The DPTM 14(2) is the same as the DPTM 14(1) shown in
The IC 10 and the DTE 14 according to embodiments disclosed herein may be provided in or integrated into any processor-based device. Examples, without limitation, include a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player.
In this regard,
Other master and slave devices can be connected to the system bus 100. As illustrated in
The CPU(s) 92 may also be configured to access the display controller(s) 112 over the system bus 100 to control information sent to one or more displays 120. The display controller(s) 112 may send information to the display(s) 120 to be displayed via one or more video processors 122, which process the information to be displayed into a format suitable for the display(s) 120. The display(s) 120 can include any type of display, including but not limited to a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, etc.
The CPU(s) 92 and the display controller(s) 112 may act as master devices to make memory access requests to the arbiter 118 over the system bus 100. Different threads within the CPU(s) 92 and the display controller(s) 112 may make requests to the arbiter 118. The CPU(s) 92 and the display controller(s) 112 may provide an MID to the arbiter 118 as part of a bus transaction request.
Those of skill in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithms described in connection with the embodiments disclosed herein may be implemented as electronic hardware, instructions stored in memory or in another computer-readable medium and executed by a processor or other processing device, or combinations of both. The arbiters, master devices, and slave devices described herein may be employed in any circuit, hardware component, IC, or IC chip, as examples. Memory disclosed herein may be any type and size of memory and may be configured to store any type of information desired. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. How such functionality is implemented depends upon the particular application, design choices, and/or design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The various illustrative logical blocks, modules, calculators, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The embodiments disclosed herein may be embodied in hardware and in instructions that are stored in hardware, and may reside, for example, in Random Access Memory (RAM), flash memory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of computer readable medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a remote station. In the alternative, the processor and the storage medium may reside as discrete components in a remote station, base station, or server.
It is also noted that the operational steps described in any of the exemplary embodiments herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary embodiments may be combined. It is to be understood that the operational steps illustrated in the flow chart diagrams may be subject to numerous different modifications as will be readily apparent to one of skill in the art. Those of skill in the art will also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The present application claims priority to U.S. Provisional Patent Application Ser. No. 61/889,568 filed on Oct. 11, 2013 and entitled “DIGITAL TEMPERATURE ESTIMATORS (DTEs) DISPOSED IN INTEGRATED CIRCUITS (ICs) FOR ESTIMATING TEMPERATURE WITHIN THE ICs, AND RELATED SYSTEMS AND METHODS,” which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61889568 | Oct 2013 | US |