发明名称 层次式热驱动的布图规划及布局方法
摘要 本发明公开了一种层次式热驱动的布图规划及布局方法,包括:(1)将多个模块按照功率的大小顺序进行排列,形成模块序列;(2)将所述模块序列从前至后按照面积和进行分组,分成面积和大致相等的多个模块层组;(3)建立计算模块组的平均温度的解析热模型;(4)获取每个模块组的功率分布约束图;(5)将所有模块组按照功率密度和从大到小的顺序,根据各自的功率分布约束图依次布局在底层散热装置的上方。本方法将三维布局问题转变成二维布局问题,能避免高功率密度器件放在一个堆的垂直区域内,实现垂直和水平方向的功率密度均衡分布,有效减少了热点数量,优化了芯片面积和互连线长度。
申请公布号 CN102063543B 申请公布日期 2013.03.20
申请号 CN201110000448.X 申请日期 2011.01.04
申请人 武汉理工大学 发明人 徐宁;程平阶;郑飞
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 武汉开元知识产权代理有限公司 42104 代理人 潘杰
主权项 1.一种层次式热驱动的布图规划及布局方法,包括如下步骤:步骤S1,将多个模块按照功率的大小顺序进行排列,形成模块序列;步骤S2,将模块序列从前至后按照面积和进行分组,分成面积和相等的四个模块层组,这样功率密度和最大的模块会聚集在同一组;步骤S3,建立计算模块组的平均温度的解析热模型,具体为:解析热模型是计算模块组的平均温度的计算公式,设定一个布局区域面积为A1的二维芯片被分割为n个面积相等的模块组,则每个模块组的面积是A<sub>1</sub>/n,那么解析热模型为:<maths num="0001"><![CDATA[<math><mrow><mi>T</mi><mo>-</mo><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><msub><mi>R</mi><mi>i</mi></msub><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>i</mi></mrow><mi>n</mi></munderover><mfrac><msub><mi>P</mi><mi>k</mi></msub><mrow><msub><mi>A</mi><mn>1</mn></msub><mo>/</mo><mi>n</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:i为模块组的序号,T为模块组的平均温度,T<sub>i</sub>为模块组i的温度,R<sub>i</sub>为模块组i和模块组i-1之间的有效热阻,R<sub>1</sub>=R<sub>hs</sub>,为散热片的热阻,n为模块组的组数,P<sub>k</sub>是模块组k中所有模块的总功率;步骤S4,获取每个模块组的功率分布约束图,具体为:如下为对象模块组的温度增益值系数的计算公式:<maths num="0002"><![CDATA[<math><mrow><mi>&theta;</mi><mrow><mo>(</mo><mi>a</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mi>k&Delta;T</mi><mi>qa</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,a为对象模块组的等效圆的半径,用圆来近似对象模块组的区域,这个圆拥有与对象模块组相等的表面积,<img file="FDA00002389825000013.GIF" wi="260" he="96" />其中,W、H分别为对象模块组的宽和长,r为除对象模块组之外的其他模块组到对象模块组中心的距离,不同的r值可以计算出不同的θ(a,r),k为导热系数,ΔT为对象模块组的温度增益值,指对象模块组以外的其他模块组的热量引起对象模块组温度增加的值,是累加效应,q为对象模块组的功率密度;方程式(2)中的对象模块组的温度增益值ΔT可表示为:ΔT=T-T<sub>lowerlayer</sub>-T<sub>amb</sub>    (3)其中,T由公式(1)得到,T<sub>lowerlayer</sub>为在待布局模块层l之前已经布局完的所有低模块层的热量引起的待布局模块层l的温度增量,T<sub>amb</sub>为模块层l的工作环境温度,其中l为层数;使用开源的Hotspot 4.0网格模型计算模块层l的温度增量T<sub>lowerlayer</sub>时,模块层l中的高功率密度模块将会避免与已布局好的其它l-1个模块层的高功率密度模块在垂直方向堆叠放置,因为求解模块层l的温度增量T<sub>lowerlayer</sub>是求温度小值,若高功率模块堆叠在一起计算得到的温度必定不是最优解,因此在最上层,功率密度将在三维空间内均衡分布;由于<img file="FDA00002389825000021.GIF" wi="189" he="107" />其中P为对象模块组的功率,则根据公式(2)和公式(3),可得到:<maths num="0003"><![CDATA[<math><mrow><mi>&theta;</mi><mrow><mo>(</mo><mi>a</mi><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mi>k&Delta;T</mi><mi>qa</mi></mfrac><mo>=</mo><mfrac><mi>k&Delta;T</mi><mfrac><mi>pa</mi><msup><mi>&pi;a</mi><mn>2</mn></msup></mfrac></mfrac><mo>=</mo><mfrac><mrow><mi>&pi;ak</mi><mrow><mo>(</mo><mi>T</mi><mo>-</mo><msub><mi>T</mi><mi>lowerlayer</mi></msub><mo>-</mo><msub><mi>T</mi><mi>amb</mi></msub><mo>)</mo></mrow></mrow><mi>P</mi></mfrac><mo>,</mo></mrow></math>]]></maths>即:θ(a,r)P=πak(T-T<sub>lowerlayer</sub>-T<sub>amb</sub>)    (4)令πak(T-T<sub>lowerlayer</sub>-T<sub>amb</sub>)=K,其中K为常数,因此方程式(4)的矩阵可变成:<maths num="0004"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>&theta;</mi><mn>11</mn></msub></mtd><mtd><msub><mi>&theta;</mi><mn>12</mn></msub></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><msub><mi>&theta;</mi><mrow><mn>1</mn><mi>n</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>&theta;</mi><mn>21</mn></msub></mtd><mtd><msub><mi>&theta;</mi><mn>22</mn></msub></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><msub><mi>&theta;</mi><mrow><mn>2</mn><mi>n</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>&theta;</mi><mrow><mi>n</mi><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>&theta;</mi><mrow><mi>n</mi><mn>2</mn></mrow></msub></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><msub><mi>&theta;</mi><mi>nn</mi></msub></mtd></mtr></mtable></mfenced><mo>&times;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>P</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>K</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>K</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>K</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,k<sub>i</sub>代表第i个网格,θ<sub>ij</sub>为由第j个模块引起的同一层的第i个模块的温度增益系数,即温度增益系数θ<sub>ij</sub>考虑了模块布局时的水平影响,P<sub>j</sub>为第j个模块消耗的功率,其中:θ<sub>ij</sub>是θ<sub>ij</sub>(a,r)的简写;公式(4)是公式(5)的展开式,θ<sub>ij</sub>为θ(a,r)的某一项;在公式(5)中,把每一层分成m×m的网格结构,划分网格大小时以不多于40个模块大小为宜,具体根据模块面积而定,m是由每一层中所有模块的总面积决定的;通过解上述矩阵方程(5)可以得到理想的功率分布约束图,功率分布约束图是组内理想的模块布置位置图,利用该功率分布约束图指导层内模块的布局,为了加快算法效率,应用高斯-塞德尔法来解此矩阵方程(5);步骤S5,将所有模块组按照功率密度和从大到小的顺序,根据各自的功率分布约束图依次布局在底层散热装置的上方;所述步骤S1和步骤S2中用功率密度聚类的方法能保证全局范围内的功率密度均衡分布。
地址 430070 湖北省武汉市洪山区珞狮路122号