APP下载

模拟集成电路多目标遗传算法优化设计

2015-04-27陈晓

物联网技术 2015年4期

陈晓

摘 要:多目标优化为电路设计者提供了在整个设计空间中的搜索能力,获得的最优解Pareto前沿允许设计师从前沿曲线或曲面中选取多个性能指标的最佳折衷方案,因此近年来在模拟集成电路的设计自动化中受到很大关注。目前,寻找Pareto最优前沿的主要方法是多目标遗传算法,通常需要较大的计算量。提出一种基于NSGA-II的优化设计方法,通过结合基于方程和基于仿真的优化快速得到优化的前沿曲线。给出一个带米勒补偿的两级运放的优化实例,证明了方法取得的效果。

关键词:模拟集成电路;设计自动化;电路多目标优化;多目标遗传算法

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2015)04-00-03

0 引 言

模拟集成电路的设计主要包括以下几个基本步骤:结构设计、确定元器件参数、设计版图,其中较为关键的是前两步。通常结构设计依赖设计者的经验,参数的确定首先通过一些设计准则获得一组初始值,再利用电路模拟器进行反复调试。这一过程繁琐、冗长又难以保证结果,是模拟设计效率难以提高的主要原因。

对于给定的电路结构,参数的确定可看作是一个高维空间中多变量连续函数的优化问题。从20世纪60年代开始,人们就开始研究用最优化技术的电路设计[1]。传统电路优化采用的都是单目标函数优化,但实际电路的设计往往是一个受约束的多目标优化,即需要协调权衡两个或两个以上相互竞争的目标。过去解决这个问题的方法是将所有目标和惩罚函数进行线性加权,转化为一个目标函数进行优化,不同的权重会导致不同的优化结果。由于各个目标相互冲突,一方面,不同目标的权衡只能通过事先选定的一组权重系数反映,但难以建立一个客观、可靠的标准来指导权重的选择;另一方面,设计时又希望能反复比较权衡不同的选择,但单目标优化又只能给出一组结果。这些因素限制了传统的电路优化在实际设计工作中的应用。

近年来,由于基于遗传算法的多目标优化的广泛应用[2],人们在电路优化中也开始采用多目标优化[3-5]。多目标优化同时考虑多个性能指标函数,在各性能指标组成的多维空间中寻找相互牵制的极限曲线/面,即多目标最优解的Pareto最优前沿,由此可方便地在多个相互冲突的性能指标间作出符合特定设计要求的选择。事实上,多目标优化为设计者提供了在整个性能参数空间,即设计空间的搜索能力,在Pareto前沿上,可方便地选取到真正最优的设计方案。

在采用基于遗传算法的电路多目标优化过程中,需要大量的对目标函数值的计算。为了保证精度,这些目标函数的每次计算都要调用电路模拟器,即所谓基于仿真的优化。为了得到一个电路的Pareto最优前沿,往往需要大量的计算,耗费的时间数以小时计。

本文采用了一种基于非支配排序遗传算法NSGA-II(Non-Sorting Genetic Algorithm, 非支配排序遗传算法)进行电路多目标优化的改进方法。该方法是一种两步方法:首先采用基于方程的优化,通过NSGA-II快速获得近似的Pareto最优前沿。第二步将这些近似最优解添加到NSGA-II算法的初始种群中,采用基于仿真的优化,求得真实的Pareto最优前沿。由于初始种群已是接近真实解的近似解,因此可较快地收敛,从而可大大减少计算量。文中以一个Miller补偿的两级运算放大器为例对算法进行了验证,可以快速得到最后的Pareto前沿曲线。

1 多目标遗传优化

图1为一个两目标优化问题的Pareto最优前沿,由于是两个目标,因此前沿是一条曲线。图中的实心点是Pareto最优点,空心点均被这些最优点支配。如图中点A支配点B。

一个多目标优化问题的Pareto前沿反映了各个目标之间的相互牵制关系。对电路设计,实质上反映了电路可能达到的极限性能,前沿上的每一点都是一种可能实现的最佳设计折衷。获得了Pareto前沿,设计者就可以根据具体场合下的要求,反复权衡、比较不同的选择,从中确定最合适的解。因此,多目标优化为从根本上解决电路参数的设计优化提供了途径。

2 多目标遗传算法

目前在多目标优化中得到较为广泛应用的是NSGA-II非支配排序遗传算法[6]。进化算法是一种模拟自然界优胜劣汰选择进化机制的随机搜索算法,在优化设计领域已得到广泛应用。而20世纪90年代,印度IIT的Deb教授等将遗传算法推广到多目标情形,他们提出的基于非支配排序的遗传算法(简称NSGA)在多目标优化领域也得到了广泛的应用[7]。该优化算法在处理多目标优化问题上有着自身良好的性能,几乎对任意维数的目标都能有很好的性能[8]。2002年,又针对NSGA算法存在的计算复杂度高,缺乏优秀的选择策略,需要设置特殊的共享参数等问题,做了很多的改进工作,形成了NSGA-II,该算法中添加了精英保留策略,而且无需设置特殊的共享参数,不仅提高了算法的收敛性而且减少了算法的复杂度,除此之外,它的非劣性分布好,是目前多目标优化的领域中应用最广泛的一种算法

该算法是遗传算法在多目标优化中的推广,其基本过程与交叉算子、变异算子与简单遗传算法并无区别,但适应度的计算基于种群中个体之间的支配与非支配关系的排序。对进化过程中的任意一代,首先找出当前种群中的所有非支配个体,得到第一个非支配最优层,即第一层,并赋予它们一个适应度值,比如取为1;然后,忽略第一层的个体,对种群中的其它个体继续按照支配与非支配关系进行分层,得到第二层,并赋予它们一个新的适应度值,该值要小于上一层的值,比如取为0.9;以此类推对剩下的个体继续上述操作,直到种群中的所有个体都被分层。

NSGA-II的流程为:

(1)随机产生父代种群P0,种群大小N,然后进行交叉和变异操作生成种群大小同样为N的子代种群Q0,同时令进化代数gen为0;

(2)将种群Pi和种群Qi合并成新的种群Ri,种群大小为2N,对种群Ri进行快速非支配排序,分层得到F1,F2,…Fn;

(3)对所有的分层Fi中的个体进行拥挤度排序,选出最优的N个个体组成新的种群Pi+1 ;

(4)对产生的新种群Pi+1 进行精英策略操作再进行交叉变异操作,生成新的子代种群Qi+1 ;

(5)判断是否达到终止条件或者已经运行到最大代数,若是,则整个优化过程结束退出,若否,则继续执行第二步,一直到优化过程终止为止。

3 两级CMOS运放的多目标优化

下面以一个采用Miller补偿的两级CMOS运放为例,说明上述改进方法。待优化的电路如图2所示,要考虑的性能指标是单位增益带宽(UGB)、功耗(Power)、摆率(SR)、面积(Area)、相位裕度(PM)、单位增益(AV),3 dB带宽(f3 dB)等,合格标准如表1所示。

电路的设计参数为MOS管的宽度及偏置电流、补偿电容,因此x=[W1 W3 W5 W6 W7 W8 Cc Ibias];由于对称性W2=W1,W4=W3。MOS管的长度固定均为1μm,VDD=2.5 V, VSS=-2.5 V, CL=10 pF。

4 结 语

本文采用了一种改进的模拟电路多目标遗传算法。通过结合基于方程和基于仿真的优化,加速了Pareto前沿的计算,并给出了一个米勒补偿的两级运放实例,结果表明本文的方法可行且有效。

参考文献

[1] R.Brayton. A survey of optimization techniques for integrated circuit design[J]. Proc.IEEE,1981, 69(10):1334-1362.

[2] Deb K. Multi-objective optimization using evolutionary algorithms[M]. John Wiley & Sons, 2001.

[3] De Smedt B, Gielen G G. WATSON: design space boundary exploration and model generation for analog and RFIC design[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2003, 22(2): 213-224.

[4] Eeckelaert T, McConaghy T, Gielen G. Efficient multiobjective synthesis of analog circuits using hierarchical pareto-optimal performance hypersurfaces[C]. Proc. Design Automation & Test Europe 2005: 1070-1075.

[5] Gielen G, McConaghy T, Eeckelaert T. Performance space modeling for hierarchical synthesis of analog integrated circuits[C]. Proc. Design Automation Conference,2005:881-886.

[6] Deb K, Pratap A, Agarwal S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J]. IEEE Transactions on Evolutionary Computation,2002,6(2): 182-197.

[7] Boyd S P, Lee T H, Others. Optimal design of a CMOS op-amp via geometric programming[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2001,20(1): 1-21.

[8] Mandal P, Visvanathan V. CMOS op-amp sizing using a geometric programming formulation[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.,2001,20(1): 22-38.