本文关键字:
摘要:
在多芯片组件(Multi-Chip Module,MCM)的热设计中,MCM内裸芯片组装密度大,且裸芯片是主要发热源,各裸芯片之间的位置布局直接影响MCM内温度场分布,进而影响MCM的可靠性。本文基于热叠加模型,选取裸芯片的平均温度作为评价指标,确定出用于MCM热布局优化的适应度函数,基于遗传算法提出一种MCM热布局优化算法,并编制相应优化程序,实现对裸芯片的热布局优化,得出热布局规则用于指导MCM的实际热设计;采用有限元分析软件ANSYS,对MCM布局优化结果进行温度场-应力场偶合分析,以仿真的方法验证MCM热布局优化算法的有效性。
关键词:
遗传算法 布局优化 有限元 热分析
1. 概述
多芯片组件(Multi-Chip Module,MCM)在军事电子装备、工业及民用电子产品中有作很重要的作用和十分广阔的应用前景,它是80年代为适应军事电子装备小型化、高性能、高可靠性的要求而出现的一种集半导体集成电路、微组装工艺、新材料等一系列先进科技成果的电路集成新技术和新概念。
随着MCM集成度的提高和体积的缩小,其单位体积内的功耗不断增大,导致发热量增加和温度急剧上升,从而强化了组件内部由热驱使形成的机械、化学和电等诸方面的相互作用,降低了MCM的性能和可取性。实验证明,元器件的失效率与其结温成指数关系,性能则随结温升高而下降。所以,除了进行合理的电设计,力求在不改变MCM功能的前提下降低其功耗外,还必须对MCM进行最佳的热设计。
MCM的热设计主要包括以下两方而内容[1]:一是合理设计MCM本身结构和散热器,使MCM内部产生的热量有效地逸散到环境空间,二是合理布置MCM内部的各种元器件,避免大功率元器件过分集中,消除或削弱芯片表面的过热点。由于MCM的组装密度很大,各种耗散一定功率的元器件导致芯片单位面积上的发热量很大。如果结构设计和材料选择不合理,MCM工作时热量不能很快地散发出去,会导致MCM内外的温度梯度过大,在MCM内部形成过热区或过热点,使元器件性能恶化,或由于热应力过大而使电路结构破坏。特别对于大功率或高集成度MCM,热集中问题更为突出。改进MCM的电设计,以求最大限度地减少MCM中各元器件产生的热量,这是解决上述问题的一个方法。更重要的方法是改进MCM的结构设计与材料选择,寻求最佳的导热材料与散热结构,使MCM中产生的热量尽可能快速传播与通散到周围环境中去。由于裸芯片是主要发热源,各裸芯片相互之间的位置布局直接影响温度场的分布,如果芯片布局不合理,会导致MCM内外的温度梯度过大,或温度过高导致元器件超过最高额定温度,导致其失效,进而影响MCM的可靠性。
遗传算法是近几年来发展起来的全局优化算法,对大规模的组合优化问题尤其适用,它描述简单、使用灵活、运算效率高。裸芯片位置布局问题属于组合优化中的旅行商(TSP)问题,本文编制了基于改进遗传算法的布局优化程序完成对裸芯片位置热布局的优化,并利用有限元软件ANSYS对最终优化结果进行仿真验证,基本思路如图1。
2 问题描述
MCM的封装基本结构分为三类,即MCM-D、MCM-C和MCM-L,考虑到各种结构的特点,选取MCM-D作为本文研究的对象,其内部剖面结构如图2。
根据MCM-D内部芯片的位置分布的实际情况,可以将裸芯片在MCM-D中的布局问题视为平面位置布局优化。而应用遗传算法优化的最终目标很明确,就是为了得到裸芯片在某种散热条件下的最优布局(位置分布的全局优化解),以使得整个板级电路组装??榈奈露惹饔谄骄妥罡呶露冉档?,在这个指导原则下,编制优化程序并最终获得优化设计方案裸芯片在PCB上的具体排列顺序。为了简化计算,本文考虑功耗不同、材料相同、形状相同的裸芯片在基板上的分布情况,在基板上建立12块裸芯片的热学模型。图3是简化的热学模型图,裸芯片多数为扁平矩形状,为了方便算法中评价函数的构建,简化为同等面积的圆,数字编号对应其相应的功率,也表示裸芯片的相应位置,裸芯片1的功率最小,裸芯片12的功率分别最大。
3 改进的遗传算法优化裸芯片位置布局
3.1 遗传算法设计
3.1.1 编码和产生初始种群
根据布局描述中热学模型的实际情况,在优化布局的遗传算法中,采用最自然编码方法,如染色体1 2 3 4 5 6 7 8 9 10 11 12 表示的裸芯片在PCB上分布位置如图3所示,那么遗传算法的解就是1 2 3 4 5 6 7 8 9 10 11 12.
3.1.2评价函数的选取
在MCM中,当裸芯片位置发生变化,其温度会发生变化,因为已经简化为二维布局,所以以裸芯片表面的平均温度为优化目标,当平均温度达到最小为最优。在用遗传算法来进行位置优化的优化设计过程中,在计算裸芯片的温度值时,没有必要精确计算出裸芯片的温度值,而可以采用各种方式使裸芯片温度计算的过程大大简化[2]。但是在采用某方法来简化温度场求解过程时,必须要遵循的原则[2]是:在用此方法来求解裸芯片的温度分布以后,MCM的裸芯片布局中各裸芯片的温度值大小排列顺序与精确计算温度场后各裸芯片温度值大小排列顺序一致即可,也即是要一一对应,具体数值上有差别只是在于精确和估计之间的差别,而不影响整个MCM的实际温度场分布情况。根据这样一个原则,在解的质量和效率上满足设计要求,本文采用了Balwant Singh Lall等人提出的热叠加模型[3]中的温度计算公式作为遗传算法的适应度评价函数,其基本原理是:在计算裸芯片上任一点处温度时,除了应考虑其相邻裸芯片发热产生的影响之外,还要考虑其他裸芯片对此处的热量贡献问题。并假设:当裸芯片放在基板上,裸芯片底部是绝缘的。由此得到裸芯片件内、外热分布方程分别为:
其中,T表示无量纲温度;D表示距离变量;D+表示无量纲距离D/R;h表示热传递系数;k表示导热性系数;t表示芯片厚度;t+表示无量纲芯片厚度t/R;;
Bi表示毕奥数;I0,I1 表示变形的第一类0阶和1阶贝塞尔函数;k0,k1表示变形的第二类0阶和1阶贝塞尔函数;
用圆面积来近似裸芯片的面积,圆的面积与裸芯片的面积相等,因此圆的半径 , W 和H分别为裸芯片的宽和高??梢杂玫釉?由式(1)、(2)可得到裸芯片上任何点温度, 为简化计算, 可以以裸芯片中心处的温度表示芯片温度。
由于计算热模型牵涉到贝塞尔函数,为降低计算复杂性,用多项式来近似计算元件表面温度.裸芯片自身温度评价:
其中, Ai为裸芯片i的功率,在本文用相应的数字代号表示,对12块芯片的情形而言,从A1到 A2 分别用数字1到12来表示,也就是优化算法中的编码,同时也即是适应度函数的自变量。Amax代表裸芯片中的最大功率。裸芯片j对裸芯片i的热贡献与它离裸芯片i的距离成反比,即距离越远,它对裸芯片i的热影响越小。
贡献温度评价:
其中, 为裸芯片j到裸芯片i的距离, 为裸芯片的半径,其他变量同(3)。
总体温度评价函数:
3.1.3 交叉策略
交叉在在遗传算法中起着核心的作用,它是指将个体进行两两配对,并以交叉概率pc把配对的父代个体加以替换重组而生成新个体的操作。交叉方法应该达到能使父染色体的特征遗传给子染色体,子染色体应能部分或全部的继承父染色体的结构特征和有效基因,在这一原则和条件下,且由于本文在编码上采用自然编码法,所以本文采用与OX法[4,5]相似的交叉方法。其算法如下:
(1) 随机在染色体中选择一个交配区域,如两父染色体选定为:
Pop1=1 2 | 3 4 5 6 | 7 8 9 10 11 12
Pop2=12 11| 10 9 8 7 | 6 5 4 3 2 1
(2)、将pop2的交配区域加到pop1的前面,pop1的交配区域加到pop2的前面,得
pop3=10 9 8 7 | 1 2 3 4 5 6 7 8 9 10 11 12
pop4=3 4 5 6 | 12 11 10 9 8 7 6 5 4 3 2 1
(3)、对pop3和pop4自交配区域后依次删除与交配区域相同的芯片功率代码,得到交叉完毕后的子染色体为
newpop1=10 9 8 7 1 2 3 4 5 6 11 12
newpop2=3 4 5 6 12 11 10 9 8 7 2 1
3.1.4 变异技术
为了使遗传算法具有局部的随机搜索能力,修复和补充可能丢失的遗传基因,采用对换变异. 具体做法是,首先随机选择染色体中的两点,如:
Pop=1 2 3 4^ 5 6 7^ 8 9 10 11 12
选中的两对换点为4和7,将其值进行互换后则有:
newpop=1 2 3 7 5 6 4 8 9 10 11 12
3.1.5 遗传算法的改进
从理论上说,基本遗传算法能够适用于各种优化问题,但在实际运用中却发现它存在着一定的局限性: 基本遗传算法虽然有很强的全局寻优能力,但其精细局部寻优能力却较差。
本文采用遗传算法内部改进方法进化逆转操作方法来完成,也就是在基本遗传算法框架中加入适当地、基于领域的局部搜索机制,构成一种全局搜索和局部搜索相结合的优化搜索方法,对改进提高遗传算法优化质量以及提高算法执行效率都是很有意义的。
所谓逆转, 如染色体(1-2-3-4-5-6-7-8-9-10-11-12) 在区间2-3和区间5-6两处发生断裂, 断裂片段又以反向顺序插入, 于是逆转后的染色体变为(1-2-5-4-3-6-7-8-9-10-11-12).这里的“进化”是指逆转算子的单方向性, 即只有经逆转后, 适应值有提高的才接受下来, 否则逆转无效.可见, 这里的进化逆转操作可以认为是一种朝着改进的方向的特殊的变异操作, 它具有变异操作的某些效果, 但它并不能完全替代变异操作, 因为变异操作在可行解空间中动作范围较宽, 它能使迭代过程突破局部最优圈而跳到另一个搜索空间, 同变异算子相比较, 它类似于一种基于邻域的局部搜索, 起到改进遗传算法局部搜索能力的作用.
3.2 热布局优化实现及结果
本优化程序是在MATLAB环境下编制的,编制的程序以函数程序(Functional Program)为主编程的重点放在要解决的问题的要求上,编制程序就是调用和组合相应的系统函数。实际上,这是MATLAB与常见程序设计语言的一个重要差别。使用函数而不用编程有效地减少了嵌套调用的冗余计算,简化或改变了递归的形式,使用户脱离了编程中细微而又繁琐的一面。针对遗传算法的种群是一个矩阵,一系列操作都是以矩阵作为对象,所以用MATLAB作为优化平台十分合理和简便。在优化的具体操作过程中,根据所选的选择机制和交叉方法,以及各种控制参数的确定,为了防止遗传算法本身的缺陷对优化结果的影响,也就是防止早熟和陷入局部优化解,对的优化程序运行300次[5],有79%的概率能够都能得出同样的最优解.
经过120代遗传操作,其评价值收敛,动态优化过程见图4。遗传算法最优解即也是芯片最优布局排序为:10 3 12 5 1 2 7 8 4 9 6 11,其数字代号对应二维平面布局见图5。从图5中可以看出,板极电路的芯片布局原则是:由数字号码的大小表示功率的大小可知,经过优化后的芯片布局是使各大功率元件分散开,并分布于四周,小功率芯片围绕在大功率芯片周围,这与实际情况相符合。
4、有限元分析仿真验证
为验证所编写的优化程序具有可用性和准确性,用有限元软件仿真验证优化结果,这里取一算例进行分析,建立芯片模型时,根据大多芯片的实际情况,全部建立扁平矩形芯片,由此根据计算结果可以验证在优化过程中简化模型是否合理。12个芯片的功率值分别为(单位:W):0.25,0.5,0.75,1,1.25,1.5,1.75,2.0,2.25,2.5,2.75,3。其分别对应芯片的各个编号(从1到12)。图6为随机布局的芯片布局方式的温度场分布情况,其排列顺序为12 10 9 11 8 7 6 5 4 3 2 1,由于由图可见,由于功率较大的芯片没有被分散开,集中在左上角,此处温度分布偏高;而功率相对较小的芯片则集中在右下角,温度场分布偏低。在12个芯片中中,最高温度为135.173OC,最低温度只有82.837OC,最大温差为52.336OC。
图7 为经过优化设计后的温度分布。芯片的排列顺序为10 3 12 5 1 2 7 8 4 9 6 11,由图中可以看出,板极电路的最高温度为105.74OC,比原来下降了将近20OC,最低温度为87.434OC度,比原先有所提高,最大温差为18.306OC,比原来下降了35.054OC,这也证明了温度分布更加趋于均匀。
5 总结
本文基于遗传算法提出了一种MCM热布局优化算法,并编制相应优化程序,采用热叠加计算模型,设计出适应度函数子程序,并经过选择、交叉、变异、进化逆转一系列遗传操作和遗传关键参数的控制,使热布局优化算法收敛,完成MCM热布局优化,得到最终优化解,用有限元软件ANSYS仿真方法对前述优化结果进行了分析验证?;竦玫奈露瘸〉姆植甲刺宄砻?,其位置形态与优化的结果是完全一致的。
根据优化结果获得的布局规则是:各大功率芯片分散开,并分布于基板四周,各小功率芯片围绕大功率芯片分布于中心,并按一定规律排