一种基于贝叶斯优化的多Testbench模拟电路优化方法

未命名 07-27 阅读:123 评论:0

一种基于贝叶斯优化的多testbench模拟电路优化方法
技术领域
1.本发明属集成电路设计技术领域,涉及模拟电路参数设计自动优化,具体涉及一种基于贝叶斯优化(bayesian optimization)的模拟电路优化方法,该方法在保证电路优化质量的同时,能显著减少优化过程中所需电路仿真的次数。


背景技术:

2.现有技术公开了随着集成电路制造工艺的特征尺寸不断降低,市场对高性能、低功耗、小尺寸的模拟电路需求日益增长。模拟电路设计中晶体管模型复杂度不断增长,高阶效应和工艺偏差对电路性能影响越来越严重,使得传统的模拟电路人工设计方法难以满足更快上市时间和更高性能指标的要求,因此,模拟电路参数自动化设计工具在工业界和学术界受到广泛关注。所述工具将极大提高模拟电路工程师的设计效率。
3.实践显示,在finfet先进工艺下,模拟电路的器件模型越来越复杂,获取模拟电路性能指标所需的仿真时间变得越来越长。如高性能的锁相环电路(phase locked loop circuit,pll)、模数转换电路(analog-to-digital conversion circuit,adc)等的单次仿真时间可达几小时到数天。当涉及到蒙特卡洛分析或多pvt(process,voltage,temperature)仿真时,电路仿真耗时会更长。考虑到市场对模拟电路设计周期的高度敏感性,如何在模拟电路优化过程中得到更好的优化结果,同时尽可能减少电路仿真次数以缩短设计周期,是模拟电路自动优化的核心问题。
4.现有技术中,模拟电路设计者往往需要同时优化多个性能指标,但为了避免复杂的多目标优化问题,本研究团队前期研究中将某个电路性能作为优化目标,其余性能指标作为约束条件,将模拟电路优化问题抽象为一个带约束的单目标优化问题。传统的启发式方法如差分进化(differential evolution)[1]、模拟退火(simulated annealing)[2]等可进行模拟电路的全局优化,但此类方法收敛速度慢,导致仿真时间开销巨大。近年来,基于代理模型的方法被引入模拟电路自动化设计领域,如基于高斯过程(gaussian process)模型[3]的贝叶斯优化(bayesian optimization)[4]算法可以极大减少电路仿真次数,获得更好优化结果。
[0005]
通常,模拟电路的性能需要在不同外围测试电路、激励源,甚至不同的仿真分析方法下获得。由外围测试电路、激励源和仿真类型组成的元组称为testbench。为了保证一个模拟电路在不同的应用场景下都能良好地工作,通常该模拟电路需要在几个到几十个不同的testbench下进行性能、可靠性、成品率等测试。如何优化设计被测模拟电路的参数,使其能在所有testbench下均能正常工作,该优化问题称为多testbench(multi-testbench)的模拟电路优化。图1所展示的运算放大器设计其中典型的多testbench模拟电路优化问题。
[0006]
现有技术中,通常对于一个具体的多testbench的模拟电路,每个电路性能在应用中的重要性不同,反映在优化问题中指标约束的宽松程度不同。因此,在实际仿真中,不同的testbench并不是同等重要。但当前的贝叶斯优化方法,在每次迭代优化中不加区别地对所有testbench进行仿真,忽略了模拟电路优化中不同testbench之间的重要性差异,导致
电路仿真次数过多,效率低下。
[0007]
基于现有技术的现状,本技术的发明人拟提供一种基于贝叶斯优化(bayesian optimization)的模拟电路优化方法,该方法在保证电路优化质量的同时,能显著减少优化过程中所需电路仿真的次数。
[0008]
与本发明相关的参考文献有:
[0009]
[1]b.liu,y.wang,z.yu,l.liu,m.li,z.wang,j.lu,and f.v.fern

andez,“analog circuit optimization system based on hybrid evolutionary algorithms,”integration,vol.42,no.2,pp.137

148,2009.
[0010]
[2]o.okobiah,s.mohanty,and e.kougianos,“fast design optimization through simple kriging metamodeling:a sense amplifier case study,”ieee transactions on very large scale integration(vlsi)systems,vol.22,no.4,pp.932

937,april 2014.
[0011]
[3]c.e.rasmussen and h.nickisch,“gaussian processes for machine learning(gpml)toolbox,”the journal of machine learning research,vol.11,pp.3011

3015,2010.
[0012]
[4]b.shahriari,k.swersky,z.wang,r.p.adams,and n.de freitas,“taking the human out of the loop:a review of bayesian optimization,”proceedings of the ieee,vol.104,no.1,pp.148

175,2015.
[0013]
[5]w.lyu,p.xue,f.yang,c.yan,z.hong,x.zeng et al.,“an efficient bayesian optimization approach for automated optimization of analog circuits,”ieee transactions on circuits and systems i:regular papers,vol.65,no.6,pp.1954

1967,2017.
[0014]
[6]j.m.hern

andez-lobato,m.a.gelbart,r.p.adams,m.w.hoffman,and z.ghahramani,“a general framework for constrained bayesian optimization using information-based search,”the journal of machine learning research,vol.17,no.1,pp.5549

5601,2016.
[0015]
[7]j.m.hern

andez-lobato,m.w.hoffman,and z.ghahramani,“predictive entropy search for efficient global optimization of black-box functions,”in advances in neural information processing systems,2014,pp.918

926.
[0016]
[8]j.e.fieldsend,“running up those hills:multi-modal search with the niching migratory multi-swarm optimiser,”in 2014 ieee congress on evolutionary computation(cec).ieee,2014,pp.2593

2600.
[0017]
[9]r.vural and t.yildirim,“analog circuit sizing via swarm intelligence,”aeu-international journal of electronics and communications,vol.66,no.9,pp.732

740,2012.
[0018]
[10]j.huang,s.zhang,c.tao,f.yang,c.yan,d.zhou,and x.zeng,“bayesian optimization approach for analog circuit design using multitask gaussian process,”in 2021 ieee international symposium on circuits and systems(iscas),2021,pp.1

5.
[0019]
[11]j.m.hern

andez-lobato,m.gelbart,m.hoffman,r.adams,and z.ghahramani,“predictive entropy search for bayesian optimization with unknown constraints,”in international conference on machine learning.pmlr,2015,pp.1699

1707.
[0020]
[12]s.bochner et al.,lectures on fourier integrals.princeton university press,1959,vol.42.
[0021]
[13]j.e.fieldsend,“running up those hills:multi-modal search with the niching migratory multi-swarm optimiser,”in 2014 ieee congress on evolutionary computation(cec).ieee,2014,pp.2593

2600.
[0022]
[14]m.ester,h.p.kriegel,j.sander,and x.xu,“a density-based algorithm for discovering clusters in large spatial databases with noise,”aaai press,1996.
[0023]
[15]b.liu,d.zhao,p.reynaert,and g.g.gielen,“gaspad:a general and efficient mm-wave integrated circuit synthesis method based on surrogate model assisted evolutionary algorithm,”ieee transactions on computer-aided design of integrated circuits and systems,vol.33,no.2,pp.169

182,2014.
[0024]
[16]w.lyu,f.yang,c.yan,d.zhou,and x.zeng,“batch bayesian optimization via multi-objective acquisition ensemble for automated analog circuit design,”in international conference on machine learning.pmlr,2018,pp.3306

3314.
[0025]
[17]svanberg k.the method of moving asymptotes(mma)with some extensions[m].
[0026]
proceedings of optimization of large structural systems.springer,1993:555

566.
[0027]
[18]powell m j d.the bobyqa algorithmfor bound constrained optimization without derivatives[j].cambridge na report na2009/06,university of cambridge,cambridge,2009:26-46.。


技术实现要素:

[0028]
本发明的目的是基于现有技术的现状,提供一种基于贝叶斯优化(bayesian optimization)的模拟电路优化方法,该方法在保证电路优化质量的同时,能显著减少优化过程中所需电路仿真的次数。
[0029]
本发明的方法。其基本思路为:首先,根据电路性能和testbench的从属关系对电路性能进行划分,将由同一testbench得到的电路性能分为一组;其次,为每个电路性能分别构建独立的高斯过程模型;第三,在每次迭代优化中,构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,选择能使wpesc函数取最大值的testbench和设计点进行电路仿真;第四,每隔n个迭代轮次,对最严格的约束构建可行域期望提升(feasibility expected improvement,fei)采集函数,应用多模态优化算法搜索fei函数的局部峰值设计点,在所有局部峰值设计点对包含严格约束性能的testbench进行电路仿真;最后,用仿真得到的结果
更新数据集,进行下一次迭代优化,直到满足算法终止条件,如达到预设的最大允许电路仿真次数,或优化目标值已收敛。
[0030]
本方法采用高斯过程(gaussian process)建模,并利用带约束预测熵搜索(predictive entropy search with constraints,pesc)和可行域期望提升(feasibility expected improvement,fei)作为采集函数。本发明针对具有多testbench模拟电路性能优化问题,提出对模拟电路的各个性能指标分别建立高斯过程模型;通过优化pesc/wpesc采集函数(acquisition function),产生下一轮迭代优化需要仿真的testbench和相应仿真点;采用可行域期望提升采集函数,并同时求解一个多模态优化(multi-modal optimization)问题,进一步提升探索未知可行区域的效率。与当前最先进的模拟电路优化方法相比,该方法在保证电路优化质量的同时,显著减少优化过程中所需电路仿真的次数。
[0031]
具体的,
[0032]
本发明提出的基于贝叶斯优化的多testbench模拟电路优化方法,采用带约束预测熵搜索(pesc)采集函数[6],即信息增益(information gain),作为testbench重要性的判据。在每次迭代优化中,只仿真能带来最大信息增益的某个testbench进行寻优,它能够自适应地为约束严格的testbench分配更多仿真点,约束宽松的testbench减少仿真点,从而达到减少整体仿真次数的目的。
[0033]
此外,由于不同类型的仿真在耗时上有很大差异,如直流仿真通常要比瞬态仿真快很多,本发明在pesc采集函数基础上引入仿真时间权重,得到带仿真时间权重的约束预测熵搜索(time-weighted pesc,wpesc)采集函数,并通过最大化wpesc选择下一个待仿真的testbench及仿真点。
[0034]
本发明针对现有技术中具有多个可行域(满足所有约束的区域)的优化问题种,pesc/wpesc策略有时可能会陷入局部最优,提出了可行域期望提升(feasibility expected improvement,fei)采集函数,并通过对fei函数求解一个多模态优化(multi-modal optimization)问题,能有效地探索未知区域的可行域边界。
[0035]
更具体的,
[0036]
本发明提出的多testbench的模拟电路优化算法的流程图如图2所示:
[0037]
输入:
[0038]
1.被测模拟电路和所有测试电路网表、工艺库文件,
[0039]
2.模拟电路设计参数x,以及设计参数允许的变化范围,
[0040]
3.电路优化目标f(x),优化约束集合
[0041]
4.仿真时间权重w,fei迭代间隔轮次n,
[0042]
5.初始随机采样点数n
init

[0043]
6.算法终止条件,如最大允许的电路仿真次数,或优化目标值已收敛;
[0044]
输出:
[0045]
优化所得的电路设计参数以及对应的电路性能指标。
[0046]
本发明的基于贝叶斯优化的多testbench模拟电路优化方法具体步骤包括:
[0047]
步骤1:根据电路性能和testbench的从属关系对电路性能进行划分,将由同一仿真testbench得到的电路性能分为一组;
[0048]
步骤2:为每个电路性能分别构建独立的高斯过程模型;
[0049]
步骤3:判断当前迭代次数是否为间隔轮次n的整数倍,如果是则跳转步骤5,否则跳转步骤4;
[0050]
步骤4:为每个testbench构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,选择最大化wpesc采集函数的testbench及相应设计点进行仿真;
[0051]
步骤5:对严格约束构建可行域期望提升(fei)采集函数,应用多模态优化算法搜索fei函数的局部峰值设计点,在所有局部峰值设计点对包含严格约束的testbench进行电路仿真;
[0052]
步骤6:若满足终止条件,则算法终止,否则将仿真结果加入训练集,转入步骤2。
[0053]
本发明步骤1中,根据电路性能和testbench的从属关系对电路性能进行划分,将由同一testbench得到的电路性能分为一组。
[0054]
设计参数x是设计空间d中d维向量,表示电阻值、电容值、晶体管的长宽等电路设计参数。不失一般性,典型的模拟电路参数优化问题可以抽象为带约束的单目标优化问题。电路性能包括优化目标性能和约束性能两类,其中待优化目标性能由函数f0(x)表示,ci(x)表示第i个约束指标,假设待优化问题共有nc个约束,则带约束的单目标优化问题表示为:
[0055][0056]
对于多testbench的模拟电路优化问题,首先根据testbench的从属关系将电路性能分组。给定电路性能集合如果两个电路性能ci和cj可在相同的外围测试电路、相同激励源和相同的仿真类型,即同一个testbench下仿真得到,则在两者之间可定义一个等价关系。依照上述等价关系,电路性能集合f被划分为集合f={f
t
,t∈[1,|f|]},其中|f|表示testbench总数,集合f
t
为第t个testbench可得到的所有电路性能集合。经过将电路性能依照testbench分组,本发明将原始优化问题(1)重新定义为带约束的多testbench优化问题,即:
[0057][0058]
其中,是属于第t个testbench的第j个电路性能,显然,问题(2)中的c
tj
(x)和问题(1)中的ci(x)存在一一对应关系。
[0059]
本发明步骤2中,对每个电路性能分别构建独立的高斯过程(gaussian process,gp)模型:
[0060]
步骤2.1:在设计参数空间中随机产生n
init
个初始样本,调用电路仿真工具,如spice,对所有testbench进行仿真以获得样本点的所有性能指标,与设计参数一起组成初始训练集。
[0061]
步骤2.2:为每个电路性能构建独立的高斯过程模型。高斯过程模型是一种非参数化概率模型,它在目标函数f(x)上定义了一个联合高斯分布:
[0062]
(f(x1),

,f(xn))
t
~ν(μ,k)
ꢀꢀꢀꢀꢀꢀꢀ
(3)其中n为待建模的样本数,μ为均值向量,向量值由均值函数m(x)决定;k为协方差矩阵,其中矩阵元素由核函数k(xi,xj)决定。本发明
中,采用常数均值函数m(x)=0,核函数采用径向基核函数(radial basis function,rbf),即:
[0063][0064]
其中对角矩阵λ=diag(l1,

,ld)中,li表示第i个维度上的特征长度(length scale);这里σf和li均为gp模型的超参数,可以通过极大似然法求得。
[0065]
步骤2.3:通过极大似然估计(maximum likelihood estimation,mle)求解高斯过程模型的超参数,超参数向量记作θ=[σf,l1,

,ld]。针对电路性能y,给定包含n对样本的训练集dy={(xi,yi)}
i≤n
,其中xi表示设计参数向量,yi表示对应设计参数xi下电路性能仿真结果。令x={x1,x2,

,xn},y={y1,y2,

,yn},则对数似然函数表示为:
[0066][0067]
其中,k
θ
(i,j)=k(xi,xj)。通过最大化对数似然函数,可获得高斯过程模型的超参数θ。
[0068]
经过训练后得到高斯过程模型,对于一个新的设计点x,该gp模型能够预测该点的后验均值μ(x)和方差σ2(x),即:
[0069][0070]
其中,k(x,x)=[k(x,x1),k(x,x2),

,k(x,xn)]
t
,k(x,x)=k(x,x)
t

[0071]
本发明步骤3中,判断当前迭代次数是否为间隔轮次n的整数倍,如果是则跳转步骤5,否则跳转步骤4。
[0072]
本发明步骤4中,为每个testbench构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,选择最大化wpesc采集函数的testbench及相应设计点进行仿真。
[0073]
步骤4.1:为每个testbench构建带约束的预测熵搜索(pesc)采集函数。假设x
*
为带约束的多testbench优化问题的全局最优解,基于信息熵理论的带约束预测熵搜索(pesc)采集函数可用于度量x
*
的不确定性减少量,即信息增益为:
[0074]
α(x)=h[x
*
|d]-ey{h[x
*
|d∪(x,y)]}
ꢀꢀꢀꢀꢀ
(7)
[0075]
其中训练数据集d={(xn,yn)}
n≤n
包括n对数据(x,y),x表示d维设计参数,向量y表示电路性能f,c1,

,c
nc
对应的仿真值。
[0076]
差分熵h定义为:
[0077][0078]
其中x是一个定义在χ内的随机变量,它的概率密度函数(probability density function,pdf)为p(x)。在数据集新增一对数据(x,y)后,α(x)表示对于寻找全局最优点x
*
的信息增益。
[0079]
由于全局最优点x
*
的概率分布形式是未知的,因此α(x)不能通过公式(7)准确计算。借助y和x
*
之间互信息(mutualinformation)的对称性,文献[7]提出α(x)可转换为:
[0080]
α(x)=h[y|d,x]-e
x*
{h[y|d,x,x
*
]} (9)
[0081]
经过转换,两项差分熵均与y的后验分布相关,而不是直接与x
*
相关。假设多testbench优化问题中目标和约束之间相互独立,(9)中的两项差分熵可分别表示为加和形式[11],即:
[0082][0083]
其中,预测方差可由公式(6)计算得到。
[0084]
将(10)带入(9),得到:
[0085][0086]
其中,公式(11)的第一项可直接计算得到,公式(11)的第二项需要通过数值方法近似计算,近似计算方法详如步骤4.2。由于仿真工具以testbench为单位调用,因此本发明定义一个testbench的信息增益为该testbench所含电路性能的信息增益之和,即
[0087][0088]
其中,是第t个testbench所包含的第j个电路性能的信息增益。实验结果表明,指标严格的约束通常具有较大的信息增益,而较宽松的约束具有较小的信息增益。因此,在每次迭代优化中,选择具有最大信息增益α
t
(x),一般是在严格约束所在的testbench进行仿真,以减少宽松约束所在的testbench的仿真次数,以达到减少总仿真次数的目的。
[0089]
图3显示了以pesc作为采集函数时贝叶斯迭代优化中的采样情况,优化问题的约束函数形式为其中橙色约束c1:c(x1,x2)>6为较严格的约束,紫色约束c2:c(x1,x2)>1为较宽松的约束。从图中可以看到,迭代优化过程中自动地将更多的采样点(橙色点)被分配给了更严格的约束c1,而宽松的约束c2分配的采样点(紫色点)较少,这验证了pesc采集函数能够自适应地减少在较宽松约束上的采样。
[0090]
步骤4.2:利用数值方法近似计算pesc采集函数值。利用数值方法计算公式(11)中的第二项,首先利用蒙特卡罗方法(monte-carlo method)近似p(x
*
|d)分布上的期望,即:
[0091][0092]
首先从p(x
*
|d)上采样m个样本,为第j个采样点;由于p(x
*
|d)未知,为了采样对目标函数和约束函数应用文献[7]中的有限基近似(finite basis approximation)方法得到其解析近似函数,之后通过优化求解得到采样点
[0093]
为了计算对每个电路性能的后验分布进行高斯近似[7],则在独立性假设条件下:
[0094][0095]
其中,作为的高斯近似分布的方差,可通过期望传播(expectation propagation,ep)方法求解得到[12]。
[0096]
步骤4.3:为每个testbench构建wpesc采集函数,对wpesc采集函数进行优化得到当前最优设计点并在第t个testbench上对点进行仿真。本发明在pesc采集函数基础上增加时间权重,在信息增益相似的情况下倾向于选择仿真时间更短的testbench。
[0097]
wpesc采集函数定义为:
[0098][0099][0100][0101]
其中,为第t个testbench的候选设计点,它通过采用边界无导数优化算法(bound optimization by quadratic approximation,bobyqa)最大化采集函数α
t
(x)得到;c
t
为第t个testbench的经验仿真时间,w为自定义权重系数,用于平衡信息增益和仿真时长。信息增益和仿真时间分别由(16)和(17)进行归一化。在下一轮迭代中,选择具有最大值的testbench在设计点处进行仿真。
[0102]
本发明步骤5中,为严格约束构建可行域期望提升(feasibility expected improvement,fei)采集函数,应用多模态优化算法求解fei函数上的所有峰值设计点。
[0103]
步骤5.1:根据前n次wpesc迭代优化的结果,选出严格约束c
strict
以及包含该约束的testbench t
strict
。通常越严格的约束具有越大的信息增益,本发明定义严格约束c
strict
为:
[0104][0105][0106]
rank1(x)=[xi==max(x)],x=[xi] (19)
[0107]
其中,αk表示第k次迭代中所有约束的信息增益向量;指标函数rank1(x)将向量x中最大元素的位置标记为1,其余位置为0;c
strict
为前n次迭代优化中信息增益排名第一次数最多的约束,并将包含该严格约束c
strict
的testbench标记为t
strict

[0108]
步骤5.2:为严格约束c
strict
构建可行域期望提升采集函数。本发明为了弥补pesc/wpesc采集函数易陷入局部次优区域的不足,提出可行域期望提升采集函数:
[0109][0110]
其中,φ(
·
)是标准正态分布概率密度函数(probability density function,
pdf);μ(x)和σ(x)分别为严格约束c
strict
的高斯过程模型的后验均值和后验标准差。
[0111]
通过最大化fei采集函数,可以获得σ(x)值较大或者μ(x)接近0的采样点。具有较大σ(x)值的观测点所在区域尚未得到充分探索,在此类区域内采样有利于挖掘潜在可行域;而μ(x)接近0的点位于当前预测可行域的边界上,而约束的边界通常具有更大的信息量,因此边界附近的区域更值得被探索。
[0112]
步骤5.3:采用多模态优化方法优化fei采集函数得到所有局部峰值点,在每个局部峰值点的聚类中心仿真testbench t
strict
。为了提高探索潜在可行域的效率,本发明通过在一次迭代中寻找fei采集函数的所有局部峰点,从而提供更多未知信息。寻找fei函数上的所有局部峰点的问题称为多模态问题:
[0113][0114]
其中|
·
|表示集合的元素数量,|表示集合的元素数量,为局部最优点。
[0115]
本发明采用文献[13]提出的nmmso(niching migratory multi-swarm optimizer)算法,寻找fei函数的所有局部峰点。首先随机产生多组设计参数,对应多个种群,每个种群基于粒子群优化算法单独搜索局部最优值。然后在每次迭代过程中尝试与其它种群合并或分离,当种群中的元素被识别出处在某个新的峰或谷附近时,它将被移出父代种群,形成一个新的种群;当两个种群被识别为相关时,它们将被合并在一起。多次迭代后,nmmso方法可以定位fei函数的所有局部峰点。
[0116]
所有局部峰点在取得较大fei函数值的同时,应尽可能在设计空间中分散。因此为了避免在邻近可行域内重复探索,本发明使用dbscan聚类算法[14]对所有局部峰点区域进行聚类,产生的聚类中心作为候选设计点在包含严格约束的testbencht
strict
上进行仿真。图4显示了应用nmmso方法找到的fei函数峰点(红色点和绿色点),以及dbscan聚类后的峰点(红色点),其中显示,fei函数的所有全局峰点和局部峰点均被找到,且dbscan生成的聚类中心仍然是某个局部峰值。
[0117]
本发明的优点在于:
[0118]
1.首次针对多testbench模拟电路的约束优化问题提出贝叶斯优化方法;
[0119]
2.提出对每个testbench构建带约束的预测熵搜索(pesc)采集函数,该采集函数可以衡量各testbench为找到全局最优解所贡献的信息增益,并自适应地选择关键的testbench进行仿真,避免了在具有较宽松约束的testbench上浪费仿真点;
[0120]
3.考虑到不同testbench仿真时间的差异性,在pesc采集函数基础上,构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,在信息增益相近的情况下倾向于选择仿真时间短的testbench仿真,进一步减少总体仿真时间;
[0121]
4.提出了可行域期望提升(fei)采集函数,并应用多模态优化算法搜索fei函数的局部峰值点,对包含严格约束的testbench进行电路仿真,提升对潜在可行域的探索能力;
[0122]
5.实验数据表明,本发明的方法能有效地减少电路仿真的次数,相比当前最先进的模拟电路优化方法,本发明在获得更优设计性能的情况下可以提速2~4倍。
附图说明
[0123]
图1为多testbench模拟电路优化问题示意图。
[0124]
图2为本发明的流程图。
[0125]
图3为pesc作为采集函数时迭代优化的采样示意图。
[0126]
图4为针对fei采集函数求解多模态优化问题得到的局部峰点示意图。
[0127]
图5为二阶运算放大器电路原理图。
[0128]
图6为低功率放大器电路原理图。
具体实施方式
[0129]
现在通过具体实例的实施过程,进一步描述本发明方法。
[0130]
本技术中将本发明提出的多testbench模拟电路贝叶斯优化方法与其他模拟电路优化算法进行比较。待比较的方法包括,文献[1]中提出的de算法、文献[15]中提出的gaspad算法、文献[5]中提出的weibo算法以及[10]最新提出的多任务建模贝叶斯优化(multi-task bayesian optimization,mtbo)方法。
[0131]
本技术中使用两个具体的多testbench模拟电路实例对本发明方法进行测试,第一个电路为一个二阶运算放大器[16],第二个电路为一个低功率放大器[5]。
[0132]
电路实例1
[0133]
本实例采用如图5所示的二阶运算放大器电路。该二阶运算放大器有十个设计变量,包括晶体管的长宽、电阻值和电容值。优化目标为:
[0134][0135]
其中,gain为放大器增益,pm为相位裕度,ugf为单位增益频率,psrr为电源抑制比,cmrr为共模抑制比,ro为输出电阻,sr为压摆率。对于该电路优化问题,gain和pm之间的平衡以及对ugf的高需求是两个主要挑战。根据testbench将以上电路性能分为5组,tb1:{gain},tb2:{pm,ugf,psrr},tb3:{cmrr},tb4:{ro}和tb5:{sr}。
[0136]
对于本发明提出的方法,所有testbench的最大仿真总次数设为500次;对weibo和mtbo,单个testbench的最大仿真次数分别设为200和150次;由于de和gaspad的收敛效率相对较低,因此对于de和gaspad,单个testbench的最大仿真次数分别设为2000和250次。
[0137]
优化结果如表1所示,表1在各testbench之后列出了它们各自的仿真时长比例,其中加权平均仿真次数表示优化过程中,以各testbench的仿真时长比例为加权系数的平均仿真次数。实验数据表明,五种优化方法都找到了满足所有约束的设计参数且优化目标相近,本方法相比于weibo取得了2.71倍加速比,而最新方法mtbo的加速比为1.14倍。因此,本发明提出的优化方法相较于其他方法需要更少的平均仿真次数。此外,本发明方法为包含ugf约束的testbenchtb2分配了最多的仿真点数,表明本发明提出的方法能够自动地识别那些较难满足的约束条件。
[0138]
表1二阶运算放大器优化结果
[0139][0140][0141]
电路实例2
[0142]
本实例采用如图6所示的低功率放大器电路。该低功率放大器有11个设计变量,包括晶体管的长宽和偏置电流,优化目标为:
[0143][0144]
其中,iq为静态电流,gain为直流增益,srr和srf分别为上升、下降压摆率。对于该电路优化问题,设计者需要很高的gain值是优化中的主要挑战。根据testbench将以上电路性能分为3组,tb1:{iq},tb2:{gain}和tb3:{srr,srf}。
[0145]
对于本发明提出的算法,所有testbench的最大仿真总次数设为300次;对weibo和mtbo,单个testbench的最大仿真次数分别设为200和150次;而对de和gaspad,单个testbench的最大仿真次数分别设为3000和500次。
[0146]
优化结果如表2所示,实验数据表明,五种优化方法都找到了满足所有约束的设计参数,除de找到的优化目标较差外,其他方法均取得了相似的优化目标。相比于weibo,本发明提出的方法取得了3.89倍加速比,而mtbo仅获得了1.52倍的加速比。此外,本发明方法能够自适应地为testbench tb3分配较少仿真点,因为本优化问题对srr和srf的约束指标较宽松,从而降低了总体优化仿真次数。
[0147]
表2低功率放大器优化结果
[0148]
[0149]

技术特征:
1.一种基于贝叶斯优化的多testbench的模拟电路优化方法;其特征在于,其包括,首先,根据电路性能和testbench的从属关系对电路性能进行划分,将由同一testbench得到的电路性能分为一组;其次,为每个电路性能分别构建独立的高斯过程模型;第三,在每次迭代优化中,构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,选择能使wpesc函数取最大值的testbench和设计点进行电路仿真;第四,每隔n个迭代轮次,对最严格的约束构建可行域期望提升(fei)采集函数,应用多模态优化算法搜索fei函数的局部峰值设计点,在所有局部峰值设计点对包含严格约束性能的testbench进行电路仿真;最后,用仿真得到的结果更新数据集,进行下一次迭代优化,直到满足算法终止条件,如达到预设的最大允许电路仿真次数,或优化目标值已收敛;其中:输入:1.被测模拟电路和所有测试电路网表、工艺库文件;2.模拟电路设计参数x,以及设计参数允许的变化范围;3.电路优化目标f(x),优化约束集合4.仿真时间权重w,fei迭代间隔轮次n;5.初始随机采样点数n
init
;6.算法终止条件,如最大允许的电路仿真次数,或优化目标值已收敛;输出:优化所得的电路设计参数以及对应的电路性能指标。2.按权利要求1所述的方法,其特征是,所述方法包括具体步骤:步骤1:根据电路性能和testbench的从属关系对电路性能进行划分,将由同一仿真testbench得到的电路性能分为一组;步骤2:为每个电路性能分别构建独立的高斯过程模型;步骤3:判断当前迭代次数是否为间隔轮次n的整数倍,如果是则跳转步骤5,否则跳转步骤4;步骤4:为每个testbench构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,选择最大化wpesc采集函数的testbench及相应设计点进行仿真;步骤5:对严格约束构建可行域期望提升(fei)采集函数,应用多模态优化算法搜索fei函数的局部峰值设计点,在所有局部峰值设计点对包含严格约束的testbench进行电路仿真;步骤6:若满足终止条件,则算法终止,否则将仿真结果加入训练集,转入步骤2。3.按权利要求2所述的方法,其特征是,所述步骤1中,根据电路性能和testbench的从属关系对电路性能进行划分,将由同一testbench得到的电路性能分为一组;设计参数x是设计空间d中d维向量,表示电阻值、电容值、晶体管的长宽等电路设计参数;不失一般性,典型的模拟电路参数优化问题可以抽象为带约束的单目标优化问题;电路性能包括优化目标性能和约束性能两类,其中待优化目标性能由函数f0(x)表示,c
i
(x)表示第i个约束指标,假设待优化问题共有n
c
个约束,则带约束的单目标优化问题表示为:
对于多testbench的模拟电路优化问题,首先根据testbench的从属关系将电路性能分组;给定电路性能集合如果两个电路性能c
i
和c
j
可在相同的外围测试电路、相同激励源和相同的仿真类型,即同一个testbench下仿真得到,则在两者之间可定义一个等价关系;依照上述等价关系,电路性能集合f被划分为集合f={f
t
,t∈[1,|f|]},其中|f|表示testbench总数,集合f
t
为第t个testbench可得到的所有电路性能集合;经过将电路性能依照testbench分组,将原始优化问题(1)重新定义为带约束的多testbench优化问题,即:其中,是属于第t个testbench的第j个电路性能,显然,问题(2)中的和问题(1)中的c
i
(x)存在一一对应关系。4.按权利要求2所述的方法,其特征是,所述步骤2中,对每个电路性能分别构建独立的高斯过程模型:其包括,步骤2.1:在设计参数空间中随机产生n
init
个初始样本,调用电路仿真工具,如spice,对所有testbench进行仿真以获得样本点的所有性能指标,与设计参数一起组成初始训练集;步骤2.2:为每个电路性能构建独立的高斯过程模型;高斯过程模型是一种非参数化概率模型,其在目标函数f(x)上定义一个联合高斯分布:(f(x1),

,f(x
n
))
t
~ν(μ,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中n为待建模的样本数,μ为均值向量,向量值由均值函数m(x)决定;k为协方差矩阵,其中矩阵元素由核函数k(x
i
,x
j
)决定;采用常数均值函数m(x)=0,核函数采用径向基核函数(radial basis function,rbf),即:其中对角矩阵λ=diag(l1,

,l
d
)中,l
i
表示第i个维度上的特征长度(length scale);所述σ
f
和l
i
均为gp模型的超参数,可通过极大似然法求得;步骤2.3:通过极大似然估计(maximum likelihood estimation,mle)求解高斯过程模型的超参数,超参数向量记作θ=[σ
f
,l1,

,l
d
];针对电路性能y,给定包含n对样本的训练集d
y
={(x
i
,y
i
)}
i≤n
,其中x
i
表示设计参数向量,y
i
表示对应设计参数x
i
下电路性能仿真结果;令x={x1,x2,

,x
n
},y={y1,y2,

,y
n
},则对数似然函数表示为:其中,k
θ
(i,j)=k(x
i
,x
j
);通过最大化对数似然函数,获得高斯过程模型的超参数θ;训练后得到高斯过程模型,对于一个新的设计点x,该gp模型能预测该点的后验均值μ(x)和方差σ2(x),即:
其中,k(x,x)=[k(x,x1),k(x,x2),

,k(x,x
n
)]
t
,k(x,x)=k(x,x)
t
。5.按权利要求2所述的方法,其特征是,所述步骤4中,为每个testbench构建带仿真时间权重的约束预测熵搜索(wpesc)采集函数,选择最大化wpesc采集函数的testbench及相应设计点进行仿真;其包括,步骤4.1:为每个testbench构建带约束的预测熵搜索(pesc)采集函数;假设x
*
为带约束的多testbench优化问题的全局最优解,基于信息熵理论的带约束预测熵搜索(pesc)采集函数可用于度量x
*
的不确定性减少量,即信息增益为:α(x)=h[x
*
|d]-e
y
{h[x
*
|d∪(x,y)]}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中训练数据集d={(x
n
,y
n
)}
n≤n
包括n对数据(x,y),x表示d维设计参数,向量y表示电路性能对应的仿真值;差分熵h定义为:其中x是一个定义在χ内的随机变量,其概率密度函数(probability density function,pdf)为p(x);在数据集新增一对数据(x,y)后,α(x)表示对于寻找全局最优点x
*
的信息增益;所述α(x)不能通过公式(7)准确计算;借助y和x
*
之间互信息(mutual information)的对称性,α(x)可转换为:经转换,两项差分熵均与y的后验分布相关,而不是直接与x
*
相关;假设多testbench优化问题中目标和约束之间相互独立,(9)中的两项差分熵分别表示为加和形式,即:其中,预测方差可由公式(6)计算得到;将(10)带入(9),得到:其中,公式(11)的第一项可直接计算得到,公式(11)的第二项通过数值方法近似计算;由于仿真工具以testbench为单位调用,因此定义一个testbench的信息增益为该testbench所含电路性能的信息增益之和,即
其中,是第t个testbench所包含的第j个电路性能的信息增益;在每次迭代优化中,选择具有最大信息增益α
t
(x),在严格约束所在的testbench进行仿真,以减少宽松约束所在的testbench的仿真次数,以达到减少总仿真次数的目的;步骤4.2:利用数值方法近似计算pesc采集函数值;利用数值方法计算公式(11)中的第二项,首先利用蒙特卡罗方法近似p(x
*
|d)分布上的期望,即:首先从p(x
*
|d)上采样m个样本,为第j个采样点;由于p(x
*
|d)未知,为了采样对目标函数和约束函数应用有限基近似方法得到其解析近似函数,之后通过优化求解得到采样点为计算对每个电路性能的后验分布进行高斯近似,则在独立性假设条件下:其中,作为的高斯近似分布的方差,通过期望传播方法求解得到;步骤4.3:为每个testbench构建wpesc采集函数,对wpesc采集函数进行优化得到当前最优设计点并在第t个testbench上对点进行仿真;在pesc采集函数基础上增加时间权重,在信息增益相似的情况下倾向于选择仿真时间更短的testbench;wpesc采集函数定义为:wpesc采集函数定义为:wpesc采集函数定义为:其中,为第t个testbench的候选设计点,其通过采用边界无导数优化算法最大化采集函数α
t
(x)得到;c
t
为第t个testbench的经验仿真时间,w为自定义权重系数,用于平衡信息增益和仿真时长;信息增益和仿真时间分别由(16)和(17)进行归一化;在下一轮迭代中,选择具有最大值的testbench在设计点处进行仿真。6.按权利要求2所述的方法,其特征是,所述步骤5中,应用多模态优化算法求解fei函数上的所有峰值设计点,严格约束构建可行域期望提升(fei)采集函数;其包括,步骤5.1:根据前n次wpesc迭代优化的结果,选出严格约束c
strict
以及包含该约束的testbench t
strict
;定义严格约束c
strict
为:
rank1(x)=[x
i
==max(x)],x=[x
i
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)其中,α
k
表示第k次迭代中所有约束的信息增益向量;指标函数rank1(x)将向量x中最大元素的位置标记为1,其余位置为0;c
strict
为前n次迭代优化中信息增益排名第一次数最多的约束,并将包含该严格约束c
strict
的testbench标记为t
strict
;步骤5.2:为严格约束c
strict
构建可行域期望提升采集函数;为弥补pesc/wpesc采集函数易陷入局部次优区域的不足,采用可行域期望提升采集函数:其中,φ(
·
)是标准正态分布概率密度函数;μ(x)和σ(x)分别为严格约束c
strict
的高斯过程模型的后验均值和后验标准差;通过最大化fei采集函数,获得σ(x)值较大或者μ(x)接近0的采样点;μ(x)接近0的点位于预测可行域的边界上,约束的边界具有更大的信息量;步骤5.3:采用多模态优化方法优化fei采集函数得到所有局部峰值点,在每个局部峰值点的聚类中心仿真testbench t
strict
;通过在一次迭代中寻找fei采集函数的所有局部峰点,提供更多未知信息;寻找fei函数上的所有局部峰点的问题称为多模态问题:其中|
·
|表示集合的元素数量,|表示集合的元素数量,为局部最优点。7.按权利要求1所述的方法,其特征是,所述方法中采用nmmso(niching migratory multi-swarm optimizer)算法,寻找fei函数的所有局部峰点;首先随机产生多组设计参数,对应多个种群,每个种群基于粒子群优化算法单独搜索局部最优值;然后在每次迭代过程中尝试与其它种群合并或分离,当种群中的元素被识别出处在某个新的峰或谷附近时,它将被移出父代种群,形成一个新的种群;当两个种群被识别为相关时,它们将被合并在一起;多次迭代后,nmmso方法可以定位fei函数的所有局部峰点;所述方法中,还包括,使用dbscan聚类算法对所有局部峰点区域进行聚类,产生的聚类中心作为候选设计点在包含严格约束的testbench t
strict
上进行仿真。

技术总结
本发明属集成电路设计技术领域,具体涉及一种基于贝叶斯优化(Bayesian Optimization)的模拟电路优化方法,该方法采用高斯过程(Gaussian Process)建模,并利用带约束预测熵搜索(PESC)和可行域期望提升(FEI)作为采集函数。本发明提出对模拟电路的各个性能指标分别建立高斯过程模型;通过优化PESC/wPESC采集函数,产生下一轮迭代优化需要仿真的Testbench和相应仿真点;通过对可行域期望提升采集函数求解一个多模态优化问题,提升探索未知可行域的效率。与现有技术的模拟电路优化方法相比,本方法在保证电路优化质量的同时,能够显著减少优化过程中所需电路仿真的次数。少优化过程中所需电路仿真的次数。


技术研发人员:曾璇 严昌浩 毕朝日 杨帆 周电 赵婧尧
受保护的技术使用者:复旦大学
技术研发日:2022.01.13
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐