Multiscale thermal reduced order model for transient IC analysis
In one embodiment, several reduced order models (ROMs), each at a different scale, are developed to create a multiscale ROM for a given system, which can include one or more integrated circuits (ICs), for simulating thermal responses (e.g., heating in the ICs and the system) as a result of usage scenarios of the IC and system (in which power is applied on the IC and in the system) over time. An IC, package and system can be thermally characterized to determine transient temperature response to a power source in each IC; this characterization can use simulations of the power source to simulate temperature responses at points in the IC, package and system, and these responses provide a set of thermal training data. An algorithm generates a linear time-invariant (LTI) state-space thermal macromodel or ROM at each of the different scales on-chip and in system, from the set of thermal step response training data, and combines them into a multiscale ROM, which can be distributed and solved on many CPUs. When the multiscale ROM is used, power accounting can be used across the scales to conserve power. On IC symmetry and inverse heat transfer properties can be used to reduce the amount of thermal characterization operations.
1 . A machine implemented method, the method comprising:
generating a set of thermal transient response training data for each of a set of scales over a model of one or more integrated circuits (ICs) in a package in a system;
generating, for each of the scales, a linear time-invariant (LTI) state-space reduced order model (ROM) from the generated set of thermal transient response training data for the scale, thereby producing a set of ROMs covering the set of scales, the set of ROMs collectively representing a multiscale ROM;
applying a simulated power as an input to each ROM in the set of ROMs to produce transient thermal data at each scale, wherein more than one of the set of ROMs have overlapping coverage areas with different scales, wherein a first processing core computes the transient thermal data for a first scale using a first ROM and a second processing core independently computes the transient thermal data for a second scale using a second ROM;
combining the transient thermal data at each scale to produce transient thermal data based on all of the ROMs in the set of ROMs.
2 . The method as in claim 1 , wherein the set of scales include a first scale having a first coverage of a first IC of the one or more ICs and a second scale having a second coverage of the first IC, and wherein the second scale is smaller than the first scale and covers less of the first IC than the first scale and has a higher resolution than the first scale.
3 . The method as in claim 2 , wherein the set of scales includes a third scale having a third coverage which covers the system, and wherein the third coverage includes each of the one or more ICs, and wherein a first resolution of the first scale is lower than a second resolution of the second scale.
4 . The method as in claim 3 , wherein the simulated power is a time varying power profile that is based on a time varying usage scenario of the system.
5 . The method as in claim 3 , wherein the training data is generated using inversion and symmetry properties of tiles in a plurality of scales in the set of scales to reduce computations required to generate the training data.
6 . The method as in claim 5 , wherein the training data is generated from a set of computational fluid dynamics (CFD) simulations, with one CFD simulation for each scale in the set of scales.
7 . The method as in claim 3 , wherein the simulated power is distributed across each of the scales and is conserved to avoid double counting of power across all of the scales.
8 . The method as in claim 3 , wherein the system includes a plurality of ICs that are thermally coupled in the set of scales.
9 . The method as in claim 3 , wherein generating each of the ROMs in the set of ROMs comprises a set of Eigensystem Realization Algorithm operations.
10 . The method as in claim 6 , wherein temperature data at each point on an IC in the one or more ICs is evaluated independently of and in parallel with evaluation of temperature data for other points on the IC.
11 . A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system cause the data processing system to perform a method, the method comprising:
generating a set of thermal transient response training data for each of a set of scales over a model of one or more integrated circuits (ICs) in a package in a system;
generating, for each of the scales, a linear time-invariant (LTI) state-space reduced order model (ROM) from the generated set of thermal transient response training data for the scale, thereby producing a set of ROMs covering the set of scales, the set of ROMs collectively representing a multiscale ROM;
applying a simulated power as an input to each ROM in the set of ROMs to produce transient thermal data at each scale, wherein more than one of the set of ROMs have overlapping coverage areas with different scales, wherein a first processing core computes the transient thermal data for a first scale using a first ROM and a second processing core independently computes the transient thermal data for a second scale using a second ROM;
combining the transient thermal data at each scale to produce transient thermal data based on all of the ROMs in the set of ROMs.
12 . The non-transitory machine readable medium as in claim 11 , wherein the set of scales include a first scale having a first coverage of a first IC of the one or more ICs and a second scale having a second coverage of the first IC, and wherein the second scale is smaller than the first scale and covers less of the first IC than the first scale and has a higher resolution than the first scale.
13 . The non-transitory machine readable medium as in claim 12 , wherein the set of scales includes a third scale having a third coverage which covers the system, and wherein the third coverage includes each of the one or more ICs, and wherein a first resolution of the first scale is lower than a second resolution of the second scale.
14 . The non-transitory machine readable medium as in claim 13 , wherein the simulated power is a time varying power profile that is based on a time varying usage scenario of the system.
15 . The non-transitory machine readable medium as in claim 13 , wherein the training data is generated using inversion and symmetry properties of tiles in a plurality of scales in the set of scales to reduce computations required to generate the training data.
16 . The non-transitory machine readable medium as in claim 15 , wherein the training data is generated from a set of computational fluid dynamics (CFD) simulations, with one CFD simulation for each scale in the set of scales.
17 . The non-transitory machine readable medium as in claim 13 , wherein the simulated power is distributed across each of the scales and is conserved to avoid double counting of power across all of the scales.
18 . The non-transitory machine readable medium as in claim 13 , wherein the system includes a plurality of ICs that are thermally coupled in the set of scales.
19 . The non-transitory machine readable medium as in claim 13 , wherein generating each of the ROMs in the set of ROMs comprises a set of Eigensystem Realization Algorithm operations.
20 . The non-transitory machine readable medium as in claim 16 , wherein temperature data at each point on an IC in the one or more ICs is evaluated independently of and in parallel with evaluation of temperature data for other points on the IC.