2024-05-31
模拟集成电路在传感器、通信、电源管理等领域发挥着无可取代的作用。然而,模拟集成电路复杂度高,性能指标严苛,模块可迁移性差,导致模拟集成电路设计难以自动化,设计成本高。
尺寸设计是模拟电路设计的中间步骤。在确定电路拓扑结构后,设计者需要确定每个器件的尺寸以满足性能要求。器件尺寸极大影响电路性能,但尺寸选取缺乏系统理论,往往依赖设计者的经验和直觉,需要反复试错,是模拟电路设计中最耗时的步骤之一[1]。实现尺寸设计的自动化是模拟电路设计的长期目标。
基于电路仿真和优化算法的自动设计得益于其结果的准确性,近年来逐渐成为主流。不过电路仿真的时间成本大,算法用时长。如何减少算法所需的搜索次数,实现高效的自动设计是目前的关键挑战[2]。
尺寸设计可以抽象为黑盒优化问题: 给定设计空间中的向量x \in X, 找到合适的x使得 f_i(x) \leq 0 \quad \mathrm{for} \ \ i=1, ..., m 其中,x是d维向量,d表示尺寸设计的自由度;X表示设计空间,由尺寸的上下界规定;f_i是从尺寸得出性能指标的黑盒函数,有m个,表示有m个性能指标。f由电路仿真器实现。我们总可以对输出进行平移或翻转,将任意的性能约束化归到f(x)\leq0的情况[3]。
由于具备较强的处理复杂环境的能力,强化学习(RL)在黑盒优化领域有广泛应用,也有应用在模拟电路尺寸设计中的先例[4, 5]。不过这些工具的采样成本仍然较高,且依赖前期训练。基于这些问题,文章[3]提出了DNN-Opt优化框架。
DNN-Opt借鉴了强化学习中Actor-Critic的结构,是一套专门针对模拟电路尺寸设计的场景设计的优化框架。其运行过程为:(1)每一轮迭代时,利用已有采样点训练Critic网络,使其能拟合仿真器结果;(2)用训练好的Critic训练Actor网络,使Actor网络输出有潜力的下一步采样点;(3)训练好的Actor网络生成下一步采样点,送入仿真器进行仿真,并将数据加入已有采样点中。
该框架的主要创新点和优势如下:
一轮迭代仅访问一次仿真器,尽可能降低采样成本;
训练Critic网络时,使用了“伪样本”训练手段,进一步优化在较少样本下的训练效果;
边迭代边训练,不依赖前期训练;
运用了置信域和敏感度分析等剪枝手段,使框架在面对大的设计空间时也能发挥作用。
在上述创新的帮助下,DNN-Opt在底层模块的尺寸自动设计上相比原有算法可实现5-30x的采样效率提升,同时,DNN-Opt可以完成大规模工业级模拟电路的尺寸设计任务[3]。
DNN-Opt并未解决设计鲁棒性的问题。具体地说,模拟电路性能对工艺、电压、温度,即PVT变化非常敏感。原有优化算法只在典型PVT条件(正常工艺,电压无偏移,温度保持室温)下求解了电路尺寸,并不保证电路在实际工作的其它PVT条件下仍满足性能要求,鲁棒性不好。
为了保证设计鲁棒,需要确保尺寸x的性能在多种极端的PVT条件下都符合要求,即找到合适的x使得 f_i(x|T_j) \leq 0 \quad \mathrm{for} \ \ i=1, ..., m; \ j=1,...,k 其中T_j表示第j个要考虑的PVT条件,总共有k组不同条件需要满足;f_i(x|T_j)表示在T_j的PVT条件下,尺寸x的第i个性能的值,由电路仿真器给出。注意到相比上一节,此时的问题增加了T项。
针对这个更复杂的优化问题,文章[6]提出了RobustAnalog,将多任务强化学习的框架应用于尺寸自动设计中。文章作出了如下创新以适应尺寸自动设计问题的具体特征:
算法只针对所有PVT条件的一个子集进行优化。如果尺寸通过了这个子集,再判断尺寸能否通过所有PVT条件。这样做有助于缩小搜索空间,简化问题;
PVT子集通过K-均值的方式选取,将趋势相近的PVT条件归为一组,并从每组中选取最极端的条件组成子集。这有助于使选取的子集尽量覆盖所有条件,提高搜索成功率;
Actor在决策时,对当前所优化的PVT条件并不知情。这样更有利于Actor作出满足所有PVT条件的决策。
基于这些创新,RobustAnalog在进行多PVT优化问题时,相比原有算法可有14-30x的采样效率提升。
目前,DNN-Opt等尺寸自动化工具,已经能一定程度上解决尺寸自动设计问题;RobustAnalog等考虑PVT变化的工具也解决了设计鲁棒性问题。不过这些算法的效率还有进一步优化的空间。此外,目前的优化问题尚未考虑布局布线和寄生效应的影响,实现尺寸和布局联合优化的工具也是研究方向之一[7]。
另外,目前模拟电路尺寸自动设计算法众多,不同文章的测试样例和评价指标不同,导致不同算法平行对比困难。建立一套统一、全面的跑分体系,对当前的主流算法进行全面的综述和测评也许是有必要的。