论文部分内容阅读
集成电路的不断发展使设计越来越复杂,同时由于IC市场的激烈竞争,要求的设计周期越来越短。满足这一要求的唯一途径是依靠功能强大的计算机辅助设计工具。对于模拟集成电路的设计,所采用的设计方法正在由传统的基于仿真的手工设计,即“手工设计+电路仿真”,逐渐过渡到基于优化技术的自动设计。模拟集成电路的设计问题本质上是一个多目标优化问题,即需要协调权衡两个或两个以上相互竞争的目标。过去解决这个问题的常规方法是将所有目标结合起来转化为单一的评价函数。通常情况下,这个评价函数是由所有的目标函数和惩罚函数进行线性加权得到的。通过求解这个全局评价函数得到的最优解就是所谓的最优解。但由于各个目标是相互冲突的,很难去建立一个真正最优的单一目标函数,权重的选择缺乏客观的标准,而且当权重选择不同时会导致优化的结果也不同。这些缺点阻碍了传统的电路优化方法的实际应用。近年来,基于进化算法的多目标优化技术在这一领域得到了广泛重视。作为真正的多目标优化算法,可以同时考虑并跟踪多个设计目标的变化,搜索整个设计空间及其边界。这种算法得到的结果是在设计指标或性能指标空间中的Pareto最优前沿。一旦得到了Pareto最优前沿,电路设计者就可以从中选择出所需要的最优方案。这种方法克服了单目标优化方法的缺点,能真正满足模拟集成电路实际优化设计的需要。目前,寻找Pareto最优前沿的主要方法是多目标遗传算法。遗传算法通常比较费时,并且由于在优化循环中嵌入了电路模拟器,因此需要大量的计算去得到一个电路的Pareto最优前沿。本文提出了一种改进的基于非支配排序遗传算法(NSGA-II)的CMOS模拟电路Pareto最优解计算方法。该方法是一种两步(two-stage)法,结合了基于仿真的优化和基于方程的优化方法。第一步先采用基于方程的优化,通过列出一阶的电路性能方程得到近似的Pareto最优解;第二步将这些近似最优解添加到NSGA算法的初始种群中,同时将电路仿真模拟器嵌入到整个优化过程中去得到真正的Pareto最优前沿。由于近似解是基于解析方程计算的,因此速度很快,但以此为基础又能在基于仿真的优化过程中较快收敛,从而总体上大大减少了获得精确Pareto最优解的时间。论文通过三个CMOS运放的多目标优化设计实例,验证了改进方法的效果。