基于自适应加权的模拟集成电路多目标优化方法研究
扫描二维码
随时随地手机看文章
引 言
一直以来,人们都想实现模拟集成电路设计的自动化, 但考虑到模拟集成电路性能指标多,各性能指标间互相影响等因素,使得模拟集成电路的自动化进程远远落后于数字集成电路,模拟集成电路已经成为制约集成电路发展的瓶颈。随着技术的发展,片上系统将模拟集成电路与数字集成电整合到一块芯片上。但人们对模拟集成电路的自动化研究却从未中断过,同时也取得了一些成果,其中基于优化的设计方法因适用范围广而受到了人们的青睐。
基于优化的设计方法将模拟集成电路的设计看作是多目 标优化问题,电路设计时的性能指标如增益、带宽、相位裕 度等就是多目标优化的目标函数。通过多目标优化算法求解出 电路目标空间的 Pareto 前沿,该前沿就是电路各种性能指标 折衷后的最优前沿,允许电路设计者从一组相互冲突的设计 指标中做出最佳选择。
基于优化的设计方法的核心是多目标优化算法,解决多 目标优化问题的常用算法是加权和算法 [1],该算法容易理解、 操作简单,但是该算法不能求出 Pareto 前沿上位于凹区间内的 解,而当权值均匀分布时,Pareto 前沿上凸区间内的解分布不 均匀 [2]。本文采用了自适应加权和算法,该算法在加权和算法 的基础上改进而来,克服了加权和算法的上述缺点。
1 自适应加权和算法原理
自适应加权和算法 [3] 的权值系数没有预先确定,而是通 过所要求解问题的 Pareto 前沿曲线获得。首先用传统加权和算 法产生一组起始解,然后在目标空间确定需要细化的区域。将 待细化区域看作可行域并且对该区域施加不等式约束条件,最 后用传统加权和方法对这些需要细化的子区域进行优化。当 Pareto 前沿上的所有子区域长度达到预定值时,优化工作完成。 图 1 所示的自适应加权算法与传统加权和算法进行了对 比,说明了自适应加权和算法的基本概念。真正的 Pareto 前 沿用实线表示,通过多目标优化算法获得的解用黑圆点表示。 在该例中,整个 Pareto 前沿由相对平坦的凸区域和明显凹的区 域组成。解决这类问题的典型方法就是加权和算法,该算法 可以描述成如下形式 :
上式中描述的是两个优化目标的情形,J1(x)和 J2(x) 分别为两个目标函数,sf1,0(x)和 sf2,0(x)分别为对应的归 一化因子,h(x)和 g(x)分别为等式约束条件和不等式约束 条件。
图 1(a)为采用加权和算法后解的分布,可以看出大部分解都分布在anchor points 和inflection point,凹区间内没有求出解。该图反映了加权和算法的两个典型缺点:
(1) 解在 Pareto前沿曲线上分布不均匀;
(2) 在Pareto前沿曲线为凹区间的部分不能求出解。
因此尽管加权和算法具有简单、易操作的优点,但上述缺 点却限制了其应用,这些固有缺陷在实际多目标优化设计问题 中频繁出现。图 1 描述了本文所提出的自适应加权和 算法的总体流程以及基本概念。首先根据加权和算法得到一 组起始解,如图 1(a)所示,通过计算目标前沿空间上相邻解 的距离来确定需要进行细化的区域,如图 1(b)所示,该图中 确定了两个需要进行细化的区域。在确定需要进行细化的区域 分别在平行于两个目标方向上添加额外的约束,如图 1(c)所示, 在该图中向减小方向 J1 添加的约束为 1,J2 减小方向添加的约 束为 2。对细化后添加完约束的区域用加权和算法优化,得 出新解,如图 1(d)所示,其中加权和算法求解最优解时采用 Matlab 中的 fmincon 函数。从该图中可看出,细化区域内产生 了新解,Pareto 前沿上解的分布较之前更加均匀,且求出了凹 区域内的解,继续细化能够找出更多的解,Pareto 前沿上的解 也将分布地更加均匀。自适应加权和算法的流程图如图2所示。
2 两级运放设计实例
以一个带米勒补偿的两级运放 [4] 为例,说明自适应加权和算法的多目标优化设计。两级运放电路图如图 3 所示。
电路的各项性能指标如表 1 所列。
电路优化过程中采用工作点驱动 [5,6] 的设计方法,电路 的设计变量为电路直流工作点上一组独立的电压、电流。电 路性能通过方程获得,但方程中的小信号参数通过对工艺库 进行模糊逻辑建模 [7,8] 得到,使得计算速度提高的同时保证 了计算精度。两级运放电路的优化结果如图 4 所示。
图为算法迭代五代后的优化结果,由图可以发现,经过 五代的优化迭代,求出的最优解在 Pareto 前沿上分布均匀。 在同一电路中,单位增益带宽的增加与摆率的增加都会使功 耗增加,而电路功耗降低导致的结果是电路的面积增加,或 通过牺牲面积来换取低功耗,牺牲面积换取电路的带宽增加。 这些结果与电路理论相吻合,同时也再次说明了模拟电路设计 过程中的折衷以及模拟集成电路设计的复杂性。
3 结 语
自适应加权和算法能求出位于凹区间内的最优解,并且 最优解分布均匀。本文通过两级运放电路验证了算法的优化 效果,最终得到了满意的优化结果。