本发明提供一种高pvt鲁棒性模拟集成电路尺寸自动设计方法,具体涉及一种基于贝叶斯优化和多任务强化学习的自动优化技术,属于集成电路设计自动化。
背景技术:
1、现有的集成电路设计自动化技术,针对集成电路尺寸的设计包括下述几种:
2、1)将pvt变化纳入尺寸设计流程;例如,复旦大学曾璇团队2022年在ieeetransactions on computer-aided design of integrated circuits and systems(tcad)期刊发表的文章《an efficient batch-constrained bayesian optimizationapproach for analog circuit synthesis via multiobjective acquisitionensemble》中,通过对所有pvt(process:工艺,voltage:电压,temperature:温度)角进行遍历的方法将pvt变化纳入尺寸设计流程。在该技术下,对电路pvt鲁棒性的考量需要额外花费数十倍的电路仿真次数(即采样次数),采样效率低下,需要对pvt角进行高效剪枝。
3、2)通过攻克pvt角进行高鲁棒性尺寸优化;例如,kai-en yang等人在2021年第58届设计自动化会议(design automation conference)发表文章《trust-region methodwith deep reinforcement learning in analog design space exploration》,记载了通过不断攻克当前未满足电路指标要求的pvt角来完成高鲁棒性尺寸优化,但该技术需要为每一个pvt角训练一个独立的网络模型,带来了额外的计算开销。
4、3)通过多任务强化学习进行各个pvt角的尺寸优化;例如,美国德州大学奥斯汀分校wei shi等人在2022年machine learning for cad(mlcad)会议上发表文章《robustanalog:fast variation-aware analog circuit design via multi-task rl》及相关优化工具robustanalog。该工具通过部署多任务强化学习算法来处理各个pvt角下的尺寸优化过程,但该工具对初始采样点的优劣较为敏感,若初始采样点对应的性能指标均较差,则尺寸优化过程的收敛速度较慢、成功率较低。在对带隙基准源这类对尺寸变化极为敏感的电路进行尺寸自动设计时,该方法的缺点更为明显。在对pvt角的处理方面,该技术先利用均值聚类算法对pvt角进行聚类,再挑选出每一类中性能指标最差的pvt角构成精简pvt集合,采样时也只对尺寸参数在精简pvt集合包含的pvt角下进行采样,从而完成pvt角剪枝,提高了采样效率。但该技术的缺点在于,只要在当前精简pvt集合下的尺寸设计过程尚未完成,精简pvt集合所包含的pvt角就不会改变,难以兼顾到其他pvt角下的性能指标变化,从而限制尺寸设计过程的收敛速度。
技术实现思路
1、为了克服上述现有技术的不足,本发明提供一种高pvt鲁棒性模拟集成电路尺寸自动设计方法。本发明首先将高pvt鲁棒性尺寸设计过程分为1)基于单一pvt角下尺寸设计的初始采样和2)多pvt角下的尺寸设计。本发明首先利用贝叶斯优化(bo:bayesianoptimization)算法进行单一pvt角下的尺寸优化以建立初始数据集,再利用基于多任务强化学习算法进行多pvt角下的尺寸优化。这种贝叶斯优化和多任务强化学习融合的尺寸设计方法能够解决高pvt鲁棒性的模拟电路尺寸自动设计中存在的包括对初始采样点敏感、需要多个独立网络模型和采样效率较低等技术问题。
2、为了进一步提高尺寸设计过程的采样效率,本发明提出了一种基于最新采样的动态pvt角剪枝算法。该剪枝算法不仅通过构建精简pvt集合来降低了评估单一尺寸参数所需的采样次数,还根据每个pvt角下的最新采样,在每一轮迭代中动态调整精简pvt集合中的pvt角,以兼顾不同pvt角之间出现的尺寸优化方向的冲突,进一步提高了尺寸设计过程的收敛速度。
3、本发明采用bo算法和多任务强化学习算法。本发明的重点在于1)提出一种用贝叶斯优化和多任务强化学习融合的尺寸设计方法和2)提出一种利用最新采样缓存来评估当前各pvt角下的尺寸设计进度,并依此基于最新采样的动态pvt角剪枝的方法。
4、为方便起见,本发明中的术语定义包括:
5、采样:指对某组尺寸参数在某个pvt角下进行仿真并得到电路性能指标;
6、采样效率:用以描述尺寸自动设计工具完成尺寸设计所需的采样次数的多少,所需的采样次数越少,自动设计工具的采样效率越高;
7、pvt角(pvt corner):指在进行模拟集成电路仿真时所设置的工艺条件(process)、电源条件(voltage)和温度条件(temperature)的组合。对于如下pvt角,{process=ff,voltage=0.9vref,temperature=27℃},代表工艺条件为fast nmos&fastpmos,电源条件为参考电压的90%,工作温度为27℃。
8、精简pvt集合:一个包含若干pvt角的集合,其是全部pvt角所构成的集合的子集。
9、pvt角剪枝:指在对尺寸参数进行评估时,并不在所有pvt角下都进行采样,而是通过某种规则(如构建精简pvt集合),挑选出部分pvt角进行采样,以减少采样开销。
10、本发明提供的技术方案是:
11、一种高pvt鲁棒性模拟集成电路尺寸自动设计方法,包括如下步骤:
12、a.确定集成电路尺寸设计任务;
13、a1.确定电路的拓扑结构及要进行调整的尺寸参数;
14、a2.确定电路所需达到的性能指标;
15、a3.搭建测试电路;
16、b.进行基于贝叶斯优化算法的初始采样,将基于贝叶斯算法的单一pvt角下的尺寸优化作为构建初始数据集的方式,提高尺寸优化采样效率和成功率;实现方法为;
17、b1.在单一pvt角下(如{process=tt,voltage=vref,temperature=27℃}),利用置信域贝叶斯优化算法得到一组在该pvt角下满足所有电路所需达到的性能指标约束的尺寸参数;
18、b2.挑选出贝叶斯优化算法运行过程中搜寻到的最好的n组尺寸参数(指具有最优的品质因数(fom));n一般设置为4~8以兼顾采样效率和收敛速度;
19、b3.将b2中挑选出的n组尺寸参数在全部pvt角下进行采样,生成初始数据集;
20、全部pvt角包括所有工艺、电压和温度变化的组合。例如,若可能的工艺偏差为{tt,ss,ff,sf,fs},考虑的电压条件为{0.9vref,vref,1.1vref},考虑的温度偏差为{-40℃,
21、27℃,80℃},则全部pvt角指的是所有5*3*3种组合包含的所有可能的pvt角。数据集包括b2中生成的具有最好的品质因数的n组尺寸参数,以及这些尺寸参数在全部pvt角下的性能指标及品质因数。数据集中的每一条数据为一个字典型数据,每一条数据有四个键值,键值包括“尺寸参数”“pvt角”“性能指标”和“品质因数”。
22、c.进行基于多任务强化学习的pvt鲁棒的电路尺寸优化;实现方法为:
23、c1.构建数据缓存。为每一个pvt角构建一个数据缓存,每一个数据缓存包括两部分,分别是1)历史数据缓存,即该pvt角下进行过的所有仿真得到的数据,以及2)最新采样缓存,即该pvt角下进行的最近一次仿真得到的数据;
24、c2.加载初始数据。将初始数据集加载进c1构建的历史数据缓存,并在其中随机选取一组数据加载至最新采样缓存;
25、随机选取是根据初始数据集的构建方法,在初始数据集中,每个pvt角下都有n条数据。又因为最新采样缓存不能为空,就在这n条数据中随机挑选一条加载进最新采样缓存。
26、构建失败pvt集合(或称为其他所关心的pvt角),将其初始化为空;后续过程中,当某个pvt角下的性能指标未达到要求时,则将该pvt角添加至失败pvt集合;失败pvt集合在整个尺寸优化过程中不会被再次初始化,即一旦某个pvt角出现在失败pvt集合中后,将不会被移除。
27、c3.进行基于最新采样的动态pvt角剪枝;
28、构建精简pvt集合,降低每轮迭代中所需采样的pvt角,提高采样效率。
29、读取最新采样缓存中的数据,根据每个pvt角下所记录的最近一次采样的性能指标,对pvt角进行k均值聚类,并挑选出每一类中性能指标最差的pvt角纳入精简pvt集合。
30、根据情况调整精简pvt集合。将失败pvt集合加入精简pvt集合,具体操作见步骤d3;
31、c4.使用多任务强化学习智能体,给出每轮迭代的待采样尺寸参数,并将该尺寸参数在精简pvt集合中含有的pvt角下进行采样;
32、具体实施时,使用的多任务强化学习智能体的结构由一个actor网络和一个critic网络构成。智能体将在一个pvt角下的尺寸优化视为一个任务。智能体中,actor网络的输入为pvt角,每个pvt角由一个7维向量表示,向量的前五个维度为独热码表示的工艺角(如[1,0,0,0,0]代表tt工艺角),向量的后两个维度代表归一化的电源电压和工作温度。actor网络的输出为待采样的尺寸参数。critic网络的输入为待采样尺寸参数,输出为该尺寸参数在各个pvt角下的预测的电路性能指标。
33、c5.将c4中的采样结果更新至对应pvt角的历史数据缓存和最新采样缓存;
34、c6.读取所有pvt角对应的最新采样缓存,若每个pvt角下的最新采样的性能指标均达到要求,跳转至步骤d;每一轮都对采样阶段进行了pvt剪枝,每个pvt角的最新采样对应的不一定是相同的尺寸参数。
35、c7.根据数据缓存中的数据更新强化学习智能体的网络权重(更新方式在实施方式
36、中详细给出),并跳转至步骤c3;
37、d.进行全pvt角测试,具体实施方案为:
38、d1.将最近一次步骤c4中给出的待采样尺寸参数在全部pvt角下进行采样。
39、d2.若d1中每个pvt角下采样的性能指标均满足要求,则通过了全pvt角测试,最近一次d1中的采样尺寸参数即为该尺寸自动设计工具的最终输出,流程结束;
40、通过进行全pvt测试,在不进行pvt剪枝的情况下对尺寸参数在所有pvt角下进行采样,最终验证尺寸参数的pvt鲁棒性。当d1中存在某个pvt角下的性能指标未达到要求时,更新精简pvt集合然后继续进行采样和测试。
41、d3.若d1中存在某个pvt角下的性能指标未达到要求,则将该pvt角添加至失败pvt集合;
42、d4.将全pvt角测试的采样结果更新至最新采样缓存,并跳转至步骤c3。
43、通过上述步骤,实现高pvt鲁棒性模拟集成电路尺寸的自动设计。
44、与现有技术相比,本发明的有益效果是:
45、1)通过本发明提供的先利用贝叶斯优化进行初始采样,再利用多任务强化学习进行pvt鲁棒的尺寸优化过程的设计框架,可以通过改善初始数据集的数据质量来提高pvt鲁棒的尺寸优化过程的成功率和收敛速度;
46、2)通过基于最新采样的pvt角剪枝算法,分批次地对各pvt角下的最近一次采样进行更新,再通过全pvt角测试来验证尺寸参数的pvt鲁棒性,这种做法可以大大降低尺寸优化所需的仿真次数,提高采样效率。
1.一种高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,采用贝叶斯优化算法构建初始数据集,进行单一pvt角下的尺寸优化,再利用基于多任务强化学习算法进行多pvt角下的尺寸优化;包括如下步骤:
2.如权利要求1所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤b进行基于贝叶斯优化算法的初始采样,包括;
3.如权利要求2所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤b2中,具有最优的品质因数fom的尺寸参数的组数设置为4~8;
4.如权利要求3所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤b3中,生成的初始数据集中的每一条数据包括四个键值,分别为尺寸参数、pvt角、性能指标和品质因数。
5.如权利要求1所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤c4中,多任务强化学习智能体将pvt角下的尺寸优化作为任务;智能体结构包括一个actor网络和一个critic网络;actor网络的输入的每个pvt角由一个7维向量表示,向量的前五个维度为独热码表示的工艺角,向量的后两个维度代表归一化的电源电压和工作温度。
6.如权利要求1所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,在尺寸优化过程中,失败pvt集合不会被再次初始化,即出现在失败pvt集合中的pvt角不会被移除。
7.如权利要求1所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤c3中,具体是对pvt角进行k均值聚类。
8.如权利要求1所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤a确定集成电路尺寸设计任务包括如下过程:
9.如权利要求8所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤a1中,进行调整的尺寸参数包括20个,分别为7个晶体管沟道长度、7个晶体管沟道宽度、4个晶体管复制比和两个电容容值;pvt变化包括:工艺偏差为{tt,ss,ff,sf,fs},电压条件为{0.9vref,vref,1.1vref},温度偏差为{-40℃,27℃,80℃},相互组合后共包括45种pvt角,并将pvt角进行编号;步骤a2中,确定电路所需达到的性能指标分别是:增益大于100db;单位增益带宽大于30mhz;相位裕度大于60度;功耗小于1mw;输出参考噪声小于30mv;共模抑制比大于100db;电源抑制比大于100db。
10.如权利要求9所述的高pvt鲁棒性模拟集成电路尺寸自动设计方法,其特征在于,步骤c7根据数据缓存中的数据更新强化学习智能体的网络权重具体包括:每轮权重更新包括两个阶段,第一个阶段先对critic网络进行更新,第二个阶段利用已更新好的critic网络对actor网络进行更新;在更新网络时,先计算网络权重在各个任务下的更新梯度方向,再对冲突的梯度进行消除。
